No acceleration with ATI proprietary driver - Opensuse 12.1

I was able to successfully install the fglrx driver in 12.1 using the atiupgrade script. However, I am getting no direct rendering. GLXINFO reports direct rendering: No and WARNING: Direct Rendering is NOT enabled. The reported OpenGl renderer and version is
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Radeon HD 4250
OpenGL version string: 1.4 (2.1 (3.3.11251 Compatibility Profile Context))

According to Xorg.log, fglrx is loading successfully. Here is the relevant excerpt:

[11.136] (II) LoadModule: "fglrx"
    11.138] (II) Loading /usr/lib64/xorg/modules/drivers/fglrx_drv.so
    11.440] (II) Module fglrx: vendor="FireGL - ATI Technologies Inc."
    11.449] 	compiled for 1.4.99.906, module version = 8.91.4
    11.449] 	Module class: X.Org Video Driver
    11.458] (II) Loading sub module "fglrxdrm"
    11.458] (II) LoadModule: "fglrxdrm"
    11.458] (II) Loading /usr/lib64/xorg/modules/linux/libfglrxdrm.so
    11.479] (II) Module fglrxdrm: vendor="FireGL - ATI Technologies Inc."
    11.480] 	compiled for 1.4.99.906, module version = 8.91.4
    11.480] (II) ATI Proprietary Linux Driver Version Identifier:8.91.4
    11.480] (II) ATI Proprietary Linux Driver Release Identifier: 8.911                                
    11.480] (II) ATI Proprietary Linux Driver Build Date: Oct 25 2011 21:24:13
    11.480] (++) using VT number 7

    11.495] (WW) Falling back to old probe method for fglrx
    11.546] (II) Loading PCS database from /etc/ati/amdpcsdb
    11.552] (--) Chipset Supported AMD Graphics Processor (0x9715) found

Here is my xorg.conf:

Section "ServerLayout"
	Identifier     "aticonfig Layout"
	Screen      0  "aticonfig-Screen[0]-0" 0 0
EndSection

Section "Module"
EndSection

Section "Monitor"
	Identifier   "aticonfig-Monitor[0]-0"
	Option	    "VendorName" "ATI Proprietary Driver"
	Option	    "ModelName" "Generic Autodetecting Monitor"
	Option	    "DPMS" "true"
EndSection

Section "Device"
	Identifier  "aticonfig-Device[0]-0"
	Driver      "fglrx"
	BusID       "PCI:1:5:0"
EndSection

Section "Screen"
	Identifier "aticonfig-Screen[0]-0"
	Device     "aticonfig-Device[0]-0"
	Monitor    "aticonfig-Monitor[0]-0"
	DefaultDepth     24
	SubSection "Display"
		Viewport   0 0
		Depth     24
	EndSubSection
EndSection

My graphics card is the Radeon HD4250. From an extensive Google search, I know the card does support acceleration. How do I get it to work.

I may have found the solution. On running the command LIBGL_DEBUG=verbose glxinfo > /dev/null, I found swrast_dri.so was not loading. I found that the system was not using the libGL drivers from /usr/lib64/X11R6 but from /usr/lib64. Those in the X11R6 directory were from the fglrx package, while those in /usr/lib64 were the ones supplied from Mesa. I renamed those and linked to the ones in the /usr/lib64/X11R6 library, rebooted and now I have acceleration. I’m hoping there is not something else that is wrong that I don’t know about, but wiser heads than I might have a clue about that.

I can’t believe that others are not having the same issue as I installed fglrx using the atiupgrade script over a brand new from scratch 12.1 installation.

This could be the same issue I’ve been posting about among others, and I was just curious, could you perhaps explain in detail what to do to get this working the way you have, so I can indeed test and see if that’s what causes so many problems for me (artifcats blinking etc)?

I have a 6310hd and have since reverted to the free radeon drivers but I’d love to get the fglrx working.

atiupgrade is a frondend for the ati installer script, meaning it checks if an ATI driver ist already installed and up to date, it downloads the ati installer (ati .run file) from the ATI website, installs the kernel sources that you’ll need to compile the module if they are missing, and creates a fglrx package that you should still have in the directory /usr/share/atiupgrade. You can install this rpm on another ATI computer or even reinstall it later on your computer if ever you deinstall it for some reason.

In the second step, it installs the driver - compiling the kernel module occures at this stage - and writes a basic configuration.

If you would run the ati run script ‘manually’, you would end up with the same files (with the exception of an uninstall shell script). atiupgrade does more and is easier to use (as it takes care of the dependencies and installs the kernel sources). It creates a package of the driver, that is cleaner and easier to deinstall/reinstall. With a driver version as argument, it can also be used to downgrade the driver.

But despite all these features, the files it installs are the same as the ones installed by the ati run script.
You can list them with the following command (here on my 11.4. The package name will be different for you):

 rpm -ql fglrx64_xpic_SUSE114-8.911-1

The mesa/fglrx conflict doesn’t surprise that much but is not because of atiupgrade - I guess.

