blob: f3df9ac193018f6a63e9fec46ba15a89c5e5a43f [file] [log] [blame]
Kristian Høgsberg1b064cc2009-11-20 17:08:28 -05001libdrm - userspace library for drm
Adam Jackson07d23f92005-07-10 22:42:42 +00002
Kristian Høgsberg1b064cc2009-11-20 17:08:28 -05003This is libdrm, a userspace library for accessing the DRM, direct
Grazvydas Ignotas1924b672016-11-20 20:25:46 +02004rendering manager, on Linux, BSD and other operating systems that
Kristian Høgsberg1b064cc2009-11-20 17:08:28 -05005support the ioctl interface. The library provides wrapper functions
6for the ioctls to avoid exposing the kernel interface directly, and
7for chipsets with drm memory manager, support for tracking relocations
8and buffers. libdrm is a low-level library, typically used by
9graphics drivers such as the Mesa DRI drivers, the X drivers, libva
10and similar projects. New functionality in the kernel DRM drivers
11typically requires a new libdrm, but a new libdrm will always work
12with an older kernel.
Brian5c8561a2007-04-25 14:52:29 -060013
14
15Compiling
16---------
17
Dylan Bakerfd9bcb72017-12-15 14:40:29 -080018libdrm has two build systems, a legacy autotools build system, and a newer
19meson build system. The meson build system is much faster, and offers a
20slightly different interface, but otherwise provides an equivalent feature set.
21
22To use it:
23
24 meson builddir/
25
26By default this will install into /usr/local, you can change your prefix
27with --prefix=/usr (or `meson configure builddir/ -Dprefix=/usr` after
28the initial meson setup).
29
30Then use ninja to build and install:
31
32 ninja -C builddir/ install
33
34If you are installing into a system location you will need to run install
35separately, and as root.
36
37
38Alternatively you can invoke autotools configure:
Brian5c8561a2007-04-25 14:52:29 -060039
Kristian Høgsberg1b064cc2009-11-20 17:08:28 -050040 ./configure
Brian5c8561a2007-04-25 14:52:29 -060041
Kristian Høgsberg1b064cc2009-11-20 17:08:28 -050042By default, libdrm will install into the /usr/local/ prefix. If you
43want to install this DRM to replace your system copy, pass
44--prefix=/usr and --exec-prefix=/ to configure. If you are building
45libdrm from a git checkout, you first need to run the autogen.sh
46script. You can pass any options to autogen.sh that you would other
47wise pass to configure, or you can just re-run configure with the
48options you need once autogen.sh finishes.
49
50Next step is to build libdrm:
51
52 make
53
54and once make finishes successfully, install the package using
55
Brian5c8561a2007-04-25 14:52:29 -060056 make install
57
Fabio Estevam5856a582017-01-15 23:09:27 -020058If you are installing into a system location, you will need to be root
59to perform the install step.