source: x/lib/libdrm.xml@ d1857f3

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

Fix a problem building the libdrm_intel library

  • Property mode set to 100644
File size: 8.6 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 libdrm-download-http "https://dri.freedesktop.org/libdrm/libdrm-&libdrm-version;.tar.xz">
8 <!ENTITY libdrm-download-ftp " ">
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)">
13 <!-- With version 2.4.102, the tests add 1 second to my build. -->
14 <!-- The 'threaded' test adds about 15 seconds if you're on an NVIDIA system
15 due to it directly interacting with the GPU. -->
16]>
17
18<sect1 id="libdrm" xreflabel="libdrm-&libdrm-version;">
19 <?dbhtml filename="libdrm.html"?>
20
21
22 <title>Libdrm-&libdrm-version;</title>
23
24 <indexterm zone="libdrm">
25 <primary sortas="a-libdrm">libdrm</primary>
26 </indexterm>
27
28 <sect2 role="package">
29 <title>Introduction to Libdrm</title>
30
31 <para>
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
35 by graphics drivers such as the Mesa DRI drivers, the X drivers, libva and
36 similar projects.
37 </para>
38
39 &lfs120_checked;
40
41 <bridgehead renderas="sect3">Package Information</bridgehead>
42 <itemizedlist spacing="compact">
43 <listitem>
44 <para>
45 Download (HTTP): <ulink url="&libdrm-download-http;"/>
46 </para>
47 </listitem>
48 <listitem>
49 <para>
50 Download (FTP): <ulink url="&libdrm-download-ftp;"/>
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download MD5 sum: &libdrm-md5sum;
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Download size: &libdrm-size;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Estimated disk space required: &libdrm-buildsize;
66 </para>
67 </listitem>
68 <listitem>
69 <para>
70 Estimated build time: &libdrm-time;
71 </para>
72 </listitem>
73 </itemizedlist>
74
75 <bridgehead renderas="sect3">libdrm Dependencies</bridgehead>
76
77 <bridgehead renderas="sect4">Recommended</bridgehead>
78 <para role="recommended">
79 <xref linkend="xorg7-lib"/> (for Intel KMS API support required by Mesa)
80 </para>
81
82 <bridgehead renderas="sect4">Optional</bridgehead>
83 <para role="optional">
84 <xref linkend="cairo"/> (for tests),
85 <xref linkend="cmake"/> (could be used to find dependencies without pkgconfig files),
86 <xref linkend="DocBook"/>,
87 <xref linkend="docbook-xsl"/>,
88 <xref linkend="docutils"/>, and
89 <xref linkend="libxslt"/> (to build manual pages),
90 <xref linkend="libatomic_ops"/> (required by architectures without native atomic operations),
91 <xref linkend="valgrind"/>, and
92 <ulink url="https://cunit.sourceforge.net/">CUnit</ulink> (for AMDGPU tests)
93 </para>
94
95 </sect2>
96
97 <sect2 role="installation">
98 <title>Installation of Libdrm</title>
99
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
106 <para>
107 Install <application>libdrm</application> by running the following
108 commands:
109 </para>
110
111<screen><userinput>mkdir build &amp;&amp;
112cd build &amp;&amp;
113
114meson setup --prefix=$XORG_PREFIX \
115 --buildtype=release \
116 -Dudev=true \
117 -Dvalgrind=disabled \
118 .. &amp;&amp;
119ninja</userinput></screen>
120
121 <para>
122 To check the results, issue <command>ninja test</command>. <!--One test,
123 'threaded' in the nouveau subdirectory, is known to fail with a
124 30 second timeout.-->
125 <!-- Regarding the 'threaded' test, it's now skipped by default (2.4.102)
126 -renodr -->
127
128 <!-- Tests may hang
129 for unknown reasons. --><!-- If nouveau threaded test hangs, you can disable it
130 with
131 <command>sed -i 's/^TESTS/#&amp;/' tests/nouveau/Makefile.in</command>.
132
133 Now that tests are run with ninja, the test merely times out after 30 seconds.
134 -->
135 </para>
136
137 <para>
138 Now, as the <systemitem class="username">root</systemitem> user:
139 </para>
140
141<screen role="root"><userinput>ninja install</userinput></screen>
142
143 </sect2>
144
145 <sect2 role="commands">
146 <title>Command Explanations</title>
147
148 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
149 href="../../xincludes/meson-buildtype-release.xml"/>
150
151 <para>
152 <parameter>-Dudev=true</parameter>: This parameter enables support for using
153 <application>Udev</application> instead of <command>mknod</command>.
154 </para>
155
156 <para>
157 <parameter>-Dvalgrind=disabled</parameter>: This parameter disables
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.
161 </para>
162
163 </sect2>
164
165 <sect2 role="content">
166 <title>Contents</title>
167
168 <segmentedlist>
169 <segtitle>Installed Programs</segtitle>
170 <segtitle>Installed Libraries</segtitle>
171 <segtitle>Installed Directories</segtitle>
172
173 <seglistitem>
174 <seg>
175 None
176 </seg>
177 <seg>
178 libdrm_amdgpu.so, libdrm_intel.so, libdrm_nouveau.so,
179 libdrm_radeon.so, and libdrm.so<!--, and libkms.so-->
180 </seg>
181 <seg>
182 /usr/include/libdrm <!--,/usr/include/libkms,-->
183 and /usr/share/libdrm
184 </seg>
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
193 <varlistentry id="libdrm_amdgpu">
194 <term><filename class="libraryfile">libdrm_amdgpu.so</filename></term>
195 <listitem>
196 <para>
197 contains the AMDGPU specific Direct Rendering Manager functions
198 </para>
199 <indexterm zone="libdrm libdrm_amdgpu">
200 <primary sortas="c-libdrm_amdgpu">libdrm_amdgpu.so</primary>
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
210 functions
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
223 Rendering Manager functions
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
231 <varlistentry id="libdrm_radeon">
232 <term><filename class="libraryfile">libdrm_radeon.so</filename></term>
233 <listitem>
234 <para>
235 contains the AMD Radeon specific Direct Rendering Manager
236 functions
237 </para>
238 <indexterm zone="libdrm libdrm_radeon">
239 <primary sortas="c-libdrm_radeon">libdrm_radeon.so</primary>
240 </indexterm>
241 </listitem>
242 </varlistentry>
243
244 <varlistentry id="libdrm-lib">
245 <term><filename class="libraryfile">libdrm.so</filename></term>
246 <listitem>
247 <para>
248 contains the Direct Rendering Manager API functions
249 </para>
250 <indexterm zone="libdrm libdrm-lib">
251 <primary sortas="c-libdrm">libdrm.so</primary>
252 </indexterm>
253 </listitem>
254 </varlistentry>
255
256 <!-- Removed in 2.4.111
257 <varlistentry id="libkms">
258 <term><filename class="libraryfile">libkms.so</filename></term>
259 <listitem>
260 <para>
261 contains API functions for kernel mode setting abstraction
262 </para>
263 <indexterm zone="libdrm libkms">
264 <primary sortas="c-libkms">libkms.so</primary>
265 </indexterm>
266 </listitem>
267 </varlistentry>
268 -->
269
270 </variablelist>
271
272 </sect2>
273
274</sect1>
Note: See TracBrowser for help on using the repository browser.