A utility to read and write a display EDID value.
Python Makefile
Failed to load latest commit information.
.gitignore Initial commit May 8, 2012
Makefile Add install target to Makefile Nov 22, 2015
README.md Make compatible with python 3 Nov 23, 2015
edid-rw Flake8 recommended changes Feb 15, 2017


edid-rw: A utility to read and write a display EDID value

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 for an example of what can happen.

You may have to disable output to the display before you can write the EDID.


Requires python smbus module and edid-decode utility.

Install these prerequisites on Debian/Ubuntu:

sudo apt-get install python-smbus edid-decode

Or, install these prerequisites on Arch:

yaourt -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 2.5+, or 3+.


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 <edid.bin


Mark Blakeney, markb@berlios.de.


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 http://www.gnu.org/licenses/ for more details.