a4d2bbf95f
A simple version script is used because it allows us to consistently expose all symbols starting with "di_", removing the risk to forget to mark a symbol as public. Signed-off-by: Simon Ser <contact@emersion.fr> |
||
---|---|---|
include | ||
test | ||
.editorconfig | ||
.gitlab-ci.yml | ||
di-edid-decode.c | ||
edid.c | ||
info.c | ||
libdisplay-info.map | ||
LICENSE | ||
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.
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 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