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.
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 painless.
- 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.
Single-board computers with fatal flaws
- The Raspberry Pi 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.
Thanks to Paul Kocialkowski for collecting the information for this page.