source: x/installing/mesa.xml@ 3201e53

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 9.0 9.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt 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 3201e53 was 3201e53, checked in by Bruce Dubbs <bdubbs@…>, 5 years ago

Update to lxtask-0.1.9.
Update to lxrandr-0.3.2.
Update to lxsession-0.5.4.
Update to libatomic_ops-7.6.10.
Update to upower-0.99.10.
Update to libvdpau-1.2.
Update to xorg-server-1.20.4.
Update to mesa-18.3.4.

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

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