# ATI hardware acceleration

## peterius

My hardware acceleration is broken again. I feel like every few months it breaks and I have to spend hours, if not days or weeks, trying to fix it, again. So sick of this. Anyway... 

 Now the problem is: 

 OpenGL renderer string: Gallium 0.4 on softpipe 

 Anyone know why it might be using the software rendering? 

 Radeon x850 

 [drm] radeon kernel modesetting enabled. 

 radeon 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16 

 radeon 0000:01:00.0: putting AGP V3 device into 8x mode 

 radeon 0000:01:00.0: GTT: 256M 0xE0000000 - 0xEFFFFFFF 

 radeon 0000:01:00.0: VRAM: 256M 0xD0000000 - 0xDFFFFFFF (256M used) 

 [drm] radeon: irq initialized. 

 [drm] radeon: 256M of VRAM memory ready 

 [drm] radeon: 256M of GTT memory ready. 

 [drm] radeon: 4 quad pipes, 1 z pipes initialized. 

 [drm] radeon: ring at 0x00000000E0000000 

 [drm] radeon: ib pool ready. 

 fb0: radeondrmfb frame buffer device 

 [drm] Initialized radeon 2.6.0 20080528 for 0000:01:00.0 on minor 0 

 (II) Loading sub module "exa" 

 [ 69.711] (II) LoadModule: "exa" 

 [ 69.711] (II) Loading /usr/lib/xorg/modules/libexa.so 

 [ 69.716] (II) Module exa: vendor="X.Org Foundation" 

 [ 69.716] compiled for 1.9.4, module version = 2.5.0 

 [ 69.716] ABI class: X.Org Video Driver, version 8.0 

 [ 69.716] (--) Depth 24 pixmap format is 32 bpp 

 [ 69.716] (II) RADEON(0): [DRI2] Setup complete 

 [ 69.716] (II) RADEON(0): [DRI2] DRI driver: r300 

 [ 69.717] (II) RADEON(0): Front buffer size: 5120K 

 [ 69.717] (II) RADEON(0): VRAM usage limit set to 226483K 

 [ 69.750] (==) RADEON(0): Backing store disabled 

 [ 69.750] (II) RADEON(0): Direct rendering enabled 

 [ 69.770] (II) RADEON(0): Render acceleration enabled for R300/R400/R500 type cards. 

 [ 69.770] (II) RADEON(0): Setting EXA maxPitchBytes 

 [ 69.770] (**) RADEON(0): Option "MigrationHeuristic" "greedy" 

 [ 69.770] (II) EXA(0): Driver allocated offscreen pixmaps 

 [ 69.770] (II) EXA(0): Driver registered support for the following operations: 

 [ 69.770] (II) Solid 

 [ 69.770] (II) Copy 

 [ 69.770] (II) Composite (RENDER acceleration) 

 [ 69.770] (II) UploadToScreen 

 [ 69.770] (II) DownloadFromScreen 

 [ 69.770] (II) RADEON(0): Acceleration enabled 

 [ 69.771] (==) RADEON(0): DPMS enabled 

 [ 69.771] (==) RADEON(0): Silken mouse enabled 

 [ 69.775] (II) RADEON(0): Set up textured video 

 [ 69.775] (II) RADEON(0): RandR 1.2 enabled, ignore the following RandR disabled message. 

 [ 69.825] (--) RandR disabled

----------

## Aquous

OK, some things to check:

Are you on classic or on gallium? You should be on gallium.

Is the necessary firmware compiled into the kernel? You should be seeing this:

```
$ zcat /proc/config.gz|grep FIRMWARE

...

CONFIG_FIRMWARE_IN_KERNEL=y

CONFIG_EXTRA_FIRMWARE="radeon/CEDAR_me.bin radeon/CEDAR_pfp.bin radeon/CEDAR_rlc.bin"

CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware"

...
```

What versions of the DDX, Mesa, and kernel are you using?

Post output of 

```
LIBGL_DEBUG=verbose glxinfo>/dev/null
```

----------

## peterius

I assume gallium.  Like I said, this has worked before several times.

I don't use the firmware in the kernel, just dri radeon 

kernel is 2.4.36-r8, mesa is 7.10.1, mesaprogs is 8.0.1, 

