glfs/shareddeps/gfxapi/gl/libglvnd.xml
Zeckmathederg a5a5f0f785 Removed all unstable notes on all packages.
Important: Added a section about stability.

Also fixed a build failure with last commit (missing ending para tag).
2024-10-18 12:39:05 -06:00

234 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;
<!ENTITY libglvnd-download-https "https://gitlab.freedesktop.org/glvnd/libglvnd/-/archive/v&libglvnd-version;/libglvnd-v&libglvnd-version;.tar.gz">
<!ENTITY libglvnd-download-ftp " ">
]>
<sect1 id="libglvnd" xreflabel="libglvnd-&libglvnd-version;">
<?dbhtml filename="libglvnd.html"?>
<title>libglvnd-&libglvnd-version;</title>
<indexterm zone="libglvnd">
<primary sortas="a-glvnd">libglvnd</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to libglvnd</title>
<para>
libglvnd is a vendor-neutral dispatch layer for arbitrating
OpenGL API calls between multiple vendors. It allows multiple
drivers from different vendors to coexist on the same filesystem,
and determines which vendor to dispatch each API call to at
runtime.
</para>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&libglvnd-download-https;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&libglvnd-download-ftp;"/>
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">libglvnd Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para>
<xref linkend="xorg7-lib"/>
</para>
</sect2>
<sect2 role="installation">
<title>Installation of libglvnd</title>
<para>
Install libglvnd by running the following commands:
</para>
<screen><userinput>mkdir build &amp;&amp;
cd build
meson setup .. --prefix=/usr
ninja</userinput></screen>
<para>
Now as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>ninja install</userinput></screen>
</sect2>
<sect2 role="installation">
<title>32-bit Installation of libglvnd</title>
<para>
First clean the build directory:
</para>
<screen><userinput>rm -rf *</userinput></screen>
<para>
Install lib32-libglvnd by running the following commands:
</para>
<screen><userinput>CC="gcc -m32" CXX="g++ -m32" \
PKG_CONFIG_PATH=/usr/lib32/pkgconfig \
meson setup .. --prefix=/usr \
--libdir=/usr/lib32
ninja</userinput></screen>
<para>
Now as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>DESTDIR=$PWD/DESTDIR ninja install
cp -vr DESTDIR/usr/lib32/* /usr/lib32
rm -rf DESTDIR
ldconfig</userinput></screen>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>None</seg>
<seg>
libEGL.so,
libGL.so,
libGLESv1_CM.so,
libGLESv2.so,
libGLX.so,
libGLdispatch.so, and
libOpenGL.so
</seg>
<seg>
/usr/include/{EGL,GL,GLES2,KHR,glvnd}
</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="glvnd-libEGL">
<term><filename class="libraryfile">libEGL.so</filename></term>
<listitem>
<para>
contains EGL window-system API functions
</para>
<indexterm zone="libglvnd glvnd-libEGL">
<primary sortas="b-glvnd-libEGL">libEGL.so</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="glvnd-libGL">
<term><filename class="libraryfile">libGL.so</filename></term>
<listitem>
<para>
is a wrapper library to <filename class="libraryfile">libGLdispatch.so
</filename> and <filename class="libraryfile">libGLX.so</filename>
</para>
<indexterm zone="libglvnd glvnd-libGL">
<primary sortas="b-glvnd-libGL">libGL.so</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="glvnd-libGLESv1_CM">
<term><filename class="libraryfile">libGLESv1_CM.so</filename></term>
<listitem>
<para>
is a wrapper library to <filename class="libraryfile">libGLdispatch.so
</filename> which expose OpenGL ES entrypoints
</para>
<indexterm zone="libglvnd glvnd-libGLESv1_CM">
<primary sortas="b-glvnd-libGLESv1_CM">libGLESv1_CM.so</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="glvnd-libGLESv2">
<term><filename class="libraryfile">libGLESv2.so</filename></term>
<listitem>
<para>
is a wrapper library to <filename class="libraryfile">libGLdispatch.so
</filename> which expose OpenGL ES entrypoints
</para>
<indexterm zone="libglvnd glvnd-libGLESv2">
<primary sortas="b-glvnd-libGLESv2">libGLESv2.so</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="glvnd-libGLX">
<term><filename class="libraryfile">libGLX.so</filename></term>
<listitem>
<para>
manages loading GLX vendor libraries and dispatching GLX core
and extension functions to the right vendor
</para>
<indexterm zone="libglvnd glvnd-libGLX">
<primary sortas="b-glvnd-libGLX">libGLX.so</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="glvnd-libGLdispatch">
<term><filename class="libraryfile">libGLdispatch.so</filename></term>
<listitem>
<para>
implements core GL dispatching and TLS
</para>
<indexterm zone="libglvnd glvnd-libGLdispatch">
<primary sortas="b-glvnd-libGLdispatch">libGLdispatch.so</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="glvnd-libOpenGL">
<term><filename class="libraryfile">libOpenGL.so</filename></term>
<listitem>
<para>
is a wrapper library to <filename class="libraryfile">
libGLdispatch.so</filename> which exposes OpenGL 4.5 core and
compatibility entry points
</para>
<indexterm zone="libglvnd glvnd-libOpenGL">
<primary sortas="b-glvnd-libOpenGL">libOpenGL.so</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>