Bug 4574 - mach64: libGL error: XF86DRIQueryDirectRenderingCapable returned false
Summary: mach64: libGL error: XF86DRIQueryDirectRenderingCapable returned false
Status: RESOLVED INVALID
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/other (show other bugs)
Version: unspecified
Hardware: x86 (IA32) Linux (All)
: high major
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-09-23 14:30 UTC by Ignacio
Modified: 2005-12-05 02:03 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
kernel config (31.18 KB, text/plain)
2005-12-03 19:57 UTC, Ilya
no flags Details

Description Ignacio 2005-09-23 14:30:38 UTC
Since some time ago, direct rendering does not work anymore in my system.  
  
Startx otput:  
(EE) ATI(0): [drm] Failed to map DMA buffers list  
  
glxinfo:  
name of display: :0.0  
libGL error: XF86DRIQueryDirectRenderingCapable returned false  
display: :0  screen: 0  
direct rendering: No  
  
Xorg.0.log:  
(--) ATI(0): 8192 kB of SDRAM (1:1) detected (using 8191 kB).  
(WW) ATI(0): Cannot shadow an accelerated frame buffer.  
  
(...)  
  
(**) ATI(0): [agp] Using AGP 2x Mode  
(**) ATI(0): [agp] Using 64 MB AGP aperture  
(II) ATI(0): [agp] Mode 0x1f000203 [AGP 0x8086/0x7190; Card 0x1002/0x4c4d]  
(II) ATI(0): [agp] 65536 kB allocated with handle 0x00000001  
(II) ATI(0): [agp] Using 16 kB for DMA descriptor ring  
(**) ATI(0): [agp] Using 2 MB for DMA buffers  
(II) ATI(0): [agp] Using 62464 kB for AGP textures  
(II) ATI(0): [agp] ring handle = 0xf4000000  
(II) ATI(0): [agp] Ring mapped at 0x40d47000  
(II) ATI(0): [agp] vertex buffers handle = 0xf4004000  
(II) ATI(0): [agp] Vertex buffers mapped at 0x40d4b000  
(II) ATI(0): [agp] AGP texture region handle = 0xf4204000  
(II) ATI(0): [agp] AGP Texture region mapped at 0x454fa000  
(II) ATI(0): [drm] register handle = 0xfcfff000  
(II) ATI(0): [dri] Visual configs initialized  
(II) ATI(0): [dri] Block 0 base at 0xfcfff400  
(II) ATI(0): Memory manager initialized to (0,0) (1024,4095)  
(II) ATI(0): Largest offscreen area available: 1024 x 3327  
(II) ATI(0): Will use 3583 kB of offscreen memory for XAA  
(II) ATI(0): Will use back buffer at offset 0x4ff800  
(II) ATI(0): Will use depth buffer at offset 0x67f800  
(II) ATI(0): Using XFree86 Acceleration Architecture (XAA)  
  
(...)  
  
(II) ATI(0): [drm] installed DRM signal handler  
(II) ATI(0): [DRI] installation complete  
(II) ATI(0): [drm] Added 128 16384 byte DMA buffers  
(EE) ATI(0): [drm] Failed to map DMA buffers list  
(II) ATI(0): [drm] removed 1 reserved context for kernel  
(II) ATI(0): [drm] unmapping 8192 bytes of SAREA 0xd4be8000 at 0x40d45000  
(II) ATI(0): Direct rendering disabled  
  
ldd /usr/X11R6/bin/glxinfo:  
        linux-gate.so.1 =>  (0xffffe000)  
        libGL.so.1 => /usr/X11R6/lib/libGL.so.1 (0x4001b000)  
        libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x42a40000)  
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x42973000)  
        libpthread.so.0 => /lib/tls/libpthread.so.0 (0x4d021000)  
        libm.so.6 => /lib/tls/libm.so.6 (0x4cdff000)  
        libc.so.6 => /lib/tls/libc.so.6 (0x4ccde000)  
        libXxf86vm.so.1 => /usr/X11R6/lib/libXxf86vm.so.1 (0x40090000)  
        libdl.so.2 => /lib/libdl.so.2 (0x4ce24000)  
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x4ccc7000)  
  
dmesg:  
PCI: Unable to reserve mem region #1:1000000@fd000000 for device  
0000:01:00.0  
agpgart: AGP aperture is 64M @ 0xf4000000  
agpgart: Found an AGP 1.0 compliant device at 0000:00:00.0.  
agpgart: Putting AGP V2 device at 0000:00:00.0 into 2x mode  
agpgart: Putting AGP V2 device at 0000:01:00.0 into 2x mode  
[drm] Initialized drm 1.0.0 20040925  
[drm] Initialized mach64 1.0.0 20020904 on minor 0:  
[drm] Used old pci detect: framebuffer loaded  
[drm] descriptor ring: cpu addr d4c24000, bus addr: 0xf4000000  
[drm] DMA test succeeded, using asynchronous DMA mode  
  
The report written above are the outputs got when setting "agp_size" "64".  
With this setting I got direct rendering before.  
  
