PDA

View Full Version : incorrect max. screen resolution due to invalid EDID data



lockheed02
29th April 2012, 10:19 AM
I thought I'd share as it might be useful to others as well. After successfully installing nvidia binary driver I was only offered 1024x768 screen resoultion but my screen can do 1280x1024.

My Xorg.0.log file showed lines like that

[ 9792.343] (WW) NVIDIA(GPU-0): The EDID read for display device CRT-0 is invalid:
[ 9792.343] (WW) NVIDIA(GPU-0): unrecognized EDID Header.

Neitther read-edid nor monitor-get-edid programs could help me. So I disabled automatic EDID usage and added a modeline manually (using the "# gtf 1280 1024 60" command) in xorg.conf file,


[root@beefy ~]# gtf 1280 1024 60

# 1280x1024 @ 60.00 Hz (GTF) hsync: 63.60 kHz; pclk: 108.88 MHz
Modeline "1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync
but still something didn't work out as the Xorg.0.log still showed:


[ 9792.463] (II) NVIDIA(0): Assigned Display Device: CRT-0
[ 9792.463] (WW) NVIDIA(0): No valid modes for "1280x1024_60x00"; removing.
[ 9792.463] (WW) NVIDIA(0):
[ 9792.463] (WW) NVIDIA(0): Unable to validate any modes; falling back to the default mode
[ 9792.463] (WW) NVIDIA(0): "nvidia-auto-select".
[ 9792.463] (WW) NVIDIA(0):
[ 9792.463] (II) NVIDIA(0): Validated modes:
[ 9792.463] (II) NVIDIA(0): Virtual screen size determined to be 1024 x 768

So I enabled debug output and default configuration.


# nvidia-xconfig --no-use-edid
# nvidia-xconfig --mode-debug

(alternatively add Option "ModeDebug" "True" into Screen section)


Now I got the real cause of the information why my line got rejected:

[ 8713.031] (--) NVIDIA(0): No EDID Available.
[ 8713.031] (--) NVIDIA(0):
[ 8713.031] (--) NVIDIA(0): --- End of EDID for CRT-0 ---
[ 8713.031] (--) NVIDIA(0):
[ 8713.127] (**) NVIDIA(0): Using HorizSync/VertRefresh ranges from the EDID for display
[ 8713.127] (**) NVIDIA(0): device CRT-0 (Using EDID frequencies has been enabled on
[ 8713.127] (**) NVIDIA(0): all display devices.)
[ 8713.127] (II) NVIDIA(0): Frequency information for CRT-0:
[ 8713.127] (II) NVIDIA(0): HorizSync : 28.000-55.000 kHz
[ 8713.127] (II) NVIDIA(0): VertRefresh : 43.000-72.000 Hz
[ 8713.127] (II) NVIDIA(0): (HorizSync from Conservative Defaults)
[ 8713.127] (II) NVIDIA(0): (VertRefresh from Conservative Defaults)
[ 8713.127] (II) NVIDIA(0):
[ 8713.127] (II) NVIDIA(0): --- Building ModePool for CRT-0 ---
[ 8713.127] (II) NVIDIA(0): Validating Mode "1280x1024_60.00":
[ 8713.127] (II) NVIDIA(0): 1280 x 1024 @ 60 Hz
[ 8713.127] (II) NVIDIA(0): Mode Source: X Configuration file ModeLine
[ 8713.127] (II) NVIDIA(0): Pixel Clock : 108.88 MHz
[ 8713.127] (II) NVIDIA(0): HRes, HSyncStart : 1280, 1360
[ 8713.127] (II) NVIDIA(0): HSyncEnd, HTotal : 1496, 1712
[ 8713.127] (II) NVIDIA(0): VRes, VSyncStart : 1024, 1025
[ 8713.127] (II) NVIDIA(0): VSyncEnd, VTotal : 1028, 1060
[ 8713.127] (II) NVIDIA(0): H/V Polarity : -/+
[ 8713.127] (WW) NVIDIA(0): Mode is rejected: HorizSync (63.6 kHz) out of range
[ 8713.127] (WW) NVIDIA(0): (28.000-55.000 kHz).

According to that my used HorizSync value was simply outside range of the "conservative" range.

So now simply adjusting that HorizSync value in Monitor section of xorg.conf:

Section "Monitor"
# 1280x1024 @ 60.00 Hz (GTF) hsync: 63.60 kHz; pclk: 108.88 MHz
Identifier "CRT-0"
VendorName "Samsung"
ModelName "VisionMagic"
HorizSync 28.0 - 63.7
ModeLine "1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -hsync +vsync
EndSection
...

And now suddenly nvidia-settings and also "System Settings" offer that 1280x1024 resolution. Xorg.0.log says now:


[ 22.320] (II) NVIDIA(0): Validating Mode "1280x1024":
[ 22.320] (II) NVIDIA(0): 1280 x 1024 @ 60 Hz
[ 22.320] (II) NVIDIA(0): Mode Source: X Server
[ 22.320] (II) NVIDIA(0): Pixel Clock : 108.00 MHz
[ 22.320] (II) NVIDIA(0): HRes, HSyncStart : 1280, 1328
[ 22.320] (II) NVIDIA(0): HSyncEnd, HTotal : 1440, 1688
[ 22.320] (II) NVIDIA(0): VRes, VSyncStart : 1024, 1025
[ 22.320] (II) NVIDIA(0): VSyncEnd, VTotal : 1028, 1066
[ 22.320] (II) NVIDIA(0): H/V Polarity : +/+
[ 22.320] (II) NVIDIA(GPU-0): BestFit Centered 1280x1024
[ 22.320] (II) NVIDIA(GPU-0): Horizontal Taps 0
[ 22.320] (II) NVIDIA(GPU-0): Vertical Taps 0
[ 22.321] (II) NVIDIA(GPU-0): Base SuperSample x4
[ 22.321] (II) NVIDIA(GPU-0): Base Depth 32
[ 22.321] (II) NVIDIA(GPU-0): Distributed Rendering 1
[ 22.321] (II) NVIDIA(GPU-0): Overlay Depth 32
[ 22.321] (II) NVIDIA(0): Mode is valid.

I hope this gives some hints in case you come across similar issues.

Lockheed

jkfjlkasdjfkljk
23rd February 2013, 06:41 PM
Joined this forum just to say thank you for this post.

lockheed02
24th February 2013, 08:35 AM
You're welcome. Although I thought I'm the only one who has such an issue.

Lockheed

lambcutlet
27th December 2013, 09:58 PM
lockheed2, just wanted to say thanks

i use dual screens, one reads edid the other doesn't. Been using nouveau drivers since F19 (now on F20) couldn't change the resolution of the second screen from 1024x768 as 1280x1024 was not an option. Your guide solved this.

one question though, how do you get the change to remain after a reboot?

tried saving the configuration (nvidia-settings) to /etc/X11/xorg.conf
but on reboot it goes back to 1024x768. its as though it does read the xorg.conf file
any assistance much appreciated.

lockheed02
28th December 2013, 04:47 PM
Glad it helped you too. I made a copy of the file xorg.conf file and after each reinstall I simply copy it as xrorg.conf to /etc/X11/ directory as root. Additionally I check if there are no additional settings for nvidia in /etc/X11/xorg.conf.d subdirectory.
So far I'm still in F19, haven't tried it in F20.

Lockheed