source: x/installing/mesa.xml@ 56be7ef2

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 12.2 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gimp3 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/for-12.3 xry111/intltool xry111/llvm18 xry111/soup3 xry111/spidermonkey128 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 56be7ef2 was f9f0ea92, checked in by Bruce Dubbs <bdubbs@…>, 8 years ago

Add some clarifying text for mesa drivers

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

  • Property mode set to 100644
File size: 14.8 KB
RevLine 
[868c7c2]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" [
[868c7c2]4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
[7a395d1]7 <!ENTITY mesa-download-http " ">
8 <!ENTITY mesa-download-ftp "ftp://ftp.freedesktop.org/pub/mesa/&mesa-version;/mesa-&mesa-version;.tar.xz">
[8b5a6f57]9 <!ENTITY mesa-md5sum "1113699c714042d8c4df4766be8c57d8">
[df343952]10 <!ENTITY mesa-size "8.2 MB">
[8b5a6f57]11 <!ENTITY mesa-buildsize "348 MB (with tests and docs)">
12 <!ENTITY mesa-time "3.7 SBU (with tests and docs - all with parallelism = 4),">
[868c7c2]13]>
14
[7a395d1]15<sect1 id="mesa" xreflabel="Mesa-&mesa-version;">
16 <?dbhtml filename="mesa.html"?>
[868c7c2]17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
[7a395d1]23 <title>Mesa-&mesa-version;</title>
[868c7c2]24
[7a395d1]25 <indexterm zone="mesa">
26 <primary sortas="a-Mesa">Mesa</primary>
[868c7c2]27 </indexterm>
28
29 <sect2 role="package">
[7a395d1]30 <title>Introduction to Mesa</title>
[868c7c2]31
[eb425b4]32 <para>
33 <application>Mesa</application> is an OpenGL compatible 3D graphics
34 library.
35 </para>
[868c7c2]36
[00610e5]37 &lfs7a_checked;
[ca0c29cc]38
[868c7c2]39 <bridgehead renderas="sect3">Package Information</bridgehead>
40 <itemizedlist spacing="compact">
41 <listitem>
[de938a4e]42 <para>
[7a395d1]43 Download (HTTP): <ulink url="&mesa-download-http;"/>
[de938a4e]44 </para>
[868c7c2]45 </listitem>
46 <listitem>
[de938a4e]47 <para>
[7a395d1]48 Download (FTP): <ulink url="&mesa-download-ftp;"/>
[de938a4e]49 </para>
[868c7c2]50 </listitem>
51 <listitem>
[de938a4e]52 <para>
[7a395d1]53 Download MD5 sum: &mesa-md5sum;
[de938a4e]54 </para>
[868c7c2]55 </listitem>
56 <listitem>
[de938a4e]57 <para>
[7a395d1]58 Download size: &mesa-size;
[de938a4e]59 </para>
[868c7c2]60 </listitem>
61 <listitem>
[de938a4e]62 <para>
[7a395d1]63 Estimated disk space required: &mesa-buildsize;
[de938a4e]64 </para>
[868c7c2]65 </listitem>
66 <listitem>
[de938a4e]67 <para>
[7a395d1]68 Estimated build time: &mesa-time;
[de938a4e]69 </para>
[868c7c2]70 </listitem>
71 </itemizedlist>
72
[625079b6]73 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
[a07e9eb]74 <itemizedlist spacing="compact">
75 <listitem>
[eb425b4]76 <para>
77 Recommended patch:
[39dd48b]78 <ulink
[27747668]79 url="&patch-root;/mesa-&mesa-version;-add_xdemos-1.patch"/>
[7a395d1]80 (installs 2 demo programs for testing Mesa - not needed if you
[39dd48b]81 install the <ulink url="ftp://ftp.freedesktop.org/pub/mesa/demos/">
82 mesa-demos</ulink> package)
[ace536a]83 </para>
[eeb29511]84 </listitem>
85 </itemizedlist>
86
[7a395d1]87 <bridgehead renderas="sect3">Mesa Dependencies</bridgehead>
[868c7c2]88
89 <bridgehead renderas="sect4">Required</bridgehead>
[7b74537e]90 <para role="required">
[df343952]91 <xref linkend="xorg7-lib"/>,
92 <xref linkend="libdrm"/>, and
93 <xref linkend="python2"/>
[eb425b4]94 </para>
[868c7c2]95
[606dfd4]96 <bridgehead renderas="sect4">Recommended</bridgehead>
[eb425b4]97 <para role="recommended">
[973dabe9]98 <xref linkend="elfutils"/> (required for the radeonsi driver),
99
[df343952]100 <phrase revision="systemd"><xref linkend="libva"/> (to build drivers for
101 supported hardware, note that there is a circular dependency. You must
102 build <application>libva</application> first without EGL and GLX support,
103 install this package, and rebuild <application>libva</application>.),</phrase>
[973dabe9]104
[9065a56b]105 <xref linkend="libvdpau"/> (to build VDPAU drivers),
[973dabe9]106
[e4757087]107 <xref linkend="llvm"/> (required for Gallium3D r300 and radeonsi
[973dabe9]108 drivers and for the llvmpipe software rasterizer. See
109 <ulink url="http://www.mesa3d.org/systems.html"/> for more information.)
[606dfd4]110 </para>
[60bcf481]111
[07584d8]112 <bridgehead renderas="sect4">Optional</bridgehead>
113 <para role="optional">
[57bcce9]114 <xref linkend="libgcrypt"/>,
115 <xref linkend="nettle"/>,
[8b5a6f57]116 <xref linkend="wayland"/> (required for
[973dabe9]117 <xref linkend='plasma5-build'/>
118 <phrase revision="systemd">,</phrase>
119 <phrase revision="sysv">and</phrase>
120 <xref linkend='lxqt'/>
121 <phrase revision="systemd">, and GNOME</phrase>),
122
[58720a7b]123 <ulink url="ftp://ftp.freedesktop.org/pub/mesa/demos/">mesa-demos</ulink>
[1cdb1f7]124 (provides more than 300 extra demos to test
[973dabe9]125 <application>Mesa</application>; this includes the same programs added by
126 the patch above), and
127
[c18b8f23]128 <ulink url="http://omxil.sourceforge.net/">Bellagio OpenMAX Integration
[f3429309]129 Layer</ulink> (for mobile platforms)
[07584d8]130 </para>
131
[9065a56b]132 <note>
[fd2f9a2]133 <para>
[dae25ca5]134 The instructions below assume that <application>elfutils</application>
[df343952]135 and <application>LLVM</application> with the r600/amdgpu and host
136 backends are installed. You will need to modify the instructions if you
[973dabe9]137 choose not to install them. For an explanation of Gallium3D see
[e83a3bb]138 <ulink url="https://en.wikipedia.org/wiki/Gallium3D"/>.
[fd2f9a2]139 </para>
[9065a56b]140 </note>
[fd2f9a2]141
[c5c2654]142 <para condition="html" role="usernotes">User Notes:
[7a395d1]143 <ulink url="&blfs-wiki;/mesa"/>
[2993b2f]144 </para>
[868c7c2]145 </sect2>
146
147 <sect2 role="installation">
[7a395d1]148 <title>Installation of Mesa</title>
[868c7c2]149
[a07e9eb]150 <para>
[51c08f3]151 If you have downloaded the xdemos patch (needed if testing the Xorg
152 installation per BLFS instructions), apply it by running the following
153 command:
[a07e9eb]154 </para>
155
[27747668]156<screen><userinput>patch -Np1 -i ../mesa-&mesa-version;-add_xdemos-1.patch</userinput></screen>
[a07e9eb]157
[f9f0ea92]158 <para>Now, select the drivers you wish to install. The available drivers
159 are i915, ilo, nouveau, r300, r600, radeonsi, freedreno, svga, swrast, vc4,
160 and virgl. If the Gallium drivers are not specified, the default is
161 'r300,r600,svga,swrast'. Modify the command below for any desired drivers.
162 The listed drivers below will cover most modern video cards. For help in
163 selecting drivers see
164 <ulink url='http://www.mesa3d.org/systems.html'/>.</para>
[973dabe9]165
[f2afe02]166<screen><userinput>GLL_DRV="i915,r600,nouveau,radeonsi,svga,swrast"</userinput></screen>
[973dabe9]167
[eb425b4]168 <para>
[7a395d1]169 Install <application>Mesa</application> by running the following
[eb425b4]170 commands:
171 </para>
[868c7c2]172
[f97d5f6]173 <note>
[4e845a4]174 <para>
175 Add wayland to the <parameter>--with-egl-platforms</parameter> switch
176 below if you plan on building
177 <xref linkend='plasma5-build'/><phrase revision="systemd">,</phrase>
178 <phrase revision="sysv">or</phrase>
179 <xref linkend='lxqt'/><phrase revision="systemd">, or GNOME</phrase>.
180 </para>
[f97d5f6]181 </note>
182
[973dabe9]183<screen><userinput>sed -i "/pthread-stubs/d" configure.ac &amp;&amp;
[9d11b8a5]184sed -i "/seems to be moved/s/^/: #/" bin/ltmain.sh &amp;&amp;
[973dabe9]185
[b3b7e36]186./autogen.sh CFLAGS='-O2' CXXFLAGS='-O2' \
[5ee1266]187 --prefix=$XORG_PREFIX \
188 --sysconfdir=/etc \
189 --enable-texture-float \
190 --enable-osmesa \
191 --enable-xa \
192 --enable-glx-tls \
193 --with-egl-platforms="drm,x11" \
194 --with-gallium-drivers=$GLL_DRV &amp;&amp;
195
196unset GLL_DRV &amp;&amp;
197
[1199613]198make</userinput></screen>
[868c7c2]199
[a07e9eb]200 <para>
[7dd7061]201 If you have applied the xdemos patch, build the demo programs by
[a07e9eb]202 running the following command:
203 </para>
204
[5f26d66f]205<screen><userinput>make -C xdemos DEMOS_PREFIX=$XORG_PREFIX</userinput></screen>
[a07e9eb]206
[eb425b4]207 <para>
[6ec7963]208 To test the results, issue: <command>make check</command>.
[eb425b4]209 </para>
[ff55539b]210
[eb425b4]211 <para>
212 Now, as the <systemitem class="username">root</systemitem> user:
213 </para>
[ff55539b]214
[dae25ca5]215<screen role="root"><userinput>make install</userinput></screen>
[a07e9eb]216
217 <para>
[5f91dfd]218 If you have built the demo programs, install them by running the
[a07e9eb]219 following command as the
220 <systemitem class="username">root</systemitem> user:
221 </para>
222
[5f26d66f]223<screen role="root"><userinput>make -C xdemos DEMOS_PREFIX=$XORG_PREFIX install</userinput></screen>
[a07e9eb]224
[eb425b4]225 <para>
[a07e9eb]226 If desired, install the optional documentation by running
227 the following commands as the
[eb425b4]228 <systemitem class="username">root</systemitem> user:
229 </para>
[91859cf]230
[7a395d1]231<screen role="root"><userinput>install -v -dm755 /usr/share/doc/mesa-&mesa-version; &amp;&amp;
232cp -rfv docs/* /usr/share/doc/mesa-&mesa-version;</userinput></screen>
[5a883bc4]233
[868c7c2]234 </sect2>
235
[a07e9eb]236 <sect2 role="commands">
237 <title>Command Explanations</title>
238
[df343952]239 <para>
[9d11b8a5]240 <command>sed -i ... configure.ac</command>: This sed removes a dependency
241 on the <application>libpthread-stubs</application> package which is
242 useless on Linux.
[df343952]243 </para>
244
[d278ced]245 <para>
[9d11b8a5]246 <command>sed -i ... bin/ltmain.sh</command>: This sed silences several
[d278ced]247 useless and annoying warnings from libtool.
248 </para>
249
[95e8211]250 <para>
251 <parameter>CFLAGS="-O2" CXXFLAGS="-O2"</parameter>: By default,
252 <application>Autoconf</application> sets CFLAGS and CXXFLAGS to
253 "-g -O2". That results in binaries and libraries being built with
[fd2f9a2]254 debugging symbols which make them bigger. Override the default
[8b5a6f57]255 flags to omit the -g compiler flag so the final libraries are smaller.
[95e8211]256 </para>
257
[eb425b4]258 <para>
[6825eb89]259 <parameter>--enable-texture-float</parameter>: This switch enables
[a07e9eb]260 floating-point textures and render buffers. Please consult
[eb425b4]261 <filename>docs/patents.txt</filename> to see if there are
262 any legal issues if you use this feature.
263 </para>
264
[2993b2f]265 <para>
[df343952]266 <parameter>--enable-osmesa</parameter>: This switch enables building
[abdc2e6]267 the <filename class="libraryfile">libOSMesa</filename> library.
[2993b2f]268 </para>
269
[eb425b4]270 <para>
[8b5a6f57]271 <parameter>--enable-xa</parameter>: This switch enables building the
[eb425b4]272 XA X Acceleration API (Required for VMware 3D Driver).
273 </para>
274
275 <para>
[8b5a6f57]276 <parameter>--enable-gbm</parameter>: This switch enables building the
[a07e9eb]277 <application>Mesa</application> Graphics Buffer Manager library.
278 </para>
279
[eb425b4]280 <para>
[6825eb89]281 <parameter>--enable-glx-tls</parameter>: This switch enables TLS (Thread Local
[4d92247]282 Storage) support in GLX.
[eb425b4]283 </para>
284
[a07e9eb]285 <para>
286 <parameter>--with-egl-platforms="..."</parameter>: This parameter
[e56f38b]287 controls which platforms EGL will be built for. Available
[a07e9eb]288 platforms are drm, x11 and wayland.
289 </para>
290
[eb425b4]291 <para>
292 <parameter>--with-gallium-drivers="..."</parameter>: This parameter
[973dabe9]293 controls which Gallium3D drivers should be built.
[1f44775e]294 </para>
295
[df343952]296 <para revision="sysv">
[625079b6]297 <option>--enable-sysfs</option>: Use this switch to enable simple PCI
298 identification method, required for building DRI on systems without udev.
299 </para>
300
[371ff30]301 </sect2>
302
[868c7c2]303 <sect2 role="content">
304 <title>Contents</title>
305
306 <segmentedlist>
[1263ab1e]307 <segtitle>Installed Programs</segtitle>
[868c7c2]308 <segtitle>Installed Libraries</segtitle>
[ba2ac60]309 <segtitle>Installed Directories</segtitle>
[868c7c2]310
311 <seglistitem>
[eb425b4]312 <seg>
313 glxgears and glxinfo
314 </seg>
315 <seg>
[ed6d075]316 libEGL.so,
[c5f6157a]317 libgbm.so,
318 libglapi.so,
[ed6d075]319 libGLESv1_CM.so,
[5a14a19]320 libGLESv2.so,
[c5f6157a]321 libGL.so,
[a640d58]322 libOSMesa.so,
[df343952]323 libswrAVX.so,
324 libswrAVX2.so,
[8b5a6f57]325 libwayland-egl.so (if built with <application>Wayland</application>)
[b3be1cd]326 libxatracker.so,
[a640d58]327 libXvMCnouveau.so,
328 and libXvMCr600.so
[eb425b4]329 </seg>
330 <seg>
[880727e]331 $XORG_PREFIX/{include/{EGL,GL,GLES,GLES2,GLES3,KHR},lib/{dri,vdpau}}
332 and
[7a395d1]333 /usr/share/doc/mesa-&mesa-version; (optional)
[eb425b4]334 </seg>
[868c7c2]335 </seglistitem>
336 </segmentedlist>
[d3ef1e4]337
[4437f63]338 <variablelist>
339 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
340 <?dbfo list-presentation="list"?>
341 <?dbhtml list-presentation="table"?>
342
343 <varlistentry id="glxgears">
[eb50ddde]344 <term><command>glxgears</command></term>
[4437f63]345 <listitem>
[eb425b4]346 <para>
347 is a GL demo useful for troubleshooting graphics
348 problems.
349 </para>
[7a395d1]350 <indexterm zone="mesa glxgears">
[4437f63]351 <primary sortas="b-glxgears">glxgears</primary>
352 </indexterm>
353 </listitem>
354 </varlistentry>
355
356 <varlistentry id="glxinfo">
[eb50ddde]357 <term><command>glxinfo</command></term>
[4437f63]358 <listitem>
[eb425b4]359 <para>
360 is a diagnostic program that displays information about the
361 graphics hardware and installed GL libraries.
362 </para>
[7a395d1]363 <indexterm zone="mesa glxinfo">
[4437f63]364 <primary sortas="b-glxinfo">glxinfo</primary>
365 </indexterm>
366 </listitem>
367 </varlistentry>
368
[25f6d94]369 <varlistentry id="libEGL">
[a07e9eb]370 <term><filename class="libraryfile">libEGL.so</filename></term>
[25f6d94]371 <listitem>
[eb425b4]372 <para>
[a07e9eb]373 provides a native platform graphics interface as
374 defined by the EGL-1.4 specification.
[eb425b4]375 </para>
[7a395d1]376 <indexterm zone="mesa libEGL">
[25f6d94]377 <primary sortas="c-libGL">libEGL.so</primary>
378 </indexterm>
379 </listitem>
380 </varlistentry>
381
[a07e9eb]382 <varlistentry id="libgbm">
383 <term><filename class="libraryfile">libgbm.so</filename></term>
384 <listitem>
385 <para>
386 is the <application>Mesa</application> Graphics Buffer
[0d7900a]387 Manager library.
[a07e9eb]388 </para>
[7a395d1]389 <indexterm zone="mesa libgbm">
[a07e9eb]390 <primary sortas="c-libgbm">libgbm.so</primary>
391 </indexterm>
392 </listitem>
393 </varlistentry>
394
395 <varlistentry id="libGLESv1_CM">
396 <term><filename class="libraryfile">libGLESv1_CM.so</filename></term>
397 <listitem>
398 <para>
399 is the <application>Mesa</application> OpenGL ES 1.1 library.
400 </para>
[7a395d1]401 <indexterm zone="mesa libGLESv1_CM">
[a07e9eb]402 <primary sortas="c-libGLESv1_CM">libGLESv1_CM.so</primary>
403 </indexterm>
404 </listitem>
405 </varlistentry>
406
407 <varlistentry id="libGLES2">
408 <term><filename class="libraryfile">libGLES2.so</filename></term>
409 <listitem>
410 <para>
411 is the <application>Mesa</application> OpenGL ES 2.0 library.
412 </para>
[7a395d1]413 <indexterm zone="mesa libGLES2">
[a07e9eb]414 <primary sortas="c-libGLES2">libGLES2.so</primary>
415 </indexterm>
416 </listitem>
417 </varlistentry>
418
[ba2ac60]419 <varlistentry id="libGL">
[a07e9eb]420 <term><filename class="libraryfile">libGL.so</filename></term>
[ba2ac60]421 <listitem>
[eb425b4]422 <para>
[a07e9eb]423 is the main <application>Mesa</application> OpenGL library.
[eb425b4]424 </para>
[7a395d1]425 <indexterm zone="mesa libGL">
[ba2ac60]426 <primary sortas="c-libGL">libGL.so</primary>
427 </indexterm>
428 </listitem>
429 </varlistentry>
430
[2993b2f]431 <varlistentry id="libOSMesa">
432 <term><filename class="libraryfile">libOSMesa.so</filename></term>
433 <listitem>
434 <para>
435 is the <application>Mesa</application> Off-screen Rendering library.
436 </para>
[7a395d1]437 <indexterm zone="mesa libOSMesa">
[2993b2f]438 <primary sortas="c-libOSMesa">libOSMesa.so</primary>
439 </indexterm>
440 </listitem>
441 </varlistentry>
442
[bad6be19]443 <varlistentry id="libxatracker">
[a07e9eb]444 <term><filename class="libraryfile">libxatracker.so</filename></term>
[ba2ac60]445 <listitem>
[eb425b4]446 <para>
[a07e9eb]447 is the Xorg Gallium3D acceleration library.
[eb425b4]448 </para>
[7a395d1]449 <indexterm zone="mesa libxatracker">
[bad6be19]450 <primary sortas="c-libxatracker">libxatracker.so</primary>
[ba2ac60]451 </indexterm>
452 </listitem>
453 </varlistentry>
[4437f63]454 </variablelist>
455
[868c7c2]456 </sect2>
[d3ef1e4]457
[868c7c2]458</sect1>
Note: See TracBrowser for help on using the repository browser.