View previous topic :: View next topic |
Author |
Message |
krax n00b
Joined: 29 May 2011 Posts: 67 Location: Troy, MI
|
Posted: Mon Oct 21, 2013 5:02 pm Post subject: EDID and HowTo make one |
|
|
Hello;
I read the Post here https://www.osadl.org/Single-View.111M591850c02b5.0.html ; and i tried to make do with what i understood from the post but here are some questions:
1. where is the /lib/firmware located ;in for example /usr/src/linux/lib/firmware or /usr/lib/firmware or elsewhere?
2.Could i use a pre-build EDID in that address the post gave and tweak it with an editor like Gvim and pass it to kernel using the info bellow; the resolution i am trying is 1600x900@60
Code: |
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 yes where could i get and edid.bin file?
3.Or should i build an edid file from scratch; if yes how could i make edid file.
Thanks |
|
Back to top |
|
|
eyoung100 Veteran
Joined: 23 Jan 2004 Posts: 1428
|
|
Back to top |
|
|
krax n00b
Joined: 29 May 2011 Posts: 67 Location: Troy, MI
|
Posted: Tue Oct 22, 2013 5:00 am Post subject: |
|
|
Samsung SA300 over VGA100:02.0
VGA compatible controller: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (rev 09) { CONFIG_I915=y && CONFIG_I915_KMS=y }
KERNEL 3.10.7-gentoo-r1 |
|
Back to top |
|
|
eyoung100 Veteran
Joined: 23 Jan 2004 Posts: 1428
|
|
Back to top |
|
|
salahx Guru
Joined: 12 Mar 2005 Posts: 530
|
Posted: Wed Oct 23, 2013 6:08 am Post subject: |
|
|
KMS requires an EDID, and while you can override the EDID in org.conf, the plan is to get X11 away from the hardware and that will stop working. It is possible to override the EDID at the kernel level though. To do so, be sure CONFIG_DRM_LOAD_EDID_FIRMWARE is selected and passing drm_kms_helper.edid_firmware= one of the following 5 special parameters on the kernel command line, corresponding to the desired resolution:
edid/1024x768.bin
edid/1280x1024.bin
edid/1600x1200.bin
edid/1680x1050.bin
edid/1920x1080.bin
Note that these values are hardcoded in the driver, there is no corresponding /lib/firmware file (although if it exists it will override the built-in ones)
It is possible to create custom EDID if needed: see Documentation/EDID/HOWTO.txt in the kernel sources for the details. |
|
Back to top |
|
|
krax n00b
Joined: 29 May 2011 Posts: 67 Location: Troy, MI
|
Posted: Sun Oct 27, 2013 6:21 pm Post subject: |
|
|
I want to do in the kernel level because my problem is in tty mode and I want to know how to make (make file) (build) (compile) 1600*900 @60 from the source provided in the kernel git directory.
The main heck is providing numbers needed in source file; some could be find from CVT command but i don't now how and also the value for CRC also.
thanks |
|
Back to top |
|
|
salahx Guru
Joined: 12 Mar 2005 Posts: 530
|
Posted: Wed Oct 30, 2013 4:09 am Post subject: |
|
|
It depends on what's causing your problem. If the problem is due to a KVM switch, the east solution is boot Linux without the switch fetch the EDID from from sysfs (Use 'find /sys -iname edid' to find it), then copy it to the firmware directory (/lib/firmware/edid/edid.bin) and boto that way.
Otherwise go to /usr/src/linux/Documentation/EDID; cppy 1024x768.S to 1600x900.S and edit the values 1600x900.S to suit. You can look into edid.S as to what some of the values mean. XPIX should be 1600, YPIX should be 900, XY_RATIO should be XY_RATIO_16_9; but as far as the other stuff goes i'd either leave it as is or use the results from your monitor.
You get the results from your monitor, grab the edid file from sysfs above and emerge the read-edid utility. It contains the programs parse-edid, which you will need for 2 things. The first is to fetch the values of your existing monitor. The second is to figure out what the CRC you your new DID need to be (if its wrong, it'll tell you the correct value, simply set CRC to that value and rebuild) |
|
Back to top |
|
|
|