source: x/installing/mesa.xml@ dc5e53b3

trunk
Last change on this file since dc5e53b3 was 58005947, checked in by Bruce Dubbs <bdubbs@…>, 3 weeks ago

Minor grmmar change.

  • Property mode set to 100644
File size: 27.8 KB
RevLine 
[ab4fdfc]1<?xml version="1.0" encoding="UTF-8"?>
[6732c094]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[868c7c2]4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
[c0a8c0dc]7 <!ENTITY mesa-download-http "https://mesa.freedesktop.org/archive/mesa-&mesa-version;.tar.xz">
[e1e58be]8 <!ENTITY mesa-download-ftp " ">
[9c91e0e]9 <!ENTITY mesa-md5sum "2efcf055c7d48b12cd2c9df2fc41f1b0">
[b8b314f5]10 <!ENTITY mesa-size "28 MB">
[f12dbf77]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)">
[868c7c2]13]>
14
[7a395d1]15<sect1 id="mesa" xreflabel="Mesa-&mesa-version;">
16 <?dbhtml filename="mesa.html"?>
[868c7c2]17
[7a395d1]18 <title>Mesa-&mesa-version;</title>
[868c7c2]19
[7a395d1]20 <indexterm zone="mesa">
21 <primary sortas="a-Mesa">Mesa</primary>
[868c7c2]22 </indexterm>
23
24 <sect2 role="package">
[7a395d1]25 <title>Introduction to Mesa</title>
[868c7c2]26
[eb425b4]27 <para>
28 <application>Mesa</application> is an OpenGL compatible 3D graphics
29 library.
30 </para>
[868c7c2]31
[fdcf97c7]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
[d4dc5bae]39 &lfs122_checked;
[ca0c29cc]40
[868c7c2]41 <bridgehead renderas="sect3">Package Information</bridgehead>
42 <itemizedlist spacing="compact">
43 <listitem>
[de938a4e]44 <para>
[7a395d1]45 Download (HTTP): <ulink url="&mesa-download-http;"/>
[de938a4e]46 </para>
[868c7c2]47 </listitem>
48 <listitem>
[de938a4e]49 <para>
[7a395d1]50 Download (FTP): <ulink url="&mesa-download-ftp;"/>
[de938a4e]51 </para>
[868c7c2]52 </listitem>
53 <listitem>
[de938a4e]54 <para>
[7a395d1]55 Download MD5 sum: &mesa-md5sum;
[de938a4e]56 </para>
[868c7c2]57 </listitem>
58 <listitem>
[de938a4e]59 <para>
[7a395d1]60 Download size: &mesa-size;
[de938a4e]61 </para>
[868c7c2]62 </listitem>
63 <listitem>
[de938a4e]64 <para>
[7a395d1]65 Estimated disk space required: &mesa-buildsize;
[de938a4e]66 </para>
[868c7c2]67 </listitem>
68 <listitem>
[de938a4e]69 <para>
[7a395d1]70 Estimated build time: &mesa-time;
[de938a4e]71 </para>
[868c7c2]72 </listitem>
73 </itemizedlist>
[1334c9a]74
[625079b6]75 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
[a07e9eb]76 <itemizedlist spacing="compact">
[ab75b52]77 <!-- 9 Apr 23. Change to unversioned patch since it never changes. -->
[a07e9eb]78 <listitem>
[eb425b4]79 <para>
80 Recommended patch:
[899751e]81 <ulink url="&patch-root;/mesa-add_xdemos-3.patch"/>
[7a395d1]82 (installs 2 demo programs for testing Mesa - not needed if you
[713981db]83 install the <ulink url="https://archive.mesa3d.org/demos/">
[39dd48b]84 mesa-demos</ulink> package)
[ace536a]85 </para>
[eeb29511]86 </listitem>
87 </itemizedlist>
[1334c9a]88
[7a395d1]89 <bridgehead renderas="sect3">Mesa Dependencies</bridgehead>
[868c7c2]90
91 <bridgehead renderas="sect4">Required</bridgehead>
[7b74537e]92 <para role="required">
[df343952]93 <xref linkend="xorg7-lib"/>,
[f12dbf77]94 <xref linkend="libdrm"/>,
95 <xref linkend="Mako"/>, and
96 <xref linkend="PyYAML"/>
[eb425b4]97 </para>
[868c7c2]98
[606dfd4]99 <bridgehead renderas="sect4">Recommended</bridgehead>
[eb425b4]100 <para role="recommended">
[d2f50ba]101
[c833c06]102 <itemizedlist spacing="compact">
103 <listitem>
104 <para>
[6749017]105 <xref linkend="glslang"/> (required for Vulkan support)
[c833c06]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>
[8b5b257a]124 <xref linkend="llvm"/> (required for the llvmpipe, r300, r600,
125 and radeonsi drivers)
[c833c06]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>
[b8b314f5]136 <listitem>
137 <para>
[68df8455]138 <xref linkend="libclc"/> (required for the Intel iris
139 gallium driver)
140 </para>
141 </listitem>
[6749017]142 <listitem>
143 <para>
144 <xref linkend="vulkan-loader"/> (required for the Zink
145 gallium driver)
146 </para>
147 </listitem>
[68df8455]148 <listitem>
149 <para>
150 <xref linkend="ply"/> (required for the Intel vulkan driver)
[b8b314f5]151 </para>
152 </listitem>
153 <listitem>
154 <para>
155 <xref linkend="cbindgen"/> and <xref linkend="rust-bindgen"/>
[68df8455]156 (required for the Nouveau Vulkan driver)
[b8b314f5]157 </para>
158 </listitem>
[c833c06]159 </itemizedlist>
[606dfd4]160 </para>
[60bcf481]161
[87a677a]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
[de36458]175 have. In some cases it is built into the CPU. In others it is a
[87a677a]176 separate PCI card. In either case you can tell what video hardware you
[68df8455]177 have by installing <xref linkend='pciutils'/> and running:
[87a677a]178 </para>
179
[68df8455]180 <screen role='nodump'><userinput>lspci | grep VGA</userinput></screen>
[87a677a]181
182 <para>
183 The video device is most likely one of three families: AMD, Intel, or
[68df8455]184 Nvidia. See the Command Explanations for
185 <parameter>-D gallium-drivers=auto</parameter> below to
[87a677a]186 see what options are available for your specific video hardware (or
[8b5b257a]187 emulated video hardware). You should probably add the softpipe or
188 llvmpipe option as a backup driver.
[87a677a]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.
[68df8455]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.
[87a677a]209 </para>
210 </note>
211
[07584d8]212 <bridgehead renderas="sect4">Optional</bridgehead>
213 <para role="optional">
[57bcce9]214 <xref linkend="libgcrypt"/>,
[751dd1e]215 <xref linkend="libunwind"/>,
[b4d0b5a]216 <xref linkend="lm_sensors"/> <!-- for libsensors according to Meson -->,
[57bcce9]217 <xref linkend="nettle"/>,
[b4d0b5a]218 <xref linkend="valgrind"/>,
[9dc1c31]219 <ulink url="https://archive.mesa3d.org/demos/">mesa-demos</ulink>
[1cdb1f7]220 (provides more than 300 extra demos to test
[973dabe9]221 <application>Mesa</application>; this includes the same programs added by
[b4d0b5a]222 the patch above),
[17aa21c]223 <ulink url="https://omxil.sourceforge.net/">Bellagio OpenMAX Integration
[e929885e]224 Layer</ulink> (for mobile platforms), and
225 <!--<ulink url="https://github.com/KhronosGroup/glslang">glslang</ulink>
226 (for vulkan drivers),-->
[b4d0b5a]227 <ulink url="https://github.com/tizonia/tizonia-openmax-il/wiki/Tizonia-OpenMAX-IL/">
[e929885e]228 libtizonia</ulink>,
229 <!-- <ulink url="https://github.com/KhronosGroup/Vulkan-Loader">Vulkan-Loader</ulink> -->
[07584d8]230 </para>
[bee072a]231<!--
[9065a56b]232 <note>
[fd2f9a2]233 <para>
[e4fbb24]234 The instructions below assume that
[d2f50ba]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
[e83a3bb]239 <ulink url="https://en.wikipedia.org/wiki/Gallium3D"/>.
[fd2f9a2]240 </para>
[9065a56b]241 </note>
[bee072a]242-->
[0f256d6]243
244 &build-use-internet;
245
[868c7c2]246 </sect2>
247
[797182d]248 <sect2 role="kernel" id="mesa-kernel"
249 xreflabel='Mesa Kernel Configuration'>
[2c92dada]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
[5ca8d70]257 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
258 href="mesa-kernel.xml"/>
[2c92dada]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
[d4102ce]272 <option>CONFIG_DRM_I915</option> may require firmware.
273 See <xref linkend='postlfs-firmware'/> for details.
[2c92dada]274 </para>
275
276 <para>
[d4102ce]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.
[2c92dada]282 </para>
283
284 <para>
285 The sub-entries under <option>CONFIG_DRM_AMDGPU</option> are used
[d4102ce]286 to ensure the AMDGPU kernel driver supports all GPUs using the
[2c92dada]287 <literal>radeonsi</literal> driver. They are not needed if you
[d4102ce]288 won't need <option>CONFIG_DRM_AMDGPU</option> itself. They
[2c92dada]289 may be unneeded for some GPU models.
290 </para>
291
292 <para>
[51a34f9]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.
[2c92dada]300 </para>
301 </note>
[117b4e9]302 <indexterm zone="mesa mesa-kernel">
303 <primary sortas="d-mesa">mesa</primary>
304 </indexterm>
[2c92dada]305 </sect2>
306
[868c7c2]307 <sect2 role="installation">
[7a395d1]308 <title>Installation of Mesa</title>
[a07e9eb]309 <para>
[51c08f3]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:
[a07e9eb]313 </para>
314
[ab75b52]315<!--<screen><userinput>patch -Np1 -i ../mesa-&mesa-version;-add_xdemos-1.patch</userinput></screen>-->
[899751e]316<screen><userinput>patch -Np1 -i ../mesa-add_xdemos-3.patch</userinput></screen>
[1334c9a]317
[054e926]318 <!-- Note that freedreno, vc4, and virgl all need special support from
[d2f50ba]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 -->
[bee072a]323<!--
[d2f50ba]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
[bee072a]333-->
334<!--
[d2f50ba]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,
[bee072a]344 drm, and surfaceless. By not specifying anything, the meson
[17ae4374]345 build-system will build for all these platforms if you have the
346 dependencies, identical to if you had specified '-Dplatforms=auto'.
[d2f50ba]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
[c6cb93b]352 selecting drivers see <ulink url="https://docs.mesa3d.org/systems.html"/>.
[bee072a]353-->
[ef936e4]354 <!-- these two don't seem to be mentioned in that mesa link -->
[bee072a]355<!--
[ef936e4]356 For intel drivers, specify crocus for i965 gen 4 through to haswell, iris
357 for broadwell and later.
[d2f50ba]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
[ef936e4]367<screen><userinput>GALLIUM_DRV="crocus,i915,iris,nouveau,r600,radeonsi,svga,swrast,virgl"
[d2f50ba]368DRI_DRIVERS="i965,nouveau"</userinput></screen>
[bee072a]369-->
[43149b8]370
[b565745d]371 <!-- https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22021 -->
[92202f73]372<!-- No longer needed
[b565745d]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>
[92202f73]380-->
[eb425b4]381 <para>
[7a395d1]382 Install <application>Mesa</application> by running the following
[eb425b4]383 commands:
384 </para>
[868c7c2]385
[b565745d]386<screen><userinput>mkdir build &amp;&amp;
[b3f053c5]387cd build &amp;&amp;
[a85e5ce]388
[c833c06]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 libunwind=disabled &amp;&amp;
[f7bc172]397
[b3f053c5]398ninja</userinput></screen>
[868c7c2]399
[b3f053c5]400 <para>
[5ba1d98e]401 To test the results, issue:
[68df8455]402 <command>meson configure -D build-tests=true &amp;&amp; ninja test</command>.
[b3f053c5]403 </para>
[f7bc172]404<!-- All 88 tests passed for me for 22.3.3 [pierre]
[28818fd3]405 All 90 tests passed for me for 23.1.0 [bdubbs]
[b968722]406 89 Tests passed for me, 1 timeout on 23.1.8 [rahul]
[92202f73]407 All 98 tests passed for me for 23.3.1 [bdubbs]
[bee072a]408-->
[ef936e4]409
[eb425b4]410 <para>
411 Now, as the <systemitem class="username">root</systemitem> user:
412 </para>
[ff55539b]413
[b3f053c5]414<screen role="root"><userinput>ninja install</userinput></screen>
[a07e9eb]415
[eb425b4]416 <para>
[a07e9eb]417 If desired, install the optional documentation by running
418 the following commands as the
[eb425b4]419 <systemitem class="username">root</systemitem> user:
420 </para>
[91859cf]421
[3713bc71]422<screen role="root"
[8c25fe7]423 remap="doc"><userinput>cp -rv ../docs -T /usr/share/doc/mesa-&mesa-version;</userinput></screen>
[5a883bc4]424
[868c7c2]425 </sect2>
426
[a07e9eb]427 <sect2 role="commands">
428 <title>Command Explanations</title>
[d2f50ba]429
[95e8211]430 <para>
[3918112a]431 <parameter>--buildtype=release</parameter>: This switch ensures a
[d2f50ba]432 fully-optimized build, and disables debug assertions which will
[ec77633]433 severely slow down the libraries in certain use-cases. Without this
[3d516cf]434 switch, build sizes can span into the 2 GB range.
[95e8211]435 </para>
[869bf46b]436
[d2f50ba]437 <para>
[2c92dada]438 <anchor id='mesa-gallium-drivers' xreflabel='Mesa Gallium3D Drivers'/>
[68df8455]439 <parameter>-D gallium-drivers=auto</parameter>: This parameter
[c833c06]440 controls which Gallium3D drivers should be built:
441
442 <itemizedlist spacing="compact">
443 <listitem>
444 <para>
445 <literal>auto</literal> selects all Gallium3D drivers available
[68df8455]446 for x86. With a comma-separated list, only a subset of these
[c833c06]447 drivers will be built. If you precisely know which drivers you
[ac1f23de]448 need, you can select them explicitly. For example,
[8b5b257a]449 <option>-D gallium-drivers=radeonsi,iris,llvmpipe</option>.
[c833c06]450 </para>
451 </listitem>
452 <listitem>
453 <para>
454 <literal>r300</literal> (for ATI Radeon 9000 or Radeon X series)
455 </para>
456 </listitem>
457 <listitem>
458 <para>
459 <literal>r600</literal> (for AMD/ATI Radeon HD 2000-6000 series)
460 </para>
461 </listitem>
462 <listitem>
463 <para>
464 <literal>radeonsi</literal> (for AMD Radeon HD 7000 or newer AMD GPU models)
465 </para>
466 </listitem>
467 <listitem>
468 <para>
[0538ffc]469 <literal>nouveau</literal> (for supported NVIDIA GPUs, they are
[c833c06]470 listed as all <quote>3D features</quote> either <quote>DONE</quote> or
471 <quote>N/A</quote> in
472 <ulink url='https://nouveau.freedesktop.org/FeatureMatrix.html'>the Nouveau
473 status page</ulink>)
474 </para>
475 </listitem>
476 <listitem>
477 <para>
478 <literal>virgl</literal> (for a QEMU virtual GPU
479 with <application>virglrender</application> support; note that BLFS
480 <xref linkend='qemu'/> is not built with
481 <application>virglrender</application>)
482 </para>
483 </listitem>
484 <listitem>
485 <para>
486 <literal>svga</literal> (for a VMWare virtual GPU)
487 </para>
488 </listitem>
489 <listitem>
490 <para>
[8b5b257a]491 <literal>llvmpipe</literal> (using CPU for 3D
[ac1f23de]492 rasterization. Note that it's much slower than using a modern
[c833c06]493 3D-capable GPU, so it should be only used if the GPU is not supported
[8b5b257a]494 by other drivers)
495 </para>
496 </listitem>
497 <listitem>
498 <para>
499 <literal>softpipe</literal> (also using CPU for 3D
[58005947]500 rasterization, but slower than llvmpipe. There is not much reason
[8b5b257a]501 to use it unless LLVM is not available)
[c833c06]502 </para>
503 </listitem>
504 <listitem>
505 <para>
506 <literal>iris</literal> (for Intel GPUs shipped with Broadwell
[68df8455]507 or newer CPUs, or as a dedicated PCIe card)
[c833c06]508 </para>
509 </listitem>
510 <listitem>
511 <para>
512 <literal>crocus</literal> (for Intel GMA 3000, X3000 series,
513 4000 series, or X4000 series GPUs shipped with chipsets,
514 or Intel HD GPUs shipped with pre-Broadwell CPUs)
515 </para>
516 </listitem>
517 <listitem>
518 <para>
519 <literal>i915</literal> (for Intel GMA 900, 950, 3100, or 3150 GPUs
520 shipped with chipsets or Atom D/N 4xx/5xx CPUs)
521 </para>
522 </listitem>
[68df8455]523 <listitem>
524 <para>
525 <literal>zink</literal> (using Vulkan to implement OpenGL,
526 it's not very useful on x86 as at now but it may replace other
527 drivers for modern GPU models in the future)
528 </para>
529 </listitem>
530 </itemizedlist>
531 </para>
532
533 <para>
534 <parameter>-D vulkan-drivers=auto</parameter>: This parameter
[5844abce]535 controls which Vulkan drivers should be built:
[68df8455]536
537 <itemizedlist spacing="compact">
538 <listitem>
539 <para>
540 <literal>auto</literal> selects all Vulkan drivers available
541 for x86. With a comma-separated list, only a subset of these
542 drivers will be built. If you precisely know which drivers you
[ac1f23de]543 need, you can select them explicitly. For example,
[3038a588]544 <option>-D vulkan-drivers=amd,nouveau,swrast</option>.
[68df8455]545 </para>
546 </listitem>
547
548 <listitem>
549 <para>
550 <literal>amd</literal> (for AMD Radeon HD 7730 or newer AMD GPUs)
551 </para>
552 </listitem>
553
554 <listitem>
555 <para>
556 <literal>intel</literal> (for Intel GPUs shipped with Skylake
557 or newer CPUs, or as a dedicated PCIe card)
558 </para>
559 </listitem>
560
561 <listitem>
562 <para>
563 <literal>intel_hasvk</literal> (for Intel GPUs shipped with
564 Ivy Bridge, Haswell, or Broadwell CPUs)
565 </para>
566 </listitem>
567
568 <listitem>
569 <para>
570 <literal>nouveau</literal> (for GTX 16XX, RTX 20XX, or
571 newer NVIDIA GPUs)
572 </para>
573 </listitem>
574
575 <listitem>
576 <para>
[ac1f23de]577 <literal>swrast</literal> (for using the CPU for 3D rasterization)
[68df8455]578 Note that it's much slower than using a modern 3D-capable GPU,
579 so it should be only used if the GPU is not supported by other
[ac1f23de]580 drivers.
[68df8455]581 </para>
582 </listitem>
[5844abce]583
584 <listitem>
585 <para>
586 <literal>""</literal> (empty list, use
[0538ffc]587 <option>-D vulkan-drivers=""</option> if you've not installed and
[5844abce]588 you don't plan to install <xref linkend='vulkan-loader'/>)
589 </para>
590 </listitem>
[c833c06]591 </itemizedlist>
[d2f50ba]592 </para>
[bee072a]593
[eb425b4]594 <para>
[68df8455]595 <parameter>-D platforms=...</parameter>: This parameter
[bee072a]596 controls which windowing systems will be supported. Available
597 linux platforms are x11 and wayland.
[eb425b4]598 </para>
[bee072a]599
[2993b2f]600 <para>
[68df8455]601 <parameter>-D valgrind=disabled</parameter>: This parameter disables
[d2f50ba]602 the usage of Valgrind during the build process. Remove this parameter
603 if you have Valgrind installed, and wish to check for memory leaks.
[2993b2f]604 </para>
605
[42117d4e]606 <para>
[68df8455]607 <parameter>-D libunwind=disabled</parameter>: This parameter disables
[42117d4e]608 the usage of libunwind.
609 </para>
610
[a07e9eb]611 <para>
[68df8455]612 <command>meson configure -D build-tests=true</command>: This command will
613 reconfigure the build to set <option>-D build-tests=true</option>, but
[adcccac]614 keep the other options specified in the <command>meson setup</command>
615 command unchanged. It allows <command>ninja test</command> to build and
616 run unit tests.
[b4d0b5a]617 </para>
618
[3713bc71]619 <para>
[68df8455]620 <option>-D egl-native-platform="..."</option>: This parameter
[869bf46b]621 controls which Embedded Graphics Library support will be built. Available
622 linux options are auto (default), x11, wayland, surfaceless, and drm.
[3713bc71]623 </para>
624
[371ff30]625 </sect2>
626
[868c7c2]627 <sect2 role="content">
628 <title>Contents</title>
629
630 <segmentedlist>
[1263ab1e]631 <segtitle>Installed Programs</segtitle>
[42117d4e]632 <segtitle>Installed Libraries</segtitle><!-- in /usr/lib -->
[8b5b257a]633 <segtitle>Installed DRI Driver Stubs</segtitle><!-- in /usr/lib/dri -->
634 <segtitle>Installed VA-API Drivers</segtitle><!-- in /usr/lib/dri -->
[e929885e]635 <segtitle>Installed VDPAU Drivers</segtitle><!-- in /usr/lib/vdpau -->
636 <segtitle>Installed Vulkan Drivers</segtitle><!-- in /usr/lib -->
[ba2ac60]637 <segtitle>Installed Directories</segtitle>
[868c7c2]638
639 <seglistitem>
[eb425b4]640 <seg>
[b8b314f5]641 glxgears,
642 glxinfo,
643 mme_fermi_sim_hw_test, and
644 mme_tu104_sim_hw_test
[eb425b4]645 </seg>
[42117d4e]646 <seg>
647 libEGL.so,
648 libGL.so,
649 libGLESv1_CM.so,
650 libGLESv2.so,
651 libgbm.so,
[8b5b257a]652 libglapi.so,
653 libgallium-&mesa-version;.so, and
[7b9b069]654 libxatracker.so
[42117d4e]655 </seg>
[eb425b4]656 <seg>
[8b5b257a]657 <!-- Begin DRI driver stubs -->
658 libdril_dri.so and symlinks to it:
[ef936e4]659 crocus_dri.so,
[b3f053c5]660 i915_dri.so,
[db480be]661 iris_dri.so,
[b3f053c5]662 kms_swrast_dri.so,
663 nouveau_dri.so,
[bee072a]664 r300_dri.so,
[d2f50ba]665 r600_dri.so,
666 r600_drv_video.so,
[b3f053c5]667 radeonsi_dri.so,
668 swrast_dri.so,
[d2f50ba]669 virtio_gpu_dri.so,
[b8b314f5]670 vmwgfx_dri.so, and
671 zink_dri.so
[8b5b257a]672 <!-- End DRI driver stubs -->
673 </seg>
674 <seg>
675 <!-- Begin VA-API drivers -->
676 nouveau_drv_video.so,
677 radeonsi_drv_video.so,
678 virtio_gpu_drv_video.so,
679 <!-- End VA-API drivers -->
[e929885e]680 </seg>
681 <seg>
[e4fbb24]682 <!-- Begin VDPAU drivers -->
[d2f50ba]683 libvdpau_nouveau.so,
684 libvdpau_r600.so, and
[b3f053c5]685 libvdpau_radeonsi.so
[f7bc172]686 libvdpau_virtio_gpu.so
[e4fbb24]687 <!-- End VDPAU drivers -->
[ef936e4]688 (Many of these drivers are hard-linked).
[eb425b4]689 </seg>
[e929885e]690 <seg>
691 libvulkan_intel_hasvk.so,
692 libvulkan_intel.so,
[b8b314f5]693 libvulkan_lvp.so,
694 libvulkan_nouveau.so, and
[e929885e]695 libvulkan_radeon.so
696 </seg>
[eb425b4]697 <seg>
[869bf46b]698 <!-- $XORG_PREFIX/include/GL is installed by xorg-protos -->
699 $XORG_PREFIX/{include/{EGL,GLES,GLES2,GLES3,KHR},
[bee072a]700 $XORG_PREFIX/lib/{dri,vdpau}},
[d2f50ba]701 $XORG_PREFIX/share/drirc.d (contains workarounds for various applications,
[f72bfbe1]702 particularly browsers and games),
[e929885e]703 $XORG_PREFIX/share/vulkan,
[7b9b069]704 and /usr/share/doc/mesa-&mesa-version;
[eb425b4]705 </seg>
[868c7c2]706 </seglistitem>
707 </segmentedlist>
[d3ef1e4]708
[4437f63]709 <variablelist>
710 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
711 <?dbfo list-presentation="list"?>
712 <?dbhtml list-presentation="table"?>
713
714 <varlistentry id="glxgears">
[eb50ddde]715 <term><command>glxgears</command></term>
[4437f63]716 <listitem>
[eb425b4]717 <para>
718 is a GL demo useful for troubleshooting graphics
[4c24eb0a]719 problems
[eb425b4]720 </para>
[7a395d1]721 <indexterm zone="mesa glxgears">
[4437f63]722 <primary sortas="b-glxgears">glxgears</primary>
723 </indexterm>
724 </listitem>
725 </varlistentry>
726
727 <varlistentry id="glxinfo">
[eb50ddde]728 <term><command>glxinfo</command></term>
[4437f63]729 <listitem>
[eb425b4]730 <para>
731 is a diagnostic program that displays information about the
[4c24eb0a]732 graphics hardware and installed GL libraries
[eb425b4]733 </para>
[7a395d1]734 <indexterm zone="mesa glxinfo">
[4437f63]735 <primary sortas="b-glxinfo">glxinfo</primary>
736 </indexterm>
737 </listitem>
738 </varlistentry>
739
[8b5b257a]740 <varlistentry id="libdril_dri">
741 <term><filename class='libraryfile'>libdril_dri.so</filename></term>
742 <listitem>
743 <para>
744 is a stub allowing Xorg server to co-operate with the Gallium3D
745 drivers
746 </para>
747 </listitem>
748 </varlistentry>
749
[25f6d94]750 <varlistentry id="libEGL">
[a07e9eb]751 <term><filename class="libraryfile">libEGL.so</filename></term>
[25f6d94]752 <listitem>
[eb425b4]753 <para>
[a07e9eb]754 provides a native platform graphics interface as
[4c24eb0a]755 defined by the EGL-1.4 specification
[eb425b4]756 </para>
[7a395d1]757 <indexterm zone="mesa libEGL">
[25f6d94]758 <primary sortas="c-libGL">libEGL.so</primary>
759 </indexterm>
760 </listitem>
761 </varlistentry>
762
[a07e9eb]763 <varlistentry id="libgbm">
764 <term><filename class="libraryfile">libgbm.so</filename></term>
765 <listitem>
766 <para>
767 is the <application>Mesa</application> Graphics Buffer
[4c24eb0a]768 Manager library
[a07e9eb]769 </para>
[7a395d1]770 <indexterm zone="mesa libgbm">
[a07e9eb]771 <primary sortas="c-libgbm">libgbm.so</primary>
772 </indexterm>
773 </listitem>
774 </varlistentry>
775
776 <varlistentry id="libGLESv1_CM">
777 <term><filename class="libraryfile">libGLESv1_CM.so</filename></term>
778 <listitem>
779 <para>
[4c24eb0a]780 is the <application>Mesa</application> OpenGL ES 1.1 library
[a07e9eb]781 </para>
[7a395d1]782 <indexterm zone="mesa libGLESv1_CM">
[a07e9eb]783 <primary sortas="c-libGLESv1_CM">libGLESv1_CM.so</primary>
784 </indexterm>
785 </listitem>
786 </varlistentry>
787
788 <varlistentry id="libGLES2">
789 <term><filename class="libraryfile">libGLES2.so</filename></term>
790 <listitem>
791 <para>
[4c24eb0a]792 is the <application>Mesa</application> OpenGL ES 2.0 library
[a07e9eb]793 </para>
[7a395d1]794 <indexterm zone="mesa libGLES2">
[a07e9eb]795 <primary sortas="c-libGLES2">libGLES2.so</primary>
796 </indexterm>
797 </listitem>
798 </varlistentry>
799
[ba2ac60]800 <varlistentry id="libGL">
[a07e9eb]801 <term><filename class="libraryfile">libGL.so</filename></term>
[ba2ac60]802 <listitem>
[eb425b4]803 <para>
[4c24eb0a]804 is the main <application>Mesa</application> OpenGL library
[eb425b4]805 </para>
[7a395d1]806 <indexterm zone="mesa libGL">
[ba2ac60]807 <primary sortas="c-libGL">libGL.so</primary>
808 </indexterm>
809 </listitem>
810 </varlistentry>
[bee072a]811
[8b5b257a]812 <varlistentry id="libgallium">
813 <term><filename class='libraryfile'>libgallium-&mesa-version;.so</filename></term>
814 <listitem>
815 <para>
816 contains all the Gallium3D drivers
817 </para>
818 </listitem>
819 </varlistentry>
820
[4437f63]821 </variablelist>
822
[868c7c2]823 </sect2>
[d3ef1e4]824
[868c7c2]825</sect1>
Note: See TracBrowser for help on using the repository browser.