Hi all!

I executed porting of Disko (http://www.diskohq.com/
 
) to use in L4Re. Archive with dependencies and patches http://dl.dropbox.com/u/8558928/disko.tar.bz2
 

1. Differences of Disko original source code
I changed *.cpp files name extension to *.cc. I didn’t build a library from *.cpp files.
I added files enabling working with framebuffer (mmsgui/fb/mmsfbl4re.cc) and L4Re input
subsystem (mmsinput/mmsinputl4rehandler.cc).
Virtual file system(VFS) added (mmstool/vfswrapper.cc) for implementation of access at application resources (image, xml form files). Libwhefs library was used for it (http://code.google.com/p/whefs/).

2. Known issues
The input system link handler has has only the functions I needed. The touchscreen calibration function was added to mmsinputl4rehandler.cc, but it’s not the best solution. The best solution would be a separate server for the input subsystem that routes handled events to other applications. To simplify the touchscreen handler coding I added a patch to input. See input.patch.

L4Re video API function bits_per_pixel returned incorrect pixel size because it was calculated as a sum of R, G, B and A fields sizes. I have used RGB32 format with A field length equal to 0 bits. That’s why the returned total length was 24 bits instead of 32 bits. See video.patch

The realloc sometimes malfunctions. But I couldn’t recreate conditions to make this malfunctions repeat.

Shared library libdisko.so not building.

3. Comments
For application compilation the following utilities are required: taff (from disko tools), whefs-mkfs and whefs-cp (from libwhefs). It was used for creating VFS-image (see examples). You must to build this utilities manually and add they to PATH. For example, to build disko/examples/tutorial/01 vfs-image you need to execute cd disko/examples and run ./convert.sh tutorial/01 
I use Gumstix Overo platform with lcd 4.3" and ads7846 touchscreen, drivers added to archive. modules.list and configs added to disko/examples
For correct work on ARM you must apply patch from Adam for pthread (http://os.inf.tu-dresden.de/pipermail/l4-hackers/2011/004992.html
 
).

Some screenshots:
http://dl.dropbox.com/u/8558928/disko-04-arm.jpg
http://dl.dropbox.com/u/8558928/disko-04-qemu.jpg
http://dl.dropbox.com/u/8558928/disko-05-qemu.jpg