Fglrx: gotta reinstall at every fglrx update!!!

Hey there guys!
I’ve already had a similar problem but now I confirmed it’s standard behavior! I use the fglrx drivers from the ati repos and everytime I update the drivers via yast, at the next reboot my drivers are not functional and I gotta use vesa drivers.
To solve the issue, I have to deinstall and reinstall fglrx and to recreate xorg.conf via aticonfig --initial.
Why’s that? Maybe I gotta update the graphical drivers from a pure command-line environment, changing the runlevel?

Thanks in advance!

I don’t know. But all I can say is: Don’t use the driver from the ATI repo. Install atiupgrade and run it as root in runlevel 3 (if you have a network connection outside of X). Otherwise run in once in X - as root, reboot in runlevel 3, log in as root and run atiupgrade again. It will deinstall the older driver and install the latest one. That one provides a service which recompiles the module automatically after a kernel update (at reboot). See the links in the other post: Catalyst 11.7 released

  • deinstalling the ATI repo driver is tricky (because it’s buggy), but I think the script will get it. If not, I will help.

Some tips about catalyst drivers, maybe you’ll find something useful:

Use

/usr/share/ati/fglrx-uninstall.sh
or
/usr/share/ati/amd-uninstall.sh

to uninstall them completely if neccessary.

And you can use standard ati installer to install them, just like it works on windows.

You can also build your own WORKING rpm package using following method (example based on cat 11.3):

sh ./ati-driver-installer-11-3-x86.x86_64.run --buildpkg SuSE/SUSE-autodetection

and then install them:

zypper in package-name.rpm

There is also unofficial ATI repo, which offers working rpms built using this method. I’m installing catalyst manually because of Tumbleweed.

@sobrus,

if the advice was directed at me, why don’t you take a look at the code and tell me what’s missing: http://www.unixversal.com/linux/openSUSE/atiupgrade ?
You might indeed have found something.

if the advice was directed at the OP, it doesn’t apply here (this is NOT how you deinstall the driver installed from repo!)

aitupgrade canl also build a rpm for “unsupported” openSUSE versions. This is why it deinstalls/reinstalls the driver instead of just updating it.
It actually builds a rpm for the LastSupportedSUSE specified in the script (currently 114).

At least, it worked as 11.4 was still not supported by the Catalyst installer (it built a package for 11.3 and installed it on 11.4). There are chances that it will work with Tumbleweed.

I was actually refering to this bug: ATI Driver installs have destroyed SUSE/GNOME graphics setup - Page 2. I have no idea if it has been fixed or not.
atiupgrade should properly deinstall the driver from repo and recreate the missing symlink:

rpm -qa | grep -q x11-video-fglrxG02 && { 
	zypper rm x11-video-fglrxG02
	sed -i 's/^DISPLAYMANAGER_XSERVER=.*/DISPLAYMANAGER_XSERVER="Xorg"/' /etc/sysconfig/displaymanager
	ln -snf /usr/bin/Xorg /var/lib/X11/X
}

I don’t know if this (in red) is stil necessary (but it shouldn’t hurt).

My advices were for everyone :). This is what i know about installing catalyst drivers, maybe someone find something useful.

fglrx-unisnstall script is included in catalyst rpm, and you can use it to remove drivers installed via yast too.
There is no need to uninstall rpm first, in fact it will make things worse (uninstaller can refuse to work due to missing files).
Moerover, uninstalling rpm via YaST won’t uninstall the driver! And it even won’t update just by updating rpm.

After update from RPM, if you go to ATi Control Panel, in ‘information’ there will be old driver version, even though new rpm is installed. To update properly, you have to use fglrx-uninstall first, and then install the new package.

I don’t know atiupgrade script much, as I always use manual method. It builds kernel module for any new kernel version (except if kernel is unsupported by catalyst driver). Therefore it needs kernel source files to install.

As for now, I’m using Catalyst 11.7 on kernel 3.0 and it works flawlessly.

The one I see is amd-uninstall.sh (not the same as fglrx-uninstall.sh). Take a look at this script and you’'ll see that it just uses the rpm command to deinstall the package. But you can’t take a look at it because you can’t have both (AFAIK).

You’re the one mentioning YaST!
As for the driver, If you mean the kernel module, it cannot be deinstalled because it cannot be unloaded if it is used and because it is not included in the rpm package. The module is compiled at installation time, not when you build the package.

fglrx-uninstall is not included in the rpm built from the ati installer (also used in atiupgrade). If you built and installed the rpm, just run this command to persuade yourself that you don’t have this file:

rpm -ql $(rpm -qa | grep fglrx) | grep fglrx-uninstall

If however you have this file, it means that you installed the driver WITHOUT building the package but in this case, you don’t have a rpm.

Too bad. You would see that it used fglrx-uninstall.sh if necessary, and that it is only necessary and possible in one specific case (which might actually apply to you).

Would you mind posting the output of the following command? (out of curiosity) :wink:

rpm -qa | grep fglrx

Yeah you might be right, I switched to linux not long ago :slight_smile:

My drivers won’t be listed in packages, as I installed them without zypper last time (11.7).
I see no point in building rpm package manually any longer, if amd installer works ok.
I wonder if I can remove kernel sources now, it’s kinda heavy - about 0.5GB. I will check that :wink:

Yes, I knew that. But I wanted you to admit it. :wink:

You don’t have to. But it’s better, it’s cleaner. openSUSE, as all other distros, use a package management system, and it’s better to have the packages, whether drivers or applications organized that way. How do you think I know which files belong to the ATI driver? I simply asked the rpm database.

Certainly not! You might not need these kernel sources anymore, but you’re going to need the next ones. When you update the kernel, the kernel sources have to be updated as well. They won’t get updated if you remove them now. When you reboot after a kernel & kernel sources update, the service /etc/init.d/boot.fglrxrebuild (installed with your ATI driver) will check if the fglrx module exist for the new kernel and compile it. It the sources for the current kernel are not there, it won’t compile the module and you won’t be able to start X - unless you install the sources and compile the module or switch back to the radeon driver.