Go to file
Thomas Petazzoni 8c51195039 xf86atomic: require CAS support in libatomic_ops
Since AO_compare_and_swap_full() is used by libdrm, AO_REQUIRE_CAS
must be defined before including <atomic_ops.h> so that we are sure
that CAS support will be provided. This is necessary to make sure that
the AO_compare_and_swap_full() function will be provided on all
architectures, including the ones that don't have built-in CAS support
such as SPARCv8.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Acked-by: Eric Engestrom <eric.engestrom@intel.com>
2019-12-06 21:57:12 +00:00
.gitlab-ci gitlab-ci: add PowerPC build 2019-11-23 00:37:06 +00:00
amdgpu amdgpu: convert to new symbols check 2019-11-11 22:57:14 +00:00
android android: Fix 32-bit app crashing in 64-bit Android 2018-12-18 21:18:19 +01:00
data amdgpu: add new marketing names from 19.30 2019-12-04 17:26:44 -05:00
etnaviv etnaviv: convert to new symbols check 2019-11-11 22:57:14 +00:00
exynos exynos: convert to new symbols check 2019-11-11 22:57:14 +00:00
freedreno freedreno: convert to new symbols check 2019-11-11 22:57:14 +00:00
include/drm sync up drm.h 2019-10-26 03:11:14 +00:00
intel intel: convert to new symbols check 2019-11-11 22:57:14 +00:00
libkms libkms: convert to new symbols check 2019-11-11 22:57:14 +00:00
man Revert "Revert "libdrm: remove autotools support"" 2019-10-18 18:05:45 +01:00
nouveau nouveau: convert to new symbols check 2019-11-11 22:57:14 +00:00
omap omap: convert to new symbols check 2019-11-11 22:57:14 +00:00
radeon radeon: convert to new symbols check 2019-11-11 22:57:14 +00:00
tegra tegra: convert to new symbols check 2019-11-11 22:57:14 +00:00
tests tests/nouveau/threaded: adapt ioctl signature 2019-11-28 22:01:34 +01:00
vc4 Revert "Revert "libdrm: remove autotools support"" 2019-10-18 18:05:45 +01:00
.editorconfig Add meson build system 2018-01-12 09:40:48 -08:00
.gitlab-ci.yml gitlab-ci: update to current ci-templates master 2019-12-03 16:17:14 +01:00
Android.common.mk android: make symbols hidden by default 2018-10-04 14:42:54 +01:00
Android.mk libdrm: Android.mk: Add minimal Android platform check 2019-04-25 10:55:02 +01:00
CONTRIBUTING.rst doc: Rename README&CONTRIBUTING to .rst 2018-10-17 17:17:19 +02:00
CleanSpec.mk tests: Split helpers into library 2015-12-18 17:43:40 +00:00
Makefile.sources libdrm: add msm drm uapi header 2018-08-23 08:48:45 -07:00
README.rst Revert "Revert "libdrm: remove autotools support"" 2019-10-18 18:05:45 +01:00
RELEASING RELEASING: update instructions to use meson instead of autotools 2019-10-14 15:57:26 +00:00
libdrm.pc.in Revert "Fix pkgconfig includes for /usr/include/drm" 2010-04-09 16:33:38 -04:00
libdrm_lists.h lists: add nicer+unsafe foreach, and list join macros 2012-04-14 02:47:04 +10:00
libdrm_macros.h libdrm: Use mmap64 instead of __mmap2 2019-04-25 10:55:13 +01:00
libsync.h add libsync.h helper 2016-11-05 10:16:46 -04:00
meson.build meson.build: fix intel atomics detection 2019-12-05 13:25:30 +00:00
meson_options.txt Add meson build system 2018-01-12 09:40:48 -08:00
symbols-check.py meson: import Mesa's symbols check script 2019-11-11 22:57:14 +00:00
util_double_list.h list: fix an issue with android build using clang 2016-08-02 16:22:45 -04:00
util_math.h Fix build with -std=c11 2018-09-05 13:09:29 +01:00
xf86atomic.h xf86atomic: require CAS support in libatomic_ops 2019-12-06 21:57:12 +00:00
xf86drm.c libdrm: wrap new flexible syncobj query interface v2 2019-10-26 03:11:14 +00:00
xf86drm.h Add ARM support into xf86drm.h 2019-12-05 22:35:58 +01:00
xf86drmHash.c xf86drmHash: remove unused loop variable 2018-11-09 10:59:11 +00:00
xf86drmHash.h tests/hash: extract test out of xf86drmHash.c 2015-04-05 15:19:42 +01:00
xf86drmMode.c xf86drm: Fix possible memory leak with drmModeGetPropertyPtr() 2019-05-03 12:47:42 +01:00
xf86drmMode.h Fix missing stdlib includes in xf86drmMode.h 2019-11-12 00:16:58 +00:00
xf86drmRandom.c libdrm: annotate public functions 2018-09-19 22:46:45 -07:00
xf86drmRandom.h tests/random: extract test out of xf86drmRandom.c 2015-04-05 15:33:33 +01:00
xf86drmSL.c libdrm: annotate public functions 2018-09-19 22:46:45 -07:00

README.rst

libdrm - userspace library for drm
----------------------------------

This is libdrm, a userspace library for accessing the DRM, direct rendering
manager, on Linux, BSD and other operating systems that support the ioctl
interface.
The library provides wrapper functions for the ioctls to avoid exposing the
kernel interface directly, and for chipsets with drm memory manager, support
for tracking relocations and buffers.
New functionality in the kernel DRM drivers typically requires a new libdrm,
but a new libdrm will always work with an older kernel.

libdrm is a low-level library, typically used by graphics drivers such as
the Mesa drivers, the X drivers, libva and similar projects.


Compiling
---------

To set up meson:

    meson builddir/

By default this will install into /usr/local, you can change your prefix
with --prefix=/usr (or `meson configure builddir/ -Dprefix=/usr` after 
the initial meson setup).

Then use ninja to build and install:

    ninja -C builddir/ install

If you are installing into a system location you will need to run install
separately, and as root.