README
1 libdrm - userspace library for drm
2
3 This is libdrm, a userspace library for accessing the DRM, direct
4 rendering manager, on Linux, BSD and other operating systems that
5 support the ioctl interface. The library provides wrapper functions
6 for the ioctls to avoid exposing the kernel interface directly, and
7 for chipsets with drm memory manager, support for tracking relocations
8 and buffers. libdrm is a low-level library, typically used by
9 graphics drivers such as the Mesa DRI drivers, the X drivers, libva
10 and similar projects. New functionality in the kernel DRM drivers
11 typically requires a new libdrm, but a new libdrm will always work
12 with an older kernel.
13
14
15 Compiling
16 ---------
17
18 libdrm has two build systems, a legacy autotools build system, and a newer
19 meson build system. The meson build system is much faster, and offers a
20 slightly different interface, but otherwise provides an equivalent feature set.
21
22 To use it:
23
24 meson builddir/
25
26 By default this will install into /usr/local, you can change your prefix
27 with --prefix=/usr (or `meson configure builddir/ -Dprefix=/usr` after
28 the initial meson setup).
29
30 Then use ninja to build and install:
31
32 ninja -C builddir/ install
33
34 If you are installing into a system location you will need to run install
35 separately, and as root.
36
37
38 Alternatively you can invoke autotools configure:
39
40 ./configure
41
42 By default, libdrm will install into the /usr/local/ prefix. If you
43 want to install this DRM to replace your system copy, pass
44 --prefix=/usr and --exec-prefix=/ to configure. If you are building
45 libdrm from a git checkout, you first need to run the autogen.sh
46 script. You can pass any options to autogen.sh that you would other
47 wise pass to configure, or you can just re-run configure with the
48 options you need once autogen.sh finishes.
49
50 Next step is to build libdrm:
51
52 make
53
54 and once make finishes successfully, install the package using
55
56 make install
57
58 If you are installing into a system location, you will need to be root
59 to perform the install step.
60