glfs/x/installing/mesalib.xml

253 lines
8.6 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="ISO-8859-1"?>
<!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;
<!ENTITY mesalib-download-http " ">
<!ENTITY mesalib-download-ftp "ftp://ftp.freedesktop.org/pub/mesa/&mesalib-version;/MesaLib-&mesalib-version;.tar.bz2">
<!ENTITY mesalib-md5sum "a368104e5700707048dc3e8691a9a7a1">
<!ENTITY mesalib-size "5.5 MB">
<!ENTITY mesalib-buildsize "460 MB">
<!ENTITY mesalib-time "3.0 SBU">
]>
<sect1 id="mesalib" xreflabel="MesaLib-&mesalib-version;">
<?dbhtml filename="mesalib.html"?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<title>MesaLib-&mesalib-version;</title>
<indexterm zone="mesalib">
<primary sortas="a-MesaLib">MesaLib</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to MesaLib</title>
<para><application>Mesa</application> is an OpenGL compatible 3D graphics
library.</para>
&lfs71_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>Download (HTTP): <ulink url="&mesalib-download-http;"/></para>
</listitem>
<listitem>
<para>Download (FTP): <ulink url="&mesalib-download-ftp;"/></para>
</listitem>
<listitem>
<para>Download MD5 sum: &mesalib-md5sum;</para>
</listitem>
<listitem>
<para>Download size:
&mesalib-size;</para>
</listitem>
<listitem>
<para>Estimated disk space required:
&mesalib-buildsize;</para>
</listitem>
<listitem>
<para>Estimated build time:
&mesalib-time;</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Additional Downloads</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>Recommended patch: <ulink
url="&patch-root;/MesaLib-&mesalib-version;-add_xdemos-2.patch"/>
(Needed if testing the Xorg installation per BLFS instructions)</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">MesaLib Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para role="required">
<xref linkend="expat"/>,
<xref linkend="libdrm"/>,
<xref linkend="libxml2"/>,
<xref linkend="makedepend"/>,
<xref linkend="talloc"/>, and
<xref linkend="xorg7-lib"/>
</para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<xref linkend="llvm"/>
</para>
<note>
<para>The <application>libxml2</application>
<application>Python</application> module must have been built
during the installation of <application>libxml2</application>
or else <application>MesaLib</application> build will fail.</para>
</note>
<para condition="html" role="usernotes">User Notes:
<ulink url="&blfs-wiki;/mesalib"/></para>
</sect2>
<sect2 role="installation">
<title>Installation of MesaLib</title>
<note><para>Unlike other packages, the
<filename>MesaLib-&mesalib-version;.tar.bz2</filename>
archive will extract to the
<filename class="directory">Mesa-&mesalib-version;</filename>
directory.</para></note>
<para>Install <application>MesaLib</application> by running the following
commands:</para>
<screen><userinput>sed 's@FLAGS=\"-g@FLAGS=\"@' -i configure &amp;&amp;
patch -Np1 -i ../MesaLib-&mesalib-version;-add_xdemos-2.patch &amp;&amp;
./configure --prefix=$XORG_PREFIX --enable-shared-dricore --enable-xa \
--with-gallium-drivers="nouveau,svga,swrast" &amp;&amp;
make</userinput></screen>
<para>This package does not come with a test suite.</para>
<para>Now, as the <systemitem class="username">root</systemitem> user:</para>
<screen role="root"><userinput>make install &amp;&amp;
mkdir -pv ${XORG_PREFIX}/share/doc/MesaLib-&mesalib-version; &amp;&amp;
cp -rv docs/* ${XORG_PREFIX}/share/doc/MesaLib-&mesalib-version;
</userinput></screen>
<para>Finally, if installing to any prefix other than
<filename class="directory">/usr</filename>, you should create symlinks
to the GL headers in <filename class="directory">/usr/include</filename>.
Execute the following command as the
<systemitem class="username">root</systemitem> user:</para>
<screen role="root"><userinput>ln -s -v ${XORG_PREFIX}/include/GL /usr/include &amp;&amp;
ln -s -v ${XORG_PREFIX}/include/EGL /usr/include &amp;&amp;
ln -s -v ${XORG_PREFIX}/include/KHR /usr/include &amp;&amp;
for HEADER in xa_{composite,context,tracker}.h
do
ln -s -v ${XORG_PREFIX}/include/$HEADER /usr/include
done</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para><command>sed 's@FLAGS=\"-g@FLAGS=\"@' -i configure</command>: by
default, Mesa builds with debugging symbols. Remove the -g switch from
both <envar>CFLAGS</envar> and <envar>CXXFLAGS</envar> with this
command.</para>
<para><command>--enable-shared-dricore</command>: link DRI modules with
shared core DRI routines.</para>
<para><command>--enable-xa</command>: enables building of the XA X
Acceleration API (Required for VMware 3D Driver).</para>
<para><command>--with-gallium-drivers="..."</command>: controls building
of gallium drivers. Available drivers are: i915, nouveau, r300, r600,
swrast and svga. Note that r300 and r600 require <xref linkend="llvm"/>
to be installed.</para>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Optionally Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>glxgears and glxinfo</seg>
<seg>libEGL.so, libGL.so, libGLU.so, libxatracker.so, and *_dri.so</seg>
<seg><envar>$XORG_PREFIX</envar>/include/{EGL,GL,KHR},
<envar>$XORG_PREFIX</envar>/lib/dri, and
<envar>$XORG_PREFIX</envar>/share/doc/MesaLib-&mesalib-version;</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="glxgears">
<term><filename>glxgears</filename></term>
<listitem>
<para>is a GL demo useful for troubleshooting graphics
problems.</para>
<indexterm zone="mesalib glxgears">
<primary sortas="b-glxgears">glxgears</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="glxinfo">
<term><filename>glxinfo</filename></term>
<listitem>
<para>is a diagnostic program that displays information about the
graphics hardware and installed GL libraries.</para>
<indexterm zone="mesalib glxinfo">
<primary sortas="b-glxinfo">glxinfo</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libEGL">
<term><filename class='libraryfile'>libEGL.so</filename></term>
<listitem>
<para>provides a native platform graphics interface as defined by
the EGL-1.4 specification.</para>
<indexterm zone="mesalib libEGL">
<primary sortas="c-libGL">libEGL.so</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libGL">
<term><filename class='libraryfile'>libGL.so</filename></term>
<listitem>
<para>is the main OpenGL library.</para>
<indexterm zone="mesalib libGL">
<primary sortas="c-libGL">libGL.so</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libGLU">
<term><filename class='libraryfile'>libGLU.so</filename></term>
<listitem>
<para>is the OpenGL Utility library.</para>
<indexterm zone="mesalib libGLU">
<primary sortas="c-libGLU">libGLU.so</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libxatracker">
<term><filename class='libraryfile'>libxatracker.so</filename></term>
<listitem>
<para>is the XA X Acceleration API library.</para>
<indexterm zone="mesalib libxatracker">
<primary sortas="c-libxatracker">libxatracker.so</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>