libdrm/2.4.109

User space library for accessing the Direct Rendering Manager, on operating systems that support the ioctl interface
Recipe info
2024-04-23

Available packages
Linux
Windows
macOS
macOS Apple Silicon

Install
Add the following line to your conanfile.txt:
[requires]
libdrm/2.4.109

Using libdrm

Note

If you are a new Conan user, we recommend reading the how to consume packages tutorial.

If you need additional assistance, please ask a question in the Conan Center Index repository.

Simplest use case consuming this recipe and assuming CMake as your local build tool:

[requires]
libdrm/2.4.109
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
from conan import ConanFile
from conan.tools.cmake import cmake_layout


class ExampleRecipe(ConanFile):
    settings = "os", "compiler", "build_type", "arch"
    generators = "CMakeDeps", "CMakeToolchain"

    def requirements(self):
        self.requires("libdrm/2.4.109")

    def layout(self):
        cmake_layout(self)

Now, you can run this Conan command to locally install (and build if necessary) this recipe and its dependencies (if any):

$ conan install conanfile.txt --build=missing

Useful information to take into account to consume this library:


These are the main declared targets:

  • CMake package name(s): libdrm
  • CMake target name(s): libdrm::libdrm
  • libdrm_vc4 => libdrm::libdrm_vc4
    libdrm_intel => libdrm::libdrm_intel
    libdrm_amdgpu => libdrm::libdrm_amdgpu
    libdrm_libdrm => libdrm::libdrm_libdrm
    libdrm_libkms => libdrm::libdrm_libkms
    libdrm_radeon => libdrm::libdrm_radeon
    libdrm_nouveau => libdrm::libdrm_nouveau
    libdrm_freedreno => libdrm::libdrm_freedreno
    
  • pkg-config file name(s): libdrm.pc
  • libdrm_vc4 => libdrm_vc4.pc
    libdrm_intel => libdrm_intel.pc
    libdrm_amdgpu => libdrm_amdgpu.pc
    libdrm_libdrm => libdrm.pc
    libdrm_libkms => libkms.pc
    libdrm_radeon => libdrm_radeon.pc
    libdrm_nouveau => libdrm_nouveau.pc
    libdrm_freedreno => libdrm_freedreno.pc
    

A simple use case using the CMake file name and the global target:

# ...
find_package(libdrm REQUIRED)
# ...
target_link_libraries(YOUR_TARGET libdrm::libdrm)

These are all the available headers. Some of these ones might be non-public; make sure of it by visiting the libdrm homepage listed above:

#include "freedreno/freedreno_drmif.h"
#include "freedreno/freedreno_ringbuffer.h"
#include "libdrm/amdgpu.h"
#include "libdrm/amdgpu_drm.h"
#include "libdrm/drm.h"
#include "libdrm/drm_fourcc.h"
#include "libdrm/drm_mode.h"
#include "libdrm/drm_sarea.h"
#include "libdrm/i915_drm.h"
#include "libdrm/intel_aub.h"
#include "libdrm/intel_bufmgr.h"
#include "libdrm/intel_debug.h"
#include "libdrm/mach64_drm.h"
#include "libdrm/mga_drm.h"
#include "libdrm/msm_drm.h"
#include "libdrm/nouveau/nouveau.h"
#include "libdrm/nouveau/nvif/cl0080.h"
#include "libdrm/nouveau/nvif/cl9097.h"
#include "libdrm/nouveau/nvif/class.h"
#include "libdrm/nouveau/nvif/if0002.h"
#include "libdrm/nouveau/nvif/if0003.h"
#include "libdrm/nouveau/nvif/ioctl.h"
#include "libdrm/nouveau/nvif/unpack.h"
#include "libdrm/nouveau_drm.h"
#include "libdrm/qxl_drm.h"
#include "libdrm/r128_drm.h"
#include "libdrm/r600_pci_ids.h"
#include "libdrm/radeon_bo.h"
#include "libdrm/radeon_bo_gem.h"
#include "libdrm/radeon_bo_int.h"
#include "libdrm/radeon_cs.h"
#include "libdrm/radeon_cs_gem.h"
#include "libdrm/radeon_cs_int.h"
#include "libdrm/radeon_drm.h"
#include "libdrm/radeon_surface.h"
#include "libdrm/savage_drm.h"
#include "libdrm/sis_drm.h"
#include "libdrm/tegra_drm.h"
#include "libdrm/vc4_drm.h"
#include "libdrm/vc4_packet.h"
#include "libdrm/vc4_qpu_defines.h"
#include "libdrm/via_drm.h"
#include "libdrm/virtgpu_drm.h"
#include "libdrm/vmwgfx_drm.h"
#include "libkms/libkms.h"
#include "libsync.h"
#include "xf86drm.h"
#include "xf86drmMode.h"