Introduction to Libdrm
Libdrm provides a userspace
library for accessing the direct rendering manager (DRM) on
operating systems that support the ioctl interface. Libdrm is a
low-level library, typically used by graphics drivers such as the
Mesa DRI drivers, the X drivers, libva and similar projects.
Note
Development versions of BLFS may not build or run some packages
properly if LFS or dependencies have been updated since the most
recent stable versions of the books.
Package Information
libdrm Dependencies
Recommended
Xorg
Libraries (for Intel KMS API support required by Mesa)
Optional
Cairo-1.18.2 (for tests), CMake-3.31.1
(could be used to find dependencies without pkgconfig files),
docbook-xml-4.5, docbook-xsl-nons-1.79.2, docutils-0.21.2, and libxslt-1.1.42
(to build manual pages), libatomic_ops-7.8.2 (required by
architectures without native atomic operations), Valgrind-3.24.0, and CUnit (for AMDGPU tests)
Installation of Libdrm
Install libdrm by running the
following commands:
mkdir build &&
cd build &&
meson setup --prefix=$XORG_PREFIX \
--buildtype=release \
-D udev=true \
-D valgrind=disabled \
.. &&
ninja
To check the results, issue ninja
test.
Now, as the root
user:
ninja install
Command Explanations
--buildtype=release
:
Specify a buildtype suitable for stable releases of the package, as
the default may produce unoptimized binaries.
-D udev=true
: This
parameter enables support for using Udev instead of mknod.
-D valgrind=disabled
: This
parameter disables building libdrm with valgrind support. This
fixes building some packages that use libdrm. Change this parameter
to "enabled" (or remove it) if you need support for valgrind.