Free drivers, firmware, and hardware designs
Therefore, drivers, firmware, and hardware that can be fully used with free software are crucial to the operation of free systems.
In 2015, Richard Stallman discussed the need for free hardware designs. What we want most is for manufacturers to publish designs for hardware under free licenses. But the minimum is to publish key technical specifications sufficient to write free drivers for their hardware. If they won't cooperate at all, then we'll have to reverse engineer the needed support.
Ways to help
Support companies selling hardware that supports free software, who have earned the FSF's Respects Your Freedom certification and apply for certification if you sell hardware that you feel meets the criteria.
If you are a developer with driver hacking experience, here are a few specific needs that may be good starting points for work within this broad category:
- Video processing units (VPUs) are often the last hurdle to a fully free system on a chip (SoC). By replacing these nonfree dependencies, we can make low-power devices that respect users' freedoms. The Coda9 VPU requires proprietary firmware, which is preventing the Freescale iMX6 from coming entirely with free software. For more information about this visit Rhombus Tech's page about the processor.
- Cedrus is an effort to bring hardware accelerated video de-/encoding on Allwinner SoC on a mainline kernel.
- The VideoCore IV GPU is used in the Raspberry Pi. While graphics processing and video decoding could be done by the CPU, the same software that runs the GPU is also required for the Raspberry Pi to startup. This computer is currently unable to even boot without nonfree software.
- The Freedreno project aims to implement a free software driver for Qualcomm's Adreno graphics hardware. You can contribute.
- The GCxxxx line of chipsets provide 3D rendering for mobile devices such as laptops. This includes the GC2000 used in the One Laptop Per Child computer (OLPC). Get involved with Project Etnaviv here.
- You can help the Radeon project develop a replacement for the nonfree firmware in ATI graphics cards.
- You can support Nouveau, a project creating free replacements for proprietary drivers for nVidia cards.
- PowerVR is a popular 3D graphics engine found in phones, netbooks, and laptops, for which we currently have no free software driver capable of doing 3D graphics acceleration. In 2015, Imagination Technologies, who make PowerVR graphics processors, hinted that it was working on a free software driver, but the status of that project is unknown.
- limadriver is a free software driver for ARM Mali GPUs. This project needs developers.
This is just one item on the Free Software Foundation's High Priority Projects list. There is also a Reverse Engineering Task List - anyone can add a useful reverse engineering task here, regardless of priority level.