Kristian Høgsberg | 1b064cc | 2009-11-20 17:08:28 -0500 | [diff] [blame] | 1 | libdrm - userspace library for drm |
Adam Jackson | 07d23f9 | 2005-07-10 22:42:42 +0000 | [diff] [blame] | 2 | |
Kristian Høgsberg | 1b064cc | 2009-11-20 17:08:28 -0500 | [diff] [blame] | 3 | This is libdrm, a userspace library for accessing the DRM, direct |
Grazvydas Ignotas | 1924b67 | 2016-11-20 20:25:46 +0200 | [diff] [blame] | 4 | rendering manager, on Linux, BSD and other operating systems that |
Kristian Høgsberg | 1b064cc | 2009-11-20 17:08:28 -0500 | [diff] [blame] | 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. |
Brian | 5c8561a | 2007-04-25 14:52:29 -0600 | [diff] [blame] | 13 | |
| 14 | |
| 15 | Compiling |
| 16 | --------- |
| 17 | |
Dylan Baker | fd9bcb7 | 2017-12-15 14:40:29 -0800 | [diff] [blame] | 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: |
Brian | 5c8561a | 2007-04-25 14:52:29 -0600 | [diff] [blame] | 39 | |
Kristian Høgsberg | 1b064cc | 2009-11-20 17:08:28 -0500 | [diff] [blame] | 40 | ./configure |
Brian | 5c8561a | 2007-04-25 14:52:29 -0600 | [diff] [blame] | 41 | |
Kristian Høgsberg | 1b064cc | 2009-11-20 17:08:28 -0500 | [diff] [blame] | 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 | |
Brian | 5c8561a | 2007-04-25 14:52:29 -0600 | [diff] [blame] | 56 | make install |
| 57 | |
Fabio Estevam | 5856a58 | 2017-01-15 23:09:27 -0200 | [diff] [blame] | 58 | If you are installing into a system location, you will need to be root |
| 59 | to perform the install step. |