[G86GL] Latest NVIDIA drivers: X hangs with blank screen after logout.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
nvidia-graphics-drivers-177 (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
nvidia-graphics-drivers-180 (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: linux-restricte
I am currently using the 177 nvidia drivers with kernel 2.6.26.
I have an IBM thinkpad T61 laptop with an nVidia Quadro NVS 140M (rev a1) graphics card.
After upgrading to the current driver, what usually happens is
1. Gdm starts
2. I log in
3. Gnome works fine
4. When I log out, the laptop screen goes blank and stays blank.
When the screen goes blank
(a) I cannot switch to a VT using Ctrl-Alt-F1 or Alt-F1.
(b) The backlight is at its highest-setting - so the screen is "bright" black.
If I alternately press Ctrl-Alt-F1, Ctrl-Alt-F7, Ctrl-Alt-Backspace, and Ctrl-Alt-Delete, I can usually manage to make the computer restart.
I should also note that, while this usually happens only after logging out, it also happens occasionally before logging in, so that when GDM first starts, the screen is blank and the computer is unusable.
-
Description: Ubuntu intrepid (development branch)
Release: 8.10
-
Linux mutant 2.6.26-5-generic #1 SMP Thu Aug 14 20:04:33 UTC 2008 x86_64 GNU/Linux
Excerpt from xorg.0.log:
(II) NVIDIA(0): NVIDIA GPU Quadro NVS 140M (G86GL) at PCI:1:0:0 (GPU-0)
(WW) NVIDIA(0): The EDID for LEN (DFP-0) contradicts itself: mode "1440x900"
(WW) NVIDIA(0): is specified in the EDID; however, the EDID's valid
(WW) NVIDIA(0): HorizSync range (46.301-55.556 kHz) would exclude this
(WW) NVIDIA(0): mode's HorizSync (37.0 kHz); ignoring HorizSync check for
(WW) NVIDIA(0): mode "1440x900".
(WW) NVIDIA(0): The EDID for LEN (DFP-0) contradicts itself: mode "1440x900"
(WW) NVIDIA(0): is specified in the EDID; however, the EDID's valid
(WW) NVIDIA(0): VertRefresh range (50.000-60.000 Hz) would exclude this
(WW) NVIDIA(0): mode's VertRefresh (40.0 Hz); ignoring VertRefresh check
(WW) NVIDIA(0): for mode "1440x900".
(WW) NVIDIA(0): The EDID for LEN (DFP-0) contradicts itself: mode "1440x900"
(WW) NVIDIA(0): is specified in the EDID; however, the EDID's valid
(WW) NVIDIA(0): HorizSync range (46.301-55.556 kHz) would exclude this
(WW) NVIDIA(0): mode's HorizSync (37.0 kHz); ignoring HorizSync check for
(WW) NVIDIA(0): mode "1440x900".
(WW) NVIDIA(0): The EDID for LEN (DFP-0) contradicts itself: mode "1440x900"
(WW) NVIDIA(0): is specified in the EDID; however, the EDID's valid
(WW) NVIDIA(0): VertRefresh range (50.000-60.000 Hz) would exclude this
(WW) NVIDIA(0): mode's VertRefresh (40.0 Hz); ignoring VertRefresh check
(WW) NVIDIA(0): for mode "1440x900".
(II) NVIDIA(0): Assigned Display Device: DFP-0
(==) NVIDIA(0):
(==) NVIDIA(0): No modes were requested; the default mode "nvidia-
(==) NVIDIA(0): will be used as the requested mode.
(==) NVIDIA(0):
(II) NVIDIA(0): Validated modes:
(II) NVIDIA(0): "nvidia-
(II) NVIDIA(0): Virtual screen size determined to be 1440 x 900
Changed in nvidia-graphics-drivers-177: | |
assignee: | andreas-moog → nobody |
status: | Incomplete → Confirmed |
description: | updated |
security vulnerability: | no → yes |
security vulnerability: | yes → no |
It seems that what is happening is this:
When X uses the nvidia driver (but not the nv driver) it hangs for about 10 seconds before starting. During this hang, I cannot switch to a VT, and the backlight is on. Eventually, however, the backlight turns off, the nVidia logo flashes on the screen, and then X starts.
However, if X is run by GDM, then GDM does not wait long enough for this process to finish. So, just as X is actually starting, GDM decides that it has failed and kills the X server before it can finish starting. Then it tries again.
After it has tried several times, it then tries to run the "fail-safe" mode with a lower resolution (800x600). However, it fails to draw it correctly, and part of the screen contains garbage, part of the left side of the window is drawn on the right side of the screen, etc.
So, it seems that something is causing the 177 nvidia driver to hang temporarily on startup. This is what causes the problem.
I also tried this with an /etc/X11/xorg.conf that was freshly generated from dexconf, and has almost no actual settings in it. (I guess the 1.5 X server is supposed to auto-detect these.) This xorg.conf works - but it uses the nv driver. If I add one line to switch to the nvidia driver, then it hangs.
I am still not sure exactly where in the startup sequence it is hanging.