source: x/installing/mesa.xml@ e84b992c

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 8.4 9.0 9.1 bdubbs/svn elogind 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 e84b992c was 1613ba5, checked in by Bruce Dubbs <bdubbs@…>, 6 years ago

Update to lxml-4.2.5 (Python module).
Update to mesa-18.2.0.
Update to vlc-3.0.4.

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

  • Property mode set to 100644
File size: 14.9 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 "88e1a7f31f259cec69bb76b3cb10c956">
10 <!ENTITY mesa-size "11 MB">
11 <!ENTITY mesa-buildsize "352 MB (with demos and docs, add 42 MB for tests)">
12 <!ENTITY mesa-time "2.3 SBU (with parallelism=4, demos, and docs; add 1.0 SBU for tests)">
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 &lfs83_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-1.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"/>,
100 <xref linkend="Mako"/>, and
101 <xref linkend="python2"/>
102 </para>
103
104 <bridgehead renderas="sect4">Recommended</bridgehead>
105 <para role="recommended">
106 <!-- <xref linkend="elfutils"/> (required for the radeonsi driver), -->
107
108 <phrase revision="systemd"><xref linkend="libva"/> (to build drivers for
109 supported hardware, note that there is a circular dependency. You must
110 build <application>libva</application> first without EGL and GLX support,
111 install this package, and rebuild <application>libva</application>.),</phrase>
112
113 <xref linkend="libvdpau"/> (to build VDPAU drivers),
114
115 <xref linkend="llvm"/> (required for Gallium3D, r300, and radeonsi
116 drivers and for the llvmpipe software rasterizer. See <ulink role="nodep"
117 url="http://www.mesa3d.org/systems.html"/> for more information), and
118 <xref linkend="wayland-protocols"/> (required for
119 <xref role="nodep" linkend='plasma5-build'/>,
120 <!-- <xref role="nodep" linkend='lxqt'/>, -->
121 GNOME, and
122 recommended for <xref role="nodep" linkend='gtk3'/>)
123 </para>
124
125 <bridgehead renderas="sect4">Optional</bridgehead>
126 <para role="optional">
127 <xref linkend="libgcrypt"/>,
128 <xref linkend="nettle"/>,
129 <ulink url="ftp://ftp.freedesktop.org/pub/mesa/demos/">mesa-demos</ulink>
130 (provides more than 300 extra demos to test
131 <application>Mesa</application>; this includes the same programs added by
132 the patch above), and
133 <ulink url="http://omxil.sourceforge.net/">Bellagio OpenMAX Integration
134 Layer</ulink> (for mobile platforms)
135 </para>
136
137 <note>
138 <para>
139 The instructions below assume that <!-- <application>elfutils</application>
140 and --> <application>LLVM</application> with the r600/amdgpu and host
141 backends are installed. You will need to modify the instructions if you
142 choose not to install it. For an explanation of Gallium3D see
143 <ulink url="https://en.wikipedia.org/wiki/Gallium3D"/>.
144 </para>
145 </note>
146
147 <para condition="html" role="usernotes">User Notes:
148 <ulink url="&blfs-wiki;/mesa"/>
149 </para>
150 </sect2>
151
152 <sect2 role="installation">
153 <title>Installation of Mesa</title>
154
155 <para>
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:
159 </para>
160
161<screen><userinput>patch -Np1 -i ../mesa-&mesa-version;-add_xdemos-1.patch</userinput></screen>
162
163 <!-- Note that freedreno, vc4, and virgl all need special support from
164 libdrm - renodr -->
165
166 <para>Now, select the drivers you wish to install. The available drivers
167 are i915, nouveau, r300, r600, radeonsi, freedreno, pl111, svga, swrast,
168 swr, tegra, v3d, vc4, virgl, etnaviv, and imx. If the Gallium drivers are
169 not specified, the default is 'r300,r600,svga,swrast'. Modify the command
170 below for any desired drivers. The listed drivers below will cover most
171 modern video cards. For help in selecting drivers see <ulink
172 url='http://www.mesa3d.org/systems.html'/>.</para>
173
174<screen><userinput>GLL_DRV="i915,r600,nouveau,radeonsi,svga,swrast"</userinput></screen>
175
176 <para>
177 Install <application>Mesa</application> by running the following
178 commands:
179 </para>
180
181<screen><userinput>./configure CFLAGS='-O2' CXXFLAGS='-O2' LDFLAGS=-lLLVM \
182 --prefix=$XORG_PREFIX \
183 --sysconfdir=/etc \
184 --enable-texture-float \
185 --enable-osmesa \
186 --enable-xa \
187 --enable-glx-tls \
188 --with-platforms="drm,x11,wayland" \
189 --with-gallium-drivers=$GLL_DRV &amp;&amp;
190
191unset GLL_DRV &amp;&amp;
192
193make</userinput></screen>
194
195 <para>
196 If you have applied the xdemos patch, build the demo programs by
197 running the following command:
198 </para>
199
200<screen><userinput>make -C xdemos DEMOS_PREFIX=$XORG_PREFIX</userinput></screen>
201
202 <para>
203 To test the results, issue: <command>make -k check</command>.
204 </para>
205
206 <para>
207 Now, as the <systemitem class="username">root</systemitem> user:
208 </para>
209
210<screen role="root"><userinput>make install</userinput></screen>
211
212 <para>
213 If you have built the demo programs, install them by running the
214 following command as the
215 <systemitem class="username">root</systemitem> user:
216 </para>
217
218<screen role="root"><userinput>make -C xdemos DEMOS_PREFIX=$XORG_PREFIX install</userinput></screen>
219
220 <para>
221 If desired, install the optional documentation by running
222 the following commands as the
223 <systemitem class="username">root</systemitem> user:
224 </para>
225
226<screen role="root"><userinput>install -v -dm755 /usr/share/doc/mesa-&mesa-version; &amp;&amp;
227cp -rfv docs/* /usr/share/doc/mesa-&mesa-version;</userinput></screen>
228
229 </sect2>
230
231 <sect2 role="commands">
232 <title>Command Explanations</title>
233
234 <para>
235 <parameter>CFLAGS="-O2" CXXFLAGS="-O2"</parameter>: By default,
236 <application>Autoconf</application> sets CFLAGS and CXXFLAGS to
237 "-g -O2". That results in binaries and libraries being built with
238 debugging symbols which make them bigger. Override the default
239 flags to omit the -g compiler flag so the final libraries are smaller.
240 </para>
241
242 <para>
243 <parameter>LDFLAGS=-lLLVM</parameter>: This environment variable
244 specifies the LLVM libraries that are not automatically included
245 for some of the package components.
246 </para>
247
248 <para>
249 <parameter>--enable-texture-float</parameter>: This switch enables
250 floating-point textures and render buffers. Please consult
251 <filename>docs/patents.txt</filename> to see if there are
252 any legal issues if you use this feature.
253 </para>
254
255 <para>
256 <parameter>--enable-osmesa</parameter>: This switch enables building
257 the <filename class="libraryfile">libOSMesa</filename> library.
258 </para>
259
260 <para>
261 <parameter>--enable-xa</parameter>: This switch enables building the
262 XA X Acceleration API (Required for VMware 3D Driver).
263 </para>
264
265 <para>
266 <parameter>--enable-gbm</parameter>: This switch enables building the
267 <application>Mesa</application> Graphics Buffer Manager library.
268 </para>
269
270 <para>
271 <parameter>--enable-glx-tls</parameter>: This switch enables TLS (Thread Local
272 Storage) support in GLX.
273 </para>
274
275 <para>
276 <parameter>--with-platforms="..."</parameter>: This parameter
277 controls which platforms EGL will be built for. Available
278 platforms are drm, x11 and wayland.
279 </para>
280
281 <para>
282 <parameter>--with-gallium-drivers="..."</parameter>: This parameter
283 controls which Gallium3D drivers should be built.
284 </para>
285
286 <para revision="sysv">
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
291 </sect2>
292
293 <sect2 role="content">
294 <title>Contents</title>
295
296 <segmentedlist>
297 <segtitle>Installed Programs</segtitle>
298 <segtitle>Installed Libraries</segtitle>
299 <segtitle>Installed Directories</segtitle>
300
301 <seglistitem>
302 <seg>
303 glxgears and glxinfo
304 </seg>
305 <seg>
306 libEGL.so,
307 libgbm.so,
308 libglapi.so,
309 libGLESv1_CM.so,
310 libGLESv2.so,
311 libGL.so,
312 libOSMesa.so,
313<!-- Those libraries are associated with the "swr" gallium driver,
314 which has been removed at r17757. Keeping as a comment in case we
315 reintroduce that driver. AVX libs are restored in version 18.0.1 -->
316 libswrAVX.so,
317 libswrAVX2.so,
318 libwayland-egl.so (if built with <application>Wayland</application>)
319 libxatracker.so,
320 libXvMCnouveau.so,
321 and libXvMCr600.so
322 </seg>
323 <seg>
324 $XORG_PREFIX/{include/{EGL,GL,GLES,GLES2,GLES3,KHR},lib/{dri,vdpau}}
325 and
326 /usr/share/doc/mesa-&mesa-version; (optional)
327 </seg>
328 </seglistitem>
329 </segmentedlist>
330
331 <variablelist>
332 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
333 <?dbfo list-presentation="list"?>
334 <?dbhtml list-presentation="table"?>
335
336 <varlistentry id="glxgears">
337 <term><command>glxgears</command></term>
338 <listitem>
339 <para>
340 is a GL demo useful for troubleshooting graphics
341 problems.
342 </para>
343 <indexterm zone="mesa glxgears">
344 <primary sortas="b-glxgears">glxgears</primary>
345 </indexterm>
346 </listitem>
347 </varlistentry>
348
349 <varlistentry id="glxinfo">
350 <term><command>glxinfo</command></term>
351 <listitem>
352 <para>
353 is a diagnostic program that displays information about the
354 graphics hardware and installed GL libraries.
355 </para>
356 <indexterm zone="mesa glxinfo">
357 <primary sortas="b-glxinfo">glxinfo</primary>
358 </indexterm>
359 </listitem>
360 </varlistentry>
361
362 <varlistentry id="libEGL">
363 <term><filename class="libraryfile">libEGL.so</filename></term>
364 <listitem>
365 <para>
366 provides a native platform graphics interface as
367 defined by the EGL-1.4 specification.
368 </para>
369 <indexterm zone="mesa libEGL">
370 <primary sortas="c-libGL">libEGL.so</primary>
371 </indexterm>
372 </listitem>
373 </varlistentry>
374
375 <varlistentry id="libgbm">
376 <term><filename class="libraryfile">libgbm.so</filename></term>
377 <listitem>
378 <para>
379 is the <application>Mesa</application> Graphics Buffer
380 Manager library.
381 </para>
382 <indexterm zone="mesa libgbm">
383 <primary sortas="c-libgbm">libgbm.so</primary>
384 </indexterm>
385 </listitem>
386 </varlistentry>
387
388 <varlistentry id="libGLESv1_CM">
389 <term><filename class="libraryfile">libGLESv1_CM.so</filename></term>
390 <listitem>
391 <para>
392 is the <application>Mesa</application> OpenGL ES 1.1 library.
393 </para>
394 <indexterm zone="mesa libGLESv1_CM">
395 <primary sortas="c-libGLESv1_CM">libGLESv1_CM.so</primary>
396 </indexterm>
397 </listitem>
398 </varlistentry>
399
400 <varlistentry id="libGLES2">
401 <term><filename class="libraryfile">libGLES2.so</filename></term>
402 <listitem>
403 <para>
404 is the <application>Mesa</application> OpenGL ES 2.0 library.
405 </para>
406 <indexterm zone="mesa libGLES2">
407 <primary sortas="c-libGLES2">libGLES2.so</primary>
408 </indexterm>
409 </listitem>
410 </varlistentry>
411
412 <varlistentry id="libGL">
413 <term><filename class="libraryfile">libGL.so</filename></term>
414 <listitem>
415 <para>
416 is the main <application>Mesa</application> OpenGL library.
417 </para>
418 <indexterm zone="mesa libGL">
419 <primary sortas="c-libGL">libGL.so</primary>
420 </indexterm>
421 </listitem>
422 </varlistentry>
423
424 <varlistentry id="libOSMesa">
425 <term><filename class="libraryfile">libOSMesa.so</filename></term>
426 <listitem>
427 <para>
428 is the <application>Mesa</application> Off-screen Rendering library.
429 </para>
430 <indexterm zone="mesa libOSMesa">
431 <primary sortas="c-libOSMesa">libOSMesa.so</primary>
432 </indexterm>
433 </listitem>
434 </varlistentry>
435
436 <varlistentry id="libxatracker">
437 <term><filename class="libraryfile">libxatracker.so</filename></term>
438 <listitem>
439 <para>
440 is the Xorg Gallium3D acceleration library.
441 </para>
442 <indexterm zone="mesa libxatracker">
443 <primary sortas="c-libxatracker">libxatracker.so</primary>
444 </indexterm>
445 </listitem>
446 </varlistentry>
447 </variablelist>
448
449 </sect2>
450
451</sect1>
Note: See TracBrowser for help on using the repository browser.