1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Qt Toolkit - Installing Qt/Embedded</title><style type="text/css"><!--
h3.fn,span.fn { margin-left: 1cm; text-indent: -1cm; }
a:link { color: #004faf; text-decoration: none }
a:visited { color: #672967; text-decoration: none }body { background: white; color: black; }
--></style></head><body bgcolor="#ffffff">
<p>
<table width="100%">
<tr><td><a href="index.html">
<img width="100" height="100" src="qtlogo.png"
alt="Home" border="0"><img width="100"
height="100" src="face.png" alt="Home" border="0">
</a><td valign=top><div align=right><img src="dochead.png" width="472" height="27"><br>
<a href="classes.html"><b>Classes</b></a>
-<a href="annotated.html">Annotated</a>
- <a href="hierarchy.html">Tree</a>
-<a href="functions.html">Functions</a>
-<a href="index.html">Home</a>
-<a href="topicals.html"><b>Structure</b></a>
</div>
</table>
<h1 align=center> Installing Qt/Embedded</h1><br clear="all">
<p>
This installation procedure is written for Linux. It may need
to be modified for other platforms.
<p>
<a href=qnx-framebuffer.html>QtE/Qnx6 installation instructions</a><br>
<p>
<h3> Unpack the archive if you have not done so already:</h3>
<pre>
cd <anywhere>
gunzip qt-embedded-<i>version</i>-commercial.tar.gz # uncompress the archive
tar xf qt-embedded-<i>version</i>-commercial.tar # unpack it
</pre>
<p>
This document assumes that the archive is installed as <tt>~/qt-<i>version</i></tt>.
</p>
<p>
<h3> Compile the Qt/Embedded library and examples</h3>
<p>
<pre>
cd ~/qt-<i>version</i>
export QTDIR=~/qt-<i>version</i>
./configure
make
</pre>
<p>
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 <i>on</i> Linux/x86 <i>for</i> the Linux/MIPSEL target, you would use:
<pre>
./configure -platform linux-x86-g++ -xplatform linux-mips-g++
</pre>
<p>
Only a small number of configurations are predefined, all much the same.
Configuration files are found in <tt>configs/</tt>.
<p>
<h3> Enable Linux framebuffer support</h3>
<p>
For application development, we recommend that you use
the
<a href="qvfb-qws.html">Qt/Embedded virtual framebuffer</a>.
But to actually put Qt/Embedded
on a device running Linux, you need to ensure that the Linux
kernel has framebuffer support.
<p>
You may need to recompile your kernel to enable the framebuffer.
<p>
Handheld devices running Linux, such as the SL-5000D and the iPAQ,
and most other embedded Linux systems that have a graphical display
will already have a framebuffer.
<p>
This document does not describe how to do this; the
<a href=HOWTO-framebuffer.html>HOWTO-Framebuffer page</a>
contains a short description. (You should see
a penguin logo at boot time when the frame buffer is enabled.)
<p>
For Matrox G100/G200/G400 use the matrox frame buffer driver.
<p>
For NVidia TNT cards use the nvidia frame buffer driver.
<p>
For Mach64 and most other cards, use the vesafb driver.
<p>
For VGA-compatible cards that are not VESA 2.0 compliant,
use the VGA16 driver.
<p>
The frame buffer may also need a boot parameter to be enabled. See
<tt>/usr/src/linux/Documentation/fb</tt> for details.
<p>
The <tt>fbset</tt> program, which is included in most Linux/x86
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: <tt>fbset</tt> does not work with the vesafb driver.
</p>
<p>
<h3> Change permissions</h3>
<p>
To run Qt/Embedded, you need write access to the framebuffer device
<tt>/dev/fb0</tt>.
<p>
You also need read access to the mouse device. (Note that
<tt>/dev/mouse</tt> is normally a symbolic link; the actual mouse device
must be readable.)
</p>
<p>
<h3> How to run the demonstration program</h3>
<p>
Log into a virtual console, or run
<a href="qvfb-qws.html">Qt/Embedded virtual framebuffer</a>.
and then run the commands:
<p>
<pre>
cd ~/qt-<i>version</i>/examples/launcher
./start-demo
</pre>
<p>
<h3> Miscellaneous troubleshooting and known bugs</h3>
<p>
To kill gpm, run the following command as root:
<p>
<pre>
gpm -k
</pre>
<p>
In some cases, if the server does not work, it will work when run as root.
If this happens, there are permissions problems with your filesystem
(eg. /dev/fb0 is not writeable by you).
<p>
Show processes using the framebuffer:
<p>
<pre>
fuser -v /dev/fb0
</pre>
<p>
Kill such processes:
<pre>
fuser -vk /dev/fb0
</pre>
or harsher:
<pre>
fuser -k -KILL /dev/fb0
</pre>
<p>
Show existing semaphores:
<p>
<pre>
ipcs
</pre>
<p>
Remove semaphores:
<p>
<pre>
ipcrm
</pre>
<p>
The communication between client and server is done through the
named pipe <tt>/tmp/.QtEmbedded</tt>; sometimes it may need to be deleted
(eg. if you run Qt/Embedded as root then later as an unprivileged user).
</p>
<p>
<h3> Customization </h3>
<p>
The Qt/Embedded library can be reduced in size by
<a href=features.html>removing unneeded features</a>.
<p><address><hr><div align="center">
<table width="100%" cellspacing="0" border="0"><tr>
<td>Copyright 2001 Trolltech<td><a href="http://www.trolltech.com/trademarks.html">Trademarks</a>
<td align="right"><div align="right">Qt version 2.3.2</div>
</table></div></address></body></html>
|