| commit | 1a629b1d386a879b24a9f5347989b4bd4e288dc1 | [log] [tgz] |
|---|---|---|
| author | Android Build Coastguard Worker <[email protected]> | Tue Mar 11 16:06:56 2025 -0700 |
| committer | Android Build Coastguard Worker <[email protected]> | Tue Mar 11 16:06:56 2025 -0700 |
| tree | f5390cac0dcc0e03ccfd69828f9e1e0a124c2135 | |
| parent | 651041f51d095d1b478856ecd48b8e0a02ab3356 [diff] | |
| parent | eb514a595897b3a87fde977c9b0db3794bb17730 [diff] |
Snap for 13198286 from eb514a595897b3a87fde977c9b0db3794bb17730 to sdk-release Change-Id: Ic73703ded98326c27a386f0af8207e643724abd2
EDID and DisplayID library.
Goals:
Documentation is available on the website.
The public API headers are categorised as either high-level or low-level API as per the comments in the header files. Users of libdisplay-info should prefer high-level API over low-level API when possible.
If high-level API lacks needed features, please propose additions to the high-level API upstream before using low-level API to get what you need. If the additions are rejected, you are welcome to use the low-level API.
This policy is aimed to propagate best practises when interpreting EDID and DisplayID information which can often be cryptic or even inconsistent.
libdisplay-info uses semantic versioning. The public API is not yet stable.
Open issues and merge requests on the GitLab project. Discuss and ask questions in the #wayland IRC channel on OFTC.
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.
libdisplay-info has the following dependencies:
libdisplay-info is built using Meson:
meson setup build/ ninja -C build/
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 re-generate the test data, build edid-decode at the Git revision mentioned in .gitlab-ci.yml, put the executable in PATH, and run ninja -C build/ gen-test-data.
The latest code coverage report is available on GitLab CI.
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/di-edid-decode