Disko UI Framework porting

Ivan Loskutov loskutov.ivan at gmail.com
Thu Nov 3 10:55:31 CET 2011


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://os.inf.tu-dresden.de/pipermail/l4-hackers/attachments/20111103/9ee29124/attachment.html>


More information about the l4-hackers mailing list