source: x/installing/mesa.xml@ 1edfc91

trunk
Last change on this file since 1edfc91 was 1edfc91, checked in by Xi Ruoyao <xry111@…>, 38 hours ago

mesa: Enable all video codecs

Since Mesa 22.2.0 many codecs are disabled by default to avoid some
potential patent issue (VC-1 and H26[45] uses many patents owned by MPEG
LA, and some GPU vendors are not paying the patent fee correctly).

MPEG LA allows to use its patents freely if the software is distributed
in the source code form so it shouldn't be an issue for most BLFS users
who don't distribute the binaries.

Most binary distros, for example, Debian, also enable these codecs.
Debian explains:

In that case intel-media-va-driver and i965-va-driver wouldn't be
distributed either.

If I understand correctly, they are distributed because they don't
contain the codec logic, only the data structures. The logic is
defined somewhere else (gpu firmware or other blobs).

So if a GPU vendor does not pay the patent fee, its firmwares should
have been removed from linux-firmware.git anyway and the Mesa driver
shouldn't be an issue. But let's be safe than sorry and tell the users
not to distribute the compiled binaries unless they've contacted the
lawyer.

Link: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1016687

  • Property mode set to 100644
File size: 28.3 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
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 " ">
9 <!ENTITY mesa-md5sum "e3a195842c5cfbfb7234ed45f70af787">
10 <!ENTITY mesa-size "28 MB">
11 <!ENTITY mesa-buildsize "959 MB (with docs, add 538 MB for tests)">
12 <!ENTITY mesa-time "3.0 SBU (with docs; add 1.0 SBU for tests; both with parallelism=4)">
13]>
14
15<sect1 id="mesa" xreflabel="Mesa-&mesa-version;">
16 <?dbhtml filename="mesa.html"?>
17
18 <title>Mesa-&mesa-version;</title>
19
20 <indexterm zone="mesa">
21 <primary sortas="a-Mesa">Mesa</primary>
22 </indexterm>
23
24 <sect2 role="package">
25 <title>Introduction to Mesa</title>
26
27 <para>
28 <application>Mesa</application> is an OpenGL compatible 3D graphics
29 library.
30 </para>
31
32 <note>
33 <para>
34 <application>Mesa</application> is updated relatively often. You may
35 want to use the latest available &mesa-major-minor;.x mesa version.
36 </para>
37 </note>
38
39 &lfs122_checked;
40
41 <bridgehead renderas="sect3">Package Information</bridgehead>
42 <itemizedlist spacing="compact">
43 <listitem>
44 <para>
45 Download (HTTP): <ulink url="&mesa-download-http;"/>
46 </para>
47 </listitem>
48 <listitem>
49 <para>
50 Download (FTP): <ulink url="&mesa-download-ftp;"/>
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download MD5 sum: &mesa-md5sum;
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Download size: &mesa-size;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Estimated disk space required: &mesa-buildsize;
66 </para>
67 </listitem>
68 <listitem>
69 <para>
70 Estimated build time: &mesa-time;
71 </para>
72 </listitem>
73 </itemizedlist>
74
75 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
76 <itemizedlist spacing="compact">
77 <!-- 9 Apr 23. Change to unversioned patch since it never changes. -->
78 <listitem>
79 <para>
80 Recommended patch:
81 <ulink url="&patch-root;/mesa-add_xdemos-3.patch"/>
82 (installs 2 demo programs for testing Mesa - not needed if you
83 install the <ulink url="https://archive.mesa3d.org/demos/">
84 mesa-demos</ulink> package)
85 </para>
86 </listitem>
87 </itemizedlist>
88
89 <bridgehead renderas="sect3">Mesa Dependencies</bridgehead>
90
91 <bridgehead renderas="sect4">Required</bridgehead>
92 <para role="required">
93 <xref linkend="xorg7-lib"/>,
94 <xref linkend="libdrm"/>,
95 <xref linkend="Mako"/>, and
96 <xref linkend="PyYAML"/>
97 </para>
98
99 <bridgehead renderas="sect4">Recommended</bridgehead>
100 <para role="recommended">
101
102 <itemizedlist spacing="compact">
103 <listitem>
104 <para>
105 <xref linkend="glslang"/> (required for Vulkan support)
106 </para>
107 </listitem>
108 <listitem>
109 <para>
110 <xref linkend="libva"/> (to provide VA-API support for some
111 gallium drivers. Note that there is a circular dependency.
112 You must build <application>libva</application> first without
113 mesa's EGL and GLX support, install this package, and rebuild
114 <application>libva</application>)
115 </para>
116 </listitem>
117 <listitem>
118 <para>
119 <xref linkend="libvdpau"/> (to build VDPAU drivers)
120 </para>
121 </listitem>
122 <listitem>
123 <para>
124 <xref linkend="llvm"/> (required for the llvmpipe, r300, r600,
125 and radeonsi drivers)
126 </para>
127 </listitem>
128 <listitem>
129 <para>
130 <xref linkend="wayland-protocols"/> (required for
131 <xref role="nodep" linkend='plasma-build'/>,
132 GNOME, and recommended for
133 <xref role="nodep" linkend='gtk3'/>)
134 </para>
135 </listitem>
136 <listitem>
137 <para>
138 <xref linkend="libclc"/> (required for the Intel iris
139 gallium driver)
140 </para>
141 </listitem>
142 <listitem>
143 <para>
144 <xref linkend="vulkan-loader"/> (required for the Zink
145 gallium driver)
146 </para>
147 </listitem>
148 <listitem>
149 <para>
150 <xref linkend="ply"/> (required for the Intel vulkan driver)
151 </para>
152 </listitem>
153 <listitem>
154 <para>
155 <xref linkend="cbindgen"/> and <xref linkend="rust-bindgen"/>
156 (required for the Nouveau Vulkan driver)
157 </para>
158 </listitem>
159 </itemizedlist>
160 </para>
161
162 <note>
163 <para>
164 <emphasis role="bold">Choosing Mesa Drivers</emphasis>
165 </para>
166
167 <para>
168 In the instructions below, all the available drivers are built. That
169 will almost always work. However, it is not efficient. Depending on
170 your video hardware, you probably need only specific drivers.
171 </para>
172
173 <para>
174 The first thing you need to know is which type of video device you
175 have. In some cases it is built into the CPU. In others it is a
176 separate PCI card. In either case you can tell what video hardware you
177 have by installing <xref linkend='pciutils'/> and running:
178 </para>
179
180 <screen role='nodump'><userinput>lspci | grep VGA</userinput></screen>
181
182 <para>
183 The video device is most likely one of three families: AMD, Intel, or
184 Nvidia. See the Command Explanations for
185 <parameter>-D gallium-drivers=auto</parameter> below to
186 see what options are available for your specific video hardware (or
187 emulated video hardware). You should probably add the softpipe or
188 llvmpipe option as a backup driver.
189 </para>
190
191 <para>
192 For 'platforms' you can select x11 and/or wayland. Note that in BLFS
193 currently only Gnome and KDE can use wayland. If you are not going to
194 use one of those desktop environments then you probably only want x11.
195 </para>
196
197 <para>
198 For 'vulkan-drivers' you may want to limit the selection to your
199 current hardware. These drivers are used by some specific applications.
200
201 For example, ffmpeg (including ffplay) will use Vulkan instead of
202 OpenGL for rendering video on the GPU. If you do not want to do this
203 you may or may not want to install them.
204 See the Command Explanations for
205 <parameter>-D vulkan-drivers=auto</parameter> below to
206 see what options are available for your specific video hardware (or
207 emulated video hardware). You should probably add the swrast option
208 as a backup driver unless you don't need Vulkan at all.
209 </para>
210 </note>
211
212 <bridgehead renderas="sect4">Optional</bridgehead>
213 <para role="optional">
214 <xref linkend="libgcrypt"/>,
215 <xref linkend="libunwind"/>,
216 <xref linkend="lm_sensors"/> <!-- for libsensors according to Meson -->,
217 <xref linkend="nettle"/>,
218 <xref linkend="valgrind"/>,
219 <ulink url="https://archive.mesa3d.org/demos/">mesa-demos</ulink>
220 (provides more than 300 extra demos to test
221 <application>Mesa</application>; this includes the same programs added by
222 the patch above),
223 <ulink url="https://omxil.sourceforge.net/">Bellagio OpenMAX Integration
224 Layer</ulink> (for mobile platforms), and
225 <!--<ulink url="https://github.com/KhronosGroup/glslang">glslang</ulink>
226 (for vulkan drivers),-->
227 <ulink url="https://github.com/tizonia/tizonia-openmax-il/wiki/Tizonia-OpenMAX-IL/">
228 libtizonia</ulink>,
229 <!-- <ulink url="https://github.com/KhronosGroup/Vulkan-Loader">Vulkan-Loader</ulink> -->
230 </para>
231<!--
232 <note>
233 <para>
234 The instructions below assume that
235 <application>LLVM</application> with the r600/amdgpu and host backends
236 and run-time type information (RTTI - needed for nouveau) are installed.
237 You will need to modify the instructions if you
238 choose not to install all of these. For an explanation of Gallium3D see
239 <ulink url="https://en.wikipedia.org/wiki/Gallium3D"/>.
240 </para>
241 </note>
242-->
243
244 &build-use-internet;
245
246 </sect2>
247
248 <sect2 role="kernel" id="mesa-kernel"
249 xreflabel='Mesa Kernel Configuration'>
250 <title>Kernel Configuration</title>
251
252 <para>
253 Enable the following options in the kernel configuration and
254 recompile the kernel if necessary:
255 </para>
256
257 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
258 href="mesa-kernel.xml"/>
259
260 <note>
261 <para>
262 The corresponding Mesa Gallium3D driver name is provided as the
263 comment for the configuration entries. If you don't know the name
264 of the Mesa Gallium3D driver for your GPU, see <xref
265 linkend="mesa-gallium-drivers"/> below.
266 </para>
267
268 <para>
269 <option>CONFIG_DRM_RADEON</option>,
270 <option>CONFIG_DRM_AMDGPU</option>,
271 <option>CONFIG_DRM_NOUVEAU</option>, and
272 <option>CONFIG_DRM_I915</option> may require firmware.
273 See <xref linkend='postlfs-firmware'/> for details.
274 </para>
275
276 <para>
277 Selecting <option>CONFIG_DRM_RADEON</option> or
278 <option>CONFIG_DRM_AMDGPU</option> as
279 <quote><literal>y</literal></quote> is not recommended. If it is, any
280 required firmware must be built as a part of the kernel image or the
281 initramfs for the driver to function correctly.
282 </para>
283
284 <para>
285 The sub-entries under <option>CONFIG_DRM_AMDGPU</option> are used
286 to ensure the AMDGPU kernel driver supports all GPUs using the
287 <literal>radeonsi</literal> driver. They are not needed if you
288 won't need <option>CONFIG_DRM_AMDGPU</option> itself. They
289 may be unneeded for some GPU models.
290 </para>
291
292 <para>
293 For <literal>llvmpipe</literal> or <literal>softpipe</literal>,
294 <option>CONFIG_DRM_VGEM</option> is required or X clients may fail
295 to start with a cryptic message <computeroutput>Error: couldn't get
296 an RGB, Double-buffered visual</computeroutput>. Strictly speaking,
297 it can be compiled as a module. But the module will not be loaded
298 automatically, so it's more convenient to build it as a part of the
299 kernel image.
300 </para>
301 </note>
302 <indexterm zone="mesa mesa-kernel">
303 <primary sortas="d-mesa">mesa</primary>
304 </indexterm>
305 </sect2>
306
307 <sect2 role="installation">
308 <title>Installation of Mesa</title>
309 <para>
310 If you have downloaded the xdemos patch (needed if testing the Xorg
311 installation per BLFS instructions), apply it by running the following
312 command:
313 </para>
314
315<!--<screen><userinput>patch -Np1 -i ../mesa-&mesa-version;-add_xdemos-1.patch</userinput></screen>-->
316<screen><userinput>patch -Np1 -i ../mesa-add_xdemos-3.patch</userinput></screen>
317
318 <!-- Note that freedreno, vc4, and virgl all need special support from
319 libdrm - renodr
320 For me, libdrm does not mention virgl, but mesa accepts it. AFAICS
321 freedreno is for qualcom hardware, libdrm will build for it on suitable
322 systems. VC4 is for the Broadcom VC4 used in the raspberry pi - ken -->
323<!--
324 <note>
325 <para>
326 The measurements above, and the Contents below, are for a full build.
327 Many people will not wish to install drivers they cannot use, so the
328 following paragraphs explain how to limit the drivers, and give an
329 example which can be be reduced or amended as necessary.
330 </para>
331 </note>
332
333-->
334<!--
335 <para>
336 The (non-gallium) DRI drivers available in X86 are auto, <emphasis>or
337 alternatively a choice from</emphasis> i915, i965, nouveau, r100, r200,
338 and swrast. Use 'auto' to build all available DRI drivers, or use an
339 empty string (DRI_DRIVERS="") if you wish to only build gallium drivers.
340 </para>
341
342 <para>
343 The platforms ("window systems") available for X86 linux are x11, wayland,
344 drm, and surfaceless. By not specifying anything, the meson
345 build-system will build for all these platforms if you have the
346 dependencies, identical to if you had specified '-Dplatforms=auto'.
347 </para>
348
349 <para>
350 Modify the commands below for your desired drivers. The drivers listed
351 below will cover most modern video cards and virtual machines. For help in
352 selecting drivers see <ulink url="https://docs.mesa3d.org/systems.html"/>.
353-->
354 <!-- these two don't seem to be mentioned in that mesa link -->
355<!--
356 For intel drivers, specify crocus for i965 gen 4 through to haswell, iris
357 for broadwell and later.
358 </para>
359
360 <note>
361 <para>
362 Although the nouveau drivers can be built for both gallium and dri, the
363 i915 driver can only be built for one or the other.
364 </para>
365 </note>
366
367<screen><userinput>GALLIUM_DRV="crocus,i915,iris,nouveau,r600,radeonsi,svga,swrast,virgl"
368DRI_DRIVERS="i965,nouveau"</userinput></screen>
369-->
370
371 <!-- https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22021 -->
372<!-- No longer needed
373 <para>
374 Remove two unneeded references to LLVM headers to avoid a build
375 failure with LLVM 17 or later:
376 </para>
377
378<screen><userinput>sed '/Scalar.h/d;/Utils.h/d' \
379 -i src/gallium/auxiliary/gallivm/lp_bld_init.c</userinput></screen>
380-->
381 <para>
382 Install <application>Mesa</application> by running the following
383 commands:
384 </para>
385
386<screen><userinput>mkdir build &amp;&amp;
387cd build &amp;&amp;
388
389meson setup .. \
390 --prefix=$XORG_PREFIX \
391 --buildtype=release \
392 -D platforms=x11,wayland \
393 -D gallium-drivers=auto \
394 -D vulkan-drivers=auto \
395 -D valgrind=disabled \
396 -D video-codecs=all \
397 -D libunwind=disabled &amp;&amp;
398
399ninja</userinput></screen>
400
401 <warning>
402 <para>
403 Please ask your lawyer or remove the
404 <parameter>-D video-codecs=all</parameter> option if you will
405 distribute the compiled Mesa libraries and drivers to others.
406 </para>
407 </warning>
408
409 <para>
410 To test the results, issue:
411 <command>meson configure -D build-tests=true &amp;&amp; ninja test</command>.
412 </para>
413<!-- All 88 tests passed for me for 22.3.3 [pierre]
414 All 90 tests passed for me for 23.1.0 [bdubbs]
415 89 Tests passed for me, 1 timeout on 23.1.8 [rahul]
416 All 98 tests passed for me for 23.3.1 [bdubbs]
417-->
418
419 <para>
420 Now, as the <systemitem class="username">root</systemitem> user:
421 </para>
422
423<screen role="root"><userinput>ninja install</userinput></screen>
424
425 <para>
426 If desired, install the optional documentation by running
427 the following commands as the
428 <systemitem class="username">root</systemitem> user:
429 </para>
430
431<screen role="root"
432 remap="doc"><userinput>cp -rv ../docs -T /usr/share/doc/mesa-&mesa-version;</userinput></screen>
433
434 </sect2>
435
436 <sect2 role="commands">
437 <title>Command Explanations</title>
438
439 <para>
440 <parameter>--buildtype=release</parameter>: This switch ensures a
441 fully-optimized build, and disables debug assertions which will
442 severely slow down the libraries in certain use-cases. Without this
443 switch, build sizes can span into the 2 GB range.
444 </para>
445
446 <para>
447 <anchor id='mesa-gallium-drivers' xreflabel='Mesa Gallium3D Drivers'/>
448 <parameter>-D gallium-drivers=auto</parameter>: This parameter
449 controls which Gallium3D drivers should be built:
450
451 <itemizedlist spacing="compact">
452 <listitem>
453 <para>
454 <literal>auto</literal> selects all Gallium3D drivers available
455 for x86. With a comma-separated list, only a subset of these
456 drivers will be built. If you precisely know which drivers you
457 need, you can select them explicitly. For example,
458 <option>-D gallium-drivers=radeonsi,iris,llvmpipe</option>.
459 </para>
460 </listitem>
461 <listitem>
462 <para>
463 <literal>r300</literal> (for ATI Radeon 9000 or Radeon X series)
464 </para>
465 </listitem>
466 <listitem>
467 <para>
468 <literal>r600</literal> (for AMD/ATI Radeon HD 2000-6000 series)
469 </para>
470 </listitem>
471 <listitem>
472 <para>
473 <literal>radeonsi</literal> (for AMD Radeon HD 7000 or newer AMD GPU models)
474 </para>
475 </listitem>
476 <listitem>
477 <para>
478 <literal>nouveau</literal> (for supported NVIDIA GPUs, they are
479 listed as all <quote>3D features</quote> either <quote>DONE</quote> or
480 <quote>N/A</quote> in
481 <ulink url='https://nouveau.freedesktop.org/FeatureMatrix.html'>the Nouveau
482 status page</ulink>)
483 </para>
484 </listitem>
485 <listitem>
486 <para>
487 <literal>virgl</literal> (for a QEMU virtual GPU
488 with <application>virglrender</application> support; note that BLFS
489 <xref linkend='qemu'/> is not built with
490 <application>virglrender</application>)
491 </para>
492 </listitem>
493 <listitem>
494 <para>
495 <literal>svga</literal> (for a VMWare virtual GPU)
496 </para>
497 </listitem>
498 <listitem>
499 <para>
500 <literal>llvmpipe</literal> (using CPU for 3D
501 rasterization. Note that it's much slower than using a modern
502 3D-capable GPU, so it should be only used if the GPU is not supported
503 by other drivers)
504 </para>
505 </listitem>
506 <listitem>
507 <para>
508 <literal>softpipe</literal> (also using CPU for 3D
509 rasterization, but slower than llvmpipe. There is not much reason
510 to use it unless LLVM is not available)
511 </para>
512 </listitem>
513 <listitem>
514 <para>
515 <literal>iris</literal> (for Intel GPUs shipped with Broadwell
516 or newer CPUs, or as a dedicated PCIe card)
517 </para>
518 </listitem>
519 <listitem>
520 <para>
521 <literal>crocus</literal> (for Intel GMA 3000, X3000 series,
522 4000 series, or X4000 series GPUs shipped with chipsets,
523 or Intel HD GPUs shipped with pre-Broadwell CPUs)
524 </para>
525 </listitem>
526 <listitem>
527 <para>
528 <literal>i915</literal> (for Intel GMA 900, 950, 3100, or 3150 GPUs
529 shipped with chipsets or Atom D/N 4xx/5xx CPUs)
530 </para>
531 </listitem>
532 <listitem>
533 <para>
534 <literal>zink</literal> (using Vulkan to implement OpenGL,
535 it's not very useful on x86 as at now but it may replace other
536 drivers for modern GPU models in the future)
537 </para>
538 </listitem>
539 </itemizedlist>
540 </para>
541
542 <para>
543 <parameter>-D vulkan-drivers=auto</parameter>: This parameter
544 controls which Vulkan drivers should be built:
545
546 <itemizedlist spacing="compact">
547 <listitem>
548 <para>
549 <literal>auto</literal> selects all Vulkan drivers available
550 for x86. With a comma-separated list, only a subset of these
551 drivers will be built. If you precisely know which drivers you
552 need, you can select them explicitly. For example,
553 <option>-D vulkan-drivers=amd,nouveau,swrast</option>.
554 </para>
555 </listitem>
556
557 <listitem>
558 <para>
559 <literal>amd</literal> (for AMD Radeon HD 7730 or newer AMD GPUs)
560 </para>
561 </listitem>
562
563 <listitem>
564 <para>
565 <literal>intel</literal> (for Intel GPUs shipped with Skylake
566 or newer CPUs, or as a dedicated PCIe card)
567 </para>
568 </listitem>
569
570 <listitem>
571 <para>
572 <literal>intel_hasvk</literal> (for Intel GPUs shipped with
573 Ivy Bridge, Haswell, or Broadwell CPUs)
574 </para>
575 </listitem>
576
577 <listitem>
578 <para>
579 <literal>nouveau</literal> (for GTX 16XX, RTX 20XX, or
580 newer NVIDIA GPUs)
581 </para>
582 </listitem>
583
584 <listitem>
585 <para>
586 <literal>swrast</literal> (for using the CPU for 3D rasterization)
587 Note that it's much slower than using a modern 3D-capable GPU,
588 so it should be only used if the GPU is not supported by other
589 drivers.
590 </para>
591 </listitem>
592
593 <listitem>
594 <para>
595 <literal>""</literal> (empty list, use
596 <option>-D vulkan-drivers=""</option> if you've not installed and
597 you don't plan to install <xref linkend='vulkan-loader'/>)
598 </para>
599 </listitem>
600 </itemizedlist>
601 </para>
602
603 <para>
604 <parameter>-D platforms=...</parameter>: This parameter
605 controls which windowing systems will be supported. Available
606 linux platforms are x11 and wayland.
607 </para>
608
609 <para>
610 <parameter>-D valgrind=disabled</parameter>: This parameter disables
611 the usage of Valgrind during the build process. Remove this parameter
612 if you have Valgrind installed, and wish to check for memory leaks.
613 </para>
614
615 <para>
616 <parameter>-D video-codecs=all</parameter>: This parameter enables
617 building codecs for video formats covered by third-party patents.
618 </para>
619
620 <para>
621 <parameter>-D libunwind=disabled</parameter>: This parameter disables
622 the usage of libunwind.
623 </para>
624
625 <para>
626 <command>meson configure -D build-tests=true</command>: This command will
627 reconfigure the build to set <option>-D build-tests=true</option>, but
628 keep the other options specified in the <command>meson setup</command>
629 command unchanged. It allows <command>ninja test</command> to build and
630 run unit tests.
631 </para>
632
633 <para>
634 <option>-D egl-native-platform="..."</option>: This parameter
635 controls which Embedded Graphics Library support will be built. Available
636 linux options are auto (default), x11, wayland, surfaceless, and drm.
637 </para>
638
639 </sect2>
640
641 <sect2 role="content">
642 <title>Contents</title>
643
644 <segmentedlist>
645 <segtitle>Installed Programs</segtitle>
646 <segtitle>Installed Libraries</segtitle><!-- in /usr/lib -->
647 <segtitle>Installed DRI Driver Stubs</segtitle><!-- in /usr/lib/dri -->
648 <segtitle>Installed VA-API Drivers</segtitle><!-- in /usr/lib/dri -->
649 <segtitle>Installed VDPAU Drivers</segtitle><!-- in /usr/lib/vdpau -->
650 <segtitle>Installed Vulkan Drivers</segtitle><!-- in /usr/lib -->
651 <segtitle>Installed Directories</segtitle>
652
653 <seglistitem>
654 <seg>
655 glxgears,
656 glxinfo,
657 mme_fermi_sim_hw_test, and
658 mme_tu104_sim_hw_test
659 </seg>
660 <seg>
661 libEGL.so,
662 libGL.so,
663 libGLESv1_CM.so,
664 libGLESv2.so,
665 libgbm.so,
666 libglapi.so,
667 libgallium-&mesa-version;.so, and
668 libxatracker.so
669 </seg>
670 <seg>
671 <!-- Begin DRI driver stubs -->
672 libdril_dri.so and symlinks to it:
673 crocus_dri.so,
674 i915_dri.so,
675 iris_dri.so,
676 kms_swrast_dri.so,
677 nouveau_dri.so,
678 r300_dri.so,
679 r600_dri.so,
680 r600_drv_video.so,
681 radeonsi_dri.so,
682 swrast_dri.so,
683 virtio_gpu_dri.so,
684 vmwgfx_dri.so, and
685 zink_dri.so
686 <!-- End DRI driver stubs -->
687 </seg>
688 <seg>
689 <!-- Begin VA-API drivers -->
690 nouveau_drv_video.so,
691 radeonsi_drv_video.so, and
692 virtio_gpu_drv_video.so,
693 <!-- End VA-API drivers -->
694 </seg>
695 <seg>
696 <!-- Begin VDPAU drivers -->
697 libvdpau_nouveau.so,
698 libvdpau_r600.so,
699 libvdpau_radeonsi.so, and
700 libvdpau_virtio_gpu.so
701 <!-- End VDPAU drivers -->
702 (Many of these drivers are hard-linked).
703 </seg>
704 <seg>
705 libvulkan_intel_hasvk.so,
706 libvulkan_intel.so,
707 libvulkan_lvp.so,
708 libvulkan_nouveau.so, and
709 libvulkan_radeon.so
710 </seg>
711 <seg>
712 <!-- $XORG_PREFIX/include/GL is installed by xorg-protos -->
713 $XORG_PREFIX/{include/{EGL,GLES,GLES2,GLES3,KHR},
714 $XORG_PREFIX/lib/{dri,vdpau}},
715 $XORG_PREFIX/share/drirc.d (contains workarounds for various applications,
716 particularly browsers and games),
717 $XORG_PREFIX/share/vulkan,
718 and /usr/share/doc/mesa-&mesa-version;
719 </seg>
720 </seglistitem>
721 </segmentedlist>
722
723 <variablelist>
724 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
725 <?dbfo list-presentation="list"?>
726 <?dbhtml list-presentation="table"?>
727
728 <varlistentry id="glxgears">
729 <term><command>glxgears</command></term>
730 <listitem>
731 <para>
732 is a GL demo useful for troubleshooting graphics
733 problems
734 </para>
735 <indexterm zone="mesa glxgears">
736 <primary sortas="b-glxgears">glxgears</primary>
737 </indexterm>
738 </listitem>
739 </varlistentry>
740
741 <varlistentry id="glxinfo">
742 <term><command>glxinfo</command></term>
743 <listitem>
744 <para>
745 is a diagnostic program that displays information about the
746 graphics hardware and installed GL libraries
747 </para>
748 <indexterm zone="mesa glxinfo">
749 <primary sortas="b-glxinfo">glxinfo</primary>
750 </indexterm>
751 </listitem>
752 </varlistentry>
753
754 <varlistentry id="libdril_dri">
755 <term><filename class='libraryfile'>libdril_dri.so</filename></term>
756 <listitem>
757 <para>
758 is a stub allowing Xorg server to co-operate with the Gallium3D
759 drivers
760 </para>
761 </listitem>
762 </varlistentry>
763
764 <varlistentry id="libEGL">
765 <term><filename class="libraryfile">libEGL.so</filename></term>
766 <listitem>
767 <para>
768 provides a native platform graphics interface as
769 defined by the EGL-1.4 specification
770 </para>
771 <indexterm zone="mesa libEGL">
772 <primary sortas="c-libGL">libEGL.so</primary>
773 </indexterm>
774 </listitem>
775 </varlistentry>
776
777 <varlistentry id="libgbm">
778 <term><filename class="libraryfile">libgbm.so</filename></term>
779 <listitem>
780 <para>
781 is the <application>Mesa</application> Graphics Buffer
782 Manager library
783 </para>
784 <indexterm zone="mesa libgbm">
785 <primary sortas="c-libgbm">libgbm.so</primary>
786 </indexterm>
787 </listitem>
788 </varlistentry>
789
790 <varlistentry id="libGLESv1_CM">
791 <term><filename class="libraryfile">libGLESv1_CM.so</filename></term>
792 <listitem>
793 <para>
794 is the <application>Mesa</application> OpenGL ES 1.1 library
795 </para>
796 <indexterm zone="mesa libGLESv1_CM">
797 <primary sortas="c-libGLESv1_CM">libGLESv1_CM.so</primary>
798 </indexterm>
799 </listitem>
800 </varlistentry>
801
802 <varlistentry id="libGLES2">
803 <term><filename class="libraryfile">libGLES2.so</filename></term>
804 <listitem>
805 <para>
806 is the <application>Mesa</application> OpenGL ES 2.0 library
807 </para>
808 <indexterm zone="mesa libGLES2">
809 <primary sortas="c-libGLES2">libGLES2.so</primary>
810 </indexterm>
811 </listitem>
812 </varlistentry>
813
814 <varlistentry id="libGL">
815 <term><filename class="libraryfile">libGL.so</filename></term>
816 <listitem>
817 <para>
818 is the main <application>Mesa</application> OpenGL library
819 </para>
820 <indexterm zone="mesa libGL">
821 <primary sortas="c-libGL">libGL.so</primary>
822 </indexterm>
823 </listitem>
824 </varlistentry>
825
826 <varlistentry id="libgallium">
827 <term><filename class='libraryfile'>libgallium-&mesa-version;.so</filename></term>
828 <listitem>
829 <para>
830 contains all the Gallium3D drivers
831 </para>
832 </listitem>
833 </varlistentry>
834
835 </variablelist>
836
837 </sect2>
838
839</sect1>
Note: See TracBrowser for help on using the repository browser.