source: x/installing/mesalib-systemd.xml@ 5b5c0e9

krejzi/svn
Last change on this file since 5b5c0e9 was 5b5c0e9, checked in by Krejzi <krejzi@…>, 10 years ago

Convert xorg installing section.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/branches/krejzi@14759 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 mesalib-download-http " ">
8 <!ENTITY mesalib-download-ftp
9 "ftp://ftp.freedesktop.org/pub/mesa/&mesalib-version;/MesaLib-&mesalib-version;.tar.bz2">
10 <!ENTITY mesalib-md5sum "c0a2a975899c4e7485124b388c16cd2f">
11 <!ENTITY mesalib-size "7.0 MB">
12 <!ENTITY mesalib-buildsize "255 MB">
13 <!ENTITY mesalib-time "5.2 SBU">
14]>
15
16<sect1 id="mesalib" xreflabel="MesaLib-&mesalib-version;">
17 <?dbhtml filename="mesalib.html"?>
18
19 <sect1info>
20 <othername>$LastChangedBy$</othername>
21 <date>$Date$</date>
22 </sect1info>
23
24 <title>MesaLib-&mesalib-version;</title>
25
26 <indexterm zone="mesalib">
27 <primary sortas="a-MesaLib">MesaLib</primary>
28 </indexterm>
29
30 <sect2 role="package">
31 <title>Introduction to MesaLib</title>
32
33 <para>
34 <application>Mesa</application> is an OpenGL compatible 3D graphics
35 library.
36 </para>
37
38 &lfs76_checked;
39
40 <bridgehead renderas="sect3">Package Information</bridgehead>
41 <itemizedlist spacing="compact">
42 <listitem>
43 <para>
44 Download (HTTP): <ulink url="&mesalib-download-http;"/>
45 </para>
46 </listitem>
47 <listitem>
48 <para>
49 Download (FTP): <ulink url="&mesalib-download-ftp;"/>
50 </para>
51 </listitem>
52 <listitem>
53 <para>
54 Download MD5 sum: &mesalib-md5sum;
55 </para>
56 </listitem>
57 <listitem>
58 <para>
59 Download size: &mesalib-size;
60 </para>
61 </listitem>
62 <listitem>
63 <para>
64 Estimated disk space required: &mesalib-buildsize;
65 </para>
66 </listitem>
67 <listitem>
68 <para>
69 Estimated build time: &mesalib-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 url="&patch-root;/MesaLib-&mesalib-version;-add_xdemos-1.patch"/>
80 </para>
81 </listitem>
82 </itemizedlist>
83
84 <bridgehead renderas="sect3">MesaLib Dependencies</bridgehead>
85
86 <bridgehead renderas="sect4">Required</bridgehead>
87 <para role="required">
88 <xref linkend="libdrm"/>,
89 <xref linkend="python2"/> and
90 <xref linkend="xorg7-lib"/>
91 </para>
92
93 <bridgehead renderas="sect4">Recommended</bridgehead>
94 <para role="recommended">
95 <xref linkend="elfutils"/> (required for Radeon 3D drivers),
96 <xref linkend="libvdpau"/> (to build VDPAU drivers for supported hardware),
97 <xref linkend="llvm"/> (required for Radeon 3D drivers and also for
98 llvmpipe which is intended to be the fastest of the three sw rasterizers,
99 see <ulink url="http://www.mesa3d.org/faq.html#part3"></ulink>) and
100 <xref linkend="wayland"/> (required for <filename>libwayland-egl</filename>
101 library which is used by many packages that use
102 <application>Wayland</application>)
103 </para>
104
105 <bridgehead renderas="sect4">Optional</bridgehead>
106 <para role="optional">
107 <ulink url="http://libclc.llvm.org/">libclc</ulink>
108 (to build Radeon OpenCL library) and
109 <ulink url="http://omxil.sourceforge.net/">libomxil-bellagio</ulink>
110 (to build Radeon OpenMAX driver)
111 </para>
112
113 <note>
114 <para>
115 The instructions below assume that <application>elfutils</application>
116 and <application>LLVM</application> are installed. You will
117 need to modify the instructions if you choose not to install them.
118 Please note that <application>elfutils</application> and
119 <application>LLVM</application> are <emphasis>required</emphasis>
120 for Radeon 3D drivers. For an explanation of Gallium please see
121 <ulink url="https://en.wikipedia.org/wiki/Gallium3D"></ulink>.
122 </para>
123 </note>
124
125 <para condition="html" role="usernotes">User Notes:
126 <ulink url="&blfs-wiki;/mesalib"/>
127 </para>
128 </sect2>
129
130 <sect2 role="installation">
131 <title>Installation of MesaLib</title>
132
133 <note>
134 <para>
135 Unlike other packages, the
136 <filename>MesaLib-&mesalib-version;.tar.bz2</filename>
137 archive will extract to the
138 <filename class="directory">Mesa-&mesalib-version;</filename>
139 directory.
140 </para>
141 </note>
142
143 <para>
144 If you have downloaded the xdemos patch (needed if testing the Xorg
145 installation per BLFS instructions), apply it by running the following
146 command:
147 </para>
148
149<screen><userinput>patch -Np1 -i ../MesaLib-&mesalib-version;-add_xdemos-1.patch</userinput></screen>
150
151 <para>
152 Install <application>MesaLib</application> by running the following
153 commands:
154 </para>
155
156<screen><userinput>./autogen.sh CFLAGS="-O2" CXXFLAGS="-O2" \
157 --prefix=/usr \
158 --sysconfdir=/etc \
159 --disable-gallium-egl \
160 --enable-texture-float \
161 --enable-gles1 \
162 --enable-gles2 \
163 --enable-osmesa \
164 --enable-xa \
165 --enable-gbm \
166 --enable-glx-tls \
167 --with-egl-platforms="drm,x11,wayland" \
168 --with-gallium-drivers="nouveau,r300,r600,radeonsi,svga,swrast" &amp;&amp;
169make</userinput></screen>
170
171 <para>
172 If you have applied the xdemos patch, build the demo programs by
173 running the following command:
174 </para>
175
176<screen><userinput>make -C xdemos DEMOS_PREFIX=/usr</userinput></screen>
177
178 <para>
179 This package does not come with a test suite.
180 </para>
181
182 <para>
183 Now, as the <systemitem class="username">root</systemitem> user:
184 </para>
185
186<screen role="root"><userinput>make install</userinput></screen>
187
188 <para>
189 If you have built the demo programs, install them by running the
190 following command as the
191 <systemitem class="username">root</systemitem> user:
192 </para>
193
194<screen role="root"><userinput>make -C xdemos DEMOS_PREFIX=/usr install</userinput></screen>
195
196 <para>
197 If desired, install the optional documentation by running
198 the following commands as the
199 <systemitem class="username">root</systemitem> user:
200 </para>
201
202<screen role="root"><userinput>install -v -dm755 /usr/share/doc/MesaLib-&mesalib-version; &amp;&amp;
203cp -rfv docs/* /usr/share/doc/MesaLib-&mesalib-version;</userinput></screen>
204
205 </sect2>
206
207 <sect2 role="commands">
208 <title>Command Explanations</title>
209
210 <para>
211 <parameter>CFLAGS="-O2" CXXFLAGS="-O2"</parameter>: By default,
212 <application>Autoconf</application> sets CFLAGS and CXXFLAGS to
213 "-g -O2". That results in binaries and libraries being built with
214 debugging symbols which make them bigger. Override the default
215 flags to omit -g compiler flag so the final libraries are smaller.
216 </para>
217
218 <para>
219 <parameter>--disable-gallium-egl</parameter>: This switch disables
220 the egl_gallium loader in favor of egl_dri2 loader which supports
221 both DRI and Gallium drivers.
222 </para>
223
224 <para>
225 <parameter>--enable-texture-float</parameter>: This switch enables
226 floating-point textures and render buffers. Please consult
227 <filename>docs/patents.txt</filename> to see if there are
228 any legal issues if you use this feature.
229 </para>
230
231 <para>
232 <parameter>--enable-gles1</parameter>: This switch enables support for
233 OpenGL ES 1.x API.
234 </para>
235
236 <para>
237 <parameter>--enable-gles2</parameter>: This switch enables support for
238 OpenGL ES 2.x API.
239 </para>
240
241 <para>
242 <parameter>--enable-osmesa</parameter>: This switch enables building of
243 the <filename class="libraryfile">libOSMesa</filename> library.
244 </para>
245
246 <para>
247 <parameter>--enable-xa</parameter>: This switch enables building of the
248 XA X Acceleration API (Required for VMware 3D Driver).
249 </para>
250
251 <para>
252 <parameter>--enable-gbm</parameter>: This switch enables building of the
253 <application>Mesa</application> Graphics Buffer Manager library.
254 </para>
255
256 <para>
257 <parameter>--enable-gallium-gbm</parameter>: This switch enables optional
258 GBM state tracker for Gallium.
259 </para>
260
261 <para>
262 <parameter>--enable-glx-tls</parameter>: This switch enables TLS (Thread Local
263 Storage) support in GLX.
264 </para>
265
266 <para>
267 <parameter>--with-egl-platforms="..."</parameter>: This parameter
268 controls for which platforms EGL should be built. Available
269 platforms are drm, x11 and wayland. Remove <option>wayland</option>
270 from the list if you have not installed
271 <application>Wayland</application>.
272 </para>
273
274 <para>
275 <parameter>--with-gallium-drivers="..."</parameter>: This parameter
276 controls which Gallium drivers should be built. Available drivers
277 are: i915, ilo, nouveau, r300, r600, radeonsi, svga and swrast. You
278 will need to remove r300, r600 and radeonsi from the list if you did
279 not install <application>elfutils</application> and
280 <application>LLVM</application>.
281 </para>
282
283 <para>
284 <option>--enable-r600-llvm-compiler</option>: Use this switch to
285 enable experimental R600 <application>LLVM</application> backend
286 for graphics shaders which claims to speed up the driver.
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 libwayland-egl.so, and
312 libxatracker.so
313 </seg>
314 <seg>
315 /usr/include/EGL,
316 /usr/include/GL,
317 /usr/include/GLES,
318 /usr/include/GLES2,
319 /usr/include/GLES3,
320 /usr/include/KHR,
321 /usr/include/VG,
322 /usr/lib/dri,
323 /usr/lib/egl,
324 /usr/lib/gallium-pipe,
325 /usr/lib/gbm,
326 /usr/lib/vdpau, and
327 /usr/share/doc/MesaLib-&mesalib-version; (optional)
328 </seg>
329 </seglistitem>
330 </segmentedlist>
331
332 <variablelist>
333 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
334 <?dbfo list-presentation="list"?>
335 <?dbhtml list-presentation="table"?>
336
337 <varlistentry id="glxgears">
338 <term><command>glxgears</command></term>
339 <listitem>
340 <para>
341 is a GL demo useful for troubleshooting graphics
342 problems.
343 </para>
344 <indexterm zone="mesalib glxgears">
345 <primary sortas="b-glxgears">glxgears</primary>
346 </indexterm>
347 </listitem>
348 </varlistentry>
349
350 <varlistentry id="glxinfo">
351 <term><command>glxinfo</command></term>
352 <listitem>
353 <para>
354 is a diagnostic program that displays information about the
355 graphics hardware and installed GL libraries.
356 </para>
357 <indexterm zone="mesalib glxinfo">
358 <primary sortas="b-glxinfo">glxinfo</primary>
359 </indexterm>
360 </listitem>
361 </varlistentry>
362
363 <varlistentry id="libEGL">
364 <term><filename class="libraryfile">libEGL.so</filename></term>
365 <listitem>
366 <para>
367 provides a native platform graphics interface as
368 defined by the EGL-1.4 specification.
369 </para>
370 <indexterm zone="mesalib libEGL">
371 <primary sortas="c-libGL">libEGL.so</primary>
372 </indexterm>
373 </listitem>
374 </varlistentry>
375
376 <varlistentry id="libgbm">
377 <term><filename class="libraryfile">libgbm.so</filename></term>
378 <listitem>
379 <para>
380 is the <application>Mesa</application> Graphics Buffer
381 Manager library.
382 </para>
383 <indexterm zone="mesalib libgbm">
384 <primary sortas="c-libgbm">libgbm.so</primary>
385 </indexterm>
386 </listitem>
387 </varlistentry>
388
389 <varlistentry id="libGLESv1_CM">
390 <term><filename class="libraryfile">libGLESv1_CM.so</filename></term>
391 <listitem>
392 <para>
393 is the <application>Mesa</application> OpenGL ES 1.1 library.
394 </para>
395 <indexterm zone="mesalib libGLESv1_CM">
396 <primary sortas="c-libGLESv1_CM">libGLESv1_CM.so</primary>
397 </indexterm>
398 </listitem>
399 </varlistentry>
400
401 <varlistentry id="libGLES2">
402 <term><filename class="libraryfile">libGLES2.so</filename></term>
403 <listitem>
404 <para>
405 is the <application>Mesa</application> OpenGL ES 2.0 library.
406 </para>
407 <indexterm zone="mesalib libGLES2">
408 <primary sortas="c-libGLES2">libGLES2.so</primary>
409 </indexterm>
410 </listitem>
411 </varlistentry>
412
413 <varlistentry id="libGL">
414 <term><filename class="libraryfile">libGL.so</filename></term>
415 <listitem>
416 <para>
417 is the main <application>Mesa</application> OpenGL library.
418 </para>
419 <indexterm zone="mesalib libGL">
420 <primary sortas="c-libGL">libGL.so</primary>
421 </indexterm>
422 </listitem>
423 </varlistentry>
424
425 <varlistentry id="libOSMesa">
426 <term><filename class="libraryfile">libOSMesa.so</filename></term>
427 <listitem>
428 <para>
429 is the <application>Mesa</application> Off-screen Rendering library.
430 </para>
431 <indexterm zone="mesalib libOSMesa">
432 <primary sortas="c-libOSMesa">libOSMesa.so</primary>
433 </indexterm>
434 </listitem>
435 </varlistentry>
436
437 <varlistentry id="libwayland-egl">
438 <term><filename class="libraryfile">libwayland-egl.so</filename></term>
439 <listitem>
440 <para>
441 is the <application>Wayland</application> specific EGL library.
442 </para>
443 <indexterm zone="mesalib libwayland-egl">
444 <primary sortas="c-libwayland-egl">libwayland-egl.so</primary>
445 </indexterm>
446 </listitem>
447 </varlistentry>
448
449 <varlistentry id="libxatracker">
450 <term><filename class="libraryfile">libxatracker.so</filename></term>
451 <listitem>
452 <para>
453 is the Xorg Gallium3D acceleration library.
454 </para>
455 <indexterm zone="mesalib libxatracker">
456 <primary sortas="c-libxatracker">libxatracker.so</primary>
457 </indexterm>
458 </listitem>
459 </varlistentry>
460 </variablelist>
461
462 </sect2>
463
464</sect1>
Note: See TracBrowser for help on using the repository browser.