The atiupgrade script is great. I’ve never had a problem with it. I was just surprised that I wasn’t finding others with the direct rendering problem. Anyhow, here is the procedure I used to get direct rendering.

  1. Use atiupgrade to install the fglrx driver.
  2. Make sure /usr/X11R6/lib64/fglrx/fglrx-libGL.so.1.2 is linked to /usr/X11R6/lib64/libGL.so, /usr/X11R6/lib64/libGL.so.1, and /usr/X11R6/lib64/libGL.so.1.2 (I don’t think I did this. I believe the driver install does this itself.)
  3. Make sure the/usr/lib64/dri directory is linked to /usr/X11R6/lib64/modules/dri. (I think that the driver install does this itself.)
  4. Rename or delete libGL.so.1 and libGl.so.1.2 in the /usr/lib64 (assuming x86_64 architecture).
  5. Link /usr/X11R6/lib64/libGL.so to /usr/lib64/libGL.so, /usr/X11R6/lib64/libGL.so.1 to /usr/lib64/libGL.so.1 and /usr/X11R6/lib64/libGL.so.1.2 to
    /usr/lib64/libGL.so.1.2.

That’s what worked for me.

I have the problem. I will study your solution bearymore.

Actually, it’s not entirely true - especially for symlinks. It seems to be an issue with the rpm package. I think I found the explanation. See my post here: http://forums.opensuse.org/english/other-forums/development/programming-scripting/449058-upgrading-ati-driver-atiupgrade-10.html#post2413362

I didn’t have this problem on 11.4, as I updated to Catalyst 11.11 … a week ago or so. (?)

Changing symlinks did not help for me. I was locked out of login afterwards. My fault probably. I had to rename the files back and re install atiupgrade. OpenGL is working for now while I follow developments on this.

EDIT: Nope it just crashed again. Odd that it works for a bit then crashes removing openGL. Shows up as a KWin closure. Guess I need to look closer at those symlinks and do it right. Not what I wanted to fool with with this new version LoL! :slight_smile:

You mean re-run atiupgrade? You don’t need to reinstall atiupgrade - unless atiupgrade itself gets updated (it which case you might update it or it would get updated if you installed it from my repo and the repo is enabled and set to autorefresh).

You know what? It seems that you have not much to lose now. Maybe you could try to run:

atiupgrade 11.10

It should downgrade the driver. (hope it’s the right syntax because I never use it. Who does?)

Then see how the system behaves with this driver, comment out the line which uninstall the fglrx package in atiupgrade (see in the devel thread), and run the script again. Check if the symlinks are there.

Ok so re-running atiupgrade is not going to fix this. I will have to figure out how to do the symlinks then. :expressionless:

Edit: pta your post hit before mine I will give your suggestion of downgrading a shot.

Nope still 11.11 guess I will look in your atiupgrade thread for mention of that syntax.

Edit: “Notice the syntax requires a hyphen and not a dot (this would be 11**-5 and not 11**.5)”****

You’re good. :wink:

Naw even with syntax 11-10 it did not down grade or fix the symlinks. Looks like for now I have to learn to manually fix the symlinks per the post. Thanks for your efforts!

Argh! That means that I will have to leave here and reboot my iMac (the machine I use to post in the forum) to check if downgrading works. I tested it once but … it’s a while ago. And I don’t have 12.1 on this machine.

Argh is right. If there is a lull please post some command samples to fix those links. My “ln” attempts are fumbling /sigh sry. Guess I could just re install / and start over. That a better idea?

Re-install and back to the same openGL problem. If** berrymore** could expand on his guide with some command examples it would be greatly appreciated!

I actually did the whole thing in Dolphin. I simply deleted libGL.so, libGL.so.1 and libGl.so.1.2 from the /usr/lib64 directory and then created links to /usr/X11R6/lib64/fglrx/fglrx-libGL.so.1.2 file in /usr/lib64 using those names. Presumably the actual commands would be

rm /usr/lib64/libGL.so
rm /usr/lib64/libGL.so.1
rm /usr/lib64/libGL.so.1.2
ln -s /usr/X11R6/lib64/fglrx/fglrx-libGL.so.1.2 /usr/lib64/libGL.so
ln -s /usr/X11R6/lib64/fglrx/fglrx-libGL.so.1.2 /usr/lib64/libGL.so.1
ln -s /usr/X11R6/lib64/fglrx/fglrx-libGL.so.1.2 /usr/lib64/libGL.so.1.2

Ok thanks will give it a go.

You can use the -f option to overwrite the symlinks. So you won’t need to delete them first.

ln -sf /usr/X11R6/lib64/fglrx/fglrx-libGL.so.1.2 /usr/lib64/libGL.so
ln -sf /usr/X11R6/lib64/fglrx/fglrx-libGL.so.1.2 /usr/lib64/libGL.so.1
ln -sf /usr/X11R6/lib64/fglrx/fglrx-libGL.so.1.2 /usr/lib64/libGL.so.1.2