Updated: July 4, 2020
As you know, I've embarked on a peaceful crusade of trying to establish whether Raspberry Pi 4 can be used as an ordinary mini desktop. So far, I've shown you the first steps in my effort. I bought the hardware and I tested Ubuntu MATE and Raspberry Pi OS (formerly Raspbian) also running MATE, with a fair deal of tweaking and modifications.
Then, I got a bunch of emails, and people suggested I try the Manjaro Plasma 20.04 image built for ARM. And I thought, well, that sounds like a cool idea. My early exploration with the KDE desktop available in the Raspberry Pi OS repos wasn't encouraging. The performance was meh, and the visuals were so-so. But maybe a purpose-built Manjaro will be the dream system I need. Let's see.
Write the image to an SD card, they said. No probs. Boot, a scrolling wall of messages, configuration. You get a simple ncurses text-based wizard that helps you set up your system for use. You need to decide on your keyboard layout, language, timezone, locale and hostname. Not bad, except, you need to scroll through endless lists, and things aren't trivial. For instance, the first thing - keyboard. The fifty or so layouts all sound alien like Dvorak Kafka 2000 and whatnot. The standard US keyboard is simply called 'us' - no special prefix or anything.
Once this step was done, the Plasma desktop launched. I found it oppressively dark - and to make things worse, the default theme is dark too. I immediately undid this, but I needed a complete session re-login to get everything sorted. However, some tools remains stubbornly dark themed - like Package Manager and Firefox settings. Hey, I don't mind if distros want to use dark themes - actually, I do - but if I switch to a light theme, then there should be no hard-coded surprises.
The first few minutes were a bit rough. Two icons for updates, the network wouldn't reconnect and whatnot. The performance was better than what I encountered in Raspberry Pi OS & Plasma, but it was not as good as MATE, plus the device was running hot. I realized I had to fully update the system, and I hoped this would land me new firmware and various patches. But this wasn't a trivial task either.
System update & problems
I wasn't able to update the system. The package manager kept complaining. The error message read:
nss: /usr/lib/p11-kit-trust.so already exists in filesystem
No idea what this means or why, but essentially, you get a broken system from the start. The only way forward was to run this on the command line:
pacman -Syu --overwrite /usr/lib\*/p11-kit-trust.so
After the update ...
So much better. Faster, more responsive desktop, check. Wireless re-connect issue fixed, check. A few other bugs here and there, gone. I am quite happy that the initial slew of updates worked. In fact, it was a hefty 950 MB worth of packages. The one thing I did notice was that the network speed was less than in Raspberry Pi OS, but more on that later.
Well, time to see what the distro can do now!
After I installed all the updates and rebooted, I still had to manually sort out quite a few details. Chiefly, I had to enable OpenGL in Firefox. I then installed Chromium and had to repeat the trick. Similarly, you don't get VLC out of the box - you get SMPlayer instead.
When I launched the browsers and tried the 500-fish Aquarium WebGL test, I got results that were worse than the Raspberry Pi OS experience. In Firefox, I only got about 8-9 FPS. In Chromium, bursts to 16-18 FPS. In the best case, this is about 25% less than the official distro (22-24 FPS or so). Reading online, the Manjaro team acknowledges the differences, as they haven't optimized the ARM build at all. This is something worth exploring, but if it doesn't get done, well - Manjaro is at a disadvantage compared to Raspberry Pi OS.
But this wasn't the end of my problems. Oh no. After I installed VLC, I discovered it couldn't play a bunch of movies, most likely because this particular edition has not been compiled with the h.264 codec. This makes this rather versatile media player useless.
VLC could not decode the format "h264" (H264 - MPEG-4 AVC (part 10))
I tried SMPlayer instead and wasn't happy, at all. First, it looks completely out of place with its own theme and styling, which feels very 2004. Second, I was able to stream Youtube videos, but never at any resolution higher than 360p. And the program is configured to use software acceleration by default. When I switched to hardware, it crashed.
The config.txt settings are all in place really, and audio works just fine. But the combination of all these factors makes Manjaro unsuitable to play media, and if you're going to run a desktop, this is a must activity.
initramfs initramfs-linux.img followkernel
Manjaro came with LibreOffice, but the program is misconfigured. You don't see any icons by default. I had to change the settings to Breeze specifically, and then, the interface assumed its normal, expected guise. But then, I also noticed leftovers in the main menu - recently used files from whoever built the distro. Now, you can't access these files, but the placeholders are there. This needs to be removed from the image, as it ruins the impression quite a bit.
Heating, general usability
There were a few other aspects where Manjaro offered worse results than the official distro. The Flirc case was super-hot, hotter than either when running Ubuntu MATE or (especially) Raspberry Pi OS. Similarly, the network throughput was lower - I was only able to get a sustained 20-ish Mbps, whereas I previously got 30 Mbps, while any typical classic desktop Linux placed in the exact same spot manages above 100 Mbps. Wireless, that is.
Now, on its own Plasma is quite slick. Very pretty, and I was able to get all the rights pieces and whatnot. You have the software, you have the looks, and the responsiveness is pretty decent overall, all other issues notwithstanding. And this is what makes Manjaro Plasma 20.04 so enticing. Because we're almost there. If the underlying problems and the performance optimization can be sorted, then this would be one super-cool desktop.
Manjaro Plasma for ARM v8 (Pi 4 among others) is an interesting concept. But it's not mature enough just yet. There are too many teething problems, chief among them being video performance and heating. The conflict with package manager is also troubling, as it renders the system unusable with ordinary users. Various other bugs and papercuts, including some that I've not really mentioned, the styling and branding, plus the leftovers from the image building process all leave their negative mark on the total score.
From the usability perspective, Manjaro Plasma runs just fine. The speed is quite decent when it comes to how quick and responsive the desktop is. I am quite pleased with the overall concept - this is an advanced and complete desktop solution - weighed down with sub-optimal performance and bugs. I hope these will be resolved soon, because I would then even consider Manjaro for my mini-real production setup, and that would be quite a step from where my workflow normally floweth. At the moment, Raspberry Pi OS remains the optimal if not ideal distro for Raspberry Pi 4. Well, we shall see how this evolves. Take care and stay tuned.