• Stars
    star
    166
  • Rank 220,829 (Top 5 %)
  • Language
    Python
  • Created about 12 years ago
  • Updated almost 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A utility to read and write a display EDID value.

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

Author

Mark Blakeney, mailto:[email protected].

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

More Repositories

1

libinput-gestures

Actions gestures on your touchpad using libinput
Python
3,832
star
2

edir

Program to rename, remove, and copy files and directories using your editor
Python
121
star
3

debugpy-run

Finds and runs debugpy for VS Code "remote attach" command line debugging.
Python
63
star
4

cdhist

Linux shell cd history.
Python
61
star
5

corsproxy

A simple CORS proxy server.
Python
40
star
6

sleep-inhibitor

Program to run plugins to inhibit system sleep/suspend
Python
19
star
7

dbus-action

Watch D-Bus to action configured commands on specific events
Shell
15
star
8

vim-plugins-profiler

Utility to output a sorted list of VIM plugin startup times in millisec.
Python
15
star
9

b2restore

Program to recreate Backblaze B2 file archive at specified date+time
Python
14
star
10

gocryptfs-ui

Encrypted filesystem gocryptfs GUI wrapper.
Shell
12
star
11

encfsui

Encrypted filesystem encfs GUI wrapper.
Shell
12
star
12

mpr

Wrapper for MicroPython mpremote tool
Python
12
star
13

pkglog

Reports log of package updates
Python
10
star
14

pifaceio

Provides a Python interface to the PiFace Digital peripheral board for the Raspberry Pi.
Python
9
star
15

pacpush

Arch Linux utility to push a host's package and AUR caches to other hosts
Python
8
star
16

arch-upgrade

Convenience script/app to upgrade your Arch Linux system
Shell
8
star
17

pipxu

Install and Run Python Applications in Isolated Environments using UV
Python
6
star
18

gmail-indicator

A gmail indicator/notifier for new mail messages.
Python
5
star
19

wordle-aid

CLI program to filter word choices to aid solving Wordle game problems
Python
4
star
20

timesched

Python improved simple time scheduler based on standard sched
Python
4
star
21

raise-or-run

Linux shell script to raise app window, or run app if window not already open
Shell
4
star
22

gnucash-select

GnuCash File Selector
Python
3
star
23

wcscheduler

Schedule Watts Clever Switches
Python
3
star
24

gnucash-asx-fetch

Utility to fetch and add current ASX prices to one or more gnucash XML files.
Python
3
star
25

nbtopy

Converts Jupyter notebook files to Python files
Python
2
star
26

rebind-devices

Linux service to automatically reset devices when resuming from sleep
Python
2
star
27

wccontrol

Watts Clever Switch Control
Python
2
star
28

pdfcmd

Utility to perform commands on PDF files.
Python
2
star
29

pinstall

Installer Tool for Python Programs
Python
2
star
30

docker-machine-add-ssh

Adds docker-machine ssh configuration to your personal ssh configuration.
Python
1
star
31

dyndns

Small, simple, and generic dynamic DNS client
Python
1
star
32

Topfield-Launcher

Launches VLC or other media player to stream recorded files from your Topfield PVR.
Python
1
star
33

pipxx

Wrapper for pipx to add some minor functionality
Python
1
star
34

EPGPurge

A Topfield TMS PVR TAP to purge old EPG entries.
Makefile
1
star
35

FireBirdLib

Topfield TMS PVR FireBirdLib TAP library.
C
1
star