Then, I tried to set "agp_size" "128" and the outputs were quite different:  
  
Startx otput:  
(EE) ATI(0): [agp] Could not bind  
  
glxinfo:  
name of display: :0.0  
libGL: XF86DRIGetClientDriverName: 6.5.6 mach64 (screen 0)  
libGL: OpenDriver: trying /usr/X11R6/lib/modules/dri/mach64_dri.so  
drmOpenByBusid: Searching for BusID pci:0000:01:00.0  
drmOpenDevice: node name is /dev/dri/card0  
drmOpenDevice: open result is 4, (OK)  
drmOpenByBusid: drmOpenMinor returns 4  
drmOpenByBusid: drmGetBusid reports pci:0000:01:00.0  
display: :0  screen: 0  
direct rendering: Yes  
  
  
Xorg.0.log:  
(--) ATI(0): 8192 kB of SDRAM (1:1) detected (using 8191 kB).  
(WW) ATI(0): Cannot shadow an accelerated frame buffer.  
  
(...)  
  
(**) ATI(0): [agp] Using AGP 2x Mode  
(**) ATI(0): [agp] Using 128 MB AGP aperture  
(II) ATI(0): [agp] Mode 0x1f000203 [AGP 0x8086/0x7190; Card 0x1002/0x4c4d]  
(II) ATI(0): [agp] 131072 kB allocated with handle 0x00000001  
(EE) ATI(0): [agp] Could not bind  
(WW) ATI(0): [agp] AGP failed to initialize -- falling back to PCI mode.  
(WW) ATI(0): [agp] Make sure you have the agpgart kernel module loaded.  
(II) ATI(0): [drm] register handle = 0xfcfff000  
(II) ATI(0): [dri] Visual configs initialized  
(II) ATI(0): [dri] Block 0 base at 0xfcfff400  
(II) ATI(0): Memory manager initialized to (0,0) (1024,4095)  
(II) ATI(0): Largest offscreen area available: 1024 x 3327  
(II) ATI(0): Will use 1598 kB of offscreen memory for XAA  
(II) ATI(0): Will use back buffer at offset 0x30f800  
(II) ATI(0): Will use depth buffer at offset 0x48f800  
(II) ATI(0): Will use 1985 kB for local textures at offset 0x60f800  
(II) ATI(0): Using XFree86 Acceleration Architecture (XAA)  
  
(...)  
  
(II) ATI(0): [drm] installed DRM signal handler  
(II) ATI(0): [DRI] installation complete  
(II) ATI(0): [drm] Added 128 16384 byte DMA buffers  
(II) ATI(0): [drm] Mapped 128 DMA buffers at 0x40d47000  
(II) ATI(0): [drm] Installed interrupt handler, using IRQ 11  
(II) ATI(0): Direct rendering enabled  
  
ldd /usr/X11R6/bin/glxinfo:  
(The same as before)  
  
dmesg:  
(The same as before, notice agpgart: AGP aperture is 64M @ 0xf4000000)  
  
Althoug with "agp_size" "128" it complains about agpgart, it is loaded  
before startx and it remains loaded later. If I run glxgears with "agp_size"  
"128" in xorg.conf, the window is black: no gears at all, and CPU is  
working. This is from /var/log/kernel/errors when running glxgers with  
"agp_size" "128":  
  
Sep 23 22:17:38 localhost kernel: [drm:mach64_ring_tick] *ERROR* bad ring head 
address: 0x00000000 
Sep 23 22:17:43 localhost last message repeated 29 times 
  
If I try to run the game gl-117 with "agp_size" "128", the whole xwindows  
becomes unusable and resetting X is not enugh to solve it: I have to reset  
linux.  
  
I have an ATI Rage Mobility-M AGP 2X (mach64 chip) with 8 MB in a Dell  
Inspiron 3700. Mandrake 10.1 kernel 2.6.8.1-25mdk
Comment 1 Adam Jackson 2005-10-22 16:01:13 UTC
mach64 drm bug.
Comment 2 Ignacio 2005-10-24 17:13:23 UTC
I tried to install the snapshot 20050718 first without the contents of extras 
folder, and then with them. The result was that I couldn't startx. Then, I 
installed again xorg from the xc folder I had compiled before in my last 
unsuccessfull try, without running ldconfig. The result was that I could start 
X and...  I got direct rendering again!. 
 
Then, I run ldconfig and direct rendering was lost again. Reinstalling again 
xorg from xc resulted in direct rendering OK. I installed my previously 
compiled files from Mesa and drm, and I followed the procedure from 
http://dri.freedesktop.org/wiki/Building to compile and install the last CVS. 
The result was direcct rendering. 
 
The configuration of my system is not the same since my last report: I still 
have Mandrake 10.1 but I installed the kernel sources of Mandriva 2006 and 
compiled the kernel 2.6.12-12mdk. Of course, after starting with the new 
kernel, I compiled and installed the drivers wihout success with direct 
rendering. 
 
