|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | - | - |
| .gitlab-ci/ | | 03-May-2024 | - | 67 | 46 |
| amdgpu/ | | 03-May-2024 | - | 5,301 | 2,898 |
| android/ | | 03-May-2024 | - | 112 | 54 |
| data/ | | 03-May-2024 | - | 345 | 336 |
| etnaviv/ | | 03-May-2024 | - | 1,949 | 1,280 |
| exynos/ | | 03-May-2024 | - | 2,306 | 1,424 |
| freedreno/ | | 03-May-2024 | - | 4,829 | 3,158 |
| include/drm/ | | 03-May-2024 | - | 12,873 | 6,123 |
| intel/ | | 03-May-2024 | - | 16,475 | 13,027 |
| libkms/ | | 03-May-2024 | - | 1,982 | 1,375 |
| man/ | | 03-May-2024 | - | 875 | 695 |
| nouveau/ | | 03-May-2024 | - | 3,227 | 2,597 |
| omap/ | | 03-May-2024 | - | 791 | 541 |
| radeon/ | | 03-May-2024 | - | 5,822 | 4,640 |
| tegra/ | | 03-May-2024 | - | 547 | 362 |
| tests/ | | 03-May-2024 | - | 29,729 | 22,849 |
| vc4/ | | 03-May-2024 | - | 716 | 512 |
| .editorconfig | D | 03-May-2024 | 360 | 24 | 17 |
| .gitignore | D | 03-May-2024 | 8 | 2 | 1 |
| .gitlab-ci.yml | D | 03-May-2024 | 7.2 KiB | 281 | 213 |
| Android.bp | D | 03-May-2024 | 3.6 KiB | 111 | 101 |
| Android.sources.bp | D | 03-May-2024 | 229 | 13 | 11 |
| Android.sources.bp.mk | D | 03-May-2024 | 712 | 26 | 17 |
| CONTRIBUTING.rst | D | 03-May-2024 | 4 KiB | 106 | 73 |
| CleanSpec.mk | D | 03-May-2024 | 490 | 9 | 6 |
| LICENSE | D | 03-May-2024 | 2.1 KiB | 41 | 33 |
| METADATA | D | 03-May-2024 | 525 | 20 | 18 |
| Makefile.sources | D | 03-May-2024 | 938 | 46 | 41 |
| OWNERS | D | 03-May-2024 | 181 | 6 | 5 |
| README.rst | D | 03-May-2024 | 2 KiB | 52 | 38 |
| RELEASING | D | 03-May-2024 | 1.8 KiB | 41 | 30 |
| core-symbols.txt | D | 03-May-2024 | 3.4 KiB | 204 | 203 |
| gen_prebuilt_intermediates.sh | D | 03-May-2024 | 97 | 3 | 1 |
| gen_table_fourcc.py | D | 03-May-2024 | 2.8 KiB | 85 | 43 |
| generated_static_table_fourcc.h | D | 03-May-2024 | 2.7 KiB | 50 | 47 |
| libdrm.pc.in | D | 03-May-2024 | 250 | 11 | 9 |
| libdrm_lists.h | D | 03-May-2024 | 4.4 KiB | 119 | 72 |
| libdrm_macros.h | D | 03-May-2024 | 2.7 KiB | 88 | 41 |
| libsync.h | D | 03-May-2024 | 3.4 KiB | 149 | 77 |
| meson.build | D | 03-May-2024 | 12.3 KiB | 423 | 375 |
| meson_options.txt | D | 03-May-2024 | 3.8 KiB | 144 | 139 |
| symbols-check.py | D | 03-May-2024 | 3.7 KiB | 131 | 101 |
| util_double_list.h | D | 03-May-2024 | 4.6 KiB | 144 | 88 |
| util_math.h | D | 03-May-2024 | 1.5 KiB | 35 | 8 |
| xf86atomic.h | D | 03-May-2024 | 3.8 KiB | 115 | 62 |
| xf86drm.c | D | 03-May-2024 | 128 KiB | 5,108 | 3,350 |
| xf86drm.h | D | 03-May-2024 | 35.9 KiB | 967 | 710 |
| xf86drmHash.c | D | 03-May-2024 | 7 KiB | 243 | 136 |
| xf86drmHash.h | D | 03-May-2024 | 2 KiB | 48 | 16 |
| xf86drmMode.c | D | 03-May-2024 | 40.8 KiB | 1,741 | 1,316 |
| xf86drmMode.h | D | 03-May-2024 | 14.4 KiB | 483 | 260 |
| xf86drmRandom.c | D | 03-May-2024 | 4.7 KiB | 139 | 49 |
| xf86drmRandom.h | D | 03-May-2024 | 1.5 KiB | 36 | 9 |
| xf86drmSL.c | D | 03-May-2024 | 8.5 KiB | 320 | 219 |
README.rst
1libdrm - userspace library for drm
2----------------------------------
3
4This is libdrm, a userspace library for accessing the DRM, direct rendering
5manager, on Linux, BSD and other operating systems that support the ioctl
6interface.
7The library provides wrapper functions for the ioctls to avoid exposing the
8kernel interface directly, and for chipsets with drm memory manager, support
9for tracking relocations and buffers.
10New functionality in the kernel DRM drivers typically requires a new libdrm,
11but a new libdrm will always work with an older kernel.
12
13libdrm is a low-level library, typically used by graphics drivers such as
14the Mesa drivers, the X drivers, libva and similar projects.
15
16Syncing with the Linux kernel headers
17-------------------------------------
18
19The library should be regularly updated to match the recent changes in the
20`include/uapi/drm/`.
21
22libdrm maintains a human-readable version for the token format modifier, with
23the simpler ones being extracted automatically from `drm_fourcc.h` header file
24with the help of a python script. This might not always possible, as some of
25the vendors require decoding/extracting them programmatically. For that
26reason one can enhance the current vendor functions to include/provide the
27newly added token formats, or, in case there's no such decoding
28function, to add one that performs the tasks of extracting them.
29
30For simpler format modifier tokens there's a script (gen_table_fourcc.py) that
31creates a static table, by going over `drm_fourcc.h` header file. The script
32could be further modified if it can't handle new (simpler) token format
33modifiers instead of the generated static table.
34
35Compiling
36---------
37
38To set up meson:
39
40 meson builddir/
41
42By default this will install into /usr/local, you can change your prefix
43with --prefix=/usr (or `meson configure builddir/ -Dprefix=/usr` after
44the initial meson setup).
45
46Then use ninja to build and install:
47
48 ninja -C builddir/ install
49
50If you are installing into a system location you will need to run install
51separately, and as root.
52