I don't know what "ddx" is.

But shouldn't the Xorg log report some error?

LIBGL_DEBUG=verbose glxinfo>/dev/null

libGL: OpenDriver: trying /usr/lib/dri/tls/r300_dri.so

libGL: OpenDriver: trying /usr/lib/dri/r300_dri.so

libGL: Can't open configuration file /etc/drirc: No such file or directory.

libGL: Can't open configuration file /root/.drirc: No such file or directory.

libGL: Can't open configuration file /etc/drirc: No such file or directory.

libGL: Can't open configuration file /root/.drirc: No such file or directory.

libGL: OpenDriver: trying /usr/lib/dri/tls/r300_dri.so

libGL: OpenDriver: trying /usr/lib/dri/r300_dri.so

libGL: Can't open configuration file /etc/drirc: No such file or directory.

libGL: Can't open configuration file /root/.drirc: No such file or directory.

----------

## Aquous

DDX = Device Dependent X driver = xf86-video-ati in your case

Everything looks fine, I think it has to be a firmware issue.

Do you have radeon-ucode installed? Also post output of zcat /proc/config.gz|grep FIRMWARE

----------

## peterius

Well like I said, I don't use the firmware in the kernel, just radeon and xf86-video-ati, I'll post the version when I get a chance.  Why aren't there any errors?

----------

## peterius

Well after the kde and new graphics driver updates everything is basically unusably slow, much worse than before.  I'll try some things and post again.

----------

## Ant P.

Firmware is required for 3D acceleration.

----------

## afmos

I had/have a similar problem.

I start KDE via "startx" after I login. I noticed that when I did a "su" from a terminal window (inside X) I had hardware acceleration. After checking all the permissions, etc. I still did not have hardware acceleration from a non-root terminal window. I decided to try to su to my login ID from inside a terminal window. Hardware acceleration now magically worked. So I shutdown X, did a su to my login ID and then ran startx. Hardware acceleration was working again.

This makes no sense to me.

Summary:

If your login ID is xyz.

login as xyz

then run

```
su xyz
```

then run 

```
startx
```

----------

## peterius

 *Ant P. wrote:*   

> Firmware is required for 3D acceleration.

 

I don't think so.  Maybe we're talking about different things but hardware acceleration DEFINITELY used to work and now it doesn't.  The only thing that's changed is some updates.

 *afmos wrote:*   

> I had/have a similar problem.
> 
> I start KDE via "startx" after I login. I noticed that when I did a "su" from a terminal window (inside X) I had hardware acceleration. After checking...

 

Thanks.  I can't believe I forgot that again.  You have to add your user to the "video" group.  I keep doing that and then I guess there's some update that removes users from the group or something and then you have to add it again.  That was why it was using the softpipe apparently.

However, its still really slow, with the new kde its still unusable.

name of display: :0

display: :0  screen: 0

direct rendering: Yes

server glx vendor string: SGI

server glx version string: 1.4

OpenGL vendor string: X.Org R300 Project

OpenGL renderer string: Gallium 0.4 on ATI R481

OpenGL version string: 2.1 Mesa 7.10.2

96 GLX Visuals

    visual  x   bf lv rg d st  colorbuffer  sr ax dp st accumbuffer  ms  cav

  id dep cl sp  sz l  ci b ro  r  g  b  a F gb bf th cl  r  g  b  a ns b eat

----------------------------------------------------------------------------

0x021 24 tc  0  32  0 r  y .   8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None

0x022 24 dc  0  32  0 r  y .   8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None

0x0e9 24 tc  0  32  0 r  . .   8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None

0x0ea 24 tc  0  32  0 r  . .   8  8  8  8 .  .  0  0  0 16 16 16 16  0 0 Slow

0x0eb 24 tc  0  32  0 r  y .   8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None

0x0ec 24 tc  0  32  0 r  y .   8  8  8  8 .  .  0  0  0 16 16 16 16  0 0 Slow

0x0ed 24 tc  0  32  0 r  y .   8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None

0x0ee 24 tc  0  32  0 r  y .   8  8  8  8 .  .  0  0  0 16 16 16 16  0 0 Slow

----------

