Introduction to libdrm
libdrm provides a user space
library for accessing the DRM, direct rendering manager, 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.
This package is known to build and work properly using an LFS-11.0
platform.
Package Information
libdrm Dependencies
Recommended
Xorg
Libraries (for Intel KMS API support required by Mesa)
Optional
Cairo-1.17.4 (for tests), CMake-3.21.2
(could be used to find dependencies without pkgconfig files),
docbook-xml-4.5, docbook-xsl-1.79.2, docutils-0.17.1, and libxslt-1.1.34
(to build manual pages), libatomic_ops-7.6.10 (required by
architectures without native atomic operations), Valgrind-3.17.0, and CUNIT (for AMDGPU tests)
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/libdrm
Installation of libdrm
Install libdrm by running the
following commands:
mkdir build &&
cd build &&
meson --prefix=$XORG_PREFIX \
--buildtype=release \
-Dudev=true \
-Dvalgrind=false &&
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=false
: This
parameter disables building libdrm with valgrind support. This
fixes building sysprof and other packages that use libdrm. Change
this parameter to "true" if you need support for valgrind.