source: x/installing/mesa.xml@ b66a9499

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

Update to libjpeg-turbo-1.5.3.
Update to libpng-1.6.34.
Update to mesa-17.2.7.
Update to XML-LibXML-Simple-0.99 (perl-module).
Update to List-MoreUtils-0.428 (perl-module).
Update to libwww-perl-6.31 (perl-module).

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

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