The Simple Direct Media Layer (libSDL) is an extremely popular library, which provides an abstraction for graphics, input, and sound hardware. Its use is particularly popular for games and emulators such as Qemu and Hatari. Also the Linux version of Genode relies on libSDL for user interaction.

Genode already provides abstractions for graphics output and user input and, thereby, would enable a native port of libSDL. The effort to port libSDL for Genode would facilitate the use of a large pool of libSDL-based software on Genode.

Approach

The first step is the integration of libSDL into the Genode build system. This involves determining the set of generic source-code files to use and finding the proper compiler options. Once migrated libSDL to the Genode build system, the next step is getting an example application to link and run it on the Linux version of Genode. On Linux, the have the glibc available, which resolves all references related to libC. The remaining unresolved references must be resolved by hand. After succeeding with running a libSDL program on the Linux version of Genode, we have to cut all ties to glibc to make the program also run natively on L4.

Current work in progress

Kalle announced on the genode-main mailing list the start of his port of libSDL to Genode. His public Subversion repository can accessed via

svn co http://kalle.griselda-hackbarth.net/svn/genode/sdl