glfs/shareddeps/gfxapi/gl/introgl.xml

71 lines
2.8 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="introgl" xreflabel="Intro to OpenGL">
<?dbhtml filename="introgl.html"?>
<title>Intro to OpenGL</title>
<sect2>
<title>What is OpenGL</title>
<para>
OpenGL is a graphics API standard and interface that most applications
on Linux that are not terminal based use and often times solely rely on.
While things are progressing to switch to Vulkan, as well as graphics
drivers with the help of <application>Mesa</application>'s Zink driver,
a full Vulkan desktop is impossible for most people. This makes OpenGL
and its drivers a requirement. Notable packages that require the
libraries and drivers are in this book:
<xref linkend="steam"/> and <xref linkend="wine"/>.
</para>
<para>
Beyond those two packages and getting the desktop working are several
applications and packages which are only written in OpenGL using very
old libraries and haven't added Vulkan support, and many games on the
<application>Steam</application> platform are OpenGL only.
</para>
</sect2>
<sect2>
<title>What do I need to install?</title>
<para>
The OpenGL libraries for Linux are provided by either
<xref linkend="libglvnd"/> or <xref linkend="mesa"/>, depending on
preference or which applications you wish to install and run.
</para>
<para>
libglvnd supplies an OpenGL library that can arbitrate calls between
multiple vendors, which is useful in certain circumstances that
<xref linkend="steam"/> determined necessary to depend on. This is
why many distros do not ship the OpenGL library supplied by Mesa and
instead ship the one by libglvnd.
</para>
<para>
Mesa provides OpenGL libraries specific to your vendor of your graphics
card (AMD for Radeon, NVIDIA for GTX, RTX, etc. and so on). Most
applications can use these libraries just fine, save for some extensions
only being used by some vendors, which the programmer who made the OpenGL
application likely thought about those extensions anyway. However,
<xref linkend="steam"/> depends on the OpenGL libraries given by libglvnd.
Due to how the Mesa project is set up, it is located in the Graphics Driver
subsection of this chapter. Feel free to skip to the Vulkan installation
or the Graphics Driver subsection if you want to compile Mesa's OpenGL
libraries. To compile Mesa's OpenGL libraries, compile it normally without
setting <parameter>-Dglvnd=true</parameter>.
</para>
</sect2>
</sect1>