2014-12-02

GNOME is destroying the whole GTK universe

When GNOME 3.14 components were uploaded into Debian (just a few days before the Jessie freeze started), GNOME stopped working on two video platforms: Geode (xf86-video-geode) and NVIDIA (xf86-video-nouveau). On Geode, GDM launches into a black screen. On NVIDIA, GDM launches as expected, but then the GNOME session itself barfs with the dreaded "Oh No! Something went wrong. [Logout]" dialog during session initialization. Basically, components in GNOME have become too tightly dependent upon some video driver features. Thinking out loud, I figured that reverting to a desktop environment that is based upon GTK+3, without GNOME's bells and whistles, would at least restore operation on my NVDIA hosts. Alas, it does not: Cinnamon, too, barfs during session initialization. Great. Now what?

15 comments:

fabian said...

> Cinnamon, too, barfs during session initialization.

Wrong headline then, or not?

Martin-Éric said...

Correct headline. IceWM works as expected. It's only GTK+3 derivatives that are affected by this.

Emmanuele said...

except that Cinnamon is just GNOME 3.

GNOME not working on Nouveau is a bug, probably in the driver shipped by Debian; have you filed a bug?

Geode is not even a supported GPU outside of OLPC.

in any case, I fail to see the relevance of GTK in your findings, unless you think that the GNOME compositing window manager is written with GTK - which idefinitely s not the case.

by the way, you're going to love the fact that after 10 years, GTK is going to have OpenGL support out of the box next February, and people will start using it.

Martin-Éric said...

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=771108

Geode works perfectly fine using non-GNOME components. It also worked perfectly fine on GNOME until 3.14.

Emmanuele said...

> [Geode] also worked perfectly fine on GNOME until 3.14.

unlikely. you were probably running on the Mesa software rasterizer (i.e. llvmpipe). Geode simply does not have the capabilities to support proper GL.

if your environment worked for GNOME < 3.14, then it has to work for GNOME >= 3.14. you should double check that the software rendering for GLX is still working on your machine.

Martin-Éric said...

Quite likely. I used it regularly until 3.14 resulted in GDM booting to a blank screen on Geode.

How would I check that software GLX still work or, if it doesn't where is the bug?

Emmanuele said...

the default GDM greeter for GNOME is just a mode of GNOME Shell (quite literally) that lets you do a log in, so if GDM starts, there must be something else going on in the hand off between the GDM user session and your own user session.

there should be a session log (on systemd-based system, it's in the journal) that should tell you what's happened. on a default Jessie, it should be in the same log file as configured by syslog.

Martin-Éric said...

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=769960

Martin-Éric said...

$ sudo journalctl /usr/sbin/gdm3
-- Logs begin at ke 2014-11-26 18:07:42 EET, end at ti 2014-12-02 14:45:29 EET. --
marras 26 18:08:51 geode gdm3[716]: Failed to give slave programs access to the display. Trying to proceed.
joulu 02 14:42:37 geode gdm3[13991]: Failed to give slave programs access to the display. Trying to proceed.

Martin-Éric said...

/var/log/syslog:

Dec 2 14:42:39 geode /usr/bin/dbus-launch[14011]: gnome-session-is-accelerated: llvmpipe detected.

Martin-Éric said...

Added the full log to Bug #769960 too.

Emmanuele said...

yep, it's using llvmpipe and not the Geode driver.

in any case, there seem to be some hand over issue, given the error from gdm. you should definitely add this information to the bug. looks like some form of permission failure.

Martin-Éric said...

PS: just to be sure, on Geode, the GDM session launches (see the bug report; systemctl reports it as up and running), but the screen remains black.

Martin-Éric said...

Added to the bug report.

sourcejedi said...

W.r.t gdm working when gnome-shell doesn't:

I thought Debian used a mode of gdm that didn't use acceleration (or not as heavily?), so that if your system can only run "classic gnome", you don't have to fiddle with the login manager. And that there's some visual tell e.g. if you compare it to gdm in Fedora - I dunno, maybe a lack of dropshadows.

I'm probably completely confused though :).