openbsd-xenocara/lib/libdrm
matthieu 508791166c fix drmGetMinorNameForFD(). tweaks and ok jsg@.
For the gpu n, the main device node is /dev/dri/card<n> and the
render device node is /dev/dri/renderD<n+drmGetMinorBase()> not
/dev/dri/renderD<n>
and miod@ checked that no port should be affected.
2023-07-06 07:21:30 +00:00
..
amdgpu Merge libdrm 2.4.114 2022-11-14 08:46:46 +00:00
android Import libdrm 2.4.104 2021-02-11 10:16:31 +00:00
data Import libdrm 2.4.115 2023-02-27 12:42:10 +00:00
etnaviv Import libdrm 2.4.110 2022-04-29 10:11:42 +00:00
exynos Import libdrm 2.4.110 2022-04-29 10:11:42 +00:00
freedreno Import libdrm 2.4.110 2022-04-29 10:11:42 +00:00
generated Merge libdrm 2.4.114 2022-11-14 08:46:46 +00:00
include/drm Import libdrm 2.4.115 2023-02-27 12:42:10 +00:00
intel Merge libdrm 2.4.115 2023-02-27 12:46:20 +00:00
man Import libdrm 2.4.111 2022-06-06 12:13:53 +00:00
mk Merge libdrm 2.4.115 2023-02-27 12:46:20 +00:00
nouveau Import libdrm 2.4.111 2022-06-06 12:13:53 +00:00
omap Import libdrm 2.4.110 2022-04-29 10:11:42 +00:00
radeon Merge libdrm 2.4.110 2022-04-29 10:16:20 +00:00
tegra Import libdrm 2.4.111 2022-06-06 12:13:53 +00:00
tests Import libdrm 2.4.115 2023-02-27 12:42:10 +00:00
vc4 Merge libdrm 2.4.104 2021-02-11 10:27:07 +00:00
.editorconfig Import libdrm 2.4.104 2021-02-11 10:16:31 +00:00
.gitignore Import libdrm 2.4.110 2022-04-29 10:11:42 +00:00
.gitlab-ci.yml Import libdrm 2.4.114 2022-11-14 08:39:43 +00:00
Android.common.mk Import libdrm 2.4.104 2021-02-11 10:16:31 +00:00
Android.mk Merge libdrm 2.4.104 2021-02-11 10:27:07 +00:00
CONTRIBUTING.rst Import libdrm 2.4.104 2021-02-11 10:16:31 +00:00
CleanSpec.mk Import libdrm 2.4.104 2021-02-11 10:16:31 +00:00
Makefile add Makefiles to replace upstream use of meson 2021-02-11 10:34:51 +00:00
Makefile.sources
README.rst Import libdrm 2.4.107 2021-07-05 11:04:36 +00:00
RELEASING Import libdrm 2.4.110 2022-04-29 10:11:42 +00:00
core-symbols.txt Import libdrm 2.4.114 2022-11-14 08:39:43 +00:00
gen_table_fourcc.py Import libdrm 2.4.114 2022-11-14 08:39:43 +00:00
libdrm.pc.in
libdrm_lists.h Merge libdrm 2.4.110 2022-04-29 10:16:20 +00:00
libdrm_macros.h
libsync.h
meson.build Import libdrm 2.4.115 2023-02-27 12:42:10 +00:00
meson_options.txt Import libdrm 2.4.114 2022-11-14 08:39:43 +00:00
symbols-check.py Import libdrm 2.4.104 2021-02-11 10:16:31 +00:00
util_double_list.h Import libdrm 2.4.110 2022-04-29 10:11:42 +00:00
util_math.h
xf86atomic.h Merge libdrm 2.4.114 2022-11-14 08:46:46 +00:00
xf86drm.c fix drmGetMinorNameForFD(). tweaks and ok jsg@. 2023-07-06 07:21:30 +00:00
xf86drm.h Merge libdrm 2.4.114 2022-11-14 08:46:46 +00:00
xf86drmHash.c
xf86drmHash.h
xf86drmMode.c Merge libdrm 2.4.114 2022-11-14 08:46:46 +00:00
xf86drmMode.h Merge libdrm 2.4.114 2022-11-14 08:46:46 +00:00
xf86drmRandom.c
xf86drmRandom.h
xf86drmSL.c

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.

Syncing with the Linux kernel headers
-------------------------------------

The library should be regularly updated to match the recent changes in the
`include/uapi/drm/`.

libdrm maintains a human-readable version for the token format modifier, with
the simpler ones being extracted automatically from `drm_fourcc.h` header file
with the help of a python script.  This might not always possible, as some of
the vendors require decoding/extracting them programmatically.  For that
reason one can enhance the current vendor functions to include/provide the
newly added token formats, or, in case there's no such decoding
function, to add one that performs the tasks of extracting them.

For simpler format modifier tokens there's a script (gen_table_fourcc.py) that
creates a static table, by going over `drm_fourcc.h` header file. The script
could be further modified if it can't handle new (simpler) token format
modifiers instead of the generated static table.

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.