How to make EDID
- Where is the
/lib/firmwaresituated in as an example
/usr/lib/firmwareor in other places?
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
Or should I construct an EDID documents from square one ; if of course just how could I make an EDID documents?
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
Can I fine-tune an existing edid.bin documents to match my display is resolution?
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
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).