source: x/installing/mesa.xml@ 49a7967

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 49a7967 was 49a7967, checked in by Douglas R. Reno <renodr@…>, 5 years ago

Mesa: missing optional dependency on Valgrind

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

  • Property mode set to 100644
File size: 15.1 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
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">
9 <!ENTITY mesa-md5sum "d0d76cd8b00bc1308e37985d4a45d3c5">
10 <!ENTITY mesa-size "11 MB">
11 <!ENTITY mesa-buildsize "1.6 GB (with demos and docs)">
12 <!ENTITY mesa-time "2.3 SBU (with parallelism=4, demos, and docs)">
13]>
14
15<sect1 id="mesa" xreflabel="Mesa-&mesa-version;">
16 <?dbhtml filename="mesa.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>Mesa-&mesa-version;</title>
24
25 <indexterm zone="mesa">
26 <primary sortas="a-Mesa">Mesa</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to Mesa</title>
31
32 <para>
33 <application>Mesa</application> is an OpenGL compatible 3D graphics
34 library.
35 </para>
36
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 &lfs84_checked;
45
46 <bridgehead renderas="sect3">Package Information</bridgehead>
47 <itemizedlist spacing="compact">
48 <listitem>
49 <para>
50 Download (HTTP): <ulink url="&mesa-download-http;"/>
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download (FTP): <ulink url="&mesa-download-ftp;"/>
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Download MD5 sum: &mesa-md5sum;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Download size: &mesa-size;
66 </para>
67 </listitem>
68 <listitem>
69 <para>
70 Estimated disk space required: &mesa-buildsize;
71 </para>
72 </listitem>
73 <listitem>
74 <para>
75 Estimated build time: &mesa-time;
76 </para>
77 </listitem>
78 </itemizedlist>
79
80 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
81 <itemizedlist spacing="compact">
82 <listitem>
83 <para>
84 Recommended patch:
85 <ulink
86 url="&patch-root;/mesa-&mesa-version;-add_xdemos-2.patch"/>
87 (installs 2 demo programs for testing Mesa - not needed if you
88 install the <ulink url="ftp://ftp.freedesktop.org/pub/mesa/demos/">
89 mesa-demos</ulink> package)
90 </para>
91 </listitem>
92 </itemizedlist>
93
94 <bridgehead renderas="sect3">Mesa Dependencies</bridgehead>
95
96 <bridgehead renderas="sect4">Required</bridgehead>
97 <para role="required">
98 <xref linkend="xorg7-lib"/>,
99 <xref linkend="libdrm"/>, and
100 <xref linkend="Mako"/>
101 </para>
102
103 <bridgehead renderas="sect4">Recommended</bridgehead>
104 <para role="recommended">
105
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>
110
111 <xref linkend="libvdpau"/> (to build VDPAU drivers),
112
113 <xref linkend="llvm"/> (required for Gallium3D, r300, and radeonsi
114 drivers and for the llvmpipe software rasterizer. See <ulink role="nodep"
115 url="http://www.mesa3d.org/systems.html"/> for more information), and
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'/>)
121 </para>
122
123 <bridgehead renderas="sect4">Optional</bridgehead>
124 <para role="optional">
125 <xref linkend="libgcrypt"/>,
126 <xref linkend="nettle"/>,
127 <xref linkend="valgrind">,
128 <ulink url="ftp://ftp.freedesktop.org/pub/mesa/demos/">mesa-demos</ulink>
129 (provides more than 300 extra demos to test
130 <application>Mesa</application>; this includes the same programs added by
131 the patch above), and
132 <ulink url="http://omxil.sourceforge.net/">Bellagio OpenMAX Integration
133 Layer</ulink> (for mobile platforms)
134 </para>
135
136 <note>
137 <para>
138 The instructions below assume that
139 <application>LLVM</application> with the r600/amdgpu and host
140 backends are installed. You will need to modify the instructions if you
141 choose not to install it. For an explanation of Gallium3D see
142 <ulink url="https://en.wikipedia.org/wiki/Gallium3D"/>.
143 </para>
144 </note>
145
146 <para condition="html" role="usernotes">User Notes:
147 <ulink url="&blfs-wiki;/mesa"/>
148 </para>
149 </sect2>
150
151 <sect2 role="installation">
152 <title>Installation of Mesa</title>
153
154 <para>
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:
158 </para>
159
160<screen><userinput>patch -Np1 -i ../mesa-&mesa-version;-add_xdemos-2.patch</userinput></screen>
161
162 <!-- Note that freedreno, vc4, and virgl all need special support from
163 libdrm - renodr -->
164
165 <para>Now, select the drivers you wish to install.
166 The gallium available drivers are
167 kmsro, radeonsi, r300, r600, nouveau, freedreno,
168 swrast, v3d, vc4, etnaviv, tegra, i915, svga, virgl, and
169 swr.
170
171 The DRI drivers available are
172 i915, i965, r100, r200, nouveau, and swrast.
173 The platforms available are
174 x11, wayland, drm, surfaceless, haiku, and android.
175
176 Modify the commands
177 below for any desired drivers. The listed drivers below will cover most
178 modern video cards. For help in selecting drivers see <ulink
179 url='http://www.mesa3d.org/systems.html'/>.</para>
180
181<screen><userinput>GALLIUM_DRV="nouveau,radeonsi,svga,swrast"
182DRI_DRIVERS="i915,i965,nouveau"
183PLATFORMS="x11,wayland,drm"</userinput></screen>
184
185 <para>
186 Install <application>Mesa</application> by running the following
187 commands:
188 </para>
189
190<screen><userinput>mkdir build &amp;&amp;
191cd build &amp;&amp;
192
193meson --prefix=$XORG_PREFIX \
194 --sysconfdir=/etc \
195 -Dvalgrind=false \
196 -Dglx=dri \
197 -Dosmesa=gallium \
198 -Dgallium-nine=true \
199 -Ddri-drivers=$DRI_DRIVERS \
200 -Dgallium-drivers=$GALLIUM_DRV \
201 -Dplatforms=$PLATFORMS \
202 .. &amp;&amp;
203
204unset GALLIUM_DRV DRI_DRIVERS PLATFORMS &amp;&amp;
205
206ninja</userinput></screen>
207
208 <para>
209 If you have applied the xdemos patch, build the demo programs by
210 running the following command:
211 </para>
212
213<screen><userinput>make -C ../xdemos DEMOS_PREFIX=$XORG_PREFIX LIBRARY_PATH=$PWD/src/glx</userinput></screen>
214<!--
215 <para>
216 To test the results, issue: <command>make -k check</command>.
217 </para>
218-->
219 <para>
220 This package does not come with a test suite.
221 </para>
222
223 <para>
224 Now, as the <systemitem class="username">root</systemitem> user:
225 </para>
226
227<screen role="root"><userinput>ninja install</userinput></screen>
228
229 <para>
230 If you have built the demo programs, install them by running the
231 following command as the
232 <systemitem class="username">root</systemitem> user:
233 </para>
234
235<screen role="root"><userinput>make -C ../xdemos DEMOS_PREFIX=$XORG_PREFIX install</userinput></screen>
236
237 <para>
238 If desired, install the optional documentation by running
239 the following commands as the
240 <systemitem class="username">root</systemitem> user:
241 </para>
242
243<screen role="root"><userinput>install -v -dm755 /usr/share/doc/mesa-&mesa-version; &amp;&amp;
244cp -rfv ../docs/* /usr/share/doc/mesa-&mesa-version;</userinput></screen>
245
246 </sect2>
247
248 <sect2 role="commands">
249 <title>Command Explanations</title>
250<!--
251 <para>
252 <parameter>CFLAGS="-O2" CXXFLAGS="-O2"</parameter>: By default,
253 <application>Autoconf</application> sets CFLAGS and CXXFLAGS to
254 "-g -O2". That results in binaries and libraries being built with
255 debugging symbols which make them bigger. Override the default
256 flags to omit the -g compiler flag so the final libraries are smaller.
257 </para>
258
259 <para>
260 <parameter>LDFLAGS=-lLLVM</parameter>: This environment variable
261 specifies the LLVM libraries that are not automatically included
262 for some of the package components.
263 </para>
264-->
265<!--
266 <para>
267 <parameter>- -enable-texture-float</parameter>: This switch enables
268 floating-point textures and render buffers. Please consult
269 <filename>docs/patents.txt</filename> to see if there are
270 any legal issues if you use this feature.
271 </para>
272 Removed in 18.2.0
273-->
274<!--
275 <para>
276 <parameter>-Dosmesa=gallium</parameter>: This switch enables building
277 the <filename class="libraryfile">libOSMesa</filename> library.
278 </para>
279
280 <para>
281 <parameter>- -enable-xa</parameter>: This switch enables building the
282 XA X Acceleration API (Required for VMware 3D Driver).
283 </para>
284
285 <para>
286 <parameter>- -enable-gbm</parameter>: This switch enables building the
287 <application>Mesa</application> Graphics Buffer Manager library.
288 </para>
289
290 <para>
291 <parameter>- -enable-glx-tls</parameter>: This switch enables TLS (Thread Local
292 Storage) support in GLX.
293 </para>
294-->
295 <para>
296 <parameter>-Dplatforms="..."</parameter>: This parameter
297 controls which platforms EGL will be built for. Available
298 platforms are drm, x11, surfaceless, haiku, android, and wayland.
299 </para>
300
301 <para>
302 <parameter>=-Dgallium-drivers="..."</parameter>: This parameter
303 controls which Gallium3D drivers should be built. Available drivers
304 are pl111, radeonsi, r300, r600, nouveau, and freedreno.
305 </para>
306
307 <para>
308 <parameter>=-Ddri-drivers="..."</parameter>: This parameter
309 controls which platforms should be supported. Available platforms
310 are i915, i965, r100, r200, nouveau, and swrast.
311 </para>
312
313 </sect2>
314
315 <sect2 role="content">
316 <title>Contents</title>
317
318 <segmentedlist>
319 <segtitle>Installed Programs</segtitle>
320 <segtitle>Installed Libraries</segtitle>
321 <segtitle>Installed Directories</segtitle>
322
323 <seglistitem>
324 <seg>
325 glxgears and glxinfo
326 </seg>
327 <seg>
328 <!-- Begin DRI drivers -->
329 d3dadapter9.so, <!-- For Windows? This is DirectX's Direct3D -->
330 i915_dri.so,
331 i965_dri.so,
332 kms_swrast_dri.so,
333 nouveau_dri.so,
334 nouveau_vieux_dri.so,
335 radeonsi_dri.so,
336 radeonsi_drv_video.so,
337 swrast_dri.so,
338 vmwgfx_dri.so
339 <!-- End DRI Drivers -->
340 libEGL.so,
341 libGL.so,
342 libGLESv1_CM.so,
343 libGLESv2.so,
344 libOSMesa.so,
345 libXvMCnouveau.so,
346 libgbm.so,
347 libglapi.so,
348 <!-- Begin Vulkan drivers -->
349 libvulkan_intel.so,
350 libvulkan_radeon.so,
351 <!-- End Vulkan drivers -->
352 libxatracker.so,
353 <!-- Begin VDPAU drivers -->
354 libvdpau_nouveau.so, and
355 libvdpau_radeonsi.so
356 <!-- End VDPAU drivers -->
357 </seg>
358 <seg>
359 $XORG_PREFIX/{include/{EGL,GL,GLES,GLES2,GLES3,KHR,vulkan},lib/{d3d,dri,vdpau}}
360 and
361 /usr/share/doc/mesa-&mesa-version; (optional)
362 </seg>
363 </seglistitem>
364 </segmentedlist>
365
366 <variablelist>
367 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
368 <?dbfo list-presentation="list"?>
369 <?dbhtml list-presentation="table"?>
370
371 <varlistentry id="glxgears">
372 <term><command>glxgears</command></term>
373 <listitem>
374 <para>
375 is a GL demo useful for troubleshooting graphics
376 problems.
377 </para>
378 <indexterm zone="mesa glxgears">
379 <primary sortas="b-glxgears">glxgears</primary>
380 </indexterm>
381 </listitem>
382 </varlistentry>
383
384 <varlistentry id="glxinfo">
385 <term><command>glxinfo</command></term>
386 <listitem>
387 <para>
388 is a diagnostic program that displays information about the
389 graphics hardware and installed GL libraries.
390 </para>
391 <indexterm zone="mesa glxinfo">
392 <primary sortas="b-glxinfo">glxinfo</primary>
393 </indexterm>
394 </listitem>
395 </varlistentry>
396
397 <varlistentry id="libEGL">
398 <term><filename class="libraryfile">libEGL.so</filename></term>
399 <listitem>
400 <para>
401 provides a native platform graphics interface as
402 defined by the EGL-1.4 specification.
403 </para>
404 <indexterm zone="mesa libEGL">
405 <primary sortas="c-libGL">libEGL.so</primary>
406 </indexterm>
407 </listitem>
408 </varlistentry>
409
410 <varlistentry id="libgbm">
411 <term><filename class="libraryfile">libgbm.so</filename></term>
412 <listitem>
413 <para>
414 is the <application>Mesa</application> Graphics Buffer
415 Manager library.
416 </para>
417 <indexterm zone="mesa libgbm">
418 <primary sortas="c-libgbm">libgbm.so</primary>
419 </indexterm>
420 </listitem>
421 </varlistentry>
422
423 <varlistentry id="libGLESv1_CM">
424 <term><filename class="libraryfile">libGLESv1_CM.so</filename></term>
425 <listitem>
426 <para>
427 is the <application>Mesa</application> OpenGL ES 1.1 library.
428 </para>
429 <indexterm zone="mesa libGLESv1_CM">
430 <primary sortas="c-libGLESv1_CM">libGLESv1_CM.so</primary>
431 </indexterm>
432 </listitem>
433 </varlistentry>
434
435 <varlistentry id="libGLES2">
436 <term><filename class="libraryfile">libGLES2.so</filename></term>
437 <listitem>
438 <para>
439 is the <application>Mesa</application> OpenGL ES 2.0 library.
440 </para>
441 <indexterm zone="mesa libGLES2">
442 <primary sortas="c-libGLES2">libGLES2.so</primary>
443 </indexterm>
444 </listitem>
445 </varlistentry>
446
447 <varlistentry id="libGL">
448 <term><filename class="libraryfile">libGL.so</filename></term>
449 <listitem>
450 <para>
451 is the main <application>Mesa</application> OpenGL library.
452 </para>
453 <indexterm zone="mesa libGL">
454 <primary sortas="c-libGL">libGL.so</primary>
455 </indexterm>
456 </listitem>
457 </varlistentry>
458
459 <varlistentry id="libOSMesa">
460 <term><filename class="libraryfile">libOSMesa.so</filename></term>
461 <listitem>
462 <para>
463 is the <application>Mesa</application> Off-screen Rendering library.
464 </para>
465 <indexterm zone="mesa libOSMesa">
466 <primary sortas="c-libOSMesa">libOSMesa.so</primary>
467 </indexterm>
468 </listitem>
469 </varlistentry>
470
471 </variablelist>
472
473 </sect2>
474
475</sect1>
Note: See TracBrowser for help on using the repository browser.