It is possible to extract an EDID using v4l2-ctl. The output format can be either hex (the default) or raw binary. It appears that this method produces a different output than edid2bin, despite starting from the same hex input. An analysis of the files using "AW EDID Editor" suggests they still contain the same information.
It would be good to understand why this happens and to determine if there are any implications to it.
Steps to reproduce the issue
This assumes you have a valid hex EDID saved as edid_source.hex, a working TinyPilot device and an installed copy of edid2bin and it's requirements.
Create a binary version of the EDID using v4l2-ctl on a TinyPilot device
Copy edid_source.hex on to the device.
Set the hex EDID as the active EDID:
sudo v4l2-ctl --device=/dev/video0 --set-edid=file=edid_source.hex --fix-edid-checksums
Extract the now applied EDID in binary format:
sudo v4l2-ctl --device=/dev/video0 --get-edid=file=edid_v4l2.bin,format=raw
Create a binary version of the EDID using edid2bin
Copy edid_source.hex into the edid2bin directory.
If nessesary, activate the Python venv:
. venv/bin/activate
Convert the hex EDID into binary format:
cat edid_source.hex | ./app/main.py -o edid_edid2bin.bin
Compare the two binary files
Copy edid_edid2bin.bin and edid_v4l2.bin into the same location.
Compare the file sizes using ls -al edid*.bin.
Optionally, directly compare the files using e.g. xxd.
It is possible to extract an EDID using
v4l2-ctl
. The output format can be either hex (the default) or raw binary. It appears that this method produces a different output thanedid2bin
, despite starting from the same hex input. An analysis of the files using "AW EDID Editor" suggests they still contain the same information.It would be good to understand why this happens and to determine if there are any implications to it.
Steps to reproduce the issue
This assumes you have a valid hex EDID saved as
edid_source.hex
, a working TinyPilot device and an installed copy ofedid2bin
and it's requirements.Create a binary version of the EDID using
v4l2-ctl
on a TinyPilot deviceedid_source.hex
on to the device.sudo v4l2-ctl --device=/dev/video0 --set-edid=file=edid_source.hex --fix-edid-checksums
sudo v4l2-ctl --device=/dev/video0 --get-edid=file=edid_v4l2.bin,format=raw
Create a binary version of the EDID using
edid2bin
edid_source.hex
into theedid2bin
directory.. venv/bin/activate
cat edid_source.hex | ./app/main.py -o edid_edid2bin.bin
Compare the two binary files
edid_edid2bin.bin
andedid_v4l2.bin
into the same location.ls -al edid*.bin
.xxd
.