Cannot logon after using Screens and Graphics program with nvidia-glx-legacy driver
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Jockey |
Invalid
|
High
|
Unassigned | ||
displayconfig-gtk |
Invalid
|
Undecided
|
Unassigned | ||
displayconfig-gtk (Ubuntu) |
Won't Fix
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: displayconfig-gtk
Cannot logon after installing xgl (xserver-xgl) under the circumstances below.
Those with NVIDIA legacy graphics devices running the proprietary nvidia-glx-legacy driver with Xgl cannot login once they have used the Screens and Graphics program to make any kind of change.
(I believe those with these devices who wish to run compiz must run Xgl)
Unfortunately bulletproof-x is not started.
Related to bug 91064 because Xgl uses gl through xorg and the proprietary nvidia drivers. Since gdm doesn't use glx there is no problem until after login.
Another possible symptom:
Option "AddARGBGLXVisuals" "True" is also removed by the Screens and Graphics program, so windows borders may disappear. I don't have a recent nvidia card so I can't test this; it's only a suspicion.
Additional Information
In response to bug 91064 the above Option AllowGLXWithCom
The following test reveals the problem Xgl is having when one can't log on:
sudo /usr/bin/Xgl vt9 :21
Fatal server error:
no GLX visuals available
If not running Xgl the problem manifests itself by discontinuing the ability to run glx program. Running glxgears gives the following message:
glxgears
Xlib: extension "GLX" missing on display ":0.0".
Error: couldn't get an RGB, Double-buffered visual
This is because:
xserver-xorg's Xorg.0.log reports:
(EE) GLX is not supported with the Composite extension
I'm reporting this as a problem with guidance-backend, but another way to address this problem would be for restricted manager to set this option (as well as NoLogo and ARGBGLXVisuals) in the screen section rather than in the device section since that isn't recreated by displayconfigab
Confirmation:
sudo dpkg-reconfigure -phigh xserver-xorg
System-
Enable the proprietary driver and close
Confirm that the option Nolog and either AllowGLXWithCom
System-
Change the monitor type and press ok
Confirm that the options have been removed from the device section of
/etc/X11/xorg.conf
If using nvidia-glx-legacy try to logo on.
To recover from this using nvidia-glx-new or nvidia-glx run:
sudo nvidia-xconfig -c /etc/X11/xorg.conf --allow-
(I understand that the last option is valid with this configuration's nvidia-xconfig)
or, if running a nvidia-glx-legacy, run from a console or failsave gnome session:
sudo nvidia-xconfig -c /etc/X11/xorg.conf --allow-
and logon normally. nvidia-xconfig moves these options, whether new or whether it is adding them, to the session section of the xorg.conf file, where they will be safe from the Screens and Graphics program in the future.
The legacy driver is not harmed by having the AddARGBGLXVisual option included--it only produces a warning.
This is only my second bug report so please forgive and correct me if I'm reporting this incorrectly.
description: | updated |
description: | updated |
Changed in jockey: | |
assignee: | nobody → pitti |
importance: | Undecided → High |
status: | New → In Progress |
Changed in jockey: | |
assignee: | pitti → nobody |
status: | In Progress → Confirmed |
Changed in displayconfig-gtk: | |
status: | New → Invalid |
Changed in jockey: | |
status: | Confirmed → Incomplete |
status: | Incomplete → Invalid |
Attached is a patch to restricted-manager to put the options needed for Xgl and compiz in the screen section of xorg.conf so that displayconfig-gtk won't overwrite them. It seems to me that it is probably better for displayconfig-gtk to own the device section rather than have both it and restricted-manager try to manage the section's options. While displayconfig-gtk may add to the screen section, it seems to leave already existing options alone. In contrast, as mentioned, displayconfig-gtk creates a totally new device section when it makes a change. The nvidia-xconfig command circumvention above works for the same reason.
The allowglxwithcom posite option shouldn't hurt the newer nvidia versions (nvidia-glx and nvidia-glx-new) and the other options that are understood by the new versions are ignored by the old one (nvidia- glx-legacy) . Therefore it should be safe to add them all at once in the nvidiadriver class rather than add individual enable_config_hook methods to the -new and -legacy driver classes. While the patch takes the simplification of simply altering the first screen section the existing code is already making the same choice.
Since the patch is for restricted-manager I took the liberty of adding that project to the bug report.