Re: Radeon 9500 dri fails with 2.6.0 on gentoo

From: Richard Ayotte (rich_at_ayotte.homeip.net)
Date: 01/04/04


Date: Sun, 04 Jan 2004 15:41:40 -0500

On Sat, 03 Jan 2004 03:18:13 +0100, Peter Wilson wrote:

> Anyway, I read a dozen times that I'd more likely get it to work using
> the external agpart module and so i tried but got this error all the
> time: (EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"
> (EE) fglrx(0): cannot init AGP
> (EE) fglrx(0): [drm] failed to remove DRM signal handler (II) fglrx(0):
> [drm] removed 1 reserved context for kernel (II) fglrx(0): [drm]
> unmapping 8192 bytes of SAREA 0xf89c5000 at 0x4020f000 (WW) fglrx(0):
> *********************************************** (WW) fglrx(0): * DRI
> initialization failed! *

Yes I get something similar with the 2.6.0 kernel.

> ....
> Oh, and dmesg revealed this: [fglrx:firegl_unlock] *ERROR* Process 3564
> using kernel context 0

Here's my dmesg when using the internal fglrx AGP driver.

fglrx: module license 'Proprietary. (C) 2002 - ATI Technologies,
Starnberg, GERMANY' taints kernel. [fglrx] Maximum main memory to use for
locked dma buffers: 678 MBytes. [fglrx] module loaded - fglrx 3.2.8 [Sep
21 2003] on minor 0 Fire GL built-in AGP-support Based on agpgart
interface v0.99 (c) Jeff Hartmann agpgart: Maximum main memory to use for
agp memory: 690M agpgart: Detected a VIA KT266 missing the AGPv2
registers, chip might be a VIA KT400 or compatible. (VIA flag) agpgart:
Detected a Via Apollo KT400 chipset in AGP v2 compat mode at 0000:00:00.0
agpgart: Detected Via Apollo KT266/KT266A/KT333 chipset agpgart: AGP
aperture is 64M @ 0xf8000000 Power management callback for AGP chipset
installed [fglrx] AGP detected, AgpState = 0x1f000207 (hardware caps of
chipset) AGP: Found 2 AGPv2 devices AGP: Doing enable for AGPv2
Unable to handle kernel paging request at virtual address f0bee320
 printing eip:
f0bee320
*pde = 2ff84067
*pte = 00000000
Oops: 0000 [#1]
CPU: 0
EIP: 0060:[<f0bee320>] Tainted: P EFLAGS: 00013292 EIP is at
0xf0bee320
eax: 00000001 ebx: f0caa800 ecx: ffffffff edx: 69746e65 esi:
f0ca9ad8 edi: ef6c4380 ebp: f0caa830 esp: ea7a7f18 ds: 007b es:
007b ss: 0068
Process XFree86 (pid: 1320, threadinfo=ea7a6000 task=ea7a9980) Stack:
f0c84b14 69746e65 444d4163 ef6c4380 f0caa800 f0caa800 f0ca9ad8 ef6c4380
       f0c8dd00 1f000304 f0c84738 f0caa800 f0c94425 f0caa800 bffff834
       00000004 ea7a9980 f0ca997c 1f000304 f0c94380 f0c85286 ea5a1b00
       ea5770c0 40046432
Call Trace:
 [<f0c84b14>] __ke_amd_adv_spec_cache_feature+0x14/0x90 [fglrx]
 [<f0c8dd00>] _r6x_CheckAGPCommand+0x130/0x190 [fglrx] [<f0c84738>]
 __ke_agp_enable+0x28/0x40 [fglrx] [<f0c94425>] drm_agp_enable+0xa5/0xf0
 [fglrx] [<f0c94380>] drm_agp_enable+0x0/0xf0 [fglrx] [<f0c85286>]
 firegl_ioctl+0x146/0x1b0 [fglrx] [<c0165ee3>] sys_ioctl+0xf3/0x290
 [<c0109335>] sysenter_past_esp+0x52/0x71
                                                                                                                          
I get the same error with the 3.7.0 driver.

> So I did a lot of research on the net and found that I should load
> via-agp before anything else. To that point I thought that agpart would
> handle the chipset<->agp connection, but a lsmod showed that agpart
> actually made use of via-agp but to my disappointment, the same
> behaviouras if i were using the internal agpart occured - startx
> resulted in a blank screen and the X-logfile stopped somewhere after
> that: (II) fglrx(0): Version: 3.2.8 (II) fglrx(0): Date: Sep 21
> 2003
> (II) fglrx(0): Desc: ATI Fire GL DRM kernel module (II) fglrx(0):
> Kernel Module version matches driver. (II) fglrx(0): Kernel Module Build
> Time Information: (II) fglrx(0): Build-Kernel UTS_RELEASE: 2.6.0
> (II) fglrx(0): Build-Kernel MODVERSIONS: no (II) fglrx(0):
> Build-Kernel __SMP__: no (II) fglrx(0): Build-Kernel
> PAGE_SIZE: 0x1000 (II) fglrx(0): [drm] register handle =
> 0xe0020000
>
> I'm pretty sure that dri *would* work if it just didn't hang for some
> reason.
>
> Now that I spent the whole day and night on this issue, I'm really
> frustrated and totally out of ideas. Not only on what the problem might
> be, also on what else to try. Maybe you guys have some ideas, I'd
> appreciate it.
>
> Regards
> Peter

The ATI driver works fine with the 2.4 kernels but if you're like me, you
probably want to run 2.6 for its new features. For now, I've swapped out
my Radeon 9000 Pro for an old NVidia GeForce2 MX 400 until ATI steps up
to fix their buggy driver.

Richard



Relevant Pages

  • strange new problem -- Auto-logging me out
    ... Jun 2 08:53:02 eye_gore gconfd: Resolved address ... Jun 2 08:53:07 eye_gore kernel: agpgart: Found an AGP 3.0 compliant ...
    (Fedora)
  • tnt2 mvp3 agpgart and nvidia linux drivers
    ... NVIDIA Linux x86 nvidia.o Kernel Module 1.0-4496 Wed Jul ... Sep 16 19:21:38 localhost kernel: agpgart: Maximum main memory to use ... Use of NVIDIA internal AGP requested ... Option "NvAgp" "2" ...
    (comp.os.linux.misc)
  • [SLE] Just another Problem with NVIDIA GeForce MX 4000
    ... I've got a NVIDIA GeForce4 MX 4000 card because it's supposed to be ... Kernel without the RivaFB-module but to no avail. ... Jan 30 21:41:21 wu kernel: agpgart: Found an AGP 3.5 compliant device at ...
    (SuSE)
  • 2.6.3 AGP fallback to slower speeds
    ... 01:00.0 VGA compatible controller: ATI Technologies Inc ... Feb 20 19:20:50 kernel: agpgart: Device is in legacy mode, ... Feb 20 19:20:50 kernel: agpgart: Putting AGP V2 device ...
    (Linux-Kernel)
  • 2.6.21-mm1: DRM does kmalloc(0) sometimes?
    ... agpgart: Found an AGP 3.0 compliant device at 0000:00:00.0. ... Loading R300 Microcode ...
    (Linux-Kernel)