Hands-On: Manjaro Linux on the Raspberry Pi 4

My previous post looked at Ubuntu on the Raspberry Pi 4. This time I'm going to try installing Manjaro Linux, with two different desktops on two different Pi models.

A guide to the best Raspberry Pi alternatives

In my previous post, I walked through Installing Ubuntu Linux 20.10 on a Raspberry Pi 4. That went pretty well, with both the standard Gnome desktop and the MATE desktop. This time, because I am not much of an Ubuntu fan, I want to try a Linux distribution, which I prefer and have been using on my various laptop and desktop systems: Manjaro.

Manjaro has had a Raspberry Pi distribution for quite a long time now – I first tried Manjaro-ARM on a Raspberry Pi 2 in early 2016. There was a bit of a scare when it looked like the Manjaro-ARM project would shut down in early 2017, but fortunately the project was saved by some dedicated community members.

Today the Manjaro Downloads web page lists a variety of ARM versions, including the Raspberry Pi 4, Pinebook, Rock Pi, and Khadas. Each of those typically has three or four different desktops supported, so that all adds up to a lot of choices. The one thing that I find a bit disappointing, though, is that in the Raspberry Pi downloads, it doesn't list any of the older Raspberry Pi models, just the RPi4. A bit more investigation reveals that this is because they are only offering a 64-bit version; this means that although they don't say it explicitly, it should work on the Raspberry Pi 3 as well as the 4 (because it is the same CPU), but there is no hope for it working on the other earlier Raspberry Pi models. Sigh. Honestly, Manjaro-ARM i3 was my favorite non-Raspbian operating system on those. Ah well...

SEE: An IT pro's guide to robotic process automation (free PDF) (TechRepublic)

Anyway, I decided to try the XFCE desktop version on the RPi4, and the i3 version on the RPi3. Both of those are xz-compressed images, just under 1GB each. They can be uncompressed and copied to an SD card using the usual command pipline:

IMPORTANT NOTE: This command will overwrite the entire contents of the SD card. Any existing information on the card will be lost.

xzcat Manjaro-ARM-xfce-rpi4-20.10.img.xz | dd bs=4M of=/dev/sdX iflag=fullblock oflag=direct status=progress

Please remember that you must replace the sdX in this command with the device for your SD card, and be very careful because using the wrong device name can have catastrophic results.

Both of these images expand to a bit more than 4GB, so you will need at least an 8GB microSD card.

As you can see from the command line above, I tried the XFCE version first; when the copy was complete I put the microSD card in a Raspberry Pi 4 4GB model, and booted it up. That walked me through a fairly simple text-based initial configuration, where I had to choose the following:

  • keyboard layout
  • username
  • additional user groups
  • Full Name
  • user password
  • root password
  • timezone
  • language locale
  • hostname

It then rebooted to the Manjaro login screen, and once I logged in I got a lovely Manjaro XFCE desktop!

screenshot-2020-12-02-10-24-43.png

Manjaro XFCE on Raspberry Pi 4.

Image: J.A. Watson

Boot time was reasonable, a bit less than 30 seconds from power-on to the login screen, and login time was good, about 10 seconds from entering my password to having the full desktop ready for use. My first impression of the installation and performance is very good.

screenshot-2020-12-02-10-32-08.png

Image: J.A. Watson

I was curious about the CPU and memory use, so I had the task manager running while I was writing this and adding the various images to it. As you can see here, the CPU use was never maxed out, and the memory use actually never went above about 1GB. That looks very promising to me for using Manjaro on other Raspberry Pi models with slower CPUs and/or less memory.

I also checked the disk partitioning at this point, and saw that the root partition had been expanded to fill the free space on the SD card, as expected. So keep in mind that if you want to do something other than this with the free space (such as create a separate/home partition), you need to do that before booting the SD card for the first time.

2020-12-02-105817-1920x1056-scrot.png

Image: J.A. Watson

