I've got a laptop with a bad EDID, and it's apparently preventing me from using the nvidia graphics driver properly.
So I want to force a new EDID I will make myself, and apply it as per this guide.
Anyone knows how?
I've got a laptop with a bad EDID, and it's apparently preventing me from using the nvidia graphics driver properly.
So I want to force a new EDID I will make myself, and apply it as per this guide.
Anyone knows how?
Been there, done that. Even with an Nvidia card.
I would gladly help you with that.. starting tomorrow,.. kind late for me now.
In the meantime, could you tell us a little bit more details?
Why do you say you have a bad EDID? resolution problems? black bars?
Which Nvidia card do you have?
What brand and model is your monitor? is it a laptop monitor? is a HDTV?
How far has you gone following that method?
Did you get the EDID.BIN?
Are you dual booting? if so, does Windows have the same problem?
I'll get back to you tomorrow.
Kind Regards.
Thanks for the prompt response.
Said computer is an Acer Aspire 6930G with a 16 inch 1368x768 display and an Nvidia GeForce 9600M GT. I have a dual booting Windows 7 which is working flawlessly.Which Nvidia card do you have?
What brand and model is your monitor? is it a laptop monitor? is a HDTV?
Are you dual booting? if so, does Windows have the same problem?
When I installed the nvidia-current drivers I would get a corrupt screen on startup and blank screen with the 173 driver.Why do you say you have a bad EDID? resolution problems? black bars?
I tried almost anything, short of writing a new graphics driver, to no avail.
Examining the x startup log I found these two lines:
This lead me to try various windows based EDID extraction utilities without any success.Code:(WW) NVIDIA(GPU-0): The EDID read for display device DFP-0 is invalid: the (WW) NVIDIA(GPU-0): checksum for EDID version 1 is invalid.
Finally I found this utility which returned the following:
So in summary, I think I got a display with a bad EDID, and I either need someone with a similar laptop send me his, or make up a new one.Code:Performing real mode VBE call Interrupt 0x10 ax=0x4f00 bx=0x0 cx=0x0 Function supported Call successful VBE version 300 VBE string at 0x11100 "NVIDIA" VBE/DDC service about to be called Report DDC capabilities Performing real mode VBE call Interrupt 0x10 ax=0x4f15 bx=0x0 cx=0x0 Function supported Call successful Monitor and video card combination does not support DDC1 transfers Monitor and video card combination does not support DDC2 transfers 0 seconds per 128 byte EDID block transfer Screen is not blanked during DDC transfer Reading next EDID block VBE/DDC service about to be called Read EDID Performing real mode VBE call Interrupt 0x10 ax=0x4f15 bx=0x1 cx=0x0 Function supported Call failed The EDID data should not be trusted as the VBE call failed Error: output block unchanged
I attached the full startup log.
EDIT: Forget to mention I used to run ubuntu 7.04 a long time ago without any issues.
Last edited by dd_dentfull; October 11th, 2011 at 08:33 PM.
Hey dd_dentfull, and welcome to the forums!
I've created custom edids for an old P4 laptop with a Geforce 4 440 (corrupt resolution), and for my Sony TV (remove extra data to stop the dummy sound signal)
Regardless of keep looking for a edid.bin from a user with the same machine (this would be a start: laptopvideo2go.com), let's try to get the EDID (even if corrupted) and maybe fix it.
BTW, having Windows 7 is a very good thing in this situation.
Since you are not able to get into the desktop while using the nvidia driver, let's try to get that information on Windows. Get 'Phoenix EDID Designer' (from here). Install it, then query the EDID information of your monitor, and save it in a text file. It should look similar like this:
Please paste your results using the # tags (available when replying).Code:EDID BYTES: 0x 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ------------------------------------------------ 00 | 00 FF FF FF FF FF FF 00 3A C4 00 04 00 00 00 00 10 | 2D 0C 01 03 80 20 18 00 EA A8 E0 99 57 4B 92 25 20 | 1C 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 30 | 01 01 01 01 01 01 48 3F 40 30 62 B0 32 40 4C C0 40 | 13 00 42 F3 10 00 00 1E 00 00 00 FC 00 4E 76 69 50 | 64 69 61 20 44 65 66 61 75 6C 00 00 00 FC 00 74 60 | 20 46 6C 61 74 20 50 61 6E 65 6C 00 00 00 00 FD 70 | 00 00 3C 1D 4C 11 00 00 20 20 20 20 20 00 00 9C
Regards.
Well you're quick.
Please observe the image.
As you can see, there is no EDID to extract, and as expected pressing the extract button returns an error.
Everest also displays a similar behavior, and this issue led me to believe the EDID is bad.
Despite all of this, there is something similar in the xlog file.
I can't view it properly from windows, so I'll upload it after booting into Ubuntu within the next minutes.
EDIT: Voila!
EDIT: Also thanks for the warm welcome, and the first link you provided seems to be dead (domain available for purchase)Code:[ 22.391] (WW) NVIDIA(GPU-0): The EDID read for display device DFP-0 is invalid: the [ 22.391] (WW) NVIDIA(GPU-0): checksum for EDID version 1 is invalid. [ 22.391] (--) NVIDIA(GPU-0): [ 22.391] (--) NVIDIA(GPU-0): Raw EDID bytes: [ 22.391] (--) NVIDIA(GPU-0): [ 22.391] (--) NVIDIA(GPU-0): 00 ff ff ff ff ff ff 00 4c a3 4c 32 00 00 00 00 [ 22.391] (--) NVIDIA(GPU-0): 00 12 01 03 80 23 14 78 0a 87 f5 94 57 4f 8c 27 [ 22.391] (--) NVIDIA(GPU-0): 27 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 [ 22.391] (--) NVIDIA(GPU-0): 01 01 01 01 01 01 41 1c 56 a0 50 00 16 30 30 20 [ 22.391] (--) NVIDIA(GPU-0): 25 00 61 c6 10 00 00 19 00 00 00 0f 00 00 00 00 [ 22.391] (--) NVIDIA(GPU-0): 00 00 00 00 00 1e b4 02 74 00 00 00 00 fe 00 53 [ 22.391] (--) NVIDIA(GPU-0): 41 4d 53 55 4e 47 0a 20 20 20 20 20 00 00 00 fe [ 22.391] (--) NVIDIA(GPU-0): 00 31 36 30 41 54 30 31 2d 41 30 35 0a 20 00 e3
Last edited by dd_dentfull; October 11th, 2011 at 08:34 PM. Reason: update
Great!... working on it, be back in a few minutes.
BTW, the link seems to be working for me. I'm going to paste it again just in case:
Regards.Code:main site http://www.laptopvideo2go.com/ forums http://forums.laptopvideo2go.com/
I took that and I just left the data:
Then I created a binary version using this C program:Code:00 ff ff ff ff ff ff 00 4c a3 4c 32 00 00 00 00 00 12 01 03 80 23 14 78 0a 87 f5 94 57 4f 8c 27 27 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 41 1c 56 a0 50 00 16 30 30 20 25 00 61 c6 10 00 00 19 00 00 00 0f 00 00 00 00 00 00 00 00 00 1e b4 02 74 00 00 00 00 fe 00 53 41 4d 53 55 4e 47 0a 20 20 20 20 20 00 00 00 fe 00 31 36 30 41 54 30 31 2d 41 30 35 0a 20 00 e3
This is what parse-edid dumps:Code:#include <stdio.h> int main() { while (!feof(stdin)) { unsigned char i; scanf("%02X ", &i); printf("%c", i); } return 0; }
Do you have any technical information about your monitor? It looks like your resolutions is read OK. I don't know about the timings. Maybe it is just a problem with the checksum.Code:$ parse-edid edid.bin parse-edid: parse-edid version 2.0.0 parse-edid: EDID checksum failed - data is corrupt. Continuing anyway. # EDID version 1 revision 3 Section "Monitor" # Block type: 2:0 3:f # Block type: 2:0 3:fe # Block type: 2:0 3:fe Identifier "SEC:4c32" VendorName "SEC" ModelName "SEC:4c32" # Block type: 2:0 3:f # Block type: 2:0 3:fe # Block type: 2:0 3:fe # DPMS capabilities: Active off:no Suspend:no Standby:no Mode "1366x768" # vfreq 59.998Hz, hfreq 47.398kHz DotClock 72.330000 HTimings 1366 1414 1446 1526 VTimings 768 770 775 790 Flags "-HSync" "-VSync" EndMode # Block type: 2:0 3:f # Block type: 2:0 3:fe # Block type: 2:0 3:fe EndSection
Regards.
EDIT: we are missing the horizontal and vertical rates. It should be look like this:
EDIT2: and the 'Max dot clock', for example:Code:HorizSync 29-65 VertRefresh 0-60
Code:# Max dot clock (video bandwidth) 110 MHz
Last edited by papibe; October 11th, 2011 at 09:19 PM.
Manage to get this from the Nvidia control panel.
Also windows says that the refresh rate is 60hz.
Last edited by dd_dentfull; October 12th, 2011 at 03:49 AM.
Is there a way for me to calculate the values you need?
I think I have something for you. Here's the story:
This link is the definition of the binary EDID format. I thought I was going to be able to hack it, but there's so many details that I dropped that idea.
I opened the binary file using the 'Hex Editor' (available on the Software Center), and to my surprise you could clearly read that the monitor was a SAMSUNG.
I remembered that my laptop (Toshiba A665) had a similar resolution so I got my edid info, and what do you know, it was a Samsumg!
This is from my laptop's display:
Looks familiar?Code:Mode "1366x768" # vfreq 59.998Hz, hfreq 47.398kHz DotClock 72.330000 HTimings 1366 1414 1446 1526 VTimings 768 770 775 790 Flags "-HSync" "-VSync" EndMode
I wrote a couple of short C programs (similar to the previous one), to compare both edids. They have very little differences:
The rest are the same (timmings, resolutions, refresh rates, etc). Since product id, manufacture dates, and descriptions are just information, I have to conclude that the only problem with your edid is the checksum (byte 127).Code:bytes description ------------------------- 10 - 11 product ID 16 - 17 week and year of manufacture 84 - 88 Descriptor Block 2 118 - 123 Descriptor Block 3 127 Checksum
According to the EDID description linked above, the checksum is the sum of all the bytes in the file and has to sum 0 (zero). Yours sums 30. If you replace the 127th byte (current value E3) for B3. The checksum becomes zero. I attached the new edid file (binary).
This is what is next:
Unzip the file new_acer.bin.zip. Copy new_acer.bin into your Ubuntu partition.Boot into safe mode. Login in text mode.
Backup your X configuration file:
Copy the new edid into the X11 directory:Code:$ sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.old
Configure a new basic X config file using the new edid:Code:$ sudo mv new_acer.bin /etc/X11/
Double check that your new config file has a CustomEDID line:Code:$ sudo nvidia-xconfig --custom-edid=/etc/X11/new_acer.bin
The result should be something like this:Code:$ grep acer /etc/X11/xorg.conf
Reboot normally.Code:Option "CustomEDID" "DFP-1:/etc/X11/new_acer.bin"
I really hope this works. Please let us know hot it goes.
Kind Regards.
Note: I'm including my edid file also, just in case (toshibaA665.bin).
EDIT: It seems not any binary file can be attach. I had to zip the edids.
EDIT2: the correct file for you is called new_edid.bin, and it is inside new_edid.bin.zip
Last edited by papibe; October 12th, 2011 at 04:46 AM. Reason: attachments now included.
Bookmarks