In previous posts of this series about Linux on the Raspberry Pi 4, I have written about Ubuntu, Manjaro and of course the Raspberry Pi OS. This time I'm going to look at openSUSE, which has two variants – the more stable LEAP, and the more leading-edge Tumbleweed. I will be giving them both a try.
Fair warning: openSUSE is one of my favorite Linux distributions, and it is the one that boots by default on my desktop system and all of my laptops, so I might be a bit biased. On the other hand, I have tried openSUSE before, on older models of the Raspberry Pi, with very limited success.
The openSUSE wiki page HCL:Raspberry Pi4 contains the complete information and downloads for both LEAP and Tumbleweed. There are images for a variety of desktops, including:
- JeOS (Just enough Operating System, CLI only, no GUI)
- E20 (Enlightenment)
- X11 (basic/barebones X11 windowing system)
Downloading the installation images from this page was my first positive experience this time – they were all there, and they all appear to work. When I have previously tried openSUSE on the Raspberry Pi, I found that most of the desktop images listed didn't even exist, so this is an improvement, and gives a much better first impression. All of the Tumbleweed download images are about 1GB, and the LEAP images are even a bit smaller, around 750MB. The uncompressed installed images were about 5.5GB, so all of these require at least an 8GB microSD card.
SEE: Hiring Kit: Python developer (TechRepublic Premium)
I decided to try Tumbleweed LXQt first. It is worth mentioning here that the only method of uncompressing and writing the image to an SD card given on the wiki page is the "xzcat ... | dd ...", there is no mention of any other image writer utilities for Linux or Windows. I'm not sure if this is relevant, but I can say that I used this command, and everything worked perfectly:
xzcat openSUSE-Tumbleweed-ARM-LXQT-raspberrypi4.aarch64-2020.11.24-Snapshot20201209.raw.xz | dd bs=4M of=/dev/sdX iflag=fullblock oflag=direct status=progress
After this finished writing the image to the microSD card, I simply inserted the card in a Raspberry Pi 4 (4GB), and booted it up. The first boot takes some time, so be patient; the root filesystem will be expanded to fill the available space on the SD card, so if you want to do something clever with disk partitioning, it is easiest to do that before the first boot. Don't be concerned by the large quantity of boot messages; openSUSE seems to take a much more "traditional Linux" approach, rather than what I would call the "Raspbian" approach, for lack of a better description. Anyway, within about a minute it should display a standard GRUB boot menu, with openSUSE as the default and "Advanced ..." as the alternative. That will timeout in 10 seconds, and the boot process will continue.
After another minute or two a login screen will be displayed, with "Other:" selected. The distribution images are configured with only the root account, and the password linux. Yeah, that's not a great idea, so there are three very important steps you should perform immediately after logging in, before doing anything else:
- Change the root password (use a terminal window and the command passwd)
- Create an ordinary user account for yourself (use YAST / User and Group Management)
- Logout of root and log back in with the new account.
Once I completed these tasks, and was safely logged in as a non-privileged user, I could continue exploring.
My first impression of Tumbleweed on the RPi 4 was very positive. In fact, it was two impressions – one, the response and overall speed is quite good, and two, wow, this really looks and feels exactly like Tumbleweed on any of my other systems. Nice.
While doing the initial exploration and familiarization, I noticed that the LEDs on the Raspberry Pi 4 were not lit (normally there would be a power indicator and a disk activity indicator). I knew they had been lit when I first powered on, so I rebooted a couple of times and saw that they actually go off when the boot process is complete and Tumbleweed starts running, and they come back on when Tumbleweed shuts down, at least so that the disk activity light blinks 10 times to show that shutdown is complete. That seems like a rather odd decision, to disable (or ignore) the LEDs, I wonder why they did that?
I browsed through the desktop menu, and found that there was very little software installed other than the base operating system and utilities. I was a bit surprised that both Firefox and Chromium are installed, I'm not sure that I understand the logic there, maybe they just couldn't decide... and GIMP is installed. Again, that seems like a bit of an odd decision, GIMP is a pretty heavy-duty application to be including in a lightweight distribution by default, especially when it is the only image viewer.
That's about it for applications. No office suite, no audio or video media player, no text editor (featherpad is a good option), no image viewers (lximage-qt would be good), no programming languages. In principle this is not a big problem, because you can install whatever you need using either YaST / Software Management or zypper, but it could be a bit confusing or intimidating to inexperienced users. Oh, and because of the comment made on my previous post about the new Raspberry Pi OS release, I also installed Scribus, which gave me version 220.127.116.11.
I did find one very significant problem, though – I don't seem to be able to get any sound. Streaming media in Firefox gives nice smooth video playback, but absolutely no audio, and going to the desktop menu / Sound & Video / PulseAudio Volume Control produced an error message about not being able to connect to PulseAudio. I also saw some comments on the wiki page about audio not working, so hopefully this is something that will be fixed soon.
Having convinced myself that Tumbleweed LXQt worked (mostly), I decided to move on to try LEAP, this time with the XFCE desktop. The download, write to microSD and first boot were essentially the same as for Tumbleweed. When the first boot completed, it also came up with a login screen similar to the previous one. Again, the first priority is to change the root password, create an ordinary user account, and login to that account.
As with Tumbleweed LXQt, my initial impression was very good. It has more applications preinstalled, such as media players, photo managers, image/document viewers and games (and both Firefox and Chromium again...). Of course, as before, everything else is easily installable with YaST or zypper. I checked for sound again, and unfortunately it is still not working.
I started the task manager, and then tested a few applications to see how the system load looked. While streaming video, downloading files, starting applications such as Shotwell (photo manager) and such, the CPU use didn't go over about 50%, and memory use didn't go higher than about 1GB.
These first two tests were done on Raspberry Pi 4 systems with 4GB and 8GB of memory. After seeing the memory use on those, I tried the RPi4 models with less memory. With 2GB everything still worked just fine, and performance was still quite good. But the 1GB model wouldn't boot, it hit an exception or some sort during startup. That's a bit disappointing, but I suppose the 1GB model is not very popular anyway, so perhaps it isn't a huge problem.
The next logical thing to do was to try openSUSE in the new Raspberry Pi 400. Unfortunately, that didn't work out well at all, it fails to boot. The Pi 400 shows the initial power-on screen, but it crashes as soon as it tries to actually boot.
As a final step, I had been thinking about the fact that the Raspberry Pi 3 is actually very similar hardware to the RPi 4, I wondered if openSUSE might actually boot and run on that. So I got out a Model 3B+, inserted the microSD card with Tumbleweed LXQt, and powered it up. Even though I had suspected that it "should" work, I was still a bit surprised when it booted right up. Perhaps even more than a bit surprised, because the 3B+ actually booted considerably faster than the various Model 4B units had!
I started the Task Manager, and then poked around with some applications. CPU load stayed pretty reasonable, around 50%-70% when starting either Firefox or Chromium and browsing a bit. Then I tried streaming a video... and just about fell out of my chair when the audio came through! So the sound doesn't work with openSUSE on the Raspberry Pi 4, but it does on the Pi 3? Very odd...
I tried pushing the envelope a bit further, with a Pi 3A+, but that turned out to be a step too far. It booted and ran, but the A+ has only 512MB of memory, and that's just not enough, it spent more of its time swapping than anything else, and all of the applications I tried were just too slow to be useable.
Hmmm. Well, in principle the Raspberry Pi 2B should be compatible as well... so I popped the microSD card in to one of those, and it worked as well! Performance was obviously nowhere near the Pi 4, or even the 3, but it was still pretty reasonable. Once it was up and running I could stream videos, and it came through with sound and no stuttering.
So, what is the bottom line on all of this? I would draw a few conclusions from it all:
- openSUSE, like Ubuntu and Manjaro, has come a long way on the Raspberry Pi. Of course this has been helped by the release of the Raspberry Pi 4, with its improved CPU performance and much more memory, but that is not the only difference. There has been significant maturing and stabilization, resulting in distribution of installation images that simply run out of the box.
- I think openSUSE on the Raspberry Pi will be primarily of interest to organizations who are already running SUSE Linux, as it provides a very low-cost alternative for entry level systems, and for keeping abreast of what the next SUSE release might look like (when running openSUSE LEAP) or what future developments beyond that might look like (Tumbleweed).
- The two most serious problems that I saw with both LEAP and Tumbleweed on the Raspberry Pi 4 Model B were the very long boot time and the lack of audio output. Hopefully both of these will be relatively easy to fix.
- The fact that openSUSE runs on the RPi 3 quite well, and even on the RPi 2 with what I consider acceptable performance (and audio works, and boot time is much better), is a real bonus.