Caution to all using ati graphics download repository.
I have been using SUSE 11.4 after an upgrade from 11.3 through zypper for months.
I added ati graphics as a update repository. Software update installed two ati files. I did not notice their names.
Upon installation my graphics was acting funny so I uninstalled the two ati-files figuring I’d be back to where I was.
Now I can only get into terminal window after reboot at both runlevel 3 and 5; no graphics at all. I keep getting message re: display ‘null’
I wish to return to original graphics configuration prior to ati downloads which, I believed used xorg drivers.
I believe I either need to revise xorg.conf file back to original which was overwritten by ati process or reinstall xorg/X11 related files.
I have an ati radeon HD 3450 agp card. 32 bit SUSE w/11.4 installed and running.
Anyone have a sample xorg.conf that might work or some other ideas of how to get back to where I was.
As a related question, if I do a fresh reinstall of SUSE 11.4 using dvd can I save my /home files and any /filesystem files that my special software created in root directories.
If you did uninstall the ATI driver properly, just rename or remove the file /etc/X11/xorg.conf and reboot and you’ll be back to the radeon or radeonhd driver. If it still doesn’t boot in graphics mode, reboot with the option ‘nomodeset’. I don’t think HD AGP cards are still supported by the Catalyst driver.
From what I recall from reading, the AGP version of the Radeon HD3450 graphic card is difficult to get working with the proprietary graphic driver. The PCI-e versions are simple (to get working) in comparison.
Can you boot to a terminal (full screen text), login and type:
rpm -qa '*fglrx*'
and confirm there are no rpms with ‘fglrx’ in the file name?
After confirming that, what happens if you rename the /etc/X11/xorg.conf file to /etc/X11/xorg.conf.backup.last (such there is no xorg.conf) then reboot with with boot code ‘nomodeset’ ? [idea is to force radeonhd graphic driver]
If that fails, what happens if you then reboot with the boot code ‘x11failsafe’ ? [idea is to force fbdev graphic driver]
If that fails, what happens (with xorg.conf still removed) you boot to a terminal and go to the /etc/X11/xorg.conf.d/50-device.conf and edit the file (uncommenting the line with radeon’ in it) such that the file looks like:
Section "Device"
Identifier "Default Device"
Driver "radeon"
## Required magic for radeon/radeonhd drivers; output name
## (here: "DVI-0") can be figured out via 'xrandr -q'
#Option "monitor-DVI-0" "Default Monitor"
EndSection
save that change, and reboot and again use the boot code ‘nomodeset’ when booting ? [idea is to force radeon graphic driver]
I thank oldcpu for the ideas to try. No ideas have yet worked to get back graphics. I have only terminal screen. With full boot I get terminal screen with suse crinkled screen background and high quality fonts.
Here’s some general notes then I’ll summarize results of each of oldcpu’s ideas following some general observations. Note that I am having to hand type display messages so mistakes are inevitable but hopefully minor.
When running startx as root from terminal window following any of the boot permutations, I see:
startx says:
Xauth: /root/.serverauth.5196 does not exist
/etc/X11/xinit xserverrc
line 51: exec: X: not found
xinit giving up: unable to connect to xserver: connection refused
xinit failed: /usr/bin/Xorg is not setuid may be reason
idea 1 – search for rpm with fglrx
no rpm containing fglrx in name was found
idea 2 – no xorg.conf file and boot w/nomodeset option
gave coarse text screen with black background. No graphics. Startx messages as above.
Subsequent boot to level 5 also gave no graphics
idea 3 – boot w/x11failsafe option
gave good quality black background screen. No graphics. startx messages as above
Subsequent boot to level 5 also gave no graphics
idea 4 – modify 50-device.conf file, reboot with nomodeset option
gave coarse screen. No graphics. startx messages as above
Subsequent boot to level 5 also gave no graphics
Thanks to oldcpu for ideas.
Anyone with any further ideas to get graphics going. I consider myself linux proficient but not at the systems level as everyone can see.
Thanks again,
If you experienced the same situation as @thaiiceland in the other thread after deinstalling fglrx, there is a bug in the deinstallation script of the driver from ATI repo. Users should check if the symlink starting X is OK by typing:
readlink /var/lib/X11/X
If it doesn’t output /usr/bin/Xorg but /usr/bin/X.x11-video-fglrxG02, this is obviously wrong and they should recreate the symlink with this command:
I made the last changes to the symlink per your descriptions above and now I boot directly into desktop as before.
Previously I had not made any changes: I only manually started xdm/gdm. I think those instructions might be hidden in an inoperable scrollbar in the link your provided. At least the scrollbar would not work for me. Thanks for re-stating the necessary changes.
Now that I have graphics, I can wait for the end of the world this afternoon.
Actually I was expecting something like that to happen. The user in the other post used atiupgrade - which first uninstalled the ATI driver from repo. As it didn’t work, I suspected a bug in the x11-video-fglrxG02 package. The OP in this post uninstalled the ATI driver manually with the same issue.
So I just installed the ATI driver from repo to take a look at the postinstall and postuninstall scriplets in x11-video-fglrxG02 rpm. Here’s what I found:
the postinstall script replaces DISPLAYMANAGER_XSERVER="Xorg"
with DISPLAYMANAGER_XSERVER=X.x11-video-fglrxG02 in /etc/sysconfig/displaymanager. (shown in the code in red below). I checked in this file and the change happened indeed.
**# rpm -q --scripts x11-video-fglrxG02 | grep -C 3 'X.x11-video-fglrxG02'**
ln -snf /usr/lib/dri usr/X11R6/lib/modules/dri
test -f etc/sysconfig/displaymanager && \
. etc/sysconfig/displaymanager
if "${DISPLAYMANAGER_XSERVER}" == "X.x11-video-fglrxG02" ]; then
# broken entry in /etc/sysconfig/displaymanager:DISPLAYMANAGER_XSERVER
# use a sane default instead
DISPLAYMANAGER_XSERVER=Xorg
fi
sed -i s/REPLACE_ME/${DISPLAYMANAGER_XSERVER}/g usr/bin/X.x11-video-fglrxG02
test -f etc/sysconfig/displaymanager && \
sed -i 's/DISPLAYMANAGER_XSERVER=.*/DISPLAYMANAGER_XSERVER=**X.x11-video-fglrxG02**/g' \
/etc/sysconfig/displaymanager
test -x /etc/X11/xdm/SuSEconfig.xdm && \
/etc/X11/xdm/SuSEconfig.xdm
Then it runs /etc/X11/xdm/SuSEconfig.xdm
(code in blue above), which creates the symlink /var/lib/X11/X → /usr/bin/X.x11-video-fglrxG02, as shown in the code in red below:
**# grep -C 3 'DISPLAYMANAGER_XSERVER' /etc/X11/xdm/SuSEconfig.xdm**
elif test "$DISPLAYMANAGER_STARTS_XSERVER" = "yes" ; then
sed -ri 's/^#:blank:]]*(:[0-9]:blank:]]+local:blank:]]+)/\1/g' ${file}.SuSEconfig
fi
if test "$DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN" = "no" ; then
sed -ri 's%(.*/usr/bin/X):blank:]]*(-nolisten:blank:]]*tcp:blank:]]*|)%\1 -nolisten tcp %g' ${file}.SuSEconfig
elif test "$DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN" = "yes" ; then
sed -ri 's%(.*/usr/bin/X):blank:]]*-nolisten tcp:blank:]]*%\1 %g' ${file}.SuSEconfig
fi
check_md5_and_move $file
fi
if test -n "$DISPLAYMANAGER_XSERVER" -a -x "/usr/bin/$DISPLAYMANAGER_XSERVER" ; then
test -d /var/lib/X11 && ln -snf "/usr/bin/$DISPLAYMANAGER_XSERVER" /var/lib/X11/X
else
test -d /var/lib/X11 && ln -snf /usr/bin/Xorg /var/lib/X11/X
fi
when deinstalling x11-video-fglrxG02, you would expect the symlink to be changed back (code in blue above), but it doesn’t happen because the postinstall script (below) doesn’t call /etc/X11/xdm/SuSEconfig.xdm, nor does it set the value of DISPLAYMANAGER_XSERVER back to Xorg in /etc/sysconfig/displaymanager.
**# rpm -q --scripts x11-video-fglrxG02 | sed -n '/postuninstall/,$p'**
postuninstall scriptlet (using /bin/sh):
# Rearrange run level symlinks after removing the atieventsd init script
/sbin/insserv /etc/init.d
if "$1" -eq 0 ]; then
if ls var/lib/hardware/ids/* &> /dev/null; then
> var/lib/hardware/hd.ids
for i in var/lib/hardware/ids/*; do
cat $i >> var/lib/hardware/hd.ids
done
else
rm -f var/lib/hardware/hd.ids
fi
test -f etc/X11/xorg.conf && \
cp etc/X11/xorg.conf etc/X11/xorg.conf.fglrx-postun
if -r etc/X11/xorg.conf.fglrx-post ]; then
mv etc/X11/xorg.conf.fglrx-post etc/X11/xorg.conf
else
true
fi
which gnome-xgl-switch &>/dev/null && \
gnome-xgl-switch --disable-xgl
# cleanup
rm -f usr/X11R6/lib/modules/dri
rmdir --ignore-fail-on-non-empty usr/X11R6/lib/modules
fi
exit 0
So here’s what remains after deinstalling the driver with
zypper rm x11-video-fglrxG02
**# find /var/lib/X11 -type l -name X -ls**
2449 0 lrwxrwxrwx 1 root root 29 May 22 09:08 /var/lib/X11/X -> /usr/bin/X.x11-video-fglrxG02
**# grep 'DISPLAYMANAGER_XSERVER=' /etc/sysconfig/displaymanager**
DISPLAYMANAGER_XSERVER=X.x11-video-fglrxG02
It’s a bug. You can add a warning in your HowTos. I will add a workaround in atiupgrade as soon as I have some time.