You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hmz007 36ed224bac
Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a)
2 years ago
..
.gitlab-ci Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
amdgpu Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
android Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
data Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
etnaviv Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
exynos Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
freedreno Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
include/drm Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
intel Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
libkms Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
man Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
nouveau Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
omap Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
radeon Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
rockchip Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
tegra Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
tests Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
vc4 Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
.editorconfig Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
.gitignore Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
.gitlab-ci.yml Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
Android.bp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
Android.sources.bp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
Android.sources.bp.mk Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
CONTRIBUTING.rst Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
CleanSpec.mk Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
LICENSE Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
METADATA Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
Makefile.sources Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
OWNERS Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
README.rst Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
RELEASING Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
core-symbols.txt Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
gen_prebuilt_intermediates.sh Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
gen_table_fourcc.py Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
generated_static_table_fourcc.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
libdrm.pc.in Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
libdrm_lists.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
libdrm_macros.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
libsync.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
meson.build Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
meson_options.txt Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
symbols-check.py Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
util_double_list.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
util_math.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
xf86atomic.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
xf86drm.c Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
xf86drm.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
xf86drmHash.c Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
xf86drmHash.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
xf86drmMode.c Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
xf86drmMode.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
xf86drmRandom.c Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
xf86drmRandom.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
xf86drmSL.c Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago

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.