Skip to content, sitemap or skip to search.

Free Software Foundation

Personal tools
Join now
 
You are here: Home Campaigns High Priority Projects High Priority Reverse Engineering Projects

High Priority Reverse Engineering Projects

by Free Software Foundation Contributions Published on Apr 20, 2011 04:10 PM
These are projects which are a high priority for the free software community and which will require reverse engineering work.

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 campaigns@fsf.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.
Nouveau
Support Nouveau, a project creating free replacements for proprietary drivers for nVidia cards
PowerVR
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.

Core Chipsets

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.

Wifi

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
Where to begin:
http://dev.laptop.org/ticket/46
http://dev.laptop.org/ticket/429
http://dev.laptop.org/ticket/2177
http://wiki.laptop.org/go/Libertas
http://wiki.laptop.org/go/88W8388 (note: GTA04 uses the 8686)
http://wiki.laptop.org/go/Marvell_microkernel
http://soft.laogu.com/down/ThreadXUserGuide.pdf

Interfaces

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

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.

Balances

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.

Document Actions

The FSF is a charity with a worldwide mission to advance software freedom — learn about our history and work.

fsf.org is powered by:

 

Send your feedback on our translations and new translations of pages to campaigns@fsf.org.