Group: Hardware/Single Board Computers
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.
Single board computers with minor issues
These boards are basically usable in the free world, but some hardware features aren't available. There are some non-ideal workarounds
TI OMAP SoCs
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 A13/A10/A20/A31 platforms come in many boards such as the A13-OLinuXino, Cubieboard (various versions), Gooseberry and Hackberry.
- It seems like U-Boot-sunxi now supports booting from internal memory. (Prior to this, the device had to be booted from an SD card every time.)
- Hardware GPU and the video decoding are currently unavailable using free software.
- People are working on free software support for the Mali GPU (A13/A10/A20) and the Cedar A/V decoder. The mature free software project for Mali is Lima. Info for CedarX is here. Please contribute to these projects in any way you can!
- The A31 uses a PowerVR GPU. The reverse engineering project for that hardware isn't as complete as Lima yet.
- For now, the CPU can slowly/inefficiently create 3d graphics and decode video.
- (The Gooseberry and some versions of the A13-OLinuXino contain a WiFi chip that only works with nonfree software. See the documentation of your board for information about using these USB devices with it.)
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.
- The Minnowboard's bootup software is only partially free software: non-free parts are required to setup its hardware during startup. Moreover, its GPU has a PowerVR core, which requires non-free software to work.
- The Intel Galileo board, even though it is presented to be a microcontroller, runs a GNU/Linux operating system. While it would be possible to run a fully free system on the board, it needs non-free software to startup (the BIOS is proprietary).
Thanks to Paul Kocialkowski for collecting the information for this page.