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:
- train station
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.
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.
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
nmtuiand 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
What do you think of Maui Shell? Do you find the convergence features useful? Let us know in the comments below!