| Classes - Annotated - Tree - Functions - Home - Structure

# Installing Qt/Embedded

This installation procedure is written for Linux. It may need to be modified for other platforms.

### Unpack the archive if you have not done so already:

            cd <anywhere>
            gunzip qt-embedded-version-commercial.tar.gz    # uncompress the archive
            tar xf qt-embedded-version-commercial.tar       # unpack it

This document assumes that the archive is installed as `~/qt-version`.

### Compile the Qt/Embedded library and examples

            cd ~/qt-version
            export QTDIR=~/qt-version
            ./configure
            make

The configuration system is designed to allow platform-specific options to be added, but in general all Linux system 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 -platform linux-x86-g++ -xplatform linux-mips-g++

Only a small number of configurations are predefined, all much the same. Configuration files are found in `configs/`.

### Enable framebuffer support

You may need to recompile your kernel to enable the framebuffer. This document does not describe how to do this; the HOWTO-Framebuffer 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.

For cards that are not VESA 2.0 compliant, use the VGA16 driver.

The frame buffer may also need a boot parameter to be enabled. See `/usr/src/linux/Documentation/fb` for details.

The `fbset` program, which is included in most 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. Note: `fbset` does not work with the vesafb driver.

### Change permissions

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.)

### How to run the demonstration program

Log into a virtual console and do:

            cd ~/qt-version/examples/launcher
            ./start-demo

### Miscellaneous troubleshooting and known bugs

To kill gpm, run the following command as root:

            gpm -k

In some cases, if the server does not work, it will work when run as root.

Some example programs may not compile with GCC 2.95.

Show processes using the framebuffer:

        fuser -v /dev/fb0

Kill such processes:

        fuser -vk /dev/fb0

or harsher:

        fuser -k -KILL /dev/fb0

Show existing semaphores:

        ipcs

Remove semaphores:

        ipcrm

The communication between client and server is done through the named pipe `/tmp/.QtEmbedded`; sometimes it may need to be deleted (eg. if you run Qt/Embedded as root then later as an unprivileged user).

### Customization

The Qt/Embedded library can be reduced in size by removing unneeded features.