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.



Development versions of BLFS may not build or run some packages properly if dependencies have been updated since the most recent stable versions of the book.

Package Information

libdrm Dependencies



Cairo-1.17.6 (for tests), CMake-3.23.1 (could be used to find dependencies without pkgconfig files), docbook-xml-4.5, docbook-xsl-1.79.2, docutils-0.18.1, and libxslt-1.1.35 (to build manual pages), libatomic_ops-7.6.12 (required by architectures without native atomic operations), Valgrind-3.19.0, and CUNIT (for AMDGPU tests)

User Notes:

Installation of libdrm

Install libdrm by running the following commands:

mkdir build &&
cd    build &&

meson --prefix=$XORG_PREFIX \
      --buildtype=release   \
      -Dudev=true           \
      -Dvalgrind=false      &&

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.


Installed Programs: None
Installed Libraries:,,,,, and
Installed Directories: /usr/include/libdrm, /usr/include/libkms, and /usr/share/libdrm

Short Descriptions

contains the AMDGPU specific Direct Rendering Manager functions

contains the Intel specific Direct Rendering Manager functions

contains the open source nVidia (Nouveau) specific Direct Rendering Manager functions

contains the AMD Radeon specific Direct Rendering Manager functions

contains the Direct Rendering Manager API functions

contains API functions for kernel mode setting abstraction