Over the past three posts, I have looked at a number of different Linux distributions for various models of the Raspberry Pi - including SUSE/openSUSE, Fedora, Manjaro and Ubuntu MATE, and PiCore Linux. What I haven't done yet is look at the latest version of the Raspberry Pi Foundation's own Linux distribution, Raspbian with their PIXEL desktop. So I will look at that first, and then I will wrap this series up.
I know that I just recently wrote about Raspbian PIXEL, but that was a sort of "what's new" overview, and in this post I want to go much deeper, and in a lot more detail, to provide some comparison to the other Linux distributions that I have been testing. So please bear with me...
The "standard" or "native" Linux distribution provided by the Pi Foundation for all models of the Raspberry Pi is Raspbian GNU/Linux, now with the PIXEL desktop. It can be downloaded from the Raspbian Downloads page, where you will find two versions to choose from - Raspbian Jessie with PIXEL, which includes the GUI desktop, and Raspbian Jessie Lite, which is a stripped-down version with no GUI, often used for headless installations (similar to Manjaro ARM Minimal Edition).
The difference in size between these two versions is significant. The PIXEL version is a 1.5GB zip file, but it expands to more than 4GB by the time you unzip and copy it to an SD card, so you will need at least an 8GB card. The Lite version is a 300MB zip file, which expands to about 1.4GB on an SD card so you can probably still get away with a 2GB card - but if you are going to do anything serious with it, you're probably going to want at least a 4GB card.
For either version, the command line to unzip and write the image to an SD card is the same as I gave in the previous posts:
unzip -p Image | dd of=/dev/sdX bs=4M iflag=fullblock oflag=direct status=progress
You can then just put the SD card into whatever Raspberry Pi you have, and boot it. No muss, no fuss, just plug it in and give it a minute or so to boot and come up to the PIXEL desktop.
Not only is Raspbian independent of any specific Raspberry Pi model, it also includes drivers for all of the "official" Pi hardware, including the Pi 3 built-in WiFi and Bluetooth adapters, the "official and recommended" Pi USB WiFi Dongle, the Camera Modules (v1 and v2), the Sense HAT and more.
Raspbian also includes tested and properly functioning support software and utilities such as a network manager for WiFi, Bluetooth manager, camera demonstration utilities, and support libraries for programming access to various of these.
There are also a variety of utilities, games, programming aids and other such nice tidbits to help with using, learning and making on a Raspberry Pi. There are even a few things that you would normally have to pay for which the Pi Foundation has licensed so that they can include them - but only with Raspbian and only on Raspberry Pi hardware. These include Wolfram, Mathematica and Minecraft, at least, but there may be others like this that I am not aware of.
Because it has been specifically selected, refined and tuned for the Raspberry Pi hardware from the very beginning, Raspbian provides significantly better performance (in some cases massively better performance) than any of the other Linux distributions that I have tested.
There is at least one more major advantage of Raspbian - the stability that comes with experience. It has more than 5 years of development, debugging, testing and most importantly real-world use now. It seems to me that without really thinking about it very much, Pi users have come to take the stability for granted - Raspbian practically never hangs, crashes or otherwise misbehaves. I suppose there might still be an occasional application or utility that will crash, but I honestly can't remember the last time that happened to me.
I think it is particularly important to stress that all models statement, especially after some of the struggles that I have had with the various other distributions I have tried in this series. With Raspbian it doesn't matter if you have a Pi Zero, a Pi 3 (or Compute Module 3) or anything in between, you download the same image and prepare it on an SD card the same way. When you put that SD card into a Raspberry Pi, the boot process will figure out what model it is and adjust itself accordingly.
There is a down side to that "one Raspbian to rule them all" situation, though. Raspbian is currently a 32-bit only distribution. It doesn't make any attempt to use the 64-bit mode of the BCM2837 processor in the Pi 3 or CM3. Some of the other distributions - notably SUSE and openSUSE - already have 64-bit images available. The Raspbian developers have already said that they are going to monitor this situation, and if there is sufficient demand for it, they will consider making a 64-bit version.
When I wrote the original post about SLES/openSUSE on the Raspberry Pi 3, I was not able to get Tumbleweed to boot on the Pi 3 at all. Shortly after that was posted, I was contacted by a very nice person from SUSE development who said that after seeing my post he had checked the installation image, verified that there was something wrong with it, and had started working on fixing it. He also pointed out that I am about 12 years late in changing their name from SuSE to SUSE, so thanks for that heads-up as well...
Anyway, the good news is that since hearing from him I have seen several new builds appear in the openSUSE Tumbleweed Pi 64-bit image directory. This evening I downloaded the latest LXQt version, and I am very pleased to report that it now boots and runs! Check this out:
Hooray! I'm really pleased!
Now, to be honest it is really slow: booting takes pretty much forever from the time you apply power to the time the LXQt login screen appears. Likewise, loading an application such as Firefox takes, well, ages. But it all works and I have been using it for a little while now, including writing this part of the post and adding the screen shot, without problems.
They say you have to walk before you can run, and I am figuring that's what this is. They have solved the basic problem of booting and getting a GUI desktop up. Hopefully in the future the performance will improve.
There were certainly some positive things about Tumbleweed on the Pi3. For example, my Logitech Unifying keyboard and mouse worked without problem. The built-in Pi 3 WiFi adapter wasn't recognized, but when I plugged the standard Pi USB WiFi adapter in it was recognized, configured and it showed my wireless networks as available. The default browser is Firefox, which I already know is painfully slow in the Raspberry Pi, but I found that Midori can be installed (zypper install midori ), and as usual it is considerably better.
I've spent quite a bit of time testing a variety of Linux distributions on various models of Raspberry Pi hardware. The first thing that these tests have proven is that the best Linux distribution for the Raspberry Pi is still Raspbian GNU/Linux, by quite some margin. It is the fastest, the most stable, and you can use exactly the same operating system no matter what Raspberry Pi model you use. This is particularly true if you are using the Raspberry Pi for education, experimentation or hardware/software project development (making), because Raspbian gives you the best access to all of the hardware, interfaces and peripherals on and around the various Pi models.
However, if you want to use a Raspberry Pi simply as a very small and very inexpensive general purpose Linux system, either a desktop/GUI or a server/CLI system, then things get a lot more interesting. Raspbian is still a good choice, of course, but then things like user familiarity, consistency with other systems and just plain personal preference come into consideration. Here a a few comments and examples which come to mind:
- Manjaro ARM is the only other distribution I tried which works on all of the Pi Models. With the Xfce desktop on the Pi 2 & 3, or with the i3 desktop on any model, I think it is very pleasant to use.
- Ubuntu MATE works well on the Pi 2 & 3, although it can be a bit sluggish at times - particularly on update installation. If you are a dedicated Ubuntu user, this can be a good way to get a very inexpensive computer.
- SUSE Linux Enterprise Server (SLES) works in 64-bit mode on the Pi 3, so corporate/enterprise users who are already using and supporting SLES might find this an interesting alternative for some specific project or use. But the performance is so poor right now that I can't imagine anyone using it for ordinary everyday desktop work.
- openSUSE Leap and Tumbleweed both work in 64-bits on the Pi 3, but a combination of speed and stability problems probably makes them questionable right now. I really hope that these continue to develop and improve, though, because I would love to see openSUSE as a viable option for general purpose use of the Raspberry Pi.
- Fedora. Well, it works on the Pi 2 & 3, at least as far as booting and coming up to a desktop. But it was so slow, even on the Pi 3, and I had so many problems with things crashing on it, that I eventually just gave up. If they continue development, improve the stability and come through with support for all the hardware bits that they listed as "soon" in their Raspberry Pi FAQ, this could become an interesting option for dedicated Fedora (or Red Hat) shops in the future.
- piCore Linux. This is for hard-core users. It's really more of a building block that you can use to create a customized system to meet your own needs or preferences. It works, and it is almost unbelievably small and fast - bot don't take this on unless you are a Linux expert, or you intend to become one.
Also Interesting and Fun
One last slightly related note, for those with the stamina to have stayed with me this far. A recent post in the Raspberry Pi Blog describes the use of Pi hardware with custom software at a UK online bookshop. I love reading this kind of story, I find it fascinating and inspiring. This is the sort of thing I meant when I said making with the Raspberry Pi several times in these articles.