The Raspberry Pi primarily uses Linux-kernel-based operating systems.
A Linux Distro is a short for an operating system made from a software collection, which is based upon the Linux kernel and, often, a package management system. Popular distros include Debian, Ubuntu, Fedora, CentOS, Linux Mint, Open Suse, Mandriva, Mageia, Korara, Kali Linux and countless others.
Here’s a list of top five distros that provide a solid foundation and a complete desktop environment on our beloved Pi.
Raspbian has been the standard Raspberry Pi operating system, since the Pi arrived in 2012 and we have seen it grow over time into the capable distro that we use today. Raspbian is a fork of the massively popular Debian distribution and it is jointly maintained by the Raspberry Pi Foundation and the community.
Being based on Debian, Raspbian comes with the APT (Advanced Packaging Tool) as it’s package manager, which is used to install software from the vast Raspbian repositories, but Raspbian also comes with raspi-config, a menu based tool that simplifies the act of managing Raspberry Pi configurations such as setting up an SSH, overclocking and enabling the official Raspberry Pi camera.
Since December 2014 the Raspbian desktop has received a notable improvement to it’s user interface thanks to the hard work of Simon Long. Moving away from the cluttered LXDE menu system we now have a simplified and refined interface that groups applications and configuration tools into clearer categories. As Raspbian is the default distro for Raspberry Pi it is also the distro that sees the most improvement and innovations. GPIO library that enables Python to talk to the GPIO (General Purpose Input Output) pins, Minecraft the popular survival / sandbox game that has seen a massive investment of time from the community to enable a Python API for programming the game world. Lastly we have Sonic Pi the Ruby powered music creation application that has risen in popularity thanks to the efforts of Sam Aaron.
With the release of the Raspberry Pi 2 we have seen Raspbian receive the speed boost that it always needed, by no means was it a slouch on the original Raspberry Pi, but the addition of more RAM and better CPU has enabled it to become a usable desktop distro that can easily be used as a main machine.
Raspbian has improved since it was first released in 2012 and with each new release we see more refinements added to it, no wonder the majority of projects around the world are based upon this distro. It is a rock solid development base that runs well on the original Raspberry Pi but screams ahead on the new Raspberry Pi 2 specification.
If you are taking your first steps with the Raspberry Pi or need a solid and dependable basis for a project, Raspbian has to be your first choice. No other Raspberry Pi distro can compete with it’s stability, range of projects nor it’s supportive community. Hence why Raspbian is the official distro for the Raspberry Pi and is supported by a series of projects available via the Raspberry Pi Foundation’s learning resources.
2. Ubuntu Mate
In the early days of the Raspberry Pi many questioned the choice of Raspbian over Ubuntu. At that time Canonical had stopped supporting the ARM11 CPU that powered the Raspberry Pi and this spelt the end of any possible Ubuntu releases. We now fast forward to the Raspberry Pi 2 release and it’s ARM7 CPU which is now compatible with Ubuntu to try out Ubuntu MATE. Ubuntu MATE can be downloaded via the Raspberry Pi Foundation downloads page and copied to your SD card using dd or another image writing tool. On first boot you will be asked to configure the system and create a user account. Once complete and quick reboot will present a graphical login screen and once logged in you will see the desktop, but not the Unity desktop, rather you will see the MATE desktop, which is a lightweight desktop based upon the GNOME 2 desktop environment . Unity is the default desktop for Ubuntu but it is too heavy even for the new Raspberry Pi 2 specification. MATE is a rather light and full featured desktop.
Ubuntu comes with a few applications installed, such as LibreOffice, but you will need to install a few more applications to make the most of it, you can do this using the Software Center or by dropping into a terminal and running apt-get. Ubuntu MATE feels very slick and using a class 6 or 10 SD card will help speed up the operating system.
GPIO, the library needed to use the GPIO pins, is not available for use. But as Ubuntu for Raspberry Pi 2 is still in heavy development by the community it is just a matter of time before it is successfully ported across along with other favourites such as raspi-config.
Using Ubuntu is a joy, it is swift and smooth enough to be used as a desktop computer. The current lack of “Raspbian” features is not a major issue due to the community interest of integrating them into Ubuntu. A good distro for general use but not one for the makers amongst us, yet.
3. Arch Linux ARM
For just about as long as there’s been a Raspbian distro on the Raspberry Pi Foundation’s site there’s also been an Arch alternative for those a little more adventurous in their choice of operating system. Whereas Raspbian gets you going straight away with an excellent selection of apps, Arch provides users with a command-line interface and only a bare smattering of extra packages over the Linux kernel to make it work.
Arch has the bare essentials available to be built upon for a perfectly customised distro. To that end, this version comes with the pacman command line package manager to help you install any available software from the repository including desktops, media players and others. It enables you to have no bloat on the system and the correct setup will always be faster than a modified Raspbian for a lot of projects or applications.
As for Raspberry Pi-specific functions, it does quite well in this regard too. The Pi camera board is supported and so are the GPIO pins – the latter allowing access to a huge number of Pi accessories, including Adafruit screens and sensors and other physical devices. Some of it can be trickier to use, as you can’t rely on pre- built Raspbian software, but it is doable with some of the more complex additions.
For normal users, though, it can be quite terrifying. All knowledge is assumed and, while you can easily find some quick tutorials to get started, it can be quite daunting. Even adding the Pi camera software takes a lot more effort than enabling it in the config menu. It does offer a unique opportunity to learn the intricacies of Linux, at least – which does keep in line with the Raspberry Pi education ethos – but there are a lot of one-off commands that might get lost in the process of getting it from zero to desktop.
For extremely custom projects you may well be better off using Arch over Raspbian. However, for a lot of users there won’t be much of a difference in performance.
There was a spin of Fedora for the Raspberry Pi during the early days of its release, but that was quickly dropped in favour of Raspbian when it proved to be a bit slow and buggy. It was almost two years after this incident that a proper version of Fedora was released on the Raspberry Pi in the form of Pidora. An almost straight-up port of the codebase to the specific ARM architecture of the Pi, Pidora has had a few tweaks to let it run on Pi hardware without much loss in performance, at least.
The very first thing to note is that the problems of Fedora on the Pi in the past are long gone. This is a very mature operating system that is stable and generally runs well on the Raspberry Pi. In terms of speed, it’s not as fast as Raspbian or Arch Linux and in the case of Raspbian this may be due to a number of factors. Pidora uses XFCE, for one, which is known to be a little heavier than the LXDE that Raspbian uses. Fedora also uses much newer software that is somewhat designed to be run on computers which are slightly more high-end, while Raspbian is based on an older version of Debian with more lenient software. It isn’t the biggest difference but it all adds up with the other problems.
Booting from NOOBS is painfully slow and prone to errors – something that doesn’t occur with Raspbian or the other distros on NOOBS. Installing straight from the image removes this problem but, unfortunately, Pidora has one other disadvantage over Raspbian: lack of software.
More software is being added all the time but a lot of basic or useful yet obscure packages available for Raspbian just aren’t in the repository. The essentials are there and there are plenty of programming choices, but combine this with a lack of official Pi accessory support and it becomes less attractive for project work.
It’s definitely not a bad distro, though. If it had ended up being the default when the Pi launched then we’d likely be saying similar things about Raspbian. However, there’s very little reason to use it over its Raspbian counterpart.
5. RISC OS
RISC OS is a British operating system originally designed by Acorn Computers Ltd in Cambridge, England, and was first released in 1987. It was specifically designed to run on the ARM chipset. It is fast, compact and efficient. RISC OS is not a version of Linux, nor is it in any way related to Windows and interestingly was developed by the original ARM team.
RISC OS Pi comes with a small set of utilities and applications, It includes a browser called NetSurf, a simple text editor, a scientific calculator, and it also has two software/package managers, packman and a store. Although it’s not a modern operating system (when compared Linux, Windows and OSX) is does have number of unique features and aspects to its design. It is available to download from RISC OS Open Website or RaspberryPi.org.
While RISC OS is not Linux it does have a similar file structure and uses a package manager, but otherwise it is completely its own thing. Using RISC is different from other operating systems as it uses a three-button system for clicking and opening menus, unlike the two-button standard of today. This can be confusing for new users, along with the way apps open on the desktop and the way they don’t always require double-clicks to launch. When it is in a fullscreen window, it covers the panel and a whole host of other quirks. If you’re used to the traditional desktop metaphor there are a lot of new workflow processes to get your head around for something you’re unlikely to use as your main computer.
As for teaching tools there are very few. You won’t really be learning to code on here unless you like using BASIC or already have a bit of knowledge in Perl or C. You can access the GPIO port but it’s not very well suited for all projects; Raspbian and Arch would be better.