March 08, 2009 posted by Valeriy E. Ushakov
Some time ago I finally found a small box of round tuits and ported
Qt/Embedded to run on top of wscons. Unfortunately, day job and other
things have been sucking most of my time, so after sitting on these
patches for almost a month I figured that may be someone out there may
be interested enough to pick this up.
It's a very quick and very dirty hack done over a weekend, and misses
some bits, but basic stuff works, so if someone feels like playing
with it, you can grab qt-embedded-linux-opensource-src-4.4.3 from
and my patches from
untar it at the root of qt directory to get new files and apply
netbsd.patch. There's wsconfig.sh script to simplify running
configure with its gazillion of options.
For the docs on how to build and run it see
You will need to install it so that it can find fonts and stuff, but
with LD_LIBRARY_PATH=$PWD/lib:/usr/pkg/lib you can run directly out of
the build dir (hint: if you gonna hack on wscons code run gmake in
src/gui only, to save time - it's a pig to link, especially with debugging):
./demos/textedit/textedit -qws # basic test
./bin/designer -qws # spiffy gui show off
Wscons code is currently hardcoded to use ttyE1 and wsmouse/wskbd
devices need to be readable by the user you run qws programs under.
Keyboard code is not complete and indexed color mode is not written
yet (I used vesafb 1024x768 at 16 bit).
Touchpanel calibration support needs to be added to the mouse driver.
I did the port and all the testing on NetBSD/i386 4.0. Adding
cross-compilation support should be fairly easy (compiling it on
something like jornada would take *ages*, i guess :). To get a
"generic" cross compilation environment that targets some particular
NetBSD platform you only need to add a few symlinks to results of
build.sh. There are some old notes here:
#ifdef __NetBSD__ // XXX in
(and i386 specific at that) for a bug in 4.0 libpthread - from source
inspection it looks like it shouldn't be necessary for current/5.0
Sorry I didn't have time to clean up the patches...