High Priority Reverse Engineering Projects
If you are interested in working in one of these areas, or have suggestions for projects that should or shouldn't be on this list, please email us at firstname.lastname@example.org.
Also see our other High Priority Projects.
This list is in priority order.
Video Processing Units
VPUs, also known as Video Decoding Units, are often the last hurdle to fully-free SoC. By replacing these nonfree dependencies, we can make low-power devices that respect users' freedoms.
- Coda9 VPU (in Freescale iMX6 processor)
- The VPU requires proprietary firmware, which is preventing the Freescale iMX6 from being FSF-endorseable. For more information about this visit Rhombus Tech's page about the processor and the VPU's page on ChipsnMedia's website.
- CedarX Audio and Video Hardware Accelerator
- The CedarX Video and Audio processing unit, found in Allwinner SoCs (A10, A13 and A20) require nonfree software, which consists of low-level firmware plus codecs. We need to replace the low-level firmware through reverse engineering. The codecs are for published standard formats, so free codecs can be developed without reverse engineering (or by adapting existing free implementations of those formats).
Graphics card reverse engineering
Many graphics processors in laptops, netbooks and desktop machines have a dependency on nonfree firmware or drivers. These dependencies can be replaced with free software.
- Mali GPUs
- The Mali line of GPUs provide 3D rendering for ARM devices. Help improve the free driver for the Mali graphics processor so that users can run software with hardware 3D rendering. See limadriver.org for more information.
- VideoCore IV GPU
- This is the GPU 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.
- Vivante GCxxxx GPU line
- The GCxxxx line of chipsets provide 3D rendering for mobile devices such as laptops. This includes the GC1000 used in the One Laptop Per Child computer (OLPC). Get involved with this project here.
- ATI firmware
- Help the Radeon project develop a replacement for the nonfree firmware in ATI graphics cards.
- 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. If you are interested in working on this project, please introduce yourself and help with building the wiki page detailing the work that needs to be done, including making free firmware for the PowerVR graphics processor.
- xHCI USB firmware
- AMD's newest chipsets are supported by the Agesa code in Coreboot. The bulk of Agesa is free software. Some of the chipsets supported by Agesa contain an eXtensible Host Controller Interface (xHCI) for USB support, for which Agesa contains a firmware blob. This blob needs to be reverse-engineered.
The task is to pick up the work done by the OLPC project
and continue to experiment and find
out how the Marvell chip works.
The expected results of the project are:
- a replacement blob for the file sd8686.bin of the libertas-firmware package.
- free software
- adherence to good reverse engineering practices
http://wiki.laptop.org/go/88W8388 (note: GTA04 uses the 8686)
- Linux-GPIB Linux-GPIB allows the use of GPIB interfaces (an alternative to NI-488.2 or NI-VISA). This allows instrument control. The project needs volunteers to help.
- Comedi Comedi allows the use of data acquisition cards (it is an alternative to NI-DAQmx). The project needs volunteers to help.
Replicant is a fully free Android distribution and the first mobile operating system (OS) to run without relying on proprietary system code. Please donate to help Replicant grow and add support for more phones and tablets.
The Long Pen
This is a remote-controlled pen that can do handwriting under the remote control by a person located elsewhere. This needs to be reverse engineered so that it can work with free software.
We've been told that free software support for Legal for Trade (LFT) balances is insufficient, and that reverse engineering work is needed to get functioning drivers. The A&D Orion HR-60 and the Mettler-Toledo Excellence Plus XP XP204S would be good targets to begin with.