My company has so many monitors and HDMI repeaters. So, I want to distinguish and identify those display devices so that a Linux host can detect which monitor/repeater is connected.
Although a Linux host can get EDID from /sys/class/drm/*/edid
, I'm not sure how to identify monitors/repeaters.
As long as an EDID data has not been overridden, is it constant forever ?
If so, all I have to do is to collect every EDID binary files (or hashed signatures derived from EDID binaries). If such EDID specification or standard exits, can you tell me ?
I worry that some monitors may change its EDID content when some mode(ex. resolution, rotation) are changed. Transient identifier is useless.
Can I derive an unique identifier data from an EDID ?
If EDID may change, I have to derive an unique identifier data from an EDID binary. According to EDID specification, EDID binary has some identifier fields.
- Manufacturer ID (in header)
- product code (in header)
- serial number (in header)
- Display Product Serial Number (in Display Descriptor)
But both serial number and Display Product Serial Number are optional. Is there any way to derive a correct unique identifier from an EDID binary ?