summaryrefslogtreecommitdiffstats
path: root/doc/html/emb-install.html
blob: d04a04a3b37cd2b3d8ed15af683b9c884e0d9bb4 (plain)
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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qws.doc:36 -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Installing Qt/Embedded</title>
<style type="text/css"><!--
fn { margin-left: 1cm; text-indent: -1cm; }
a:link { color: #004faf; text-decoration: none }
a:visited { color: #672967; text-decoration: none }
body { background: #ffffff; color: black; }
--></style>
</head>
<body>

<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr bgcolor="#E5E5E5">
<td valign=center>
 <a href="index.html">
<font color="#004faf">Home</font></a>
 | <a href="classes.html">
<font color="#004faf">All&nbsp;Classes</font></a>
 | <a href="mainclasses.html">
<font color="#004faf">Main&nbsp;Classes</font></a>
 | <a href="annotated.html">
<font color="#004faf">Annotated</font></a>
 | <a href="groups.html">
<font color="#004faf">Grouped&nbsp;Classes</font></a>
 | <a href="functions.html">
<font color="#004faf">Functions</font></a>
</td>
<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Installing Qt/Embedded</h1>



<p> This installation procedure is written for Linux. It may need
to be modified for other platforms.
<p> <ol type=1>
<li> Unpack the archive if you have not done so already
<p> <pre>
    cd &lt;anywhere&gt;
    gunzip qt-embedded-commercial-VERSION.tar.gz    # uncompress the archive
    tar xf qt-embedded-commercial-VERSION.tar       # unpack it
</pre>
 
Replace <tt>VERSION</tt> with the Qt/Embedded version number throughout.
<p> This document assumes that the archive is installed as <tt>~/qt-embedded-commercial-VERSION</tt>. 
<li> Compile the Qt/Embedded library and examples.
<p> <pre>
    cd ~/qt-embedded-commercial-VERSION
    export QTDIR=~/qt-embedded-commercial-VERSION
    ./configure
    make
</pre>
 
<p> 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:
<pre>
    ./configure -embedded mips
</pre>
 
<p> Only a small number of configurations are predefined.
You can create your own custom configuration by adding new files
to the <tt>mkspecs/qws/</tt> directory.  Use existing similar configurations
as a starting point.
<p> <b>Note</b>: 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 <tt>$QTDIR/include/qconfig.h</tt> and change the definition of
<tt>Q_BYTE_ORDER</tt>.
<p> <li> Enable framebuffer support.
<p> You may need to recompile your kernel to enable the framebuffer.
This document does not describe how to do this; the
<a href="emb-framebuffer-howto.html">Framebuffer HOWTO 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> 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.
<p> The frame buffer must also be enabled with a boot parameter. See
<tt>/usr/src/linux/Documentation/fb</tt> for details.
<p> The <tt>fbset</tt> 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.) <b>Note</b>: <tt>fbset</tt> does not work
with the vesafb driver.
<p> <li> Change permissions.
<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> <li> How to run the demonstration program.
<p> Log into a virtual console and do this:
<p> <pre>
    cd ~/qt-embedded-commercial-VERSION/examples/launcher
    ./start-demo
</pre>
 
<p> <li> Miscellaneous troubleshooting and known bugs.
<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.
<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:
<pre>
    ipcs            
</pre>
 
<p> Remove semaphores:
<pre>
    ipcrm
</pre>
 
<p> The communication between client and server is done through the
named pipe <tt>/tmp/qtembedded-username/QtEmbedded-0</tt>; sometimes it may need to be deleted
(e.g. if you run Qt/Embedded with root privileges then later as an unprivileged user).
<p> <li> Customization.
<p> The Qt/Embedded library can be reduced in size by
<a href="emb-features.html">removing unnecessary features</a>.
<p> <li> This document shows how to use Qt/Embedded with the Linux framebuffer. For
development and debugging purposes it is often easier to use the <a href="emb-tqvfb.html">Qt/Embedded virtual framebuffer</a> instead.
<p> </ol>
<p> 
<!-- eof -->
<p><address><hr><div align=center>
<table width=100% cellspacing=0 border=0><tr>
<td>Copyright &copy; 2007
<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
<td align=right><div align=right>Qt 3.3.8</div>
</table></div></address></body>
</html>