I don't know if I should mark this bug as "fixed", as it looks that my problem 
was solved by changing something during the install procedure of the snapshot 
and the problem perhaps persist if following the normal install of CVS. It 
would be great if somebody with mach64 reported about the install of a recent 
CVS version of the drivers. 
 
It is up to developpers to set this bug as fixed or not. 
 
If I could test something, tell me. 
 
Comment 3 Felix Kühling 2005-11-04 13:22:57 UTC
It sounds like there might be a system configuration issue. After a fresh reboot
while X is running, what is the output of dmesg (just the last 20 or so lines
should do) and lsmod with the latest snapshots?

Also it may be helpful to see the kernel configuration. If you compiled your
kernel yourself you find it in .config in the kernel source tree. Otherwise it
should be in /boot/config-<kernel version>.
Comment 4 Ilya 2005-12-03 19:56:36 UTC
Hello,
Let me join in :) I got the same problem, hasn't been solved yet. I run Linux
version 2.6.14-gentoo-r3
Here's dmesg
Linux agpgart interface v0.101 (c) Dave Jones
agpgart: Detected ALi M???? chipset
agpgart: AGP aperture is 64M @ 0xe0000000
e100: eth0: e100_watchdog: link up, 100Mbps, full-duplex
[drm] Initialized drm 1.0.0 20040925
ACPI: PCI Interrupt Link [PILA] enabled at IRQ 11
ACPI: PCI Interrupt 0000:01:00.0[A] -> Link [PILA] -> GSI 11 (level, low) -> IRQ 11
[drm] Initialized mach64 1.0.0 20020904 on minor 0: 
agpgart: Found an AGP 1.0 compliant device at 0000:00:00.0.
agpgart: Putting AGP V2 device at 0000:00:00.0 into 2x mode
agpgart: Putting AGP V2 device at 0000:01:00.0 into 2x mode
[drm] descriptor ring: cpu addr d09d0000, bus addr: 0xe0000000
[drm] Forcing pseudo-DMA mode

lsmod:
Module                  Size  Used by
mach64                 55200  1 
drm                    77368  2 mach64
ali_agp                 7200  1 
agpgart                36688  2 drm,ali_agp
snd_pcm_oss            55840  0 
snd_mixer_oss          20256  1 snd_pcm_oss
snd_seq_oss            36416  0 
snd_seq_midi_event      7264  1 snd_seq_oss
snd_seq                57616  4 snd_seq_oss,snd_seq_midi_event
snd_seq_device          8588  2 snd_seq_oss,snd_seq
snd_ali5451            27108  0 
snd_ac97_codec         97564  1 snd_ali5451
snd_ac97_bus            2208  1 snd_ac97_codec
snd_pcm                96580  3 snd_pcm_oss,snd_ali5451,snd_ac97_codec
snd_timer              27044  2 snd_seq,snd_pcm
snd                    57476  9
snd_pcm_oss,snd_mixer_oss,snd_seq_oss,snd_seq,snd_seq_device,snd_ali5451,snd_ac97_codec,snd_pcm,snd_timer
snd_page_alloc         10952  1 snd_pcm

And i'll attach me kernel config.
Comment 5 Ilya 2005-12-03 19:57:13 UTC
Created attachment 3975 [details]
kernel config
Comment 6 Felix Kühling 2005-12-04 05:50:16 UTC
(In reply to comment #4)
> Hello,
> Let me join in :) I got the same problem, hasn't been solved yet. I run Linux
> version 2.6.14-gentoo-r3
> Here's dmesg
> Linux agpgart interface v0.101 (c) Dave Jones
> agpgart: Detected ALi M???? chipset
> agpgart: AGP aperture is 64M @ 0xe0000000
> e100: eth0: e100_watchdog: link up, 100Mbps, full-duplex
> [drm] Initialized drm 1.0.0 20040925

The latest drm has version 1.0.1 20051102. Are you sure you're using the DRM
from DRM CVS? Your kernel config has DRM enabled as a module too.
Comment 7 Ignacio 2005-12-04 10:35:25 UTC
I have a mach64 working fine with drivers compiled on November 30th. I  
usefull, I could post logs and config files for comparison. I could also  
upgrade and compile to latest CVS to see if I could reproduce the problem.  
Notice I had the same problem before and, I don't know how, the problem was  
solved in my system. Tell me if I could help.  
  
Another strange thing I saw before, was that after closing X, sometimes I  
couldn't unload the mach64 and drm modules with rmmod. Perhaps this could  
explain why Ilia has an older drm module. If this were the case, restarting  
the computer would change this.  
  
Comment 8 Ilya 2005-12-05 20:15:28 UTC
I got an older DRM module 'cause I didn't install dri/drm from cvs i emerged the
gentoo x11-drm package, which is dated at the end of october. I have now
recompiled the kernel without the drm module and I'll go update DRM and post my
results.
Comment 9 Ilya 2005-12-05 21:03:05 UTC
Yep that helped. Looks like gentoo need to bumb the x11-drm package...


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.