• Stars
    star
    172
  • Rank 220,663 (Top 5 %)
  • Language
    Assembly
  • License
    GNU General Publi...
  • Created over 8 years ago
  • Updated about 2 years ago

Reviews

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

Repository Details

Hackerswork to generate an EDID blob from given Xorg Modelines, complete with valid checksum.

edid-generator

Hackerswork to generate an EDID binary file from given Xorg Modelines

An extension of the awesome work provided in the Linux kernel documentation (in docs/EDID).

Simplifies the process greatly by allowing you to use a standard modeline as well as automatically calculating the CRC and applying it to the resulting image.

Requirements

sudo apt install zsh edid-decode automake dos2unix

Usage

If you don't have a <mode>.S prepared yet, generate one using a file containing Xorg Modelines. Lines that do not contain modelines are ignored, so you can just read right from xorg.conf.

./modeline2edid /etc/X11/xorg.conf

You can also just read from stdin the way you'd expect:

./modeline2edid
# or explicitly:
./modeline2edid -

After this creates your <name>.S files for each modeline it encounters, simply make:

make

The end result, providing all goes well, is a glorious EDID bin image for each mode you gave to it. A <name>.S file is templated, and then make is invoked to compile it into <name>.bin. It's actually compiled twice; once with an invalid CRC in order to generate said CRC to enter it into the template, after which we recompile, hence glorious bins.

NOTE: If you use a ratio other than 16:9, you'll need to specify it at the end of the modeline.as ratio=4:3. Ratios are hard defined in edid.S, so if you are trying to do something non-standard you'll need to add it.

Why?

Many monitors and TVs (both high and low end) provide invalid EDID data. After dealing with this for years, I wanted to automate this process.

The final straw was when I bought a cheap Sceptre 4K tv at a rather affordable ~$225 and ran into a long series of hurdles to get it to operate as expected at 3840x2160@60. After doing this enough times, I had to automate it or I was going to go crazy.

I used this to quickly iterate while troubleshhooting, finally it's all working from KMS all the way down to X!

(Via drm_kms_helper.edid_firmware=DP-1:edid/blah.bin if you're interested. I'm using radeon + intel, with nvidia you have to specify it in xorg.conf/xorg.conf.d as they don't yet support KMS for the fb console yet; their beta drivers, 367 at the time of writing, only support using KMS for the xorg server.)

Sometimes I hate being such a perfectionist. Keep in mind this project was made in a couple hours, I certainly didn't attempt to polish it in the least ;)

More Repositories

1

dotfiles

Opinionated garbage for your terminal. Gotta get that yolo swag.
Python
42
star
2

intel-joule-bios-flash-linux

Flashing the BIOS on an Intel Joule 570x from Linux
C
19
star
3

openwrt-masq6

Easy to use firewall.d hook to allow you to specify masq6 right as you'd expect.
Shell
15
star
4

zplugin

Plugin manager with clean fpath and reports
Shell
14
star
5

boilerplate

Boilerplate eradication for an immutable world (Docker, LXC/LXD, rkt, etc).
Shell
10
star
6

kernel-jetson

Kernel build for NVIDIA Jetson (just TX2 for now). Let's enable all those disabled things :)
C
7
star
7

doxy

Automagic socks/https/http proxy, DNS server, and browser extension for safe *and* convenient local containerized development.
Go
6
star
8

bashism

A hackerswork for writing reusable bash scripts. Why should restriction be synonymous with burden?
Shell
5
star
9

pyzfscore

Python ZFS bindings for humans
Python
5
star
10

salty-whales

Using layered Salt states to build containers.
Shell
5
star
11

mainline

Simple yet powerful python dependency injection for py2/py3k
Python
5
star
12

the-darkening

Stylish theme to darken all sites that doesn't suck. All syntax highlighting is kept while being dead simple.
CSS
4
star
13

speakerbot-client

Speakerbot Client
Python
3
star
14

uninhibited

Dead simple and easily extensible a?sync event handling in Python via callback or class dispatch.
Python
3
star
15

ledbot

Social LED matrix control @disqus. Plays media urls from Slack, API, and MQTT.
Python
3
star
16

quick-ca

Hack to quickly create an openssl CA and host certs
Shell
2
star
17

salt-layers

Use Salt effectively (and fully optionally) as a part of your Docker image build process.
Python
2
star
18

browsercookie

Python
2
star
19

nmconnect

Questionably sane wrapper around network-manager for quick connection list/connect via CLI
Shell
2
star
20

pyzfs

See akatrevorjay/pyzfscore repo for where the current work lies, a rewrite in CFFI
Java
2
star
21

wait-for-linked-services

Provides the means for ordered execution for containerized dev environments. Waits for all linked (via Docker env vars) services to be accessible, in parallel. UDP, TCP, and Unix socket support, in addition to all that curl can handle, which is more than you'd think.
Shell
2
star
22

solarsanweb-vendor

HA ZFS SAN management [wip] -- vendor files
1
star
23

pytutils

it's pronounced pytoodles
Python
1
star
24

neograph

Neato IRC graphs from Anope's MySQL
PHP
1
star
25

docker-build-proxy

Magic caching proxy and wrapper to speed up those Docker build times.
Shell
1
star
26

irssi-scripts

Miscellaneous irssi scripts created/modified over the years
Perl
1
star
27

helm-nuke

Nukes all helm releases as well as tiller-owned k8s objects that may be left lying around.
Shell
1
star
28

spg

Simple (PHP|Photo) Gallery
PHP
1
star
29

circleci-builder

CircleCI 2.0 fat builder image with all the pythons
Shell
1
star
30

lucy

Lucy "In The Sky With Diamonds" IRC Bot (NeoturbineNet's disguised mistress)
Perl
1
star
31

nvgpu

C
1
star
32

advent-of-code

Advent of Code
Python
1
star
33

pysanity

Emulates sanity for non-pep compliant code via only the dirtiest of means
Python
1
star
34

solarsanweb

HA ZFS SAN management [wip] -- Django Web UI
JavaScript
1
star
35

bad-python-package

Package that always fails to install with an exception.
Python
1
star
36

xbmc-api-perl

XBMC HTTP Api Perl Library (and examples)
Perl
1
star
37

tensorflow-auto-detect

Solves the absolute mess that is installing tensorflow (CPU or GPU?) from your package requirements.
Python
1
star