Bug 743260 - gnome-shell works for root, not for normal users
gnome-shell works for root, not for normal users
Product: Fedora
Classification: Fedora
Component: gnome-session (Show other bugs)
x86_64 Linux
unspecified Severity unspecified
: ---
: ---
Assigned To: Ray Strode [halfline]
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2011-10-04 08:24 EDT by Sergio Pascual
Modified: 2013-02-13 16:45 EST (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2013-02-13 16:45:45 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Sergio Pascual 2011-10-04 08:24:11 EDT
Description of problem:

After upgrading from F15 using yum (preupgrade doesn't work with my system, it has raid1 boot) gnome shell ceased to work for non root users (including gdm).

When I run /usr/libexec/gnome-session-check-accelerated the return value is 1 for all users and 0 for root.

Version-Release number of selected component (if applicable):

Additional info:
I use stock nouveavu modules from above kernel
Comment 1 Sergio Pascual 2011-10-04 10:03:07 EDT
My video card from lspci is:

03:00.0 VGA compatible controller: nVidia Corporation G96 [Quadro FX 580] (rev a1)
Comment 2 Robert Hancock 2011-11-12 16:51:48 EST
I think I have the same problem after upgrading from F15 (using preupgrade). When logging in through GDM, it goes into fallback mode. When logging into the text console and running startx, GNOME Shell works fine. Doing a "gnome-shell --replace" after logging in with gdm also seems to work.

It looks like somehow the process to detect whether 3D acceleration is available is somehow not working through gdm. From /var/log/gdm/:0-greeter.log:

gnome-session[3973]: DEBUG(+): fill: *** Looking if /usr/share/gnome-session/sessions/gdm-shell.session is a valid session file
gnome-session[3973]: DEBUG(+): fill: *** Launching helper 'bash -c 'gnome-shell --help | grep -q gdm-mode && /usr/libexec/gnome-session-check-accelerated'' to know if session is runnable
gnome-session-is-accelerated: No hardware 3D support.
gnome-session-check-accelerated: Helper exited with code 256
gnome-session[3973]: WARNING: Session 'gdm-shell' runnable check failed: Exited with code 1
gnome-session[3973]: DEBUG(+): fill: *** Session is not runnable
gnome-session[3973]: DEBUG(+): fill: *** Getting session 'gdm-fallback'

I made a hacked version of gnome-session-check-accelerated-helper with some output added to see exactly why it was saying "no hardware 3D support" and found this:

gnome-session-is-accelerated: Blacklisted renderer
gnome-session-is-accelerated: Gallium 0.4 on llvmpipe

Since llvmpipe is blacklisted it bails out. But I don't know why it's getting llvmpipe since glxinfo from logging in shows the expected "Gallium 0.4 on NV94" renderer string. Maybe some kind of permissions problem?
Comment 3 Robert Hancock 2011-11-12 17:41:00 EST
It looks like the permissions on /dev/dri/card0 aren't being set to allow the gdm user to access the DRI device. My user account was a member of the video group, and if I remove that then I can't access DRI after logging in either.

Apparently ConsoleKit is supposed to do this, but for some reason it's not. On another F16 machine (originally installed as F15 then upgraded), it works. I'm not sure what the difference is.
Comment 4 Robert Hancock 2011-11-13 20:50:39 EST
Just for posterity, it turned out that the problem was that some of the PAM configuration was left over from a previous release, so pam_systemd wasn't invoked to trigger adding the correct permissions to allow the console user to access the DRI device. Re-symlinking the /etc/pam.d/*-rc files to the corresponding files without the -rc suffix again fixed the problem.
Comment 5 Ian Collier 2011-11-17 11:49:40 EST
@Robert thanks for the pointer to pam!  This was a real puzzle to me also and I went through exactly the same steps but got stuck at "who is meant to change the perms on /dev/dri/card0".  (The reference to -rc confused me though; I expect you mean -ac.)

Just for even more posterity, the relevant line in /etc/pam.d/system-auth is:

session     optional      pam_systemd.so

(And then there should be a reference to pam_loginuid.so in /etc/pam.d/gdm-welcome.).  My problem was I'd previously pointed system-auth to a customised file in order to apply lab policy on the cracklib options, so it didn't pick up this extra line on the upgrade.
Comment 6 Sergio Pascual 2011-11-25 18:03:59 EST
I'm still finding this problem when upgrading from F15. As suggested above, I have copied the rpmnew and resymlinked the pam files with the -ac files. Still, it didn't work for me until I made myself member of video group. Clearly there is something else broken in my system
Comment 7 Fedora End Of Life 2013-01-16 12:16:02 EST
This message is a reminder that Fedora 16 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 16. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '16'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 16's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 16 is end of life. If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora, you are encouraged to click on 
"Clone This Bug" and open it against that version of Fedora.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
Comment 8 Fedora End Of Life 2013-02-13 16:45:49 EST
Fedora 16 changed to end-of-life (EOL) status on 2013-02-12. Fedora 16 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.

Note You need to log in before you can comment on or make changes to this bug.