source: x/installing/mesa.xml@ 2535d7fd

elogind
Last change on this file since 2535d7fd was 2535d7fd, checked in by DJ Lucas <dj@…>, 5 years ago

Merge to HEAD 21327.

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

  • Property mode set to 100644
File size: 14.7 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-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"/>, 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 <ulink url="ftp://ftp.freedesktop.org/pub/mesa/demos/">mesa-demos</ulink>
128 (provides more than 300 extra demos to test
129 <application>Mesa</application>; this includes the same programs added by
130 the patch above), and
131 <ulink url="http://omxil.sourceforge.net/">Bellagio OpenMAX Integration
132 Layer</ulink> (for mobile platforms)
133 </para>
134
135 <note>
136 <para>
137 The instructions below assume that <!-- <application>elfutils</application>
138 and --> <application>LLVM</application> with the r600/amdgpu and host
139 backends are installed. You will need to modify the instructions if you
140 choose not to install it. For an explanation of Gallium3D see
141 <ulink url="https://en.wikipedia.org/wiki/Gallium3D"/>.
142 </para>
143 </note>
144
145 <para condition="html" role="usernotes">User Notes:
146 <ulink url="&blfs-wiki;/mesa"/>
147 </para>
148 </sect2>
149
150 <sect2 role="installation">
151 <title>Installation of Mesa</title>
152
153 <para>
154 If you have downloaded the xdemos patch (needed if testing the Xorg
155 installation per BLFS instructions), apply it by running the following
156 command:
157 </para>
158
159<screen><userinput>patch -Np1 -i ../mesa-&mesa-version;-add_xdemos-1.patch</userinput></screen>
160
161 <!-- Note that freedreno, vc4, and virgl all need special support from
162 libdrm - renodr -->
163
164 <para>Now, select the drivers you wish to install. The gallium available
165 drivers are pl111, radeonsi, r300, r600, nouveau, and freedreno. The DRI
166 drivers available are i915, i965, r100, r200, nouveau, and swrast. The
167 platforms available are x11, wayland, drm, surfaceless, haiku, and android.
168
169 Modify the commands
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>GALLIUM_DRV="i915,nouveau,radeonsi,svga,swrast"
175DRI_DRIVERS="i915,i965,nouveau"
176PLATFORMS="x11,wayland,drm"</userinput></screen>
177
178 <para>
179 Install <application>Mesa</application> by running the following
180 commands:
181 </para>
182
183<screen><userinput>mkdir build &amp;&amp;
184cd build &amp;&amp;
185
186meson --prefix=$XORG_PREFIX \
187 --sysconfdir=/etc \
188 -Dvalgrind=false \
189 -Dglx=dri \
190 -Dosmesa=gallium \
191 -Dgallium-nine=true \
192 -Ddri-drivers=$DRI_DRIVERS \
193 -Dgallium-drivers=$GALLIUM_DRV \
194 -Dplatforms=$PLATFORMS \
195 .. &amp;&amp;
196
197unset GALLIUM_DRV DRI_DRIVERS PLATFORMS &amp;&amp;
198
199ninja</userinput></screen>
200
201 <para>
202 If you have applied the xdemos patch, build the demo programs by
203 running the following command:
204 </para>
205
206<screen><userinput>make -C ../xdemos DEMOS_PREFIX=$XORG_PREFIX</userinput></screen>
207<!--
208 <para>
209 To test the results, issue: <command>make -k check</command>.
210 </para>
211-->
212 <para>
213 This package does not come with a test suite.
214 </para>
215
216 <para>
217 Now, as the <systemitem class="username">root</systemitem> user:
218 </para>
219
220<screen role="root"><userinput>ninja install</userinput></screen>
221
222 <para>
223 If you have built the demo programs, install them by running the
224 following command as the
225 <systemitem class="username">root</systemitem> user:
226 </para>
227
228<screen role="root"><userinput>make -C ../xdemos DEMOS_PREFIX=$XORG_PREFIX install</userinput></screen>
229
230 <para>
231 If desired, install the optional documentation by running
232 the following commands as the
233 <systemitem class="username">root</systemitem> user:
234 </para>
235
236<screen role="root"><userinput>install -v -dm755 /usr/share/doc/mesa-&mesa-version; &amp;&amp;
237cp -rfv ../docs/* /usr/share/doc/mesa-&mesa-version;</userinput></screen>
238
239 </sect2>
240
241 <sect2 role="commands">
242 <title>Command Explanations</title>
243<!--
244 <para>
245 <parameter>CFLAGS="-O2" CXXFLAGS="-O2"</parameter>: By default,
246 <application>Autoconf</application> sets CFLAGS and CXXFLAGS to
247 "-g -O2". That results in binaries and libraries being built with
248 debugging symbols which make them bigger. Override the default
249 flags to omit the -g compiler flag so the final libraries are smaller.
250 </para>
251
252 <para>
253 <parameter>LDFLAGS=-lLLVM</parameter>: This environment variable
254 specifies the LLVM libraries that are not automatically included
255 for some of the package components.
256 </para>
257-->
258<!--
259 <para>
260 <parameter>- -enable-texture-float</parameter>: This switch enables
261 floating-point textures and render buffers. Please consult
262 <filename>docs/patents.txt</filename> to see if there are
263 any legal issues if you use this feature.
264 </para>
265 Removed in 18.2.0
266-->
267<!--
268 <para>
269 <parameter>-Dosmesa=gallium</parameter>: This switch enables building
270 the <filename class="libraryfile">libOSMesa</filename> library.
271 </para>
272
273 <para>
274 <parameter>- -enable-xa</parameter>: This switch enables building the
275 XA X Acceleration API (Required for VMware 3D Driver).
276 </para>
277
278 <para>
279 <parameter>- -enable-gbm</parameter>: This switch enables building the
280 <application>Mesa</application> Graphics Buffer Manager library.
281 </para>
282
283 <para>
284 <parameter>- -enable-glx-tls</parameter>: This switch enables TLS (Thread Local
285 Storage) support in GLX.
286 </para>
287-->
288 <para>
289 <parameter>-Dplatforms="..."</parameter>: This parameter
290 controls which platforms EGL will be built for. Available
291 platforms are drm, x11, surfaceless, haiku, android, and wayland.
292 </para>
293
294 <para>
295 <parameter>=-Dgallium-drivers="..."</parameter>: This parameter
296 controls which Gallium3D drivers should be built. Available drivers
297 are pl111, radeonsi, r300, r600, nouveau, and freedreno.
298 </para>
299
300 <para>
301 <parameter>=-Ddri-drivers="..."</parameter>: This parameter
302 controls which platforms should be supported. Available platforms
303 are i915, i965, r100, r200, nouveau, and swrast.
304 </para>
305
306 </sect2>
307
308 <sect2 role="content">
309 <title>Contents</title>
310
311 <segmentedlist>
312 <segtitle>Installed Programs</segtitle>
313 <segtitle>Installed Libraries</segtitle>
314 <segtitle>Installed Directories</segtitle>
315
316 <seglistitem>
317 <seg>
318 glxgears and glxinfo
319 </seg>
320 <seg>
321 d3dadapter9.so,
322 i915_dri.so,
323 i965_dri.so,
324 kms_swrast_dri.so,
325 nouveau_dri.so,
326 nouveau_vieux_dri.so,
327 radeonsi_dri.so,
328 radeonsi_drv_video.so,
329 swrast_dri.so,
330 vmwgfx_dri.so
331 libEGL.so,
332 libGL.so,
333 libGLESv1_CM.so,
334 libGLESv2.so,
335 libOSMesa.so,
336 libXvMCnouveau.so,
337 libgbm.so,
338 libglapi.so,
339 libvulkan_intel.so,
340 libvulkan_radeon.so,
341 libxatracker.so,
342 libvdpau_nouveau.so, and
343 libvdpau_radeonsi.so
344 </seg>
345 <seg>
346 $XORG_PREFIX/{include/{EGL,GL,GLES,GLES2,GLES3,KHR,vulkan},lib/{d3d,dri,vdpau}}
347 and
348 /usr/share/doc/mesa-&mesa-version; (optional)
349 </seg>
350 </seglistitem>
351 </segmentedlist>
352
353 <variablelist>
354 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
355 <?dbfo list-presentation="list"?>
356 <?dbhtml list-presentation="table"?>
357
358 <varlistentry id="glxgears">
359 <term><command>glxgears</command></term>
360 <listitem>
361 <para>
362 is a GL demo useful for troubleshooting graphics
363 problems.
364 </para>
365 <indexterm zone="mesa glxgears">
366 <primary sortas="b-glxgears">glxgears</primary>
367 </indexterm>
368 </listitem>
369 </varlistentry>
370
371 <varlistentry id="glxinfo">
372 <term><command>glxinfo</command></term>
373 <listitem>
374 <para>
375 is a diagnostic program that displays information about the
376 graphics hardware and installed GL libraries.
377 </para>
378 <indexterm zone="mesa glxinfo">
379 <primary sortas="b-glxinfo">glxinfo</primary>
380 </indexterm>
381 </listitem>
382 </varlistentry>
383
384 <varlistentry id="libEGL">
385 <term><filename class="libraryfile">libEGL.so</filename></term>
386 <listitem>
387 <para>
388 provides a native platform graphics interface as
389 defined by the EGL-1.4 specification.
390 </para>
391 <indexterm zone="mesa libEGL">
392 <primary sortas="c-libGL">libEGL.so</primary>
393 </indexterm>
394 </listitem>
395 </varlistentry>
396
397 <varlistentry id="libgbm">
398 <term><filename class="libraryfile">libgbm.so</filename></term>
399 <listitem>
400 <para>
401 is the <application>Mesa</application> Graphics Buffer
402 Manager library.
403 </para>
404 <indexterm zone="mesa libgbm">
405 <primary sortas="c-libgbm">libgbm.so</primary>
406 </indexterm>
407 </listitem>
408 </varlistentry>
409
410 <varlistentry id="libGLESv1_CM">
411 <term><filename class="libraryfile">libGLESv1_CM.so</filename></term>
412 <listitem>
413 <para>
414 is the <application>Mesa</application> OpenGL ES 1.1 library.
415 </para>
416 <indexterm zone="mesa libGLESv1_CM">
417 <primary sortas="c-libGLESv1_CM">libGLESv1_CM.so</primary>
418 </indexterm>
419 </listitem>
420 </varlistentry>
421
422 <varlistentry id="libGLES2">
423 <term><filename class="libraryfile">libGLES2.so</filename></term>
424 <listitem>
425 <para>
426 is the <application>Mesa</application> OpenGL ES 2.0 library.
427 </para>
428 <indexterm zone="mesa libGLES2">
429 <primary sortas="c-libGLES2">libGLES2.so</primary>
430 </indexterm>
431 </listitem>
432 </varlistentry>
433
434 <varlistentry id="libGL">
435 <term><filename class="libraryfile">libGL.so</filename></term>
436 <listitem>
437 <para>
438 is the main <application>Mesa</application> OpenGL library.
439 </para>
440 <indexterm zone="mesa libGL">
441 <primary sortas="c-libGL">libGL.so</primary>
442 </indexterm>
443 </listitem>
444 </varlistentry>
445
446 <varlistentry id="libOSMesa">
447 <term><filename class="libraryfile">libOSMesa.so</filename></term>
448 <listitem>
449 <para>
450 is the <application>Mesa</application> Off-screen Rendering library.
451 </para>
452 <indexterm zone="mesa libOSMesa">
453 <primary sortas="c-libOSMesa">libOSMesa.so</primary>
454 </indexterm>
455 </listitem>
456 </varlistentry>
457
458 </variablelist>
459
460 </sect2>
461
462</sect1>
Note: See TracBrowser for help on using the repository browser.