Single-board computers (SBCs) are computers delivered as one circuit board that are powerful enough to run a real operating system. They generally contain a System-on-a-Chip (SoC) with an ARM processor.
SBCs normally run the GNU/Linux system, but that doesn't mean that all is well for software freedom on these boards. Each existing SBC model has major flaws -- hardware that doesn't work without running a nonfree program.
Free software friendly singleboard computers
- Olimex OLinuxino series (Allwinner A10/A20)
- Solid Run's Hummingboard can be run headless and with basic video output using mainline kernel and U-boot.
Single board computers requiring some workaround
These boards are basically usable in the free world, but important hardware features are nonfunctional. These flaws have workarounds, but the workarounds are far from
- The BeagleBoard (various versions) as well as the PandaBoard use the TI OMAP family of SoCs. These come with free startup software as well as free drivers for the peripherals. However, the graphics accelerator (GPU) and the video decoding hardware for formats such as MPEG-2 are nonfunctional, because they require nonfree blobs to be installed into them. The workaround for these flaws is to do these jobs on the CPU with free software.
- The Pandaboard has another serious flaw: a WiFi and Bluetooth chip that can't work without nonfree software. The workaround is to get an external USB device for these functions, if you want them. See the documentation of your board for information about using these USB devices with it.
- The AllWinner A1x platforms come in many boards such as the A13-OLinuXino, Cubieboard, Gooseberry and Hackberry. The free startup software does not handle the internal memory; therefore these machines have to be booted from an SD card every time. In addition, the GPU and the video decoding hardware are unusable in the free world, so these jobs must be done on the CPU.
- The Cubieboard, Gooseberry and some versions of the A13-OLinuXino contain a WiFi chip that doesn't work without nonfree software. See the documentation of your board for information about using these USB devices with it. People are working on free software support for the internal memory and the Mali GPU. Please contribute to these projects! The free software for Mali is Lima.
- The MIPS Creator CI20 board comes with free startup software and free software drivers for most of its peripherals. However, graphics acceleration and 3D depend on proprietary software, so they are nonfunctional with free software. In addition, the Wi-Fi and bluetooth functionalities require a proprietary piece of software to be loaded on the module to function.
- The Cubox-i series from Hardkernel (i.mx6 based), can run like the Hummingboard above but the built-in wifi chip requires binary firmware.
Single-board computers with fatal flaws
- The Raspberry Pi (including the rPI2) requires nonfree software to start up. It can't reach the point of executing free software unless this nonfree program is part of the installed system software. The startup program is, in fact, the same program that runs the GPU and the video decoding hardware. Thus, the GPU and the video decoding hardware are unusable in the free world, but these jobs can be done with free software on the CPU. That program appears to implement intentional restrictions, such as blocking the video decoding hardware for MPEG-2 and VC-1 in the absence of a key that is specific to the machine in hand.
- The Odroid-X, Odroid-X2, Odroid-U, Odroid-U2 and Arndale boards use the Samsung Exynos SoC. It requires nonfree startup software. Making things even more hopeless, it is very difficult to replace that program with free software, since the board requires the startup software to have a checksum computed by a secret algorithm. In addition, the GPU and hardware video decoding require nonfree software, but these jobs can be done with free software on the CPU. In addition, the Arndale is normally sold with a WiFi module board that requires nonfree software.
- The Odroid-C1 board requires binary firmware to be fused with the compiled U-boot in order to complete booting.
- The Intel Edison board requires proprietary software to boot up and work properly. In addition, the Wi-Fi and bluetooth module that is part of the board requires proprietary software to be loaded on the module for it to function. The board also features a micro-controller unit, that runs a piece of non-free software.
- Thanks to Paul Kocialkowski for collecting the information for this page.
- Alexandru Voica from Imagination Technologies for sending a board to evaluate.