dev builds
themes manual
device status forums
mailing lists
IRC bugs
dev guide

Search | Go
Wiki > Main > SummerOfCode2007 (r1)

Google Summer of Code


Rockbox is officially accepted as a mentor organization for GSoC 2007:

Accepted projects for GSoC 2007

Project name Student Mentor
WMA Decoder? Michael Giacomelli Thom Johansen
Metadata-on-buffer and album art implementation Nicolas Pennequin Paul Louden
Real-time text-to-speech Ozgur Ozturk Marcoen Hirschberg
USB Stack Christian Gmeiner Peter D'Hoye

Students/mentors are encouraged to make a Wiki page describing the status and progress of their project.

Possible 2008 projects

Add your suggested projects here to be possible for applicating students. These are only ideas and suggestions, students are free to make up and describe their own project when they apply.

Note: This is not a general wish list for Rockbox features. Don't add a project here without discussing it with the Rockbox developers first.

General Projects

ARM Emulator

  • Since virtually all new DAPs coming to market contain an ARM core, a well working ARM emulator would be extremely useful to future ports. An emulator could be used to help reverse hash/encryption algorithms used in many retail firmwares (such as Apple, Creative players), to help determine addresses of memory mapped hardware, and to optimize codecs by allowing more detailed analysis of memory/IRAM/etc.

  • A simple but only semi-functional Windows emulator exists for the Sansa E200 series which emulates much of the PortalPlayer hardware. It currently can boot some builds of rockbox, but is not stable enough to be very useful. This project should resume work on the emulator, first getting it to run rockbox or a retail (Sandisk, Apple, etc) firmware without instability. Additional goals could include emulating the pipeline latencies of various ARM cores, emulating cache to allow memory profiling, porting to linux, and introducing a general framework that would allow for easy adaptation to the differing memory maps of various ARM cores.

Rockbox as an Application

  • Portable devices which allow third party applications to run within the retail OS are becoming increasingly popular. Convert rockbox to an application that runs on a Windows, Linux or Apple based cellphone, PDA, iPhone, or similar device that allows third party applications.

Target specific

Port to a new target

  • possibly TMS320-based
  • Comment by DanielStenberg: I suggested a TMS320-based target mainly because ArchOpen already exists and have code working on TMS320, so it could be a slightly easier to port to such a platform than many others.


Various optimizations

  • Comment by bascule: This is not specific enough. Noting a collection of related Bugs/Feature Requests would be better.

Rockbox codebase

Playback engine re-write or major bugfix

  • would be biggest step towards a first SWCODEC release
  • could also help unifying the HW-/SWCODEC playback engines


  • amiconn (easier to meet in IRC) has a clear imagination about how it should work. Documentation started here: ViewPorts


Better video support

  • Rockbox currently has a work-in-progress MPEG (MPEG-1 and MPEG-2) video player. Work to extend Rockbox's video playing capabilities could include: finishing the implementation of MPEG-1/MPEG-2 playback (see PluginMpegplayer for a to-do list); exploring the possiblity of other codecs (e.g. MPEG-4); optimisation of the video codec(s); incorporating video playback into the core playback engine.


  • Features wanted: Basic formatting, links, tables and images (for viewing Wikipedia articles or converting HTML, PDF files for Rockbox)

Software fax/modem

Port ScummVM to Rockbox.

  • Will probably not be feasible on old Archos targets but should work fine on newer targets with larger screens, but might be the most fun on a color display
  • Comment by MartinArver: scummVM is written in c++. Read this scummVM developer discussion for their thoughts on a rockbox port. See also


  • Code maintanence - Boring task but needed... The following needs doing...
    • organise settings_list.c
    • organise struct user_settings
    • organise plugin api struct, possibly take groups of functions out and replace them with a single struct for the group?
    • FIXME's through the code

Benchmarking tools

  • For optimization testing (codec decode timing vs realtime, text draw speed for LCD optimizations, etc).

LLVM Compiler Infrastructure

  • Make rockbox compile using LLVM to investigate if it's a viable alternative to GCC (doesn't have a m68k and sh1 backend yet)


Add yourself here if you are a very much involved Rockbox hacker who would consider to become a mentor for a Summer of Code student:

And when added here, apply "officially" using google's online application:


r1 - 26 Sep 2007 - 23:44:51 - PeterDHoye

Copyright by the contributing authors.