source: x/installing/mesa.xml@ d92a976f

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 d92a976f was d92a976f, checked in by Bruce Dubbs <bdubbs@…>, 6 years ago

Update to libqmi-1.20.0.
Update to libmbim-1.16.0.
Update to mesa-17.3.3.

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

  • Property mode set to 100644
File size: 14.8 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 "139b5f608b371c0d4395596162f88791">
10 <!ENTITY mesa-size "10 MB">
11 <!ENTITY mesa-buildsize "368 MB (with demos and docs, add 68 MB for tests)">
12 <!ENTITY mesa-time "4.0 SBU (with parallelism=4, demos, and docs; add 0.9 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 &lfs81_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 <xref role="nodep"
119 linkend='plasma5-build'/>,
120 <xref role="nodep" linkend='lxqt'/>, GNOME, and recommended for
121 <xref role="nodep" linkend='gtk3'/>)
122 </para>
123
124 <bridgehead renderas="sect4">Optional</bridgehead>
125 <para role="optional">
126 <xref linkend="libgcrypt"/>,
127 <xref linkend="nettle"/>,
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 <application>elfutils</application>
139 and <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 them. 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-1.patch</userinput></screen>
161
162 <!-- Note that freedreno, vc4, and virgl all need special support from
163 libdrm - renodr -->
164 <para>Now, select the drivers you wish to install. The available drivers
165 are i915, nouveau, r300, r600, radeonsi, freedreno, svga, swrast, vc4,
166 and virgl. If the Gallium drivers are not specified, the default is
167 'r300,r600,svga,swrast'. Modify the command below for any desired drivers.
168 The listed drivers below will cover most modern video cards. For help in
169 selecting drivers see
170 <ulink url='http://www.mesa3d.org/systems.html'/>.</para>
171
172<screen><userinput>GLL_DRV="i915,r600,nouveau,radeonsi,svga,swrast"</userinput></screen>
173
174 <para>
175 Install <application>Mesa</application> by running the following
176 commands:
177 </para>
178
179<screen><userinput>./configure CFLAGS='-O2' CXXFLAGS='-O2' LDFLAGS=-lLLVM \
180 --prefix=$XORG_PREFIX \
181 --sysconfdir=/etc \
182 --enable-texture-float \
183 --enable-osmesa \
184 --enable-xa \
185 --enable-glx-tls \
186 --with-platforms="drm,x11,wayland" \
187 --with-gallium-drivers=$GLL_DRV &amp;&amp;
188
189unset GLL_DRV &amp;&amp;
190
191make</userinput></screen>
192
193 <para>
194 If you have applied the xdemos patch, build the demo programs by
195 running the following command:
196 </para>
197
198<screen><userinput>make -C xdemos DEMOS_PREFIX=$XORG_PREFIX</userinput></screen>
199
200 <para>
201 To test the results, issue: <command>make check</command>.
202 </para>
203
204 <para>
205 Now, as the <systemitem class="username">root</systemitem> user:
206 </para>
207
208<screen role="root"><userinput>make install</userinput></screen>
209
210 <para>
211 If you have built the demo programs, install them by running the
212 following command as the
213 <systemitem class="username">root</systemitem> user:
214 </para>
215
216<screen role="root"><userinput>make -C xdemos DEMOS_PREFIX=$XORG_PREFIX install</userinput></screen>
217
218 <para>
219 If desired, install the optional documentation by running
220 the following commands as the
221 <systemitem class="username">root</systemitem> user:
222 </para>
223
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>
226
227 </sect2>
228
229 <sect2 role="commands">
230 <title>Command Explanations</title>
231
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
236 debugging symbols which make them bigger. Override the default
237 flags to omit the -g compiler flag so the final libraries are smaller.
238 </para>
239
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>
245
246 <para>
247 <parameter>--enable-texture-float</parameter>: This switch enables
248 floating-point textures and render buffers. Please consult
249 <filename>docs/patents.txt</filename> to see if there are
250 any legal issues if you use this feature.
251 </para>
252
253 <para>
254 <parameter>--enable-osmesa</parameter>: This switch enables building
255 the <filename class="libraryfile">libOSMesa</filename> library.
256 </para>
257
258 <para>
259 <parameter>--enable-xa</parameter>: This switch enables building the
260 XA X Acceleration API (Required for VMware 3D Driver).
261 </para>
262
263 <para>
264 <parameter>--enable-gbm</parameter>: This switch enables building the
265 <application>Mesa</application> Graphics Buffer Manager library.
266 </para>
267
268 <para>
269 <parameter>--enable-glx-tls</parameter>: This switch enables TLS (Thread Local
270 Storage) support in GLX.
271 </para>
272
273 <para>
274 <parameter>--with-platforms="..."</parameter>: This parameter
275 controls which platforms EGL will be built for. Available
276 platforms are drm, x11 and wayland.
277 </para>
278
279 <para>
280 <parameter>--with-gallium-drivers="..."</parameter>: This parameter
281 controls which Gallium3D drivers should be built.
282 </para>
283
284 <para revision="sysv">
285 <option>--enable-sysfs</option>: Use this switch to enable simple PCI
286 identification method, required for building DRI on systems without udev.
287 </para>
288
289 </sect2>
290
291 <sect2 role="content">
292 <title>Contents</title>
293
294 <segmentedlist>
295 <segtitle>Installed Programs</segtitle>
296 <segtitle>Installed Libraries</segtitle>
297 <segtitle>Installed Directories</segtitle>
298
299 <seglistitem>
300 <seg>
301 glxgears and glxinfo
302 </seg>
303 <seg>
304 libEGL.so,
305 libgbm.so,
306 libglapi.so,
307 libGLESv1_CM.so,
308 libGLESv2.so,
309 libGL.so,
310 libOSMesa.so,
311<!-- Those libraries are associated with the "swr" gallium driver,
312 which has been removed at r17757. Keeping as a comment in case we
313 reintroduce that driver.
314 libswrAVX.so,
315 libswrAVX2.so,-->
316 libwayland-egl.so (if built with <application>Wayland</application>)
317 libxatracker.so,
318 libXvMCnouveau.so,
319 and libXvMCr600.so
320 </seg>
321 <seg>
322 $XORG_PREFIX/{include/{EGL,GL,GLES,GLES2,GLES3,KHR},lib/{dri,vdpau}}
323 and
324 /usr/share/doc/mesa-&mesa-version; (optional)
325 </seg>
326 </seglistitem>
327 </segmentedlist>
328
329 <variablelist>
330 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
331 <?dbfo list-presentation="list"?>
332 <?dbhtml list-presentation="table"?>
333
334 <varlistentry id="glxgears">
335 <term><command>glxgears</command></term>
336 <listitem>
337 <para>
338 is a GL demo useful for troubleshooting graphics
339 problems.
340 </para>
341 <indexterm zone="mesa glxgears">
342 <primary sortas="b-glxgears">glxgears</primary>
343 </indexterm>
344 </listitem>
345 </varlistentry>
346
347 <varlistentry id="glxinfo">
348 <term><command>glxinfo</command></term>
349 <listitem>
350 <para>
351 is a diagnostic program that displays information about the
352 graphics hardware and installed GL libraries.
353 </para>
354 <indexterm zone="mesa glxinfo">
355 <primary sortas="b-glxinfo">glxinfo</primary>
356 </indexterm>
357 </listitem>
358 </varlistentry>
359
360 <varlistentry id="libEGL">
361 <term><filename class="libraryfile">libEGL.so</filename></term>
362 <listitem>
363 <para>
364 provides a native platform graphics interface as
365 defined by the EGL-1.4 specification.
366 </para>
367 <indexterm zone="mesa libEGL">
368 <primary sortas="c-libGL">libEGL.so</primary>
369 </indexterm>
370 </listitem>
371 </varlistentry>
372
373 <varlistentry id="libgbm">
374 <term><filename class="libraryfile">libgbm.so</filename></term>
375 <listitem>
376 <para>
377 is the <application>Mesa</application> Graphics Buffer
378 Manager library.
379 </para>
380 <indexterm zone="mesa libgbm">
381 <primary sortas="c-libgbm">libgbm.so</primary>
382 </indexterm>
383 </listitem>
384 </varlistentry>
385
386 <varlistentry id="libGLESv1_CM">
387 <term><filename class="libraryfile">libGLESv1_CM.so</filename></term>
388 <listitem>
389 <para>
390 is the <application>Mesa</application> OpenGL ES 1.1 library.
391 </para>
392 <indexterm zone="mesa libGLESv1_CM">
393 <primary sortas="c-libGLESv1_CM">libGLESv1_CM.so</primary>
394 </indexterm>
395 </listitem>
396 </varlistentry>
397
398 <varlistentry id="libGLES2">
399 <term><filename class="libraryfile">libGLES2.so</filename></term>
400 <listitem>
401 <para>
402 is the <application>Mesa</application> OpenGL ES 2.0 library.
403 </para>
404 <indexterm zone="mesa libGLES2">
405 <primary sortas="c-libGLES2">libGLES2.so</primary>
406 </indexterm>
407 </listitem>
408 </varlistentry>
409
410 <varlistentry id="libGL">
411 <term><filename class="libraryfile">libGL.so</filename></term>
412 <listitem>
413 <para>
414 is the main <application>Mesa</application> OpenGL library.
415 </para>
416 <indexterm zone="mesa libGL">
417 <primary sortas="c-libGL">libGL.so</primary>
418 </indexterm>
419 </listitem>
420 </varlistentry>
421
422 <varlistentry id="libOSMesa">
423 <term><filename class="libraryfile">libOSMesa.so</filename></term>
424 <listitem>
425 <para>
426 is the <application>Mesa</application> Off-screen Rendering library.
427 </para>
428 <indexterm zone="mesa libOSMesa">
429 <primary sortas="c-libOSMesa">libOSMesa.so</primary>
430 </indexterm>
431 </listitem>
432 </varlistentry>
433
434 <varlistentry id="libxatracker">
435 <term><filename class="libraryfile">libxatracker.so</filename></term>
436 <listitem>
437 <para>
438 is the Xorg Gallium3D acceleration library.
439 </para>
440 <indexterm zone="mesa libxatracker">
441 <primary sortas="c-libxatracker">libxatracker.so</primary>
442 </indexterm>
443 </listitem>
444 </varlistentry>
445 </variablelist>
446
447 </sect2>
448
449</sect1>
Note: See TracBrowser for help on using the repository browser.