What We Want to Get Done

Write more test programs to ensure that the libc and BSD APIs are covered well.

Core Audio implementation. The most critical areas are the AudioToolbox and AudioUnit frameworks. The initial aim is to just have the sound working. It is not necessary to have a full implementation with all the magic it can do on OS X. mpg123 for OS X can be used for testing.

Input device support in IOKit for “direct input” support in games.

CoreVideo and OpenGL framework implementation to get OpenGL apps working.

Extend the current CoreServices implementation. For example to cover more File Manager functionality etc.

Since the most painful area is still the Cocoa implementation (now provided by gnustep-gui), hackers are welcome to explore the following possibility:

Implement AppKit from scratch on top of an existing Linux GUI framework (prefferably Qt 4/5) with OS X ABI compatibility as the foremost aim. Reuse other frameworks from GNUstep (especially gnustep-base).

Integrate Qt into NSRunLoop via QAbstractEventDispatcher. QtMotifExtension serves as an example of how this can be achieved.

Implement NSApplication.

Analyze Core Animation to see how to fit it into Qt. MUST be done before the following.