source: x/installing/xorg7.xml@ e004bec

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since e004bec was e004bec, checked in by DJ Lucas <dj@…>, 16 years ago

Merge 6.3 branch changes from r7489.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@7490 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 8.6 KB
RevLine 
[4ff4e9a]1<?xml version="1.0" encoding="ISO-8859-1"?>
[6732c094]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[4ff4e9a]4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6]>
7
[e77976f]8<sect1 id="xorg7" xreflabel="Xorg-&xorg7-version;">
[4ff4e9a]9 <?dbhtml filename="xorg7.html"?>
10
11 <sect1info>
12 <othername>$LastChangedBy$</othername>
13 <date>$Date$</date>
14 </sect1info>
15
[3f72a148]16 <title>Introduction to Xorg-&xorg7-version;</title>
[4ff4e9a]17
18 <indexterm zone="xorg7">
19 <primary sortas="a-xorg7">Xorg</primary>
20 </indexterm>
21
[38362ef]22
[3f72a148]23 <para><application>Xorg</application> is a freely redistributable,
24 open-source implementation of the <application>X</application> Window
25 System. This system provides a client/server interface between display
26 hardware (the mouse, keyboard, and video displays) and the desktop
27 environment, while also providing both the windowing infrastructure and a
28 standardized application interface (API).</para>
29
30 <para condition="html" role="usernotes">User Notes:
[ea9f7caf]31 <ulink url='&blfs-wiki;/Xorg7'/></para>
[3f72a148]32
33 <bridgehead renderas="sect3">Xorg Download and Installation
34 Instructions</bridgehead>
35
[e257101]36 <para>Xorg-7.0.0 introduced a completely auto-tooled, modular build system.
[3f72a148]37 With the new modular build system, it is no longer possible to download
38 the entire package in a single file. In fact, there may be as many as
[7be99f2c]39 293 files that need to be fetched from the download location. To assist
[9f12e36]40 with such a large task, installing <xref linkend="wget"/> is strongly
[3f72a148]41 recommended for downloading the needed files. A complete
[9f12e36]42 <application>wget</application> file list is provided for each section
[3f72a148]43 that includes multiple packages.</para>
44
45 <para>Given the number of packages available, deciding which packages you
46 need to install for your particular setup may seem a bit overwhelming at
[9f12e36]47 first. Take a look at
[50631cf]48 <ulink url="http://wiki.x.org/wiki/ModuleDescriptions">this page</ulink>
49 and
[9f12e36]50 <ulink url="http://lists.x.org/archives/xorg-modular/2005-November/000801.html">this thread</ulink>
[50631cf]51 to get an idea of what you will need. If you are unsure, you should
52 install all packages at the cost of extra disk space. To see which packages
53 have changed between releases of Xorg, see the upstream
54 <ulink url="http://xorg.freedesktop.org/releases/X11R&xorg7-version;/src/update/">update</ulink>
55 and
56 <ulink url="http://xorg.freedesktop.org/releases/X11R&xorg7-version;/src/deprecated/">deprecated</ulink>
57 directories.</para>
[3f72a148]58
59 <note>
60 <para>Even if you intend to download only the necessary packages, you
[9f12e36]61 should download the wget file lists. The list of files are ordered by
62 dependency, and the package versions listed in the files are known to
[048bc8cc]63 work well with each other. Further, the wget file lists contain comments
64 for specific packages that are deprecated or are not recommended to
65 install. Newer packages are likely intended for the
[7be99f2c]66 next release of <application>Xorg</application> and have already proved
67 to be incompatible with current versions of software installed in BLFS.
[9f12e36]68 The installed size of <application>Xorg</application> can be reduced
[7be99f2c]69 considerably by installing only the packages that you will need and use,
[9f12e36]70 however, the BLFS book cannot account for all dependencies and build
71 options for the individual <application>Xorg</application> packages.
[7be99f2c]72 The instructions assume that all packages have been built. A
[50631cf]73 <ulink url="&blfs-wiki;/Xorg7">wiki</ulink>
[9f12e36]74 page containing dependency information is under development. You are
75 encouraged to add to these pages if you discover additional information
76 that may be helpful to other users who selectively install individual
[3f72a148]77 packages.</para>
78 </note>
79
[e004bec]80<!--
[3f72a148]81 <para>Additionally, because of the large number of repetitive commands,
82 you are encouraged to script the build. For most sections, you can use
[9f12e36]83 a script with commands similar to the following, to compile and install
[3f72a148]84 all packages in a wget file list:</para>
[e004bec]85-->
86
87 <para>Additionally, because of the large number of repetitive commands,
88 you are encouraged to partially automate the build. The commands below
89 (or similar) can be entered at the command line to compile each group of
90 packages (proto, utils, libs, apps, drivers). The wiki links on each
91 group's page contain specific commands to compile the entire group of
92 packages, based on the content of the wget files.</para>
[3f72a148]93
94<screen>bash -e #exit on all errors
[d9a6d69]95section=proto
96version=&xorg7-version;
97mkdir $section
98cd $section
99
100# download and check packages
[e6148eeb]101grep -v '^#' ../${section}-${version}.wget | wget -i- -c \
[d9a6d69]102 -B http://xorg.freedesktop.org/releases/individual/${section}/
103md5sum -c ../${section}-${version}.md5
104
105# build packages
106for package in $(grep -v '^#' ../${section}-${version}.wget)
[4ff4e9a]107do
[3f72a148]108 packagedir=$(echo $package | sed 's/.tar.bz2//')
109 tar -xf $package
110 cd $packagedir
111 ./configure $XORG_CONFIG
112 make
[4ff4e9a]113 make install
[3f72a148]114 cd ..
[4ff4e9a]115 rm -rf $packagedir
[3f72a148]116 rm -f $package
[d9a6d69]117done 2&gt;&amp;1 | tee -a ../xorg-${section}-compile.log #log the entire loop</screen>
[4ff4e9a]118
[3f72a148]119 <para>The above shell will exit immediately on error. If it runs to
[96ffdca]120 completion, you should manually exit the shell before continuing on to
[3f72a148]121 the next set of instructions.</para>
[4ff4e9a]122
123 <sect2>
124 <title>Setting up the Xorg Build Environment</title>
125
[3f72a148]126 <para>First, you'll need to create a working directory:</para>
[4ff4e9a]127
128<screen><userinput>mkdir xc &amp;&amp;
129cd xc</userinput></screen>
130
[190568b]131 <para>As with previous releases of the X Window System, it may be
132 desirable to install <application>Xorg</application> into an alternate
133 prefix. This is no longer common practice among Linux distributions.
[4ff4e9a]134 The common installation prefix for <application>Xorg</application> on
[190568b]135 Linux is <filename class="directory">/usr</filename>. There is no
136 standard alternate prefix, nor is there any exception in the current
137 revision of the Filesystem Hierarchy Standard for Release 7 of the X
138 Window System. Alan Coopersmith of Sun Microsystems, has recently
139 stated "At Sun, we were using
140 <filename class="directory">/usr/X11</filename> and plan to stick with
141 it." Only the <filename class="directory">/opt/*</filename> prefix or
142 the <filename class="directory">/usr</filename> prefix adhere to the
[8222555]143 current FHS guidelines.</para>
[190568b]144
145 <para>Choose your installation prefix, and set the
146 <envar>XORG_PREFIX</envar> variable with the following
[4ff4e9a]147 command:</para>
148
[3f72a148]149<screen><userinput>export XORG_PREFIX="<replaceable>&lt;PREFIX&gt;</replaceable>"</userinput></screen>
[4ff4e9a]150
[da1b068]151 <para>Throughout these instructions, you will use the following
[190568b]152 <command>configure</command> switches for all of the packages. Create the
[da1b068]153 <envar>XORG_CONFIG</envar> variable to use for this parameter
154 substitution:</para>
[4ff4e9a]155
[7be99f2c]156<screen><userinput>export XORG_CONFIG="--prefix=$XORG_PREFIX --sysconfdir=/etc \
[9e2ac549]157 --mandir=$XORG_PREFIX/share/man --localstatedir=/var"</userinput></screen>
[4ff4e9a]158
[f67fa9df]159 <note>
160 <para>Make sure that you also add these variables to your personal or
161 system-wide profile as they are used throughout this book. See
162 <xref linkend="postlfs-config-profile"/> for more information.</para>
163 </note>
164
[3f72a148]165 <para>If you've decided to use an alternate prefix, be sure to add
166 <filename class="directory">
[f67fa9df]167 $XORG_PREFIX/bin</filename> to your
[3f72a148]168 <envar>PATH</envar> environment variable and <filename class="directory">
[f67fa9df]169 $XORG_PREFIX/lib/pkgconfig</filename>
[96ffdca]170 to your <envar>PKG_CONFIG_PATH</envar> variable. For detailed instructions,
[3f72a148]171 see <xref linkend="postlfs-config-profile"/>. You should also add
172 <filename class="directory">
[f67fa9df]173 $XORG_PREFIX/lib</filename> to the
[9e2ac549]174 <filename>/etc/ld.so.conf</filename> file and <filename class="directory">
[f67fa9df]175 $XORG_PREFIX/share/man</filename> as
[9e2ac549]176 a MANDATORY_MANPATH in <filename>/etc/man_db.conf</filename>.</para>
[4ff4e9a]177
[c3b84a72]178 <para>Packages in Xorg store their configuration files in
179 <filename class="directory">$XORG_PREFIX/lib/X11</filename> by default.
180 This is strictly against FHS guidelines. To simplify installation,
181 create the proper installation directories in
182 <filename class="directory">/etc/X11</filename> and create symlinks
183 in <filename class="directory">$XORG_PREFIX/lib/X11</filename> to
184 satisfy the installation. Execute the following commands as the
185 <systemitem class="username">root</systemitem> user:</para>
186
187<screen role="root"><userinput>
188install -v -m755 -d \
189 /etc/X11/{app-defaults,fs,twm,xdm,xinit,xkb,xsm} &amp;&amp;
190
191install -v -m755 -d $XORG_PREFIX/lib/X11 &amp;&amp;
192
193for link in \
194 /etc/X11/{app-defaults,fs,twm,xdm,xinit,xkb,xsm}
195do
196 ln -sv $link $XORG_PREFIX/lib/X11
197done
198</userinput></screen>
199
[4ff4e9a]200 </sect2>
201
[190568b]202</sect1>
Note: See TracBrowser for help on using the repository browser.