823afd5c94
Signed-off-by: Simon Ser <contact@emersion.fr> |
||
---|---|---|
include | ||
test | ||
tool | ||
.editorconfig | ||
.gitlab-ci.yml | ||
cta.c | ||
di-edid-decode.c | ||
displayid.c | ||
dmt-table.c | ||
edid.c | ||
gtf.c | ||
info.c | ||
libdisplay-info.map | ||
LICENSE | ||
log.c | ||
meson.build | ||
README.md |
libdisplay-info
EDID and DisplayID library.
Goals:
- Provide a set of high-level, easy-to-use, opinionated functions as well as low-level functions to access detailed information.
- Simplicity and correctness over performance and resource usage.
- Well-tested and fuzzed.
Documentation is available on the website.
Contributing
Open issues and merge requests on the GitLab project.
In general, the Wayland contribution guidelines should be followed. In particular, each commit must carry a Signed-off-by tag to denote that the submitter adheres to the Developer Certificate of Origin 1.1. This project follows the freedesktop.org Contributor Covenant.
Building
libdisplay-info is built using Meson. It has no dependencies.
meson setup build/
ninja -C build/
Testing
The low-level EDID library is tested against edid-decode. test/data/
contains a small collection of EDID blobs and diffs between upstream
edid-decode
and our di-edid-decode
clone. Our CI ensures the diffs are
up-to-date. A patch should never make the diffs grow larger. To add a new EDID
blob or update a diff, use test/edid-decode-diff.sh test/data/<edid>
.
Fuzzing
To fuzz libdisplay-info with AFL, the library needs to be instrumented:
CC=afl-gcc meson build/
ninja -C build/
afl-fuzz -i test/data/ -o afl/ build/di-edid-decode