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.27.8 (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.0 (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.