View Single Post
Old 04-30-09, 10:42 PM   #1
Registered User
marco1475's Avatar
Join Date: Apr 2009
Location: Hunt Valley, MD, USA
Posts: 2
Send a message via ICQ to marco1475 Send a message via AIM to marco1475 Send a message via MSN to marco1475 Send a message via Skype™ to marco1475
Default Fuzzy/Blurry Image via HDMI (faulty EDID)


Let me preface this by saying that I have Googled and read a lot about this issue and I think I know what is wrong, but I do not know how to fix it. I bought a netbook with a nVidia GeForce 9300M GS and connected it to my Viewsonic VX2435wm monitor via HDMI. The netbook originally came with Vista Business and even then did I notice the image being fuzzy, but I thought then it was just missing ClearType or something. I then installed Gentoo Linux on the machine running the nvidia-drivers-180.51 with xorg-server-1.5.3.

Upon connecting my monitor and setting up my xorg.conf I can see that the image is still blurry and it is especially visible with red text on white background, where the text has a "halo." My Google research has shown me that this is probably an EDID problem (as described here), i.e. that my monitor is identifying itself as an HDTV to the driver and the driver, in an attempt to make the image better, screws it up.

I proceeded to verify this assumption by connecting my monitor (which btw. works flawlessly with my older Dell notebook with an nVidia card running XP) via the analog port and true enough, the image was crystal clear. Furthermore the information my monitor's on-screen menu provides in case of the XP- and the analog-connection is:

H.Frequency 74KHz
V.Frequency 60Hz
Resolution 1920x1200
PixelClock 154MHz
while for the digital, HDMI connection is:

H.Frequency 74KHz
V.Frequency 59Hz
Resolution 1200p
PixelClock 154MHz
So I searched the internet for a solution and found several ranging from disabling the extensions in the EDID, over copying and using the EDID from the analog connection to creating my own modeline and disabling EDID all together. I tried them all and none helped.

The problem seems to be that the nvidia driver always ignores the custom EDID I pass to it. The custom modeline approach failed because I was unable to create a valid one for my PixelClock parameter (and this worked only after I disabled everything described in this forum post, simple Option "UseEDID" "false" did not do the trick.) Similarly my Option "CustomEDID" "DFP-1:/path/to/edid" does not work!

Attached you will find all the information I have:
  • the analog and digital xorg.conf's,
  • the viewsonic.edid which I try to use as the CustomEDID parameter (and which is really the EDID gotten through the analog connection),
  • the nvidia-settings EDID dumps from both the analog (edid_analog.bin) and digital (edid_digital.bin) connections, as well as
  • analog and digital Xorg.0.logs, and
  • nvidia-bug-report.logs.
(All were created with -logverbose 6.)

Both logs show pretty clearly that the two EDIDs are different (lines 278-285 in analog, 444-459 in digital) - the digital one is larger and I confirmed this with a hex viewer - and that the digital connection uses the large, digital EDID it gets from the monitor rather than the analog EDID saved on drive (viewsonic.edid) and provided through the CustomEDID option. Other than acknowledging that the option was set (line 2165 in digital) I cannot see any sign of it being applied anywhere in the logs.

So, long story short - why is the custom EDID not being read for the digital connection? Can I force it somehow? I would really love to have a digital connection from my netbook to my monitor ...

Attached Files
File Type: gz nvidia-bug-report.log.analog.gz (48.8 KB, 133 views)
File Type: gz (54.1 KB, 121 views)
File Type: zip (42.8 KB, 153 views)

"If you can't make it good, make it big. If you can't make it big, make it shiny." (nVidia shader presentation)

Last edited by marco1475; 04-30-09 at 10:45 PM. Reason: spelling mistakes
marco1475 is offline   Reply With Quote