libmesa conflicts with Gnome 3 on Fedora 18 – run into black screen after libmesa update

A recent update on libmesa caused my Fedora 18 running into black screen during displaying the login screen. Note that Fedora 18 is using Gnome 3 as the default login desktop before you could switch to others, like my favorate MATE. Unfortunately, ‘yum history undo’ was unable to downgrade the libmesa (even in init 3 mode) for certain reasons. After a few days struggling, I find a workaround to bypass this issue before libmesa/Gnome could realize and fix it. NOTE again, this workaround  needs the other desktop instead of Gnome 3 (in my case, I have MATE installed).

1. Fedora 18, kernel 3.9.4, libmesa version…
[root@daveti daveti]# uname -a
Linux daveti.me 3.9.4-200.fc18.x86_64 #1 SMP Fri May 24 20:10:49 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[root@daveti daveti]# yum history info 142
Loaded plugins: auto-update-debuginfo, langpacks, presto, refresh-packagekit
Transaction ID : 142
Begin time     : Sat Jun  1 00:16:12 2013
Begin rpmdb    : 2779:e709b9f553182476eadaa5bdf69ad710af96301b
End time       :            00:17:28 2013 (76 seconds)
End rpmdb      : 2780:d845c48ab457707b0d33a46f18707a810d652f97
User           : root,DES 224,541-953-0921,541-953-0921 <root>
Return-Code    : Success
Command Line   : update
Transaction performed with:
Installed     rpm-4.10.3.1-1.fc18.x86_64                              @updates
Installed     yum-3.4.3-54.fc18.noarch                                @updates
Installed     yum-metadata-parser-1.1.4-7.fc18.x86_64                 @anaconda
Installed     yum-plugin-auto-update-debug-info-1.1.31-10.fc18.noarch @updates
Installed     yum-presto-0.9.0-1.fc18.noarch                          @anaconda
Packages Altered:
Updated     eclipse-changelog-2:2.8.0-4.fc18.noarch                     @updates
Update                        2:2.8.0-8.fc18.noarch                     @updates
Updated     eclipse-linuxtools-1.2.0-1.fc18.noarch                      @updates
Update                         1.2.0-7.fc18.noarch                      @updates
Updated     eclipse-oprofile-1.2.0-1.fc18.noarch                        @updates
Update                       1.2.0-7.fc18.noarch                        @updates
Updated     eclipse-rpm-editor-1.2.0-1.fc18.noarch                      @updates
Update                         1.2.0-7.fc18.noarch                      @updates
Updated     eclipse-rpmstubby-1.2.0-1.fc18.noarch                       @updates
Update                        1.2.0-7.fc18.noarch                       @updates
Updated     eclipse-valgrind-1.2.0-1.fc18.noarch                        @updates
Update                       1.2.0-7.fc18.noarch                        @updates
Updated     ibus-anthy-1.5.0-1.fc18.x86_64                              @updates
Update                 1.5.3-1.fc18.x86_64                              @updates
Updated     khrplatform-devel-9.1-3.fc18.noarch                         @updates
Update                        9.2-0.7.20130528.fc18.noarch              @updates
Updated     libtevent-0.9.17-1.fc18.x86_64                              @anaconda
Update                0.9.18-1.fc18.x86_64                              @updates
Updated     libxml2-2.9.1-1.fc18.i686                                   @updates
Updated     libxml2-2.9.1-1.fc18.x86_64                                 @updates
Update              2.9.1-1.fc18.1.i686                                 @updates
Update              2.9.1-1.fc18.1.x86_64                               @updates
Updated     libxml2-devel-2.9.1-1.fc18.x86_64                           @updates
Update                    2.9.1-1.fc18.1.x86_64                         @updates
Updated     libxml2-python-2.9.1-1.fc18.x86_64                          @updates
Update                     2.9.1-1.fc18.1.x86_64                        @updates
Updated     llvm-libs-3.2-2.fc18.x86_64                                 @updates
Update                3.3-0.4.rc2.fc18.x86_64                           @updates
Updated     mesa-dri-drivers-9.1-3.fc18.x86_64                          @updates
Update                       9.2-0.7.20130528.fc18.x86_64               @updates
Obsoleted   mesa-dri-filesystem-9.1-3.fc18.x86_64                       @updates
Obsoleting  mesa-filesystem-9.2-0.7.20130528.fc18.x86_64                @updates
Updated     mesa-libEGL-9.1-3.fc18.i686                                 @updates
Updated     mesa-libEGL-9.1-3.fc18.x86_64                               @updates
Update                  9.2-0.7.20130528.fc18.i686                      @updates
Update                  9.2-0.7.20130528.fc18.x86_64                    @updates
Updated     mesa-libEGL-devel-9.1-3.fc18.x86_64                         @updates
Update                        9.2-0.7.20130528.fc18.x86_64              @updates
Updated     mesa-libGL-9.1-3.fc18.i686                                  @updates
Updated     mesa-libGL-9.1-3.fc18.x86_64                                @updates
Update                 9.2-0.7.20130528.fc18.i686                       @updates
Update                 9.2-0.7.20130528.fc18.x86_64                     @updates
Updated     mesa-libGL-devel-9.1-3.fc18.x86_64                          @updates
Update                       9.2-0.7.20130528.fc18.x86_64               @updates
Updated     mesa-libgbm-9.1-3.fc18.i686                                 @updates
Updated     mesa-libgbm-9.1-3.fc18.x86_64                               @updates
Update                  9.2-0.7.20130528.fc18.i686                      @updates
Update                  9.2-0.7.20130528.fc18.x86_64                    @updates
Updated     mesa-libglapi-9.1-3.fc18.i686                               @updates
Updated     mesa-libglapi-9.1-3.fc18.x86_64                             @updates
Update                    9.2-0.7.20130528.fc18.i686                    @updates
Update                    9.2-0.7.20130528.fc18.x86_64                  @updates
Updated     mesa-libxatracker-9.1-3.fc18.x86_64                         @updates
Update                        9.2-0.7.20130528.fc18.x86_64              @updates
Updated     opencc-0.4.0-1.fc18.x86_64                                  @updates
Update             0.4.3-1.fc18.x86_64                                  @updates
Updated     selinux-policy-3.11.1-96.fc18.noarch                        @updates
Update                     3.11.1-97.fc18.noarch                        @updates
Updated     selinux-policy-devel-3.11.1-96.fc18.noarch                  @updates
Update                           3.11.1-97.fc18.noarch                  @updates
Updated     selinux-policy-doc-3.11.1-96.fc18.noarch                    @updates
Update                         3.11.1-97.fc18.noarch                    @updates
Updated     selinux-policy-targeted-3.11.1-96.fc18.noarch               @updates
Update                              3.11.1-97.fc18.noarch               @updates
Updated     xorg-x11-drv-ati-7.0.0-0.9.20121015gitbd9e2c064.fc18.x86_64 @updates
Update                       7.1.0-5.20130408git6e74aacc5.fc18.x86_64   @updates
Updated     xorg-x11-drv-intel-2.21.6-1.fc18.x86_64                     @updates
Update                         2.21.8-1.fc18.x86_64                     @updates
Dep-Install xorg-x11-glamor-0.5.0-5.20130401git81aadb8.fc18.x86_64      @updates
history info
[root@daveti daveti]#

