source: x/installing/xorg7.xml

trunk
Last change on this file was ab4fdfc, checked in by Pierre Labastie <pierre.labastie@…>, 3 months ago

Change all xml decl to encoding=utf-8

  • Property mode set to 100644
File size: 10.6 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6]>
7
8<sect1 id="xorg7" xreflabel="Xorg-&xorg-version;">
9 <?dbhtml filename="xorg7.html"?>
10
11
12 <title>Introduction to Xorg-&xorg-version;</title>
13
14 <indexterm zone="xorg7">
15 <primary sortas="a-xorg7">Xorg</primary>
16 </indexterm>
17
18
19 <para>
20 <application>Xorg</application> is a freely redistributable,
21 open-source implementation of the <application>X</application> Window
22 System. This system provides a client/server interface between display
23 hardware (the mouse, keyboard, and video displays) and the desktop
24 environment, while also providing both the windowing infrastructure and a
25 standardized application interface (API).
26 </para>
27
28 <bridgehead renderas="sect3">Xorg Download and Installation
29 Instructions</bridgehead>
30
31 <para>
32 Xorg-7.0 introduced a completely auto-tooled, modular build system.
33 With the new modular build system, it is no longer possible to download
34 the entire package in a single file. In fact, there will be well over 100
35 packages that need to be fetched from the download location. To assist
36 with such a large task, installing <xref linkend="wget"/> is strongly
37 recommended for downloading the needed files. A complete
38 <application>wget</application> file list is provided for each page
39 that includes multiple packages.
40 </para>
41
42 <para>
43 Given the number of packages available, deciding which packages you
44 need to install for your particular setup may seem a bit overwhelming at
45 first. Take a look at <ulink url=
46 "https://wiki.x.org/wiki/ModuleDescriptions">this page</ulink>
47 and <ulink url=
48 "https://lists.x.org/archives/xorg-modular/2005-November/000801.html">
49 this thread</ulink>
50 to get an idea of what you will need. If you are unsure, you should
51 install all packages at the cost of extra disk space.
52 </para>
53
54 <note>
55 <para>
56 Even if you intend to download only the necessary packages, you
57 should download the wget file lists. The list of files are ordered by
58 dependency, and the package versions listed in the files are known to
59 work well with each other. Further, the wget file lists contain comments
60 for specific packages that are deprecated or are not recommended to
61 install. Newer packages are likely intended for the
62 next release of <application>Xorg</application> and have already proved
63 to be incompatible with current versions of software installed in BLFS.
64 The installed size of <application>Xorg</application> can be reduced
65 considerably by installing only the packages that you will need and use,
66 however, the BLFS book cannot account for all dependencies and build
67 options for the individual <application>Xorg</application> packages.
68 The instructions assume that all packages have been built.
69 </para>
70 </note>
71
72 <para>
73 Additionally, because of the large number of repetitive commands,
74 you are encouraged to partially automate the build. Instructions have been
75 given that utilize the <xref linkend="sudo"/> package. It is recommended
76 that you use the <parameter>:NOPASSWD</parameter> configuration option
77 for the user that will be building the xorg packages.
78 </para>
79
80 <sect2 id="xorg-env" xreflabel="Xorg build environment">
81 <title>Setting up the Xorg Build Environment</title>
82
83 <note>
84 <para>
85 The following instructions assume that the shell
86 startup files have been set up as described in
87 <xref linkend="postlfs-config-profile" />.
88 </para>
89 </note>
90
91 <para>
92 As with previous releases of the X Window System, it may be
93 desirable to install <application>Xorg</application> into an alternate
94 prefix. This is no longer common practice among Linux distributions.
95 The common installation prefix for <application>Xorg</application> on
96 Linux is <filename class="directory">/usr</filename>. There is no
97 standard alternate prefix, nor is there any exception in the current
98 revision of the Filesystem Hierarchy Standard for Release 7 of the X
99 Window System. Alan Coopersmith of Sun Microsystems, once
100 stated "At Sun, we were using
101 <filename class="directory">/usr/X11</filename> and plan to stick with
102 it." Only the <filename class="directory">/opt/*</filename> prefix or
103 the <filename class="directory">/usr</filename> prefix adhere to the
104 current FHS guidelines.
105 </para>
106
107 <para>
108 The BLFS editors recommend using the <filename class="directory">/usr</filename>
109 prefix.
110 </para>
111
112 <para>
113 Choose your installation prefix, and set the <envar>XORG_PREFIX</envar>
114 variable with the following command:
115 </para>
116
117<screen><userinput>export XORG_PREFIX="<replaceable>&lt;PREFIX&gt;</replaceable>"</userinput></screen>
118
119 <para>
120 Throughout these instructions, you will use the following
121 <command>configure</command> switches for all of the packages. Create the
122 <envar>XORG_CONFIG</envar> variable to use for this parameter
123 substitution:
124 </para>
125
126<screen><userinput>export XORG_CONFIG="--prefix=$XORG_PREFIX --sysconfdir=/etc \
127 --localstatedir=/var --disable-static"</userinput></screen>
128
129 <para>
130 Create an <filename>/etc/profile.d/xorg.sh</filename> configuration
131 file containing these variables as the
132 <systemitem class="username">root</systemitem> user:
133 </para>
134
135<screen role="root"><userinput>cat &gt; /etc/profile.d/xorg.sh &lt;&lt; EOF
136<literal>XORG_PREFIX="$XORG_PREFIX"
137XORG_CONFIG="--prefix=\$XORG_PREFIX --sysconfdir=/etc --localstatedir=/var --disable-static"
138export XORG_PREFIX XORG_CONFIG</literal>
139EOF
140chmod 644 /etc/profile.d/xorg.sh</userinput></screen>
141
142 <note>
143 <para>
144 There is some confusion about the above 'here' document.
145 The backslash in front of the dollar sign is correct. Bash
146 will remove it when creating /etc/profile.d/xorg.sh. However, if
147 you are creating the file with an editor, a copy and paste operation
148 will not remove the backslash. It must then be removed manually.
149 </para>
150 </note>
151
152 <para>
153 If you've installed <xref linkend="sudo"/>, ensure that
154 <envar>XORG_PREFIX</envar> and <envar>XORG_CONFIG</envar> are available
155 in the <application>sudo</application> environment. As the
156 <systemitem class="username">root</systemitem> user, run the following
157 command:
158 </para>
159
160<screen role="root"><userinput>cat &gt; /etc/sudoers.d/xorg &lt;&lt; EOF
161<literal>Defaults env_keep += XORG_PREFIX
162Defaults env_keep += XORG_CONFIG</literal>
163EOF</userinput></screen>
164
165<bridgehead renderas="sect2">If you are not using the standard Xorg prefix...</bridgehead>
166
167 <warning>
168 <para>
169 If you've decided to use the standard <filename
170 class="directory">/usr</filename> prefix, you must omit the remainder of
171 this page and continue at <xref linkend='util-macros'/>.
172 </para>
173 </warning>
174
175 <para>
176 If you've decided to <emphasis>not</emphasis> use the standard
177 prefix, be sure to add <filename
178 class="directory">$XORG_PREFIX/bin</filename> to your <envar>PATH</envar>
179 environment variable, and <filename class="directory">
180 $XORG_PREFIX/lib/pkgconfig</filename> and <filename class="directory">
181 $XORG_PREFIX/share/pkgconfig</filename> to your
182 <envar>PKG_CONFIG_PATH</envar> variable. It is also helpful to specify
183 additional search paths for <command>gcc</command> and an include
184 directory for the <command>aclocal</command> program. Issue the
185 following commands as the <systemitem class="username">root</systemitem>
186 user:
187 </para>
188
189<screen role="nodump"><userinput>cat &gt;&gt; /etc/profile.d/xorg.sh &lt;&lt; "EOF"
190<literal>
191pathappend $XORG_PREFIX/bin PATH
192pathappend $XORG_PREFIX/lib/pkgconfig PKG_CONFIG_PATH
193pathappend $XORG_PREFIX/share/pkgconfig PKG_CONFIG_PATH
194
195pathappend $XORG_PREFIX/lib LIBRARY_PATH
196pathappend $XORG_PREFIX/include C_INCLUDE_PATH
197pathappend $XORG_PREFIX/include CPLUS_INCLUDE_PATH
198
199ACLOCAL="aclocal -I $XORG_PREFIX/share/aclocal"
200
201export PATH PKG_CONFIG_PATH ACLOCAL LIBRARY_PATH C_INCLUDE_PATH CPLUS_INCLUDE_PATH</literal>
202EOF</userinput></screen>
203
204 <para>
205 The script above needs to be activated. Normally it will be
206 automatic at login, but to activate it now, as a regular user, run:
207 </para>
208
209<screen role="nodump"><userinput>source /etc/profile.d/xorg.sh</userinput></screen>
210
211 <para>
212 You should also add
213 <filename class="directory"> $XORG_PREFIX/lib</filename> to the
214 <filename>/etc/ld.so.conf</filename> file. Again, as the
215 <systemitem class="username">root</systemitem> user, issue the following
216 command:
217 </para>
218
219<screen role="nodump"><userinput>echo "$XORG_PREFIX/lib" >> /etc/ld.so.conf</userinput></screen>
220
221 <para>
222 You should also modify
223 <filename>/etc/man_db.conf</filename>, adding appropriate
224 MANDATORY_MANPATH, MANPATH_MAP, and MANDB_MAP entries following the
225 examples for <filename class="directory">/usr/X11R6</filename>. Issue the
226 following command as the <systemitem class="username">root</systemitem>
227 user:
228 </para>
229
230<screen role="nodump"><userinput>sed -e "s@<replaceable>X11R6/man</replaceable>@X11R6/share/man@g" \
231 -e "s@<replaceable>/usr/X11R6</replaceable>@$XORG_PREFIX@g" \
232 -i /etc/man_db.conf</userinput></screen>
233
234 <para>
235 Some applications look for shared files in <filename
236 class="directory">/usr/share/X11</filename>. Create a symbolic link to
237 the proper location as the <systemitem class="username">root</systemitem>
238 user:
239 </para>
240
241<screen role="nodump"><userinput>ln -svf $XORG_PREFIX/share/X11 /usr/share/X11</userinput></screen>
242
243 <para>
244 If building KDE, some cmake files look for Xorg in places other than
245 $XORG_PREFIX. Allow cmake to find Xorg with:
246 </para>
247
248<screen role="nodump"><userinput>ln -svf $XORG_PREFIX /usr/X11R6</userinput></screen>
249<!--
250 <para>
251 Finally, if building on x86_64, you will need to create the
252 <filename class="directory">$XORG_PREFIX/lib</filename> directory and the
253 <filename>$XORG_PREFIX/lib64</filename> symlink. Again, as the
254 <systemitem class="username">root</systemitem> user, issue the following
255 commands:
256 </para>
257
258<screen role="root"><userinput>install -v -m755 -d $XORG_PREFIX &amp;&amp;
259install -v -m755 -d $XORG_PREFIX/lib &amp;&amp;
260ln -sf lib $XORG_PREFIX/lib64</userinput></screen>
261-->
262 </sect2>
263
264</sect1>
Note: See TracBrowser for help on using the repository browser.