# How to make EDID

I read and also I attempted to use what I recognized from the blog post yet below are some questions:

1. Where is the /lib/firmware situated in as an example /usr/src/linux/lib/firmware or /usr/lib/firmware or in other places?
2. Could I make use of a pre - construct EDID because address the blog post offered and also fine-tune it with an editor like Gvim and also pass it to bit making use of the details listed below? The resolution I am attempting to set is [email protected]:

  1: [H PIXELS RND]  :  1600.000000
2: [V LINES RND]  :  450.000000
3: [V FIELD RATE RQD]  :  120.000000
4: [TOP MARGIN (LINES)]  :  8.000000
5: [BOT MARGIN (LINES)]  :  8.000000
6: [INTERLACE]  :  0.500000
7: [H PERIOD EST]  :  16.648841
8: [V SYNC+BP]  :  33.000000
9: [V BACK PORCH]  :  30.000000
10: [TOTAL V LINES]  :  500.500000
11: [V FIELD RATE EST]  :  120.008471
12: [H PERIOD]  :  16.650017
13: [V FIELD RATE]  :  120.000000
14: [V FRAME RATE]  :  60.000000
15: [LEFT MARGIN (PIXELS)]  :  32.000000
16: [RIGHT MARGIN (PIXELS)]  :  32.000000
17: [TOTAL ACTIVE PIXELS]  :  1664.000000
18: [IDEAL DUTY CYCLE]  :  25.004995
19: [H BLANK (PIXELS)]  :  560.000000
20: [TOTAL PIXELS]  :  2224.000000
21: [PIXEL FREQ]  :  133.573440
22: [H FREQ]  :  60.060000
17: [H SYNC (PIXELS)]  :  176.000000
18: [H FRONT PORCH (PIXELS)]  :  104.000000
36: [V ODD FRONT PORCH(LINES)]  :  1.500000

If of course where could I get an edid.bin documents?

3. Or should I construct an EDID documents from square one ; if of course just how could I make an EDID documents?

4
2022-07-25 20:43:15
Source Share

## Where is/ lib/firmware?

The last relaxing area for your EDID setting firmware need to be under /lib/firmware/edid. Nonetheless, several linux circulations position the instance EDID setting - setup firmware resource and also the Makefile under the directory site for the linux kernel documents. For Fedora, this is given by the kernel-doc plan and also stays under /usr/share/doc/kernel-doc-3.11.4/Documentation/EDID. After you compile the firmware for your display, you can position the edid binary anywhere that is accessable to grub upon boot, yet the convention is /lib/firmware/edid/.

## Can I fine-tune an existing edid.bin documents to match my display is resolution?

The edid.bin documents remain in binary layout so the proper means to fine-tune it would certainly not be instinctive.

## Just how can I make an EDID documents from square one?

The blog post you gave web links to the main kernel documents for constructing your personalized edid documents. The very same guidelines are additionally given in the HOWTO.txt documents in the kernel documents directory site referenced above. Basically you modify among the instance firmware documents, claim 1024x768.S, giving the parameters for your display. After that compile it with the given Makefile and also set up grub to make use of the new firmware.

For me, there were 2 complicated little bits to completing this. The first one is where to locate the edid resource documents that requires to be assembled. This was addressed for Fedora over.

The 2nd complicated little bit is locating the proper values to position in 1024x768.S for your display. This is attained by running cvt to create your wanted modeline and afterwards doing a little math. For a resolution of 1600x900 with 60 Hz refresh price and also lowered blanking (advised for LCDs), you would certainly have:

[[email protected] ~]\$ cvt 1600 900 60 -r
# 1600x900 59.82 Hz (CVT 1.44M9-R) hsync: 55.40 kHz; pclk: 97.50 MHz
Modeline "1600x900R"   97.50  1600 1648 1680 1760  900 903 908 926 +hsync -vsync


You can match the last line of this result to the guidelines in HOWTO.txt:

Please note that the EDID data structure expects the timing
values in a different way as compared to the standard X11 format.

X11:
HTimings:  hdisp hsyncstart hsyncend htotal
VTimings:  vdisp vsyncstart vsyncend vtotal

EDID:
#define XPIX hdisp
#define XBLANK htotal-hdisp
#define XOFFSET hsyncstart-hdisp
#define XPULSE hsyncend-hsyncstart

#define YPIX vdisp
#define YBLANK vtotal-vdisp
#define YOFFSET (63+(vsyncstart-vdisp))
#define YPULSE (63+(vsyncend-vsyncstart))


The 2nd - 5th numbers in the last line of the cvt result (1600 1648 1680 1760) are the 4 "HTimings" parameters (hdisp hsyncstart hsyncend htotal) and also the 6th - 9th numbers (900 903 908 926) are the 4 "VTimings" parameters (vdisp vsyncstart vsyncend vtotal).

Last but not least, you'll require to compile the firmware a 2nd time in order to set the proper CRC value in the last line (see the HOWTO.txt for information).

8
2022-07-25 22:45:29
Source