source: x/installing/mesalib.xml@ 1581361

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.8 7.9 8.0 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 nosym 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 1581361 was 1581361, checked in by Douglas R. Reno <renodr@…>, 9 years ago

Update to libdrm-2.4.62
Update to MesaLib-10.6.1

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

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