Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 281924 - x11-drivers/xf86-video-ati: No DRI and wrong colors for OpenGL (Pegasos II + Radeon 9000)
Summary: x11-drivers/xf86-video-ati: No DRI and wrong colors for OpenGL (Pegasos II + ...
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: PPC Linux
: High major (vote)
Assignee: Gentoo X packagers
URL: https://bugs.freedesktop.org/show_bug...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-08-18 15:06 UTC by Johannes Geiss
Modified: 2009-09-06 20:02 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Johannes Geiss 2009-08-18 15:06:37 UTC
Since the upgrade from xorg-server 1.3 to 1.5 the hardware acceleration for a Radeon 9000 graphics card is not working. It seems the PCI Id is wrong. It should be "pci:0001:01:08.0" but X11 tries to use "pci:0000:01:08.0".

Reproducible: Always

Steps to Reproduce:
1. Start X11, eg. startx
2. Start glxgears (wrong colors and bad performance)

Actual Results:  
The Performance of the Gfx card is very bad and all colors are wrong if you use OpenGL (Mesa). Eg. glxgears, blender.

Expected Results:  
Performance of Gfx card as good as in xorg-sever 1.3 and correct colors.

I'm using Gentoo Linux (CPU: PowerPC G4) and updated my xorg-server to
the version 1.5.3-r6 and now my X11 performance for OpenGL
(Mesa 7.3-r1) is bad and has wrong colors (eg. glxgears).

I did a little investigation of this problem and saw this:

xorg-server-1.5.3-r6 has a library called libglx.so. This library uses 

        drmOpenOnce(NULL, "pci:0001:01:08.0", ...)

to get the graphics card.

lspci reports

        0001:01:08.0 VGA compatible controller:
        ATI Technologies Inc Radeon RV250 If [Radeon 9000] (rev 01)

So the PCI Bus ID seems to be correct.

libdrm-2.4.5 has the function drmOpenOnce(). This function goes down to
drmOpen(NULL, "pci:0001:01:08.0") and
drmOpenByBusid("pci:0001:01:08.0").

Now drmGetBusid(fd) is called and returns "pci:0000:01:08.0". Which is
wrong, because it differs from the original PCI Bus ID. So my graphics
card will not be used with hardware accelerated OpenGL.

drmGetBusid() calls the kernel module drm via IOCTL
DRM_IOCTL_GET_UNIQUE. (see file drm_ioc32.c). So is it a bug in the
kernel or libdrm?
Comment 1 Rémi Cardona (RETIRED) gentoo-dev 2009-09-05 08:19:13 UTC
This is indeed really weird. You might want to test ~ppc packages for xorg-server, mesa and xf86-video-ati (and all X protos and libs) to make sure the bug is fixed or not.

Could you open a bug in FreeDesktop's bugzilla [1] and paste the url here so we can track the issue?

Thanks

[1] https://bugs.freedesktop.org/
Comment 2 Johannes Geiss 2009-09-06 15:29:01 UTC
Bug entered in freedesktop.org:

https://bugs.freedesktop.org/show_bug.cgi?id=23745
Comment 3 Rémi Cardona (RETIRED) gentoo-dev 2009-09-06 20:01:01 UTC
Reopening
Comment 4 Rémi Cardona (RETIRED) gentoo-dev 2009-09-06 20:01:35 UTC
Thanks for the bug report. Let's track the bug there directly.

Closing with the proper resolution.

Thanks.