This page was last updated in May 2019.
SBCs normally run the GNU/Linux system, but that doesn't mean that all is well for software freedom on these boards. Many require proprietary software to even boot up; others are "TiVoized," enforcing signature checks to prevent the user from modifying the source code. Integrated radios, like Wi-Fi and Bluetooth, do not usually function with free software. Few GPUs and VPUs are fully supported with free software, although there are notable projects freeing all major embedded GPUs, with the notable exception of PowerVR.
This page is organized by system-on-chip (SoC) family, rather than the name of the board, as a given SoC is typically used in many boards. To find boards based on a particular SoC, consult https://en.wikipedia.org/wiki/List_of_single-board_computers.
Single-board computers with minor flaws
These boards are usable with free software but a few non-critical features require nonfree software. For most uses, it is easy to work around the proprietary components.
Boards based on the FreeScale i.MX6 platform are almost entirely functional in freedom. The i.MX6 uses the free boot firmware U-Boot and does not enforce signature checks. The GPU, the Vivante GC320, has been reverse-engineered by the
etnavivproject; its free software drivers are now mature and usable for most day-to-day cases.
The only major component which is not usable with a free software stack is the VPU for accelerated video decoding, which requires nonfree firmware uploaded to it at run-time. This task can be done in free software on the CPU instead.
Single-board computers with serious flawsThe core functionality of these boards is usable with only free software, but important features are missing. While these flaws have workarounds, these workarounds are often complex. In particular, these boards have unsigned free boot firmware, but they lack free software for accelerated video processing and graphics.
The Allwinner Axx and R8 platforms come in many popular GNU/Linux boards.
Be aware that Allwinner is notorious for GPL violations; consider this when making a purchase.
Accelerated video encoding/decoding is supported with free software on these Allwinner VPUs through the Cedrus project. 2D acceleration is supported with free software with Xorg.
These chips use an Utgard series Mali GPU, which is not yet supported with free software. The Lima project is reverse-engineering this GPU and developing a fully free software stack for them. Please contribute to its development if you are able to do so.
Boards with an on-board Wi-Fi chip generally do not work without nonfree software. See the documentation of your board for information about using another USB device (one that respects your freedom) with it.
Other boards do not require any additional proprietary software than what is common to all Allwinner platforms to be fully functional.
Certain Rockchip devices, such as those based on RK3288 or RK3399, are usable with free software.
Accelerated video encoding/decoding is supported with free software from the vendor, although it may not be usable in a standard mainline GNU/Linux system. Free software on the CPU can be used instead.
The BeagleBoard as well as the PandaBoard use the TI OMAP family of SoCs. Other related boards like the BeagleBone use the TI Sitara family instead. These come with free startup software as well as free drivers for the peripherals.
However, the PowerVR graphics processor (GPU) is nonfunctional, because it requires nonfree blobs to be installed. Similarly, on boards that feature accelerated video decoding, this functionality is not available without installing a blob. The workaround for these flaws is to do these jobs on the CPU with free software. Further, it is unlikely that the PowerVR GPU will gain free software support due to technical and legal issues.
Unrelated to the hardware, the GNU/Linux images supplied for these boards by the manufacturer contain nonfree software in the form of firmware for various devices, like USB Wi-Fi dongles. You can avoid this by installing a free distro without nonfree packages and repositories, and that comes with a Linux-libre kernel.
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 MIPS Creator CI20 board comes with free startup software and free software drivers for most of its peripherals. However, graphics acceleration (PowerVR) depends on proprietary software, so they are nonfunctional with free software. In addition, the Wi-Fi and Bluetooth functionalities require a proprietary firmware loaded on the module to function.
We thank Alexandru Voica from Imagination Technologies for sending us a board to evaluate.
Single-board computers with fatal flaws
Boards in these categories either require nonfree software to even boot, or enforce signature checks on their bootloader to prevent replacement with free software.
Boards based on the Broadcom VideoCore 4 family, such as the Raspberry Pi, require nonfree software to startup, although signature checks are not enforced. A free proof-of-concept replacement firmware has been developed, but it is not in a usable state, and development has halted. Until the nonfree startup program is fully freed, these boards are useless in the free world.
By default, the GPU requires a blob running in this same startup firmware. However, Broadcom also supplies an "experimental" free software stack, which could run without blobs, if the startup firmware were free.
The startup program also implements accelerated video decoding, primarily using highly optimized proprietary code as well as some dedicated video decoding hardware blocks. There are intentional restrictions, apparently due to software patents, blocking the use of this code without a license key (a form of DRM). Nevertheless, video decoding can be done with free software on the CPU, with a performance and power cost.
There is an additional concern for the Raspberry Pi Camera Module, produced specifically for use with the Raspberry Pi. In order to access the Camera Module, it requires the use of a binary-only driver on the Raspberry Pi. This driver refuses to work unless authentication of an ATSHA204A chip present on the camera board succeeds. This is a crypto chip capable of solving challenge-response requests using a captive secret key within it, essentially it is used to prevent hardware cloning and confirm that the camera board was not manufactured by a third party. In other words, it is a form of hardware DRM. If necessary, you can use a USB webcam supported by free software instead.
Boards with the Samsung Exynos SoC generally require signed, nonfree startup software. Some models use PowerVR GPUs; others use Mali GPUs. At present, neither GPU is usable day-to-day. These graphical jobs can be done on the CPU. In addition, the Exynos-based Arndale board is normally sold with a WiFi module board that requires nonfree software.
Like Exynos, boards with Qualcomm Snapdragon SoCs generally require signed, non-free software to boot: an unconditionally signed first-stage SPL, and a sometimes-signed second-stage LK bootloader. Graphically, Snapdragon chips use the Adreno family of GPUs, which are well-supported with the free Freedreno driver! However, a small firmware blob is necessary to use 3D acceleration even with Freedreno. Snapdragon also may require non-free firmware for audio. In total, although the free software GPU stack is mature, Snapdragon boards have fatal freedom flaws.
Most x86 boards, like the Intel Edison board and the Minnowboard, require proprietary software to boot. In addition, the Wi-Fi and Bluetooth module that is part of the Edison requires proprietary software to be loaded on the module for it to function; the Edison also features a micro-controller unit that runs a piece of nonfree software.
Thanks to Paul Kocialkowski and Alyssa Rosenzweig for collecting the information for this page.