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
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
[0f5317a4]7 <!ENTITY libdrm-download-http "https://dri.freedesktop.org/libdrm/libdrm-&libdrm-version;.tar.xz">
[aa7a7fb]8 <!ENTITY libdrm-download-ftp " ">
[4fc9c64]9 <!ENTITY libdrm-md5sum "f8521de37ccbd15987b843a83fabd567">
10 <!ENTITY libdrm-size "472 KB">
[469e4488]11 <!ENTITY libdrm-buildsize "8.4 MB (with tests)">
[157f1352]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
[b9874725]39 &lfs121_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
[625040be]100<!--
[008c142]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>
[625040be]106-->
[008c142]107
[3bbf74c5]108 <para>
109 Install <application>libdrm</application> by running the following
110 commands:
111 </para>
[868c7c2]112
[49df687a]113<screen><userinput>mkdir build &amp;&amp;
[431f388]114cd build &amp;&amp;
115
[91318eb]116meson setup --prefix=$XORG_PREFIX \
117 --buildtype=release \
118 -Dudev=true \
119 -Dvalgrind=disabled \
120 .. &amp;&amp;
[49df687a]121ninja</userinput></screen>
[868c7c2]122
[3bbf74c5]123 <para>
[f4327ad9]124 To check the results, issue <command>ninja test</command>. <!--One test,
[8558044]125 'threaded' in the nouveau subdirectory, is known to fail with a
[f4327ad9]126 30 second timeout.-->
127 <!-- Regarding the 'threaded' test, it's now skipped by default (2.4.102)
128 -renodr -->
[8558044]129
[17756081]130 <!-- Tests may hang
[0f09c2b8]131 for unknown reasons. --><!-- If nouveau threaded test hangs, you can disable it
[68d5b0e]132 with
[8558044]133 <command>sed -i 's/^TESTS/#&amp;/' tests/nouveau/Makefile.in</command>.
134
[17756081]135 Now that tests are run with ninja, the test merely times out after 30 seconds.
136 -->
[3bbf74c5]137 </para>
[ad54ac8]138
[3bbf74c5]139 <para>
140 Now, as the <systemitem class="username">root</systemitem> user:
141 </para>
[868c7c2]142
[49df687a]143<screen role="root"><userinput>ninja install</userinput></screen>
[868c7c2]144
145 </sect2>
146
[7c472863]147 <sect2 role="commands">
148 <title>Command Explanations</title>
149
[adf17153]150 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
151 href="../../xincludes/meson-buildtype-release.xml"/>
152
[6eceb9c8]153 <para>
[49df687a]154 <parameter>-Dudev=true</parameter>: This parameter enables support for using
[6eceb9c8]155 <application>Udev</application> instead of <command>mknod</command>.
156 </para>
[a9ae025]157
[724fc4d1]158 <para>
[80eea7aa]159 <parameter>-Dvalgrind=disabled</parameter>: This parameter disables
[0b4d98d]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.
[724fc4d1]163 </para>
164
[7c472863]165 </sect2>
166
[868c7c2]167 <sect2 role="content">
168 <title>Contents</title>
169
170 <segmentedlist>
[c3c56b2]171 <segtitle>Installed Programs</segtitle>
[a1e27dc]172 <segtitle>Installed Libraries</segtitle>
[86f7fa0]173 <segtitle>Installed Directories</segtitle>
[868c7c2]174
175 <seglistitem>
[c3c56b2]176 <seg>
177 None
178 </seg>
[3bbf74c5]179 <seg>
[68d5b0e]180 libdrm_amdgpu.so, libdrm_intel.so, libdrm_nouveau.so,
[4956ae3]181 libdrm_radeon.so, and libdrm.so<!--, and libkms.so-->
[3bbf74c5]182 </seg>
183 <seg>
[1fe05eb]184 /usr/include/libdrm <!--,/usr/include/libkms,-->
[4956ae3]185 and /usr/share/libdrm
[3bbf74c5]186 </seg>
[868c7c2]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
[68d5b0e]195 <varlistentry id="libdrm_amdgpu">
196 <term><filename class="libraryfile">libdrm_amdgpu.so</filename></term>
[868c7c2]197 <listitem>
[3bbf74c5]198 <para>
[4c24eb0a]199 contains the AMDGPU specific Direct Rendering Manager functions
[3bbf74c5]200 </para>
[68d5b0e]201 <indexterm zone="libdrm libdrm_amdgpu">
202 <primary sortas="c-libdrm_amdgpu">libdrm_amdgpu.so</primary>
[a07e9eb]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
[4c24eb0a]212 functions
[a07e9eb]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
[4c24eb0a]225 Rendering Manager functions
[a07e9eb]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
[34122fa4]233 <varlistentry id="libdrm_radeon">
234 <term><filename class="libraryfile">libdrm_radeon.so</filename></term>
[68d5b0e]235 <listitem>
236 <para>
[34122fa4]237 contains the AMD Radeon specific Direct Rendering Manager
[4c24eb0a]238 functions
[68d5b0e]239 </para>
[34122fa4]240 <indexterm zone="libdrm libdrm_radeon">
241 <primary sortas="c-libdrm_radeon">libdrm_radeon.so</primary>
[68d5b0e]242 </indexterm>
243 </listitem>
244 </varlistentry>
245
[34122fa4]246 <varlistentry id="libdrm-lib">
247 <term><filename class="libraryfile">libdrm.so</filename></term>
[a07e9eb]248 <listitem>
249 <para>
[4c24eb0a]250 contains the Direct Rendering Manager API functions
[a07e9eb]251 </para>
[34122fa4]252 <indexterm zone="libdrm libdrm-lib">
253 <primary sortas="c-libdrm">libdrm.so</primary>
[7c472863]254 </indexterm>
255 </listitem>
256 </varlistentry>
[3bbf74c5]257
[4956ae3]258 <!-- Removed in 2.4.111
[a07e9eb]259 <varlistentry id="libkms">
260 <term><filename class="libraryfile">libkms.so</filename></term>
[7c472863]261 <listitem>
[3bbf74c5]262 <para>
[4c24eb0a]263 contains API functions for kernel mode setting abstraction
[3bbf74c5]264 </para>
[a07e9eb]265 <indexterm zone="libdrm libkms">
[7c472863]266 <primary sortas="c-libkms">libkms.so</primary>
[868c7c2]267 </indexterm>
268 </listitem>
269 </varlistentry>
[4956ae3]270 -->
[868c7c2]271
272 </variablelist>
273
274 </sect2>
275
276</sect1>
Note: See TracBrowser for help on using the repository browser.