unplugged-system/external/libdrm
2025-10-06 13:59:42 +00:00
..
.gitlab-ci Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
amdgpu Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
android Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
data Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
etnaviv Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
exynos Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
freedreno Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
include/drm Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
intel Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
libkms Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
man Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
nouveau Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
omap Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
radeon Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
tegra Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
tests Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
vc4 Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
.editorconfig Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
.gitignore Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
.gitlab-ci.yml Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
Android.bp Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
Android.sources.bp Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
Android.sources.bp.mk Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
CleanSpec.mk Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
CONTRIBUTING.rst Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
core-symbols.txt Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
gen_prebuilt_intermediates.sh Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
gen_table_fourcc.py Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
generated_static_table_fourcc.h Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
libdrm_lists.h Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
libdrm_macros.h Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
libdrm.pc.in Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
libsync.h Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
LICENSE Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
Makefile.sources Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
meson_options.txt Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
meson.build Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
METADATA Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
OWNERS Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
README.rst Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
RELEASING Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
symbols-check.py Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
util_double_list.h Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
util_math.h Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
xf86atomic.h Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
xf86drm.c Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
xf86drm.h Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
xf86drmHash.c Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
xf86drmHash.h Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
xf86drmMode.c Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
xf86drmMode.h Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
xf86drmRandom.c Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
xf86drmRandom.h Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
xf86drmSL.c Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00

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.