I tested the new Maui shell on my Linux phone. Here’s what I found!

A little over a month ago we got our first look at Maui Shell. Developed by the team at Nitrux Linux, I was quite impressed with its smooth graphics and especially its convergence features.

At the same time, I ended my year of daily driving the PinePhone, which meant it was free to experiment again. As a result, I soon installed Maui Shell, which I tested for a few hours.

Here’s what I found!

A quick note on the Maui Shell development status

Just before we get started, I would like to point out that Maui Shell is still in the early stages of development. As such, I’ll do my best not to talk about the bugs I’ve noticed and instead focus on the more fundamental aspects of them.

However, I will make exceptions for larger and more time consuming issues, so please keep that in mind.

With that out of the way, let’s get on with testing!

Maui Shell on a phone

Once I finished installing, I found myself on the (now familiar) Maui Shell desktop. It immediately became very clear that the scaling was completely wrong, making it much more difficult to use.

Luckily, the folks from the Maui Project’s Telegram group were extremely helpful, and I managed to fix the scaling in under an hour (thanks @wachidadinugroho).

Once that was done, I started testing.

Its performance is much slower than molasses

If you read my PinePhone review, you might recall that it compared its performance to the speed at which molasses drips. Unfortunately, Maui Shell takes this to a whole new level. Even the most basic interactions, like opening the quick control menus, can take up to five seconds!

Unfortunately, my skills aren’t far enough to diagnose this slowness, but it would make sense if it’s caused by software rendering. In case you are curious, with software rendering the graphics are not rendered on the GPU but on the much less efficient and optimized CPU.

The other possible culprit I considered was poor optimization (considering its early state). If so, it will most likely be fixed in the coming months in preparation for the first stable release of Maui Shell.

However, as I said before, take my early insights with a pinch of salt.

Promising user experience

As with almost all mobile user interfaces, Maui Shell is easy and intuitive to use on a touchscreen. However, it also combines many desktop elements, which made a significant difference in improving the user experience.

For example, swiping down from the top of the screen brings up a quick settings menu, similar to Android and iOS.

However, different sections of the top notification bar can be individually tapped to show only related settings, similar to the various applets found in many desktop environments and the taskbar.

Let’s go now window management:

For window management, the Maui Shell team obviously took inspiration from Gnome and iOS, where swiping up from the bottom of the screen would reveal a Gnome-like overview of all running apps. I found this extremely intuitive and easy, and I’m honestly quite surprised it’s never been done before!

Finally, the dock is also an important aspect of Maui Shell on mobile phones. It auto-hides by default and can be accessed by gently swiping up from the bottom of the screen. From here you’ll see the icons of all running apps, as well as a button to open the app launcher.

Speaking of App Launcher, it is very similar to App Library in iOS 14 and later. Each of the apps is sorted into categories and can be easily found and launched with just a few taps.

Overall, the ease of use turned out to be somewhat unique and intriguing. However, this also extends to the apps built using Mauikit and Kirigami.

I think the Maui Shell team nailed the basics perfectly.

The apps are awesome

Anything built with Mauikit integrates perfectly with Maui Shell. By far the largest collection of Mauikit apps comes from the Maui Project, the developers of Maui Shell. Some of them are:

  • index
  • No
  • train station
  • VVave
  • image
  • clip
  • boo
  • shelf
  • communicator

All these apps work perfectly on mobile and desktop devices, bringing desktop-class applications to phones. I was particularly pleased with indexan interesting and functional mobile file manager.

Maui Index App

Aside from Mauikit apps, Kirigami apps also work well. As a result, there’s a massive library of apps perfectly suited to Maui Shell on desktop and mobile.

other thoughts

Apart from my observations, I would like to mention a few small things:

  • Unfortunately, there doesn’t seem to be a virtual keyboard for the time being. I got around this by using a USB-C connected keyboard, but that doesn’t mean it’s impossible to use as a phone.
  • I also found several scaling issues that I couldn’t solve. This included apps that scale much more than the shell itself, as well as no scaling at all. This might be due to an error on my part, but I certainly can’t expect typical users to be able to hack into obscure Qt-specific environment variables.

Try Maui Shell for yourself

If all these problems don’t bother you, you can try Maui Shell on a PinePhone by following the instructions below. It should be noted that these are PinePhone specific but can be adapted to other needs:

  • Download and flash Arch Linux ARM to an SD card
  • Boot the SD card and connect an external keyboard
  • Sign in with the credentials alarm/123456
  • Connect to WiFi from here nmtui and update the package list with sudo pacman -Syu
  • Run the following commands (these commands take a long time to run):
sudo pacman -S base-devel
git clone https://aur.archlinux.org/packages/maui-shell-git
git clone https://aur.archlinux.org/packages/mauikit-git
cd mauikit-git
makepkg -Asi
cd ..
cd maui-shell-git
makepkg -Asi
  • Create a startup script with Nano:
cd
nano start.sh

Now enter in the file:

#!/bin/sh

# in case it's not detected
# or you wish to override
#
# export QT_QPA_EGLFS_PHYSICAL_WIDTH=480 
# export QT_QPA_EGLFS_PHYSICAL_HEIGHT=270 

export QT_QPA_PLATFORM=eglfs
export QT_AUTO_SCREEN_SCALE_FACTOR=0
export QT_SCALE_FACTOR=2
cask -r -plugin libinput
  • Make the script executable: chmod +x start.sh

Maui Shell can be used from here ./start.sh.

That’s it!

What do you think of Maui Shell? Do you find the convergence features useful? Let us know in the comments below!

About Willie Ash

Check Also

Ubuntu Core brings real-time processing to Linux IoT

Most of you are familiar with Ubuntu as a desktop operating system; others know it …