source: x/installing/mesa.xml@ a02109f

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 8.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 a02109f was a02109f, checked in by Pierre Labastie <pieere@…>, 7 years ago

Error-0.17025
mesa-17.1.6

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

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