The next step for a new installation is getting all of the latest updates installed. There is an icon on the bottom panel of the XFCE desktop which looks like a shield; clicking that brings up the pamac package manager, which has a button at the top of the window for updates. I then installed all of those and rebooted. All very smooth.

Up to this point I was still running on a wired (RJ-45) ethernet connection, so I disconnected that and connected to my Wi-Fi network, again with no trouble at all.

Bluetooth was next on the list; my Logitech m720 mouse connected with no trouble, but the k380 keyboard would not connect. It is detected by a search in the Bluetooth/Devices window, but it will not pair. That's disappointing.

I shut down the RPi4 and connected a second monitor, then booted back up again. It came up with both monitors enabled, configured as an extended desktop. As you can see below, though, the wallpaper was a bit odd – the original monitor still had the custom Manjaro wallpaper, but the second monitor had the default XFCE wallpaper. That's easy enough to fix with Desktop Settings

screenshot-2020-12-02-14-30-34.png

Image: J.A. Watson

Everything worked, but I had a very strong impression that performance was worse. It seemed very "laggy" on moving and otherwise refreshing windows. I couldn't figure out why that was happening. If you look closely at the system monitor in the screen shot above, you can see that CPU use and memory are not at all unreasonable, so it should have still been ticking along just fine. I suppose this has something to do with the way video memory is handled.

Overall I would say that Manjaro XFCE looks like a good choice for the Raspberry Pi 4. It's certainly closer to the Raspberry Pi OS (Raspbian) than any of the other Linux distributions I have looked at, both in terms of ease of installation and use.

SEE: Hands-On: Adventures with Ubuntu Linux on the Raspberry Pi 4

Moving on to Manjaro i3... I have been looking forward to this, because I really love the i3 desktop. Since Manjaro XFCE loaded and ran on the Raspberry Pi 4 with no problem at all, I didn't see any point in repeating all of that for the i3 desktop. I have several different models of Raspberry Pi 3, so tried each of them in turn.

Downloading the compressed image from the Manjaro webpage, and copying it to a microSD card is the same as described above. First boot walks through the same setup/configuration process, and expands the root filesystem to fill the SD card. Logging in then brings up this i3 desktop:

2020-12-02-110441-1920x1080-scrot.png

Image: J.A. Watson

Boot time was obviously slower than the Pi 4, but still reasonable. Just look at that lovely, clean desktop! If you are not familiar with i3, this Manjaro Raspberry Pi image would be a great way to try it out. Not only because it is free and very easy to install and test on a Raspberry Pi, but also because the Manjaro i3 desktop is without a doubt the best pre-configured that I have ever seen.

The bar across the bottom of the display shows status information (CPU, disk, network, updates, etc); the text at the top right of the screen shows more detailed system status (CPU load, Memory use, OS version, etc); the text at the bottom left of the screen lists some of the most common i3 keyboard commands (a sort of "crib sheet" for those not familiar with i3).

I had decided to start with an original Raspberry Pi 3B. After confirming that everything was working, I shut that down and tried a newer Pi 3B+. The most significant difference in these models is an increase in CPU clock speed, from 1.2GHz to 1.4GHz, so I expected to see a bit better performance – and I did. It is certainly still not running like a Pi 4, but it is clear that everything from boot time to application startup and execution is a bit faster. Everything else worked normally, of course.

Finally, just for completeness, I tried the same SD card in a Raspberry Pi 3A+, and once again it booted right up, and everything worked as expected.

I'm not going to spend any more time singing the praises of i3, but if I have interested you in it, or you have been curious about it already, Manjaro-ARM for the Raspberry Pi is a great chance to try it out.

If, on the other hand, you are looking for a good, professional, well-supported operating system for the Raspberry Pi 4, I would strongly recommend Manjaro ARM. You might notice that I did not include the Raspberry Pi 3 in this statement; I actually did try Manjaro ARM XFCE on the 3B and 3B+. It boots, it runs, and it is painfully slow. I have no doubt that is why the Pi 3 is not even mentioned on the Manjaro ARM web page.