source: x/lib/libdrm.xml

trunk
Last change on this file was b9874725, checked in by Bruce Dubbs <bdubbs@…>, 2 months ago

Many tags.

Mostly Programming and Xorg sections and dependencies.

  • Property mode set to 100644
File size: 8.6 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 libdrm-download-http "https://dri.freedesktop.org/libdrm/libdrm-&libdrm-version;.tar.xz">
8 <!ENTITY libdrm-download-ftp " ">
9 <!ENTITY libdrm-md5sum "f8521de37ccbd15987b843a83fabd567">
10 <!ENTITY libdrm-size "472 KB">
11 <!ENTITY libdrm-buildsize "8.4 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 &lfs121_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<!--
101 <para>
102 First fix a problem building the libdrm_intel library:
103 </para>
104
105<screen><userinput>sed -i '/not.*system/s/system/cpu_family/' meson.build</userinput></screen>
106-->
107
108 <para>
109 Install <application>libdrm</application> by running the following
110 commands:
111 </para>
112
113<screen><userinput>mkdir build &amp;&amp;
114cd build &amp;&amp;
115
116meson setup --prefix=$XORG_PREFIX \
117 --buildtype=release \
118 -Dudev=true \
119 -Dvalgrind=disabled \
120 .. &amp;&amp;
121ninja</userinput></screen>
122
123 <para>
124 To check the results, issue <command>ninja test</command>. <!--One test,
125 'threaded' in the nouveau subdirectory, is known to fail with a
126 30 second timeout.-->
127 <!-- Regarding the 'threaded' test, it's now skipped by default (2.4.102)
128 -renodr -->
129
130 <!-- Tests may hang
131 for unknown reasons. --><!-- If nouveau threaded test hangs, you can disable it
132 with
133 <command>sed -i 's/^TESTS/#&amp;/' tests/nouveau/Makefile.in</command>.
134
135 Now that tests are run with ninja, the test merely times out after 30 seconds.
136 -->
137 </para>
138
139 <para>
140 Now, as the <systemitem class="username">root</systemitem> user:
141 </para>
142
143<screen role="root"><userinput>ninja install</userinput></screen>
144
145 </sect2>
146
147 <sect2 role="commands">
148 <title>Command Explanations</title>
149
150 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
151 href="../../xincludes/meson-buildtype-release.xml"/>
152
153 <para>
154 <parameter>-Dudev=true</parameter>: This parameter enables support for using
155 <application>Udev</application> instead of <command>mknod</command>.
156 </para>
157
158 <para>
159 <parameter>-Dvalgrind=disabled</parameter>: This parameter disables
160 building libdrm with valgrind support. This fixes building some packages
161 that use libdrm. Change this parameter to "enabled" (or remove it) if you
162 need support for valgrind.
163 </para>
164
165 </sect2>
166
167 <sect2 role="content">
168 <title>Contents</title>
169
170 <segmentedlist>
171 <segtitle>Installed Programs</segtitle>
172 <segtitle>Installed Libraries</segtitle>
173 <segtitle>Installed Directories</segtitle>
174
175 <seglistitem>
176 <seg>
177 None
178 </seg>
179 <seg>
180 libdrm_amdgpu.so, libdrm_intel.so, libdrm_nouveau.so,
181 libdrm_radeon.so, and libdrm.so<!--, and libkms.so-->
182 </seg>
183 <seg>
184 /usr/include/libdrm <!--,/usr/include/libkms,-->
185 and /usr/share/libdrm
186 </seg>
187 </seglistitem>
188 </segmentedlist>
189
190 <variablelist>
191 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
192 <?dbfo list-presentation="list"?>
193 <?dbhtml list-presentation="table"?>
194
195 <varlistentry id="libdrm_amdgpu">
196 <term><filename class="libraryfile">libdrm_amdgpu.so</filename></term>
197 <listitem>
198 <para>
199 contains the AMDGPU specific Direct Rendering Manager functions
200 </para>
201 <indexterm zone="libdrm libdrm_amdgpu">
202 <primary sortas="c-libdrm_amdgpu">libdrm_amdgpu.so</primary>
203 </indexterm>
204 </listitem>
205 </varlistentry>
206
207 <varlistentry id="libdrm_intel">
208 <term><filename class="libraryfile">libdrm_intel.so</filename></term>
209 <listitem>
210 <para>
211 contains the Intel specific Direct Rendering Manager
212 functions
213 </para>
214 <indexterm zone="libdrm libdrm_intel">
215 <primary sortas="c-libdrm_intel">libdrm_intel.so</primary>
216 </indexterm>
217 </listitem>
218 </varlistentry>
219
220 <varlistentry id="libdrm_nouveau">
221 <term><filename class="libraryfile">libdrm_nouveau.so</filename></term>
222 <listitem>
223 <para>
224 contains the open source nVidia (Nouveau) specific Direct
225 Rendering Manager functions
226 </para>
227 <indexterm zone="libdrm libdrm_nouveau">
228 <primary sortas="c-libdrm_nouveau">libdrm_nouveau.so</primary>
229 </indexterm>
230 </listitem>
231 </varlistentry>
232
233 <varlistentry id="libdrm_radeon">
234 <term><filename class="libraryfile">libdrm_radeon.so</filename></term>
235 <listitem>
236 <para>
237 contains the AMD Radeon specific Direct Rendering Manager
238 functions
239 </para>
240 <indexterm zone="libdrm libdrm_radeon">
241 <primary sortas="c-libdrm_radeon">libdrm_radeon.so</primary>
242 </indexterm>
243 </listitem>
244 </varlistentry>
245
246 <varlistentry id="libdrm-lib">
247 <term><filename class="libraryfile">libdrm.so</filename></term>
248 <listitem>
249 <para>
250 contains the Direct Rendering Manager API functions
251 </para>
252 <indexterm zone="libdrm libdrm-lib">
253 <primary sortas="c-libdrm">libdrm.so</primary>
254 </indexterm>
255 </listitem>
256 </varlistentry>
257
258 <!-- Removed in 2.4.111
259 <varlistentry id="libkms">
260 <term><filename class="libraryfile">libkms.so</filename></term>
261 <listitem>
262 <para>
263 contains API functions for kernel mode setting abstraction
264 </para>
265 <indexterm zone="libdrm libkms">
266 <primary sortas="c-libkms">libkms.so</primary>
267 </indexterm>
268 </listitem>
269 </varlistentry>
270 -->
271
272 </variablelist>
273
274 </sect2>
275
276</sect1>
Note: See TracBrowser for help on using the repository browser.