Files
glfs/shareddeps/dps/basicx/x/basic-xorg-7.xml

164 lines
6.4 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../../../general.ent">
%general-entities;
]>
<sect1 id="basic-xorg-7" xreflabel="Basic Xorg-&xorg-version; Software Introduction">
<?dbhtml filename="basic-xorg-7.html"?>
<title>Basic Xorg-&xorg-version; Software Introduction</title>
<indexterm zone="basic-xorg-7">
<primary sortas="a-basic-xorg-7">Basic Xorg</primary>
</indexterm>
<para>
Xorg is a freely redistributable,
open-source implementation of the X Window
System. This system provides a client/server interface between display
hardware (the mouse, keyboard, and video displays) and the desktop
environment, while also providing both the windowing infrastructure and a
standardized application interface (API).
</para>
<para>
This section however doesn't install <xref linkend="xorg-server"/>, but
instead installs basic software that a lot of other software depend on,
including the Xorg server, compositors, window
managers or desktop environments, and <xref linkend="xwayland"/>.
</para>
<note><para>
Xwayland is a necessary part of Wayland if you
want to use Xorg-only software like <xref
linkend="steam"/>. <xref linkend="wine"/> has an experimental
Wayland mode but it is still a good idea to
install <xref linkend="xwayland"/> for now.
</para></note>
<bridgehead renderas="sect3">Xorg Download and Installation
Instructions</bridgehead>
<para>
Xorg-7.0 introduced a completely auto-tooled, modular build system.
With the new modular build system, it is no longer possible to download
the entire package in a single file. In fact, there will be well over 100
packages that need to be fetched from the download location. To assist
with such a large task, installing <xref linkend="wget"/> is strongly
recommended for downloading the needed files. A complete
wget file list is provided for each page
that includes multiple packages.
</para>
<para>
Given the number of packages available, deciding which packages you
need to install for your particular setup may seem a bit overwhelming at
first. Take a look at <ulink url=
"https://wiki.x.org/wiki/ModuleDescriptions">this page</ulink>
and <ulink url=
"https://lists.x.org/archives/xorg-modular/2005-November/000801.html">
this thread</ulink>
to get an idea of what you will need. If you are unsure, you should
install all packages at the cost of extra disk space.
</para>
<note>
<para>
Even if you intend to download only the necessary packages, you
should download the wget file lists. The list of files are ordered by
dependency, and the package versions listed in the files are known to
work well with each other. Further, the wget file lists contain comments
for specific packages that are deprecated or are not recommended to
install. Newer packages are likely intended for the
next release of Xorg and have already proved
to be incompatible with current versions of software installed in GLFS.
The installed size of Xorg can be reduced
considerably by installing only the packages that you will need and use,
however, the GLFS book cannot account for all dependencies and build
options for the individual Xorg packages.
The instructions assume that all packages have been built.
</para>
</note>
<para>
Additionally, because of the large number of repetitive commands,
you are encouraged to partially automate the build. Instructions have been
given that utilize the BLFS
<ulink url="&blfs-svn;/postlfs/sudo.html">sudo</ulink> package.
It is recommended that you use the <parameter>:NOPASSWD</parameter>
configuration option for the user that will be building the xorg packages.
There are other accommodations in the off chance you didn't install it.
You can use the <command>su</command> utility, invoking <parameter>-c
</parameter>. This requires that you enter your password each time a
package needs to get installed. The last accommodation is allow you
to build and install each package as the &root; user.
</para>
<sect2 id="xorg-env" xreflabel="Xorg build environment">
<title>Setting up the Xorg Build Environment</title>
<para>
Set the <envar>XORG_PREFIX</envar> variable for compatibility with
installation instructions outside this book (BLFS and SLFS)
with the following command:
</para>
<screen><userinput>export XORG_PREFIX="/usr"</userinput></screen>
<note>
<para>The <envar>XORG_PREFIX</envar> variable will not be used in this
book, but it is a necessary variable to set if you intend to follow
instructions from BLFS or SLFS. If you aren't just copy and pasting said
instructions, you may do without the variable but be sure to replace
the variable in the instructions with <filename>/usr</filename>.</para>
</note>
<para>
Throughout these instructions, you will use the following
<command>configure</command> switches for all of the packages. Create the
<envar>XORG_CONFIG</envar> variable to use for this parameter
substitution:
</para>
<screen><userinput>export XORG_CONFIG="--prefix=/usr --sysconfdir=/etc \
--localstatedir=/var --disable-static"</userinput></screen>
<note>
<para>
The instructions below depend on the files created in
<xref linkend="bash-profile"/>.
</para>
</note>
<para>
Create an <filename>/etc/profile.d/xorg.sh</filename> configuration
file containing these variables as the &root; user:
</para>
<screen role="root"><userinput>cat &gt; /etc/profile.d/xorg.sh &lt;&lt; EOF
<literal>XORG_PREFIX="/usr"
XORG_CONFIG="--prefix=/usr --sysconfdir=/etc --localstatedir=/var --disable-static"
export XORG_PREFIX XORG_CONFIG</literal>
EOF
chmod 644 /etc/profile.d/xorg.sh</userinput></screen>
&source-profile;
<para>
If you've installed sudo, ensure that <envar>XORG_CONFIG</envar> is
available in the sudo environment. As the &root; user, run the following
command:
</para>
<screen role="root"><userinput>cat &gt; /etc/sudoers.d/xorg &lt;&lt; EOF
<literal>Defaults env_keep += XORG_CONFIG</literal>
EOF</userinput></screen>
</sect2>
</sect1>