source: x/installing/mesa.xml@ f080ae0e

systemd-13485
Last change on this file since f080ae0e was f080ae0e, checked in by Douglas R. Reno <renodr@…>, 8 years ago

Merge to trunk r17352

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

  • Property mode set to 100644
File size: 13.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 " ">
8 <!ENTITY mesa-download-ftp "ftp://ftp.freedesktop.org/pub/mesa/&mesa-version;/mesa-&mesa-version;.tar.xz">
9 <!ENTITY mesa-md5sum "e0ec73f7273662a74366f0d76dd19ac3">
10 <!ENTITY mesa-size "7.3 MB">
11 <!ENTITY mesa-buildsize "317 MB (with tests and documentation)">
12 <!ENTITY mesa-time "2.8 SBU (with the test suite and documentation at -j4)">
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 &lfs79_checked;
38
39 <bridgehead renderas="sect3">Package Information</bridgehead>
40 <itemizedlist spacing="compact">
41 <listitem>
42 <para>
43 Download (HTTP): <ulink url="&mesa-download-http;"/>
44 </para>
45 </listitem>
46 <listitem>
47 <para>
48 Download (FTP): <ulink url="&mesa-download-ftp;"/>
49 </para>
50 </listitem>
51 <listitem>
52 <para>
53 Download MD5 sum: &mesa-md5sum;
54 </para>
55 </listitem>
56 <listitem>
57 <para>
58 Download size: &mesa-size;
59 </para>
60 </listitem>
61 <listitem>
62 <para>
63 Estimated disk space required: &mesa-buildsize;
64 </para>
65 </listitem>
66 <listitem>
67 <para>
68 Estimated build time: &mesa-time;
69 </para>
70 </listitem>
71 </itemizedlist>
72
73 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
74 <itemizedlist spacing="compact">
75 <listitem>
76 <para>
77 Recommended patch:
78 <ulink url="&patch-root;/mesa-&mesa-version;-add_xdemos-1.patch"/>
79 </para>
80 </listitem>
81 </itemizedlist>
82
83 <bridgehead renderas="sect3">Mesa Dependencies</bridgehead>
84
85 <bridgehead renderas="sect4">Required</bridgehead>
86 <para role="required">
87 <xref linkend="libdrm"/> and
88 <xref linkend="xorg7-lib"/>
89 </para>
90
91 <bridgehead renderas="sect4">Recommended</bridgehead>
92 <para role="recommended">
93 <xref linkend="elfutils"/> (required for Gallium3D radeonsi driver),
94 <xref linkend="libva"/> (to build VAAPI drivers for supported hardware),
95 <xref linkend="libvdpau"/> (to build VDPAU drivers for supported hardware),
96 <xref linkend="llvm"/> (required for Gallium3D r300 and radeonsi drivers and
97 also for llvmpipe which is intended to be the fastest of the three software
98 rasterizers, see <ulink url="http://www.mesa3d.org/faq.html#part3"></ulink>)
99 and <xref linkend="wayland"/> (required to build the
100 <filename>libwayland-egl</filename> library which is used by many packages
101 that use <application>Wayland</application>)
102 </para>
103
104 <bridgehead renderas="sect4">Optional</bridgehead>
105 <para role="optional">
106 <xref linkend="libgcrypt"/>,
107 <xref linkend="nettle"/>,
108 <ulink url="ftp://ftp.freedesktop.org/pub/mesa/demos/">mesa-demos</ulink>
109 (provides more than 300 extra demos to test <application>Mesa</application>
110 this includes the some of the same programs added by the patch above),
111 <ulink url="http://libclc.llvm.org/">libclc</ulink>
112 (to build Radeon OpenCL library), and
113 <ulink url="http://omxil.sourceforge.net/">libomxil-bellagio</ulink>
114 (to build Radeon OpenMAX driver)
115 </para>
116
117 <note>
118 <para>
119 The instructions below assume that <application>elfutils</application>
120 and <application>LLVM</application> are installed. You will
121 need to modify the instructions if you choose not to install them.
122 Please note that <application>elfutils</application> and
123 <application>LLVM</application> are <emphasis>required</emphasis>
124 for Gallium3D r300 and radeonsi drivers. For an explanation of
125 Gallium3D please see
126 <ulink url="https://en.wikipedia.org/wiki/Gallium3D"></ulink>.
127 </para>
128 </note>
129
130 <para condition="html" role="usernotes">User Notes:
131 <ulink url="&blfs-wiki;/mesa"/>
132 </para>
133 </sect2>
134
135 <sect2 role="installation">
136 <title>Installation of Mesa</title>
137
138 <para>
139 If you have downloaded the xdemos patch (needed if testing the Xorg
140 installation per BLFS instructions), apply it by running the following
141 command:
142 </para>
143
144<screen><userinput>patch -Np1 -i ../mesa-&mesa-version;-add_xdemos-1.patch</userinput></screen>
145
146 <para>
147 Install <application>Mesa</application> by running the following
148 commands:
149 </para>
150
151<screen><userinput>./configure CFLAGS="-O2" CXXFLAGS="-O2" \
152 --prefix=/usr \
153 --sysconfdir=/etc \
154 --enable-texture-float \
155 --enable-gles1 \
156 --enable-gles2 \
157 --enable-xa \
158 --enable-glx-tls \
159 --enable-osmesa \
160 --with-egl-platforms="drm,x11,wayland" \
161 --with-gallium-drivers="nouveau,r300,r600,radeonsi,svga,swrast" &amp;&amp;
162make</userinput></screen>
163
164 <para>
165 If you have applied the xdemos patch, build the demo programs by
166 running the following command:
167 </para>
168
169<screen><userinput>make -C xdemos DEMOS_PREFIX=/usr</userinput></screen>
170
171 <para>
172 To test the results, issue: <command>make check</command>.
173 </para>
174
175 <para>
176 Now, as the <systemitem class="username">root</systemitem> user:
177 </para>
178
179<screen role="root"><userinput>make install</userinput></screen>
180
181 <para>
182 If you have built the demo programs, install them by running the
183 following command as the
184 <systemitem class="username">root</systemitem> user:
185 </para>
186
187<screen role="root"><userinput>make -C xdemos DEMOS_PREFIX=/usr install</userinput></screen>
188
189 <para>
190 If desired, install the optional documentation by running
191 the following commands as the
192 <systemitem class="username">root</systemitem> user:
193 </para>
194
195<screen role="root"><userinput>install -v -dm755 /usr/share/doc/mesa-&mesa-version; &amp;&amp;
196cp -rfv docs/* /usr/share/doc/mesa-&mesa-version;</userinput></screen>
197
198 </sect2>
199
200 <sect2 role="commands">
201 <title>Command Explanations</title>
202
203 <para>
204 <parameter>CFLAGS="-O2" CXXFLAGS="-O2"</parameter>: By default,
205 <application>Autoconf</application> sets CFLAGS and CXXFLAGS to
206 "-g -O2". That results in binaries and libraries being built with
207 debugging symbols which make them bigger. Override the default
208 flags to omit -g compiler flag so the final libraries are smaller.
209 </para>
210
211 <para>
212 <parameter>--enable-texture-float</parameter>: This switch enables
213 floating-point textures and render buffers. Please consult
214 <filename>docs/patents.txt</filename> to see if there are
215 any legal issues if you use this feature.
216 </para>
217
218 <para>
219 <parameter>--enable-gles1</parameter>: This switch enables support for
220 OpenGL ES 1.x API.
221 </para>
222
223 <para>
224 <parameter>--enable-gles2</parameter>: This switch enables support for
225 OpenGL ES 2.x API.
226 </para>
227
228 <para>
229 <parameter>--enable-xa</parameter>: This switch enables building of the
230 XA X Acceleration API (Required for VMware 3D Driver).
231 </para>
232
233 <para>
234 <parameter>--enable-glx-tls</parameter>: This switch enables TLS (Thread
235 Local Storage) support in GLX.
236 </para>
237
238 <para>
239 <parameter>--enable-osmesa</parameter>: This switch enables building of
240 the libOSMesa library.
241 </para>
242
243 <para>
244 <parameter>--with-egl-platforms="..."</parameter>: This parameter
245 controls for which platforms EGL should be built. Available
246 platforms are drm, x11 and wayland. Remove <option>wayland</option>
247 from the list if you did not install
248 <application>Wayland</application>.
249 </para>
250
251 <para>
252 <parameter>--with-gallium-drivers="..."</parameter>: This parameter
253 controls which Gallium3D drivers should be built. Available drivers
254 are: i915, ilo, nouveau, r300, r600, radeonsi, svga and swrast. You
255 will need to remove r300 and radeonsi from the list if you did
256 not install <application>elfutils</application> and
257 <application>LLVM</application>.
258 </para>
259
260 </sect2>
261
262 <sect2 role="content">
263 <title>Contents</title>
264
265 <segmentedlist>
266 <segtitle>Installed Programs</segtitle>
267 <segtitle>Installed Libraries</segtitle>
268 <segtitle>Installed Directories</segtitle>
269
270 <seglistitem>
271 <seg>
272 glxgears and glxinfo
273 </seg>
274 <seg>
275 libEGL.so,
276 libgbm.so,
277 libglapi.so,
278 libGLESv1_CM.so,
279 libGLESv2.so,
280 libGL.so,
281 libOSMesa.so,
282 libwayland-egl.so,
283 libxatracker.so,
284 libXvMCnouveau.so, and
285 libXvMCr600.so
286 </seg>
287 <seg>
288 /usr/include/{EGL,GL,GLES},
289 /usr/include/{GLES2,GLES3,KHR},
290 /usr/lib/dri,
291 /usr/lib/vdpau, and
292 /usr/share/doc/mesa-&mesa-version;
293 </seg>
294 </seglistitem>
295 </segmentedlist>
296
297 <variablelist>
298 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
299 <?dbfo list-presentation="list"?>
300 <?dbhtml list-presentation="table"?>
301
302 <varlistentry id="glxgears">
303 <term><command>glxgears</command></term>
304 <listitem>
305 <para>
306 is a GL demo useful for troubleshooting graphics
307 problems.
308 </para>
309 <indexterm zone="mesa glxgears">
310 <primary sortas="b-glxgears">glxgears</primary>
311 </indexterm>
312 </listitem>
313 </varlistentry>
314
315 <varlistentry id="glxinfo">
316 <term><command>glxinfo</command></term>
317 <listitem>
318 <para>
319 is a diagnostic program that displays information about the
320 graphics hardware and installed GL libraries.
321 </para>
322 <indexterm zone="mesa glxinfo">
323 <primary sortas="b-glxinfo">glxinfo</primary>
324 </indexterm>
325 </listitem>
326 </varlistentry>
327
328 <varlistentry id="libEGL">
329 <term><filename class="libraryfile">libEGL.so</filename></term>
330 <listitem>
331 <para>
332 provides a native platform graphics interface as
333 defined by the EGL-1.4 specification.
334 </para>
335 <indexterm zone="mesa libEGL">
336 <primary sortas="c-libGL">libEGL.so</primary>
337 </indexterm>
338 </listitem>
339 </varlistentry>
340
341 <varlistentry id="libgbm">
342 <term><filename class="libraryfile">libgbm.so</filename></term>
343 <listitem>
344 <para>
345 is the <application>Mesa</application> Graphics Buffer
346 Manager library.
347 </para>
348 <indexterm zone="mesa libgbm">
349 <primary sortas="c-libgbm">libgbm.so</primary>
350 </indexterm>
351 </listitem>
352 </varlistentry>
353
354 <varlistentry id="libGLESv1_CM">
355 <term><filename class="libraryfile">libGLESv1_CM.so</filename></term>
356 <listitem>
357 <para>
358 is the <application>Mesa</application> OpenGL ES 1.1 library.
359 </para>
360 <indexterm zone="mesa libGLESv1_CM">
361 <primary sortas="c-libGLESv1_CM">libGLESv1_CM.so</primary>
362 </indexterm>
363 </listitem>
364 </varlistentry>
365
366 <varlistentry id="libGLES2">
367 <term><filename class="libraryfile">libGLES2.so</filename></term>
368 <listitem>
369 <para>
370 is the <application>Mesa</application> OpenGL ES 2.0 library.
371 </para>
372 <indexterm zone="mesa libGLES2">
373 <primary sortas="c-libGLES2">libGLES2.so</primary>
374 </indexterm>
375 </listitem>
376 </varlistentry>
377
378 <varlistentry id="libGL">
379 <term><filename class="libraryfile">libGL.so</filename></term>
380 <listitem>
381 <para>
382 is the main <application>Mesa</application> OpenGL library.
383 </para>
384 <indexterm zone="mesa libGL">
385 <primary sortas="c-libGL">libGL.so</primary>
386 </indexterm>
387 </listitem>
388 </varlistentry>
389
390 <varlistentry id="libOSMesa">
391 <term><filename class="libraryfile">libOSMesa.so</filename></term>
392 <listitem>
393 <para>
394 is the Mesa off screen rendering library.
395 </para>
396 <indexterm zone="mesa libOSMesa">
397 <primary sortas="c-libOSMesa">libOSMesa.so</primary>
398 </indexterm>
399 </listitem>
400 </varlistentry>
401
402 <varlistentry id="libwayland-egl">
403 <term><filename class="libraryfile">libwayland-egl.so</filename></term>
404 <listitem>
405 <para>
406 is the <application>Wayland</application> specific EGL library.
407 </para>
408 <indexterm zone="mesa libwayland-egl">
409 <primary sortas="c-libwayland-egl">libwayland-egl.so</primary>
410 </indexterm>
411 </listitem>
412 </varlistentry>
413
414 <varlistentry id="libxatracker">
415 <term><filename class="libraryfile">libxatracker.so</filename></term>
416 <listitem>
417 <para>
418 is the Xorg Gallium3D acceleration library.
419 </para>
420 <indexterm zone="mesa libxatracker">
421 <primary sortas="c-libxatracker">libxatracker.so</primary>
422 </indexterm>
423 </listitem>
424 </varlistentry>
425 </variablelist>
426
427 </sect2>
428
429</sect1>
Note: See TracBrowser for help on using the repository browser.