nForce + Radeon + 2.6-test10-mm1

Submitted by marvin
on November 26, 2003 - 6:46pm

Did anyone manage to get 3D acceleration working with the ATI binary drivers for the Radeon 9500pro on an nForce based motherboard? The fglrx driver works fine for me but in the XFree logs I get the following message:

(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENOMEM"
(EE) fglrx(0): cannot init AGP

This is with the built-in agpgart. If I use the ncforce agpgart driver in the kernel starting XFree will result in a black screen and then XFree just terminates.

Was anyone able to get this hw combination going? (I'm using RH9 btw)

hmm, recompiling XFree using

Anonymous
on
November 28, 2003 - 10:17am

hmm, recompiling XFree using your 2.6.x kernel headers could help here.

I'm having the same problems

Anonymous
on
November 29, 2003 - 11:02pm

I'm having the same problems with a EPoX 8RDA3+ (nForce2), ATI Radeon 9700 Pro and linux-2.6.0-test11 on gentoo.

I recompiled both xfree and ati-drivers after installing 2.6.0-test11, but I still get this:

(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENOMEM"
(EE) fglrx(0): cannot init AGP
(II) fglrx(0): [drm] removed 1 reserved context for kernel
(II) fglrx(0): [drm] unmapping 8192 bytes of SAREA 0xf8cc5000 at 0x401e4000
(WW) fglrx(0): ***********************************************
(WW) fglrx(0): * DRI initialization failed!                  *
(WW) fglrx(0): * (maybe driver kernel module missing or bad) *
(WW) fglrx(0): * 2D acceleraton available (MMIO)             *
(WW) fglrx(0): * no 3D acceleration available                *
(WW) fglrx(0): ********************************************* *

This is using internal AGP. When using external AGP (via agpgart) I get "xf86_ENODEV" instead of ENOMEM...

you probably forgot to compil

Anonymous
on
January 1, 2004 - 8:24am

you probably forgot to compile and/or install the nvidia-agp module, that should solve THAT problem, but creates (at least for me) another:

Jan 1 15:46:05 Apexo kernel: agpgart: Found an AGP 3.0 compliant device at 0000:00:00.0.
Jan 1 15:46:05 Apexo kernel: agpgart: Putting AGP V3 device at 0000:00:00.0 into 4x mode
Jan 1 15:46:05 Apexo kernel: agpgart: Putting AGP V3 device at 0000:02:00.0 into 4x mode
Jan 1 15:46:05 Apexo kernel: Unable to handle kernel NULL pointer dereference at virtual address 00000001
Jan 1 15:46:05 Apexo kernel: printing eip:
Jan 1 15:46:05 Apexo kernel: f89fe320
Jan 1 15:46:05 Apexo kernel: *pde = 28fe3067
Jan 1 15:46:05 Apexo kernel: *pte = 00000000
Jan 1 15:46:05 Apexo kernel: Oops: 0002 [#8]
Jan 1 15:46:05 Apexo kernel: CPU: 0
Jan 1 15:46:05 Apexo kernel: EIP: 0060:[] Tainted: P
Jan 1 15:46:05 Apexo kernel: EFLAGS: 00013296
Jan 1 15:46:05 Apexo kernel: EIP is at 0xf89fe320
Jan 1 15:46:05 Apexo kernel: eax: 00000001 ebx: f8c8f140 ecx: ffffffff edx: 69746e65
Jan 1 15:46:05 Apexo kernel: esi: f8c8e438 edi: e70f5300 ebp: f8c8f140 esp: e8a6df08
Jan 1 15:46:05 Apexo kernel: ds: 007b es: 007b ss: 0068
Jan 1 15:46:05 Apexo kernel: Process XFree86 (pid: 10992, threadinfo=e8a6c000 task=e0b0f980)
Jan 1 15:46:05 Apexo kernel: Stack: f8c69b54 69746e65 444d4163 00305002 f8c8f140 f8c8f140 f8c8e438 e70f5300
Jan 1 15:46:05 Apexo kernel: f8c73d5a c1963800 f8c8f37c 1f004319 f8c17940 1f004319 f8c6977b f8c8f140
Jan 1 15:46:05 Apexo kernel: f8c79dfd f8c8f140 bffff7d4 00000004 01e010de f8c8e2dc 1f004319 f8c79d71
Jan 1 15:46:05 Apexo kernel: Call Trace:
Jan 1 15:46:05 Apexo kernel: [] __ke_amd_adv_spec_cache_feature+0x14/0x90 [fglrx]
Jan 1 15:46:05 Apexo kernel: [] _r6x_CheckAGPCommand+0x145/0x190 [fglrx]
Jan 1 15:46:05 Apexo kernel: [] agp_enable+0x20/0x30 [agpgart]
Jan 1 15:46:05 Apexo kernel: [] __ke_agp_enable+0x3b/0x40 [fglrx]
Jan 1 15:46:05 Apexo kernel: [] drm_agp_enable+0x8c/0xcd [fglrx]
Jan 1 15:46:05 Apexo kernel: [] drm_agp_enable+0x0/0xcd [fglrx]
Jan 1 15:46:05 Apexo kernel: [] firegl_ioctl+0x167/0x1a2 [fglrx]
Jan 1 15:46:05 Apexo kernel: [] sys_ioctl+0xf3/0x290
Jan 1 15:46:05 Apexo kernel: [] syscall_call+0x7/0xb
Jan 1 15:46:05 Apexo kernel:
Jan 1 15:46:05 Apexo kernel: Code: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

:-/

Same problem

Anonymous
on
January 1, 2004 - 10:48am

I have MCS KT4V, Radeon 9200LE and I have same problem like you.
But i dont know, what to do.

KT4V AGP 8x & ATI Radeon

Anonymous
on
February 28, 2004 - 2:09pm

I have a MSI KT4v motherboard and an ATI Radeon 9600 pro and i have the same problem with agpgart module.
When i try this graphic card on my other motherboard Elite sis 735, there is no problem: i have the 3D acceleration and the agpagart module is loaded. So it's a motherboard KT4V problem and not an ATI driver problem. I search after MSI KT4V (ms 6712) motherboard linux driver, but i don't find it.
If somebody knows!
morel.fabrice1@tiscali.fr

oops

Anonymous
on
January 16, 2004 - 9:47am

It easy to remove this Oops.
Try edit firegl_public.c, find function _ke_amd_adv_spec_cache_feature .... In this function, comment all what is in her body and write only one line: "return 0". This is safe, because this function is used only on kernel < 2.4.18.
Than recompile driver fglrx.
This helps me boot in GUI with 3Dacceleration on kernel 2.6, no Oops no errors.
I hope, that I help you.

Thanks!

Anonymous
on
January 19, 2004 - 2:42am

Here's another guy you made happy with this post. :-))))
Thanks alot!

NFORCE 2 + Radeon 9700 Pro

Anonymous
on
January 23, 2004 - 6:59am

doesn't work for me:
X says:
XIO: fatal IO error 104 (Connection reset by peer) on X server ":0.0"
after 0 requests (0 known processed) with 0 events remaining.

DMESG:
[fglrx] Maximum main memory to use for locked dma buffers: 431 MBytes.
[fglrx] AGP detected, AgpState = 0x1f00421b (hardware caps of chipset)
agpgart: Found an AGP 3.0 compliant device at 0000:00:00.0.
agpgart: Putting AGP V3 device at 0000:00:00.0 into 8x mode
agpgart: Putting AGP V3 device at 0000:03:00.0 into 8x mode
Unable to handle kernel NULL pointer dereference at virtual address 00000001
printing eip:
e887e320
*pde = 1b829067
*pte = 00000000
Oops: 0002 [#1]
CPU: 0
EIP: 0060:[] Tainted: P
EFLAGS: 00013296
EIP is at 0xe887e320
eax: 00000001 ebx: e89a11c0 ecx: ffffffff edx: 69746e65
esi: e89a04d8 edi: df533300 ebp: e89a11c0 esp: dc347f08
ds: 007b es: 007b ss: 0068
Process X (pid: 882, threadinfo=dc346000 task=dc49ecc0)
Stack: e897aaa4 69746e65 444d4163 00305002 e89a11c0 e89a11c0 e89a04d8 df533300
e8984caa dfe57800 e89a13fc 1f00431a e886fa10 1f00431a e897a6db e89a11c0
e898ad4d e89a11c0 bffff754 00000004 01e010de df9e1340 1f00431a e898acc1
Call Trace:
[] __ke_amd_adv_spec_cache_feature+0x14/0x90 [fglrx]
[] _r6x_CheckAGPCommand+0x145/0x190 [fglrx]
[] agp_enable+0x20/0x30 [agpgart]
[] __ke_agp_enable+0x3b/0x40 [fglrx]
[] drm_agp_enable+0x8c/0xcd [fglrx]
[] drm_agp_enable+0x0/0xcd [fglrx]
[] firegl_ioctl+0x167/0x1a2 [fglrx]
[] sys_ioctl+0xb5/0x230
[] syscall_call+0x7/0xb

Code: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<6>[fglrx] Maximum main memory to use for locked dma buffers: 431 MBytes.
agpgart: Found an AGP 3.0 compliant device at 0000:00:00.0.
agpgart: Putting AGP V3 device at 0000:00:00.0 into 8x mode
agpgart: Putting AGP V3 device at 0000:03:00.0 into 8x mode
Unable to handle kernel NULL pointer dereference at virtual address 00000001
printing eip:
e887e320
*pde = 1bd69067
*pte = 00000000
Oops: 0002 [#2]
CPU: 0
EIP: 0060:[] Tainted: P
EFLAGS: 00013296
EIP is at 0xe887e320
eax: 00000001 ebx: e89a11c0 ecx: ffffffff edx: 69746e65
esi: e89a04d8 edi: df533240 ebp: e89a11c0 esp: dc145f08
ds: 007b es: 007b ss: 0068
Process X (pid: 891, threadinfo=dc144000 task=df5a0cc0)
Stack: e897aaa4 69746e65 444d4163 00305002 e89a11c0 e89a11c0 e89a04d8 df533240
e8984caa dfe57800 e89a13fc 1f00431a e886fa10 1f00431a e897a6db e89a11c0
e898ad4d e89a11c0 bffff754 00000004 01e010de e89a037c 1f00431a e898acc1
Call Trace:
[] __ke_amd_adv_spec_cache_feature+0x14/0x90 [fglrx]
[] _r6x_CheckAGPCommand+0x145/0x190 [fglrx]
[] agp_enable+0x20/0x30 [agpgart]
[] __ke_agp_enable+0x3b/0x40 [fglrx]
[] drm_agp_enable+0x8c/0xcd [fglrx]
[] drm_agp_enable+0x0/0xcd [fglrx]
[] firegl_ioctl+0x167/0x1a2 [fglrx]
[] sys_ioctl+0xb5/0x230
[] syscall_call+0x7/0xb

Code: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<6>[fglrx] Maximum main memory to use for locked dma buffers: 431 MBytes.
agpgart: Found an AGP 3.0 compliant device at 0000:00:00.0.
agpgart: Putting AGP V3 device at 0000:00:00.0 into 8x mode
agpgart: Putting AGP V3 device at 0000:03:00.0 into 8x mode
Unable to handle kernel NULL pointer dereference at virtual address 00000001
printing eip:
e887e320
*pde = 1b99d067
*pte = 00000000
Oops: 0002 [#3]
CPU: 0
EIP: 0060:[] Tainted: P
EFLAGS: 00013296
EIP is at 0xe887e320
eax: 00000001 ebx: e89a11c0 ecx: ffffffff edx: 69746e65
esi: e89a04d8 edi: df5330c0 ebp: e89a11c0 esp: db7f1f08
ds: 007b es: 007b ss: 0068
Process X (pid: 907, threadinfo=db7f0000 task=dc49f2e0)
Stack: e897aaa4 69746e65 444d4163 00305002 e89a11c0 e89a11c0 e89a04d8 df5330c0
e8984caa dfe57800 e89a13fc 1f00431a e886fa10 1f00431a e897a6db e89a11c0
e898ad4d e89a11c0 bffff754 00000004 01e010de e89a037c 1f00431a e898acc1
Call Trace:
[] __ke_amd_adv_spec_cache_feature+0x14/0x90 [fglrx]
[] _r6x_CheckAGPCommand+0x145/0x190 [fglrx]
[] agp_enable+0x20/0x30 [agpgart]
[] __ke_agp_enable+0x3b/0x40 [fglrx]
[] drm_agp_enable+0x8c/0xcd [fglrx]
[] drm_agp_enable+0x0/0xcd [fglrx]
[] firegl_ioctl+0x167/0x1a2 [fglrx]
[] sys_ioctl+0xb5/0x230
[] syscall_call+0x7/0xb

Code: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

--------------------------------------------
and XFree log files goes to

(II) fglrx(0): [drm] created "fglrx" driver at busid "PCI:3:0:0"
(II) fglrx(0): [drm] added 8192 byte SAREA at 0xe887e000
(II) fglrx(0): [drm] mapped SAREA 0xe887e000 to 0x4022c000
(II) fglrx(0): [drm] framebuffer handle = 0xd8000000
(II) fglrx(0): [drm] added 1 reserved context for kernel
(II) fglrx(0): DRIScreenInit done
(II) fglrx(0): Kernel Module Version Information:
(II) fglrx(0): Name: fglrx
(II) fglrx(0): Version: 3.7.0
(II) fglrx(0): Date: Dec 18 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.1
(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 = 0xe9000000
(II) fglrx(0): [agp] Mode=0x1f00421b bridge: 0x10de/0x01e0
(II) fglrx(0): [agp] AGP v1/2 disable mask 0x00000000
(II) fglrx(0): [agp] AGP v3 disable mask 0x00000000
(II) fglrx(0): [agp] enabling AGP with mode=0x1f00431a

-------------------------------------
i loaded agpgart without errors
i loaded nvidia-agp without errors (that's what fixes the "failed to acquire AGP", i first forgot it, but creates the error above)
and i set UseInternalAGP to NO
AND i recompiled fglrx drivers with the fix in that .c file

Fix

Anonymous
on
January 27, 2004 - 5:36am

Did you fix it good ?
There is still error in function __ke_adm_adv_spec_cache .....
I think, that problem is still in this function, you must comment it all and add only one line, with text return 0. And I have UseInternalAGP set to yes. But i must fix another line of fglrx source, to get work with my KT4V.

yes i fixed it all and i trie

Anonymous
on
February 7, 2004 - 6:42am

yes i fixed it all and i tried both, internal and external
but it doesn't work

i now found another guy with that problem
we both use powered by ati cards, could that be any reason?

probably wrong directory?

Anonymous
on
February 7, 2004 - 5:20pm

did you fix the code within the 2.6.x directory (/lib/modules/fglrx/build_mod/2.6.x)? Only fixing the file there and recompiling worked fine for me with a 9600.

many thanks for the hint,

Stefan Schmidt

excellent!

Anonymous
on
February 22, 2004 - 1:43pm

That fixed my problem with my radeon 9700pro and epox mainbord.
Thanks :)

Another Version

Anonymous
on
March 20, 2004 - 9:13pm

Here are the Steps how I got the accelerated driver working
on a nforce2 mainboard and debian with an ATI Radeon 9800 pro

Step #1 Install Kernel source

The common choices are between a 2.4.x and 2.6.x
Version 2.4.x has AGP 4X support only.
Version 2.6.x has AGP 4x and 8X support.

Version 2.4.x

Options that have to be selected:
*agpgart
*direct rendering manager (drm)

These options are available in newer 2.4.x
Kernels like 2.4.25

Version 2.6.x

Options that have to be selected:
*agpgart
*nforce2 chipset support
*direct rendering manager (drm)
but NOT!! ATI Radeon (below drm)
(maybe I2C support for nforce2 too)

these options doesn`t need to be modules.
Afterwards compile everything and reboot
with the new kernel version.

Step #2 Install xserver and dri

here can be downloaded e.g.
xserver-xfree86-dri-trunk_2002.12.05-4_i386.deb
from
http://people.debian.org/~daenzer/dri-trunk/

install with

dpkg -i --force-overwrite xserver-xfree86-dri-trunk_2002.12.05-4_i386.deb

Step #3

download the ati driver depending to your
xserver version (1,2 or 3) and
convert the driver from rpm to deb by using
command alien.

alien
dpkg -i --force-overwrite driverfilename.deb

Step #4

Then change to /lib/modules/fglrx/build_mod
and edit firegl_public.c .Insert
return 0;
after

int __ke_amd_adv_spec_cache_feature(void)
{

Then compile the module by the make.sh script.
afterwards change to /lib/modules/fglrx/ and run
make_install.sh.

Step #5

run fglrxconfig to generate the XF86Config file.
(the original should be backuped before)

Step #6

load the fglrx module by hand, then run X

Step #7

fglrxinfo should print somthing like
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: RADEON 9800 Pro

Ah I think you can help me...!!

Jenni (not verified)
on
January 11, 2005 - 11:19am

Hi, I would love if you´d repeat the steps about making nForce 2 and Radeon 9800 PRO, work together...! But in english heh.. I didn´t get half of the stuff you wrote, so I would be very thankful if you could please repeat it, so that even a girl can understand it...??

/Hugs Jen

You need to add this option

Anonymous
on
January 4, 2004 - 12:35pm

Section "Device"
Identifier "Generic Video Card"
Driver "fglrx"
Option "UseInternalAGPGART" "no"
EndSection

Another way...?

Anonymous
on
January 5, 2004 - 10:18am

Hopefully this might work for you. In my NForce2 Bios I can disable the AGP memory size(the size the agp-bus shares with the OS). If you just disable it, maybe that helps.

b.t.w.: Are you guys satisfied with your nForce2s so far?
I am not! Mine is in repair for the 2nd time already.. (First onboard graphics didn't work, then lan controller had hw id: 12345678ABCDEF (or something like that)

another b.t.w.: On my Old via board another nvidia card runs perfectly with 2.6 and the nvidia driver, on the nforce it always shows me errors in pci_find_... kernel function.

Hope some of this was of help to you!

Re: You need to add this option

Anonymous
on
January 5, 2004 - 4:13pm

Does not help here. fglrx 3.7.0, kernel 2.6.1-rc1-mm1, Radeon 9600 board, nforce2 chipset (Epox 8rda3+).

(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENOMEM"
(EE) fglrx(0): cannot init AGP

same problem

Anonymous
on
January 6, 2004 - 3:28am

agpgart: Detected Via Apollo KT400 chipset
fglrx detect correctly agp and then hang on...(black screen)
and then nothing...
disabling dri correct but only 2d acceleration...
Option "UseInternalAGPGART" "no"
because UseinternalAGPGART does not work with my chipset (unable to initialise AGP)
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENOMEM"

i need help...
thanks

this may help

Anonymous
on
January 12, 2004 - 3:27pm

I have kt400 too. I try internal AGPGART, problem that it dont work is easy to repair. In /lib/modules/fglrx/build_mod find a file named
agpgart_be.c . In that file, you may find (about 6000 line) :
{ PCI_DEVICE_ID_VIA_8377_0,
PCI_VENDOR_ID_VIA,
VIA_APOLLO_KT400,
"Via",
"Apollo KT400",
via_generic_setup }, // AGP v2
So replace via_generic_setup with via_kt400_setup.
Run ./make.sh then ../make_install.sh
Then you should be able to use internal AGPGART.
It works for me, but only with 2.4 kernel. In 2.6 kernel this will still blank screen.
I need help too :-)

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.