User: Alyssa/SBC

From LibrePlanet
Jump to: navigation, search

This page was last updated in March 2021.

Single-board computers 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 "TiVoised", 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, but boards without integrated radios are usually available; USB Wi-Fi or Bluetooth dongles may be used instead. Boards with PowerVR do not support accelerated graphics with free software.

This page is organised 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 may require non-free software. For most uses, it is easy to workaround the proprietary components.

  • Rockchip devices, particularly based on the RK3288 or RK3399 chips, are usable with free software. Accelerated video encoding/decoding is supported with free software, with upstream support on-going via the "hantro" driver. These Rockchip devices have Mali GPUs supported via the free Lima and Panfrost drivers. Display out over type-C requires a proprietary firmware on RK3399, but HDMI may be used instead. Wake-on-word functionality with the RK3399 DSP may require a proprietary firmware.
  • 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 Vivante GPU is supported via the free Etnaviv driver. The only major component which is not usable with a free software stack is the VPU for accelerated video decoding, which requires non-free firmware uploaded to it at run-time. This task can be done in free software on the CPU instead.
  • 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, well-supported via the free Lima driver. Likewise, the Mali T720 in the Allwinner H64 is supported via the free Panfrost driver.

Single-board computers with serious flaws

The 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 graphics.

  • 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 non-free 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 non-free software in the form of firmware for various devices, like USB Wi-Fi dongles. You can avoid this by installing a free distro without non-free packages and repositories, and that comes with a Linux-libre kernel. Currently, Parabola GNU/Linux-libre is a good choice.

    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) depend 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 non-free 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 non-free 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 non-free 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 optimised 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.

  • 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 non-free software.



Thanks to Paul Kocialkowski and Alyssa Rosenzweig for collecting the information for this page.