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.

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.

Lima Driver
Help improve the free driver for the Mali graphics processor. See limadriver.org for more information.
VideoCore IV GPU
This is the GPU used in the Raspberry PI.
Vivante GCxxxx GPU line
This includes the GC1000 used in the One Laptop Per Child computer (OLPC). Get involved with this project here.
ATI firmware
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.
Allwinner CedarX Audio and Video Hardware Accelerator
The popular ARM Processors (A10, A13 and F20) by a Chinese fabless
semiconductor company (Allwinner Tech) have on-board hardware acceleration for audio and video CODECs that is proprietary. There is also a matching proprietary software library, which is in need of reverse-engineering of the low-level portions which interface directly to the on-board CedarX hardware. The higher level portions of the proprietary library that implement actual video CODEC algorithms (especially those that implement non-free CODECs) should be left alone and respected. Clean-room Free Software implementations of Audio and Video CODECs should be implemented.

Processors

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.

Core Chipsets

Sandy Bridge/Ivy Bridge northbridge firmware
Intel's newest chipsets require proprietary northbridge firmware to function. It is also called the 'System Agent' firmware. Free code for the rest of their functionality is available as part of Coreboot. The blob needs to be reverse-engineered.
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

Broadcom 4329 WiFi/Bluetooth

Novell Chip from One Laptop Per Child (OLPC)
The task is to pick up the work done by the OLPC project
(http://dev.laptop.org/ticket/46) 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] (http://packages.debian.org/squeeze/libertas-firmware) package.
--free and open source
--adherence to good reverse engineering practices
--strict respect for copyrights

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

Help Replicant support more devices than the HTC Dream, Nexus One, and Nexus S.

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.