2. Workaround – change the default desktop of ‘startx’ (from Gnome 3 to MATE)
a. Ctrl-Alt-F2: force into init3 mode
b. cd /etc/X11/xinit
c. Modify Xclients (with the changes below)
#daveti: make mate as the default
#GSESSION=”$(type -p gnome-session)”
GSESSION=”$(type -p mate-session)”
STARTKDE=”$(type -p startkde)”

# check to see if the user has a preferred desktop
PREFERRED=
if [ -f /etc/sysconfig/desktop ]; then
    . /etc/sysconfig/desktop
    if [ “$DESKTOP” = “GNOME” ]; then
        PREFERRED=”$GSESSION”
    elif [ “$DESKTOP” = “KDE” ]; then
        PREFERRED=”$STARTKDE”
    fi
fi

if [ -n “$PREFERRED” ]; then
    exec “$PREFERRED”
fi

# now if we can reach here, either no desktop file was present,
# or the desktop requested is not installed.

if [ -n “$GSESSION” ]; then
    # by default, we run GNOME.
    exec “$GSESSION”
elif [ -n “$STARTKDE” ]; then
    # if GNOME isn’t installed, try KDE.
    exec “$STARTKDE”
fi
d. startx!

About daveti

Interested in kernel hacking, compilers, machine learning and guitars.
This entry was posted in OS and tagged , , , , . Bookmark the permalink.

2 Responses to libmesa conflicts with Gnome 3 on Fedora 18 – run into black screen after libmesa update

  1. daveti says:

    Seems there is a similar bug – running into black screen after mesa update:
    http://mm3test.fedoraproject.org/hyperkitty/list/devel@mm3test.fedoraproject.org/thread/HYSUKJA7XNZ7ITPAQX6PD3KICMYH72DZ/
    However, I am not able to find any segv in /var/log/Xorg.0.log
    Meanwhile, if you have xorg-x11-glamor installed for some reason, remove it:
    rpm -e xorg-x11-glamor-0.5.0-5.20130401git81aadb8.fc18.x86_64 –nodeps
    After this pkg is removed, the login screen is back!

  2. daveti says:

    How to disable X server (GUI) login in Fedora 18?
    Well, in Fedora 18, systemd is in charge of run level (init 3 or init 5). To disable the GUI for login, run level 3 is needed instead of 5.
    How do I change the default runlevel?

    systemd uses symlinks to point to the default runlevel. You have to delete the existing symlink first before creating a new one

    rm /etc/systemd/system/default.target

    Switch to runlevel 3 by default

    ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

    Switch to runlevel 5 by default

    ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

    systemd does not use /etc/inittab file.

    http://fedoraproject.org/wiki/Systemd#How_do_I_change_the_default_runlevel.3F

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.