|Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions|
This installation procedure is written for Linux. It may need to be modified for other platforms.
cd <anywhere> gunzip qt-embedded-commercial-VERSION.tar.gz # uncompress the archive tar xf qt-embedded-commercial-VERSION.tar # unpack itReplace VERSION with the Qt/Embedded version number throughout.
This document assumes that the archive is installed as ~/qt-embedded-commercial-VERSION.
cd ~/qt-embedded-commercial-VERSION export QTDIR=~/qt-embedded-commercial-VERSION ./configure make
The configuration system is designed to allow platform-specific options to be added, but in general all Linux systems which have framebuffer support can use the "linux-generic-g++" platform. The configuration system also supports cross-compilers: to build on Linux/x86 for the Linux/MIPSEL target, you would use:
./configure -embedded mips
Only a small number of configurations are predefined. You can create your own custom configuration by adding new files to the mkspecs/qws/ directory. Use existing similar configurations as a starting point.
Note: Due to a bug in the configure script, cross-compiling on a little-endian machine (e.g. x86) for a big-endian processor (e.g. PowerPC) will use the host's endianness instead of the target's. Workaround: after running configure, and before running make, edit $QTDIR/include/qconfig.h and change the definition of Q_BYTE_ORDER.
You may need to recompile your kernel to enable the framebuffer. This document does not describe how to do this; the Framebuffer HOWTO page contains a short description. (You should see a penguin logo at boot time when the frame buffer is enabled.)
For Matrox G100/G200/G400 use the matrox frame buffer driver.
For NVidia TNT cards use the nvidia frame buffer driver.
For Mach64 and most other cards, use the vesafb driver.
Note that some cards are only supported in VGA16 mode, this will not work with the current version of Qt/Embedded, since VGA/16 is not yet supported. You may need to upgrade your kernel, or even switch to an experimental kernel.
The frame buffer must also be enabled with a boot parameter. See /usr/src/linux/Documentation/fb for details.
The fbset program, which should be included in Linux distributions, may be used to switch video modes without rebooting the system. The video mode active when the server is started will be used. (8-bit modes are still experimental.) Note: fbset does not work with the vesafb driver.
To run Qt/Embedded, you need write access to the framebuffer device /dev/fb0.
You also need read access to the mouse device. (Note that /dev/mouse is normally a symbolic link; the actual mouse device must be readable.)
Log into a virtual console and do this:
cd ~/qt-embedded-commercial-VERSION/examples/launcher ./start-demo
To kill gpm, run the following command as root:
In some cases, if the server does not work, it will work when run as root.
Show processes using the framebuffer:
fuser -v /dev/fb0
Kill such processes:
fuser -vk /dev/fb0or harsher:
fuser -k -KILL /dev/fb0
Show existing semaphores:
The communication between client and server is done through the named pipe /tmp/qtembedded-username/QtEmbedded-0; sometimes it may need to be deleted (e.g. if you run Qt/Embedded with root privileges then later as an unprivileged user).
The Qt/Embedded library can be reduced in size by removing unnecessary features.