Announcing Maru 0.6 Okinawa

Mar 06, 2019 — Preetam D'Souza

0.6 main promo image

I am excited to announce Maru 0.6 "Okinawa"!1

It has been a while since we've seen a new Maru release but I promise the wait was well worth it. Let's dive into some of the major changes that make this release so exciting.

Laying the foundation for supporting nearly any Android device

As I wrote in my last blog post, our number one priority is expanding device support to give more people access to the Maru experience.

Previously, there were two big requirements for devices to be compatible with Maru:

  1. Hardware support for connecting to an external HDMI display (SlimPort or MHL)
  2. Nexus / Google devices only since Maru was built on The Android Open Source Project (AOSP)

As you can probably tell, these were rather limiting requirements. The number of devices with HDMI support is already small, but to make matter worse, the latest Nexus and Google devices dropped HDMI after the Nexus 5. That basically left Maru running on the Nexus 5 and the Nexus 7 (2013), which were our only officially supported devices for a long time. Clearly, if Maru wants to remain relevant it has to move past these limitations.

In Maru 0.6 Okinawa, the game completely changes. I am very happy to say that we have a number of key improvements in this release that completely remove these requirements, laying the foundation to run Maru on nearly any Android device.

Major platform upgrades

Maru 0.6 Okinawa features three major platform upgrades.

First, Maru has made the much-awaited upgrade from Android Marshmallow (6.0.1) to Android Oreo (8.1.0), opening up the potential to run Maru on the latest devices.

Second, we have completely transitioned our platform base from vanilla AOSP to a custom, slimmed-down version of LineageOS (which is itself based on AOSP). That means we can leverage the excellent LineageOS device ecosystem, including support for devices outside the Nexus / Google line. I would like to give a sincere thanks to the LineageOS Project for their hard work that Maru will be building on top of as we support new devices.

And third, Maru Desktop has been upgraded from Debian 8 Jessie to Debian 9 Stretch, giving our users access to more up-to-date software packages on their desktops.

Wireless desktop streaming!

Oh yes, and now we get to the announcement I've wanted to make for a long time: Maru now supports wireless desktop streaming via Chromecast!

Wireless display streaming with Chromecast

Using Maru with Chromecast is even easier than using an HDMI display2:

  1. Connect to your Chromecast under Settings > Connected devices > Cast
  2. Maru will automatically detect your external display and spin up Maru Desktop in a few seconds
  3. Pair up a keyboard and mouse and use your phone as your PC!

Although we officially support Chromecast only at the moment, our community has reported that Maru 0.6 also works with Miracast adapters. We will continue to test various wireless hardware and update our Accessories page as we confirm their compatibility with Maru.

Note that this is a bleeding-edge feature so expect some quirks here and there that will be polished up as 0.6 matures and more of our users test wireless on various hardware. From our tests, however, this is already very usable as an alternative to HDMI displays.3

Better input handling

Maru 0.6 Okinawa features improved external input handling that makes it even easier to use keyboards and mice with Maru.

Dynamic input switching

Your external keyboards and mice will dynamically switch between providing input for Maru Desktop or Maru Mobile depending on whether an external display is available to interact with your desktop, making it simpler to use your peripherals with Android too when you need it.

USB keyboards and mice

The old limitation of supporting only Bluetooth peripherals for Maru Desktop has been lifted: you can now use USB keyboards and mice with Maru via USB-OTG! This is a great option when you stream your desktop wirelessly and have an open USB port available on your device.

Performance improvements

Maru 0.6 Okinawa fixes a highly-discussed issue that prevented Maru Desktop from fully utilizing all available CPU cores on a device. Expect improved performance running multi-thread workloads, as well as improved responsiveness while running multiple processes on Maru Desktop.

I made a short screencast while debugging this on a Nexus 5 that may be entertaining for power users, and is a great example of how Maru Desktop can really enable you to set up a serious development environment on your mobile device:

asciicast

New devices

To demonstrate how 0.6 opens up Maru to previously off-limit devices, we are launching builds for the Nexus 5X, which is the first official device to run the full Maru experience without built-in hardware HDMI support.

Now that the foundation has been laid to support nearly any Android device, we will be ramping up the porting process. Expect more announcements this year as new devices go online, and make sure to sign up for our newsletter to be the first to know when they do!

Getting up and running with Maru 0.6 Okinawa

Grab the latest release for your device from our downloads page4. If you are new to Maru, get started with the installation guide for your device. If you are running an older version of Maru and would like to upgrade to 0.6, follow the upgrading guide.

Thanks

I want to thank all of our contributors who helped make Maru 0.6 Okinawa happen:

  • Georgian Chituc for being the catalyst to transition Maru to LineageOS
  • @utzcoz for his excellent work to overhaul Maru's input handling (#97)
  • Everyone in the Maru community for reporting issues, offering feedback, and just being awesome in general

Support Maru

Although I've been supporting Maru with my own financial resources, maintaining the open-source project, and offering Maru for free since 2016, ongoing effort to maintain and actively develop the project requires your support.

You can support Maru's future by paying for the value you get from Maru or becoming a backer.

As always, thank you for your support and enthusiasm for Maru!

Preetam D'Souza
Creator & Lead Developer


  1. Yup, from this release onwards we will be using codenames for each new version of Maru. I haven't totally decided what the theme will be, but Okinawa worked well because of the "O" in Oreo and the default wallpaper being a photo of a beach in Okinawa, Japan. It also goes well with the heritage underlying the name "Maru", which was inspired from the Japanese word "丸". Feel free to let me know if you have any other ideas!

  2. Note that you will need to restore Google Apps before your Chromecast shows up as a Cast option under Settings > Connected devices > Cast.

  3. Devices that support HDMI are still the best experience for Maru due to some input latency with wireless, so if you are picking up a new device and would like to run Maru on it, take a look at SlimPort or MHL compatible devices first.

  4. Some of our long-time users may notice that there is no option for downloading easy installers anymore. We are doing this as a preparation step to support a broader range of devices, such as Samsung, which have their own specific quirks for flashing custom ROMs that may not work with our old easy installers. It also saves us a lot of storage space since we don't need to ship multiple release artifacts for each device. We may still bring the easy installers back in the future, although they will basically be a program to automate the process of installing a custom recovery and flashing the update zip that you have to perform manually right now.

Want to stay up-to-date with news on Maru?

Join our newsletter and be the first to know when we publish a new post.