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!
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!
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