Find a file
Simon Ser 97a8f16d1f di-edid-decode: split into multiple files
di-edid-decode.c is getting bit and messy.

Use one file per spec.

Signed-off-by: Simon Ser <contact@emersion.fr>
2022-10-07 05:05:27 +00:00
di-edid-decode di-edid-decode: split into multiple files 2022-10-07 05:05:27 +00:00
include di-edid-decode: split into multiple files 2022-10-07 05:05:27 +00:00
test di-edid-decode: print preferred flag for type I timing 2022-10-03 14:14:45 +02:00
tool dmt: add more timing info 2022-09-17 06:53:39 +00:00
.editorconfig Add .editorconfig 2022-03-24 01:49:12 +01:00
.gitlab-ci.yml Generate HTML documentation 2022-10-04 16:21:46 +00:00
cta.c cta: add support for VESA Display Transfer Characteristic data block 2022-09-28 23:56:46 +02:00
displayid.c displayid: add support for display parameters data block 2022-10-03 08:56:03 +02:00
dmt-table.c dmt: add more timing info 2022-09-17 06:53:39 +00:00
edid.c edid: use the correct definition for maximum standard timings 2022-09-28 02:44:35 +02:00
gtf.c Introduce di_gtf_compute() 2022-09-29 11:50:09 +00:00
info.c info: introduce di_logger 2022-08-04 08:40:36 +02:00
libdisplay-info.map build: set symbol visibility 2022-06-14 11:40:07 +00:00
LICENSE Initial commit 2022-03-24 01:49:00 +01:00
log.c info: introduce di_logger 2022-08-04 08:40:36 +02:00
meson.build di-edid-decode: split into multiple files 2022-10-07 05:05:27 +00:00
README.md readme: add link to website 2022-10-05 10:47:44 +00:00

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