source: x/lib/libdrm.xml@ 9885bf08

12.1 12.2 gimp3 ken/TL2024 ken/tuningfonts lazarus plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/for-12.3 xry111/llvm18 xry111/spidermonkey128
Last change on this file since 9885bf08 was 008c142, checked in by Bruce Dubbs <bdubbs@…>, 11 months ago

Fix a problem building the libdrm_intel library

  • Property mode set to 100644
File size: 8.6 KB
RevLine 
[868c7c2]1<?xml version="1.0" encoding="ISO-8859-1"?>
[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
[0f5317a4]7 <!ENTITY libdrm-download-http "https://dri.freedesktop.org/libdrm/libdrm-&libdrm-version;.tar.xz">
[aa7a7fb]8 <!ENTITY libdrm-download-ftp " ">
[157f1352]9 <!ENTITY libdrm-md5sum "69b17be6250b2c863411e0c5f6aefd6a">
10 <!ENTITY libdrm-size "468 KB">
11 <!ENTITY libdrm-buildsize "7.9 MB (with tests)">
12 <!ENTITY libdrm-time "less than 0.1 SBU (with tests)">
[f4327ad9]13 <!-- With version 2.4.102, the tests add 1 second to my build. -->
[f1a479c7]14 <!-- The 'threaded' test adds about 15 seconds if you're on an NVIDIA system
15 due to it directly interacting with the GPU. -->
[868c7c2]16]>
17
18<sect1 id="libdrm" xreflabel="libdrm-&libdrm-version;">
19 <?dbhtml filename="libdrm.html"?>
20
21
[a0e08b2]22 <title>Libdrm-&libdrm-version;</title>
[868c7c2]23
24 <indexterm zone="libdrm">
25 <primary sortas="a-libdrm">libdrm</primary>
26 </indexterm>
27
28 <sect2 role="package">
[a0e08b2]29 <title>Introduction to Libdrm</title>
[868c7c2]30
[3bbf74c5]31 <para>
[a0e08b2]32 <application>Libdrm</application> provides a userspace library for
33 accessing the direct rendering manager (DRM) on operating systems that
34 support the ioctl interface. Libdrm is a low-level library, typically used
[3538884]35 by graphics drivers such as the Mesa DRI drivers, the X drivers, libva and
36 similar projects.
[3bbf74c5]37 </para>
[868c7c2]38
[479979e]39 &lfs120_checked;
[1ed7820]40
[868c7c2]41 <bridgehead renderas="sect3">Package Information</bridgehead>
42 <itemizedlist spacing="compact">
43 <listitem>
[3bbf74c5]44 <para>
45 Download (HTTP): <ulink url="&libdrm-download-http;"/>
46 </para>
[868c7c2]47 </listitem>
48 <listitem>
[3bbf74c5]49 <para>
50 Download (FTP): <ulink url="&libdrm-download-ftp;"/>
51 </para>
[868c7c2]52 </listitem>
53 <listitem>
[3bbf74c5]54 <para>
55 Download MD5 sum: &libdrm-md5sum;
56 </para>
[868c7c2]57 </listitem>
58 <listitem>
[3bbf74c5]59 <para>
60 Download size: &libdrm-size;
61 </para>
[868c7c2]62 </listitem>
63 <listitem>
[3bbf74c5]64 <para>
65 Estimated disk space required: &libdrm-buildsize;
66 </para>
[868c7c2]67 </listitem>
68 <listitem>
[3bbf74c5]69 <para>
70 Estimated build time: &libdrm-time;
71 </para>
[868c7c2]72 </listitem>
73 </itemizedlist>
74
[10e02da]75 <bridgehead renderas="sect3">libdrm Dependencies</bridgehead>
76
[3538884]77 <bridgehead renderas="sect4">Recommended</bridgehead>
78 <para role="recommended">
[6121fe5]79 <xref linkend="xorg7-lib"/> (for Intel KMS API support required by Mesa)
[0d6e0af]80 </para>
[10e02da]81
[0d6e0af]82 <bridgehead renderas="sect4">Optional</bridgehead>
83 <para role="optional">
[597ac4bd]84 <xref linkend="cairo"/> (for tests),
[7292e01]85 <xref linkend="cmake"/> (could be used to find dependencies without pkgconfig files),
[e520239f]86 <xref linkend="DocBook"/>,
[4d59e9e]87 <xref linkend="docbook-xsl"/>,
88 <xref linkend="docutils"/>, and
[597ac4bd]89 <xref linkend="libxslt"/> (to build manual pages),
[7292e01]90 <xref linkend="libatomic_ops"/> (required by architectures without native atomic operations),
[597ac4bd]91 <xref linkend="valgrind"/>, and
[2974f01]92 <ulink url="https://cunit.sourceforge.net/">CUnit</ulink> (for AMDGPU tests)
[0d6e0af]93 </para>
[14dcfecb]94
[868c7c2]95 </sect2>
96
97 <sect2 role="installation">
[a0e08b2]98 <title>Installation of Libdrm</title>
[868c7c2]99
[008c142]100 <para>
101 First fix a problem building the libdrm_intel library:
102 </para>
103
104<screen><userinput>sed -i '/not.*system/s/system/cpu_family/' meson.build</userinput></screen>
105
[3bbf74c5]106 <para>
107 Install <application>libdrm</application> by running the following
108 commands:
109 </para>
[868c7c2]110
[49df687a]111<screen><userinput>mkdir build &amp;&amp;
[431f388]112cd build &amp;&amp;
113
[91318eb]114meson setup --prefix=$XORG_PREFIX \
115 --buildtype=release \
116 -Dudev=true \
117 -Dvalgrind=disabled \
118 .. &amp;&amp;
[49df687a]119ninja</userinput></screen>
[868c7c2]120
[3bbf74c5]121 <para>
[f4327ad9]122 To check the results, issue <command>ninja test</command>. <!--One test,
[8558044]123 'threaded' in the nouveau subdirectory, is known to fail with a
[f4327ad9]124 30 second timeout.-->
125 <!-- Regarding the 'threaded' test, it's now skipped by default (2.4.102)
126 -renodr -->
[8558044]127
[17756081]128 <!-- Tests may hang
[0f09c2b8]129 for unknown reasons. --><!-- If nouveau threaded test hangs, you can disable it
[68d5b0e]130 with
[8558044]131 <command>sed -i 's/^TESTS/#&amp;/' tests/nouveau/Makefile.in</command>.
132
[17756081]133 Now that tests are run with ninja, the test merely times out after 30 seconds.
134 -->
[3bbf74c5]135 </para>
[ad54ac8]136
[3bbf74c5]137 <para>
138 Now, as the <systemitem class="username">root</systemitem> user:
139 </para>
[868c7c2]140
[49df687a]141<screen role="root"><userinput>ninja install</userinput></screen>
[868c7c2]142
143 </sect2>
144
[7c472863]145 <sect2 role="commands">
146 <title>Command Explanations</title>
147
[adf17153]148 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
149 href="../../xincludes/meson-buildtype-release.xml"/>
150
[6eceb9c8]151 <para>
[49df687a]152 <parameter>-Dudev=true</parameter>: This parameter enables support for using
[6eceb9c8]153 <application>Udev</application> instead of <command>mknod</command>.
154 </para>
[a9ae025]155
[724fc4d1]156 <para>
[80eea7aa]157 <parameter>-Dvalgrind=disabled</parameter>: This parameter disables
[0b4d98d]158 building libdrm with valgrind support. This fixes building some packages
159 that use libdrm. Change this parameter to "enabled" (or remove it) if you
160 need support for valgrind.
[724fc4d1]161 </para>
162
[7c472863]163 </sect2>
164
[868c7c2]165 <sect2 role="content">
166 <title>Contents</title>
167
168 <segmentedlist>
[c3c56b2]169 <segtitle>Installed Programs</segtitle>
[a1e27dc]170 <segtitle>Installed Libraries</segtitle>
[86f7fa0]171 <segtitle>Installed Directories</segtitle>
[868c7c2]172
173 <seglistitem>
[c3c56b2]174 <seg>
175 None
176 </seg>
[3bbf74c5]177 <seg>
[68d5b0e]178 libdrm_amdgpu.so, libdrm_intel.so, libdrm_nouveau.so,
[4956ae3]179 libdrm_radeon.so, and libdrm.so<!--, and libkms.so-->
[3bbf74c5]180 </seg>
181 <seg>
[1fe05eb]182 /usr/include/libdrm <!--,/usr/include/libkms,-->
[4956ae3]183 and /usr/share/libdrm
[3bbf74c5]184 </seg>
[868c7c2]185 </seglistitem>
186 </segmentedlist>
187
188 <variablelist>
189 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
190 <?dbfo list-presentation="list"?>
191 <?dbhtml list-presentation="table"?>
192
[68d5b0e]193 <varlistentry id="libdrm_amdgpu">
194 <term><filename class="libraryfile">libdrm_amdgpu.so</filename></term>
[868c7c2]195 <listitem>
[3bbf74c5]196 <para>
[4c24eb0a]197 contains the AMDGPU specific Direct Rendering Manager functions
[3bbf74c5]198 </para>
[68d5b0e]199 <indexterm zone="libdrm libdrm_amdgpu">
200 <primary sortas="c-libdrm_amdgpu">libdrm_amdgpu.so</primary>
[a07e9eb]201 </indexterm>
202 </listitem>
203 </varlistentry>
204
205 <varlistentry id="libdrm_intel">
206 <term><filename class="libraryfile">libdrm_intel.so</filename></term>
207 <listitem>
208 <para>
209 contains the Intel specific Direct Rendering Manager
[4c24eb0a]210 functions
[a07e9eb]211 </para>
212 <indexterm zone="libdrm libdrm_intel">
213 <primary sortas="c-libdrm_intel">libdrm_intel.so</primary>
214 </indexterm>
215 </listitem>
216 </varlistentry>
217
218 <varlistentry id="libdrm_nouveau">
219 <term><filename class="libraryfile">libdrm_nouveau.so</filename></term>
220 <listitem>
221 <para>
222 contains the open source nVidia (Nouveau) specific Direct
[4c24eb0a]223 Rendering Manager functions
[a07e9eb]224 </para>
225 <indexterm zone="libdrm libdrm_nouveau">
226 <primary sortas="c-libdrm_nouveau">libdrm_nouveau.so</primary>
227 </indexterm>
228 </listitem>
229 </varlistentry>
230
[34122fa4]231 <varlistentry id="libdrm_radeon">
232 <term><filename class="libraryfile">libdrm_radeon.so</filename></term>
[68d5b0e]233 <listitem>
234 <para>
[34122fa4]235 contains the AMD Radeon specific Direct Rendering Manager
[4c24eb0a]236 functions
[68d5b0e]237 </para>
[34122fa4]238 <indexterm zone="libdrm libdrm_radeon">
239 <primary sortas="c-libdrm_radeon">libdrm_radeon.so</primary>
[68d5b0e]240 </indexterm>
241 </listitem>
242 </varlistentry>
243
[34122fa4]244 <varlistentry id="libdrm-lib">
245 <term><filename class="libraryfile">libdrm.so</filename></term>
[a07e9eb]246 <listitem>
247 <para>
[4c24eb0a]248 contains the Direct Rendering Manager API functions
[a07e9eb]249 </para>
[34122fa4]250 <indexterm zone="libdrm libdrm-lib">
251 <primary sortas="c-libdrm">libdrm.so</primary>
[7c472863]252 </indexterm>
253 </listitem>
254 </varlistentry>
[3bbf74c5]255
[4956ae3]256 <!-- Removed in 2.4.111
[a07e9eb]257 <varlistentry id="libkms">
258 <term><filename class="libraryfile">libkms.so</filename></term>
[7c472863]259 <listitem>
[3bbf74c5]260 <para>
[4c24eb0a]261 contains API functions for kernel mode setting abstraction
[3bbf74c5]262 </para>
[a07e9eb]263 <indexterm zone="libdrm libkms">
[7c472863]264 <primary sortas="c-libkms">libkms.so</primary>
[868c7c2]265 </indexterm>
266 </listitem>
267 </varlistentry>
[4956ae3]268 -->
[868c7c2]269
270 </variablelist>
271
272 </sect2>
273
274</sect1>
Note: See TracBrowser for help on using the repository browser.