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
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:
while for the digital, HDMI connection is:
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
(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 ...