I am having an issue with GDM 3.8. After updating from 3.6, I would only see a black screen after starting GDM. However, if I killed GDM and started X with startx, my gnome environment loaded normally.
I traced this issue down to the fact that GDM is apparently no longer honouring the resolution I specify in my xorg.conf file. I have monitors which do not report EDID information, so I have custom modelines in my xorg.conf and also specify that these modes should be used (see xorg.conf below). Generally, this works as it should. However, the nvidia drivers' auto-detection (nvidia-auto-select) mode, seeing the failed EDID, defaults to 800x600. Thus, the output of xrandr:
Screen 0: minimum 8 x 8, current 3360 x 1440, maximum 16384 x 16384 DVI-I-0 disconnected (normal left inverted right x axis y axis) DVI-I-1 disconnected (normal left inverted right x axis y axis) DVI-I-2 connected primary 2560x1440+0+0 (normal left inverted right x axis y axis) 0mm x 0mm 800x600 60.3 + 2560x1440 60.0* HDMI-0 disconnected (normal left inverted right x axis y axis) DVI-I-3 connected 2560x1440+800+0 (normal left inverted right x axis y axis) 0mm x 0mm 800x600 60.3 + 2560x1440 60.0*
In the past this was not a problem, as my xorg.conf specifies that 2560x1440 should be used and, with the exception of GDM 3.8, this works.
Now, looking through GDM's logs, I find some output regarding the nvidia drivers' mode validation process. At the end of this process the modepool is determined to contain both 800x600 and 2560x1440 as the two valid modes for each monitor. The problem is that, for some reason, even though my xorg.conf specifies 2560x1440, GDM instead goes with the first 'valid' mode.
Furthermore, if I log in via SSH while GDM is running, xrandr confirms that 800x600 has been selected. If I use xrandr to switch to 2560x1440, the monitors work normally and I am able to log in via GDM.
I have been unable to find a workable method to either render 800x600 'invalid' or to cause GDM to respect my xorg.conf settings. I have tried the "ModeValidation" XOrg option to disable all but custom modes, but this seemed to have no effect. Any ideas?
Section "Monitor" Identifier "Monitor0" VendorName "Shimian" ModelName "DFP-0" HorizSync 88.8 - 88.8 VertRefresh 59.5 ModeLine "2560x1440" 241.500 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync Option "DPMS" EndSection Section "Monitor" Identifier "Monitor1" VendorName "Shimian" ModelName "DFP-2" HorizSync 88.8 - 88.8 VertRefresh 59.5 ModeLine "2560x1440" 241.500 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync Option "DPMS" EndSection Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "GeForce GTX 560 Ti" Option "UseEdid" "FALSE" Option "UseEdidFreqs" "FALSE" Option "ExactModeTimingsDVI" "True" EndSection Section "Screen" Identifier "Screen0" Device "Device0" Monitor "Monitor0" Monitor "Monitor1" DefaultDepth 24 Option "TwinView" "1" Option "Xinerama" "0" Option "nvidiaXineramaInfoOrder" "DFP-0" Option "metamodes" "DFP-0: 2560x1440 +0+0, DFP-2: 2560x1440 +2560+0" EndSection
Last edited by frenchie16 (2013-05-12 05:12:43)
I'm having the exact same problem. Every time GDM starts, it is in low res. I then have to open the nvidia settings after logging in to change it back to my preferred resolution.
This is really very annoying indeed. Does anyone know a fix?
I've a similar problem, my X starts with 59Hz every time with Gnome/GDM, had to change on nvidia-settings every time after login.
My workaround add xrandr to change resolution on login
xrandr --output DVI-I-1 --mode 1440x900 --rate 75
I've tested with lighdm, works fine, but since upgrade gnome 3.6 -> 3.8 stoped working with my xorg settings
Section "Monitor" Identifier "ASUS VW193S" Option "DPMS" "1" EndSection Section "Device" Identifier "nVidia Corporation GeForce 9800 GTX+ (rev a2)" Driver "nvidia" Option "DPI" "96 x 96" Option "NoLogo" "True" Option "Coolbits" "5" EndSection Section "Screen" Identifier "Default Screen" Device "nVidia Corporation GeForce 9800 GTX+ (rev a2)" Monitor "ASUS VW193S" Defaultdepth 24 SubSection "Display" Modes "1440x900_75" "1440x900" "1152x864" "1024x768" "800x600" "640x480" EndSubSection EndSection
The issue has gotten worse for me after a configuration change (removing one of the two monitors). It now affects gnome-session as well as gdm. If I start x without gnome-session, things work as they should. However, after running gnome-session, resolution is set to 800x600 (which my monitor cannot display). Furthermore I can no longer change back to 2560x1440 using xrandr:
$ xrandr -d :0 Screen 0: minimum 8 x 8, current 800 x 600, maximum 16384 x 16384 DVI-I-0 disconnected (normal left inverted right x axis y axis) DVI-I-1 disconnected (normal left inverted right x axis y axis) DVI-I-2 disconnected (normal left inverted right x axis y axis) HDMI-0 disconnected (normal left inverted right x axis y axis) DVI-I-3 connected primary 800x600+0+0 (normal left inverted right x axis y axis) 0mm x 0mm 800x600 60.3*+ 2560x1440 60.0 $ xrandr -d :0 --output DVI-I-3 --mode 2560x1440 X Error of failed request: BadMatch (invalid parameter attributes) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 7 (RRSetScreenSize) Serial number of failed request: 32 Current serial number in output stream: 33
While before, the issue was just a minor inconvenience (log in via getty and startx rather than GDM) to rendering my computer unusable without a major change of workflow (I will have to switch to a different desktop environment if I cannot solve it).
Has anyone had any luck with solving this?
Last edited by frenchie16 (2013-05-04 20:34:03)
I have worked out a solution.
First, I discovered that while I could not change the resolution with xrandr on another virtual terminal, I could do so if I left the terminal with X running, and then logged in via SSH. By doing this I was able to get back into Gnome (using startx). Then, using the Gnome display settings, I set the resolution to 2560x1440 and clicked "apply", which generated monitors.xml in ~/.config. Then, I copied this file to /var/lib/gdm/.config. GDM reads this file and selects 2560x1440. Once I log in, gnome does the same with the file in my home folder.
(This explains why initially only GDM exhibited this issue for me- one thing I tried while troubleshooting was deleting monitors.xml, as it has caused me problems in the past.)
This strikes me as a bit of a hack and a workaround, and I still wonder why it is that gnome and gdm are overriding the modes specified in Xorg.conf. This seems like bad behavior, and it worries me that there isn't even a setting somewhere to switch it off (short of specifying a resolution directly to gnome), but at least I have my environment back, and hopefully this will help anyone else with similar issues.
I have worked out a solution.
This works perfectly! Didn't know about /var/lib/gdm/.config directory before.