https://github.com/bulletmark/edid-rw
A utility to read and write a display EDID value.
https://github.com/bulletmark/edid-rw
Last synced: over 1 year ago
JSON representation
A utility to read and write a display EDID value.
- Host: GitHub
- URL: https://github.com/bulletmark/edid-rw
- Owner: bulletmark
- Created: 2012-05-08T00:23:17.000Z (over 14 years ago)
- Default Branch: master
- Last Pushed: 2025-01-28T00:48:27.000Z (over 1 year ago)
- Last Synced: 2025-03-28T18:15:00.040Z (over 1 year ago)
- Language: Python
- Homepage:
- Size: 16.6 KB
- Stars: 174
- Watchers: 13
- Forks: 22
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## edid-rw: A utility to read and write a display EDID value
_Sorry, but I do not support this project anymore. I wrote this utility
for my own one-off personal use many years ago but have no means to test
and support changes nowadays. Feel free to fork and improve it._
### Overview
This utility will read and/or write a display's EDID data structure. Use
it with the edid-decode utility to view and check an EDID.
You can also write new EDID data to attempt to fix a corrupt EDID.
*WARNING - THIS UTILITY CAN DESTROY YOUR DISPLAY, MOTHERBOARD, OR OTHER
CONNECTED HARDWARE IF RUN INCORRECTLY. Be very sure you understand what
you are doing. See [this issue](http://github.com/bulletmark/edid-rw/issues/5)
for an example of what can happen.*
You may have to disable output to the display before you can write the
EDID.
### Installation
Requires python3 smbus module, and edid-decode utility.
Install these prerequisites on Debian/Ubuntu:
sudo apt-get install python3-smbus edid-decode
Or, install these prerequisites on Arch:
yay -S i2c-tools edid-decode-git
Get this source code:
git clone https://github.com/bulletmark/edid-rw
cd edid-rw
This utility should run using Python version 3.2+. It does not work with
Python 2.
### Usage
Run with `-h` switch to see usage and optional arguments:
./edid-rw -h
Fetch and decode display address 0 EDID data:
sudo ./edid-rw 0 | edid-decode
Fetch and decode display address 1 EDID data:
sudo ./edid-rw 1 | edid-decode
Capture display address 0 EDID data, edit it, and write it back to
device. Use `!Gxxd [-r]` within vim to read, edit, and write binary
file. See `:h xxd` within vim help. You should set the checksum (last)
byte correctly although edit-rw will calculate and set the checksum
itself if you include the `-f (--fix)` switch. edid-rw will always
validate the checksum and will not write an invalid EDID:
*WARNING - Be sure to triple check the EDID address you are about to
write!*
sudo ./edid-rw 0 >edid.bin
vim -b edid.bin # Then use xxd within vim, see ":h xxd" in vim
sudo ./edid-rw -w 0 .
### License
Copyright (C) 2012 Mark Blakeney. This program is distributed under the
terms of the GNU General Public License.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation, either version 3 of the License, or any later
version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License at for more details.