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.0 (for tests), CMake-3.28.1 (could be used to find dependencies without pkgconfig files), docbook-xml-4.5, docbook-xsl-nons-1.79.2, docutils-0.20.1, and libxslt-1.1.39 (to build manual pages), libatomic_ops-7.8.2 (required by architectures without native atomic operations), Valgrind-3.22.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 \
-Dudev=true \
-Dvalgrind=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.
-Dudev=true
: This parameter enables support for using Udev instead of mknod.
-Dvalgrind=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.