Re: Pegasos II + Radeon 9000: No DRI and wrong colours for OpenGL

2009-06-15 Thread Michel Dänzer
On Sun, 2009-06-14 at 20:48 +0200, Johannes Geiss wrote:
> 
> 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::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?

Yes, due to the traditional inability of userspace to deal with PCI
domains != 0, the kernel DRM macro drm_get_pci_domain() in drmP.h is
still hardcoded to 0. This needs to be fixed now; the problem is that
just fixing the macro would break old userspace, a proper fix will need
to involve DRM userspace interface versioning.


-- 
Earthling Michel Dänzer   |http://www.vmware.com
Libre software enthusiast |  Debian, X and DRI developer
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

Pegasos II + Radeon 9000: No DRI and wrong colours for OpenGL

2009-06-14 Thread Johannes Geiss
Hi Xorg-folks,

I want to report a bug.

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 colours (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::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? Who is the right person to report this?

Thanks for any suggestions
Johannes
-- 

--//--
 //Johannes R. Geiss   Zaurus, Pegasos, Amiga and C64 user
 \\ //   PGP at http://home.arcor.de/jgeiss/pgpkey.txt
--\X/-


signature.asc
Description: This is a digitally signed message part
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg