Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux? |
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
|
06-01-2004, 03:39 PM
|
#1
|
Member
Registered: Jul 2003
Location: Bedford, UK
Distribution: Slackware 11.0, LFS 6.1
Posts: 519
Rep:
|
Unable to acquire AGP, error "xf86_ENOMEM" - have followed usual procedure
Hi all,
I have no 3d acceleration out of my Radeon 9800SE. To business: the relevant part of my XFree86.0.log is:
Code:
(II) fglrx(0): doing DRIScreenInit
drmOpenDevice: minor is 0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: Open failed
drmOpenDevice: minor is 0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: Open failed
[drm] failed to load kernel module "agpgart"
drmOpenDevice: minor is 0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 6, (OK)
drmGetBusid returned ''
(II) fglrx(0): [drm] loaded kernel module for "fglrx" driver
(II) fglrx(0): [drm] created "fglrx" driver at busid "PCI:3:0:0"
(II) fglrx(0): [drm] added 8192 byte SAREA at 0xe182b000
(II) fglrx(0): [drm] mapped SAREA 0xe182b000 to 0x40268000
(II) fglrx(0): [drm] framebuffer handle = 0xd0000000
(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.9.0
(II) fglrx(0): Date: May 11 2004
(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.3-7mdkcustom
(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 = 0xe6000000
(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 0xe182b000 at 0x40268000
(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): ********************************************* *
I have performed the following actions (all as root):
(1) I have recompiled my kernel, enabling /dev/agpgart and MTRR, and disabling DRI and kernel debugging.
(2) I have obtained the appropriate driver from www.ati.com and installed it: "rpm -iv --force fglrx-4.3.0-3.9.-.i386.rpm"
(3) I have run fglrxconfig. I had to copy the ModeLines from the XF86Config-4 that Mandrake 10 created for me on install, as the ModeLines in the XF86Config-4 that fglrxconfig created did not work.
(4) I have typed the following:
Code:
cd /lib/modules/fglrx/build_mod
chmod u+x make.sh
./make.sh
cd ..
chmod u+x make_install.sh
./make_install.sh
(5) I have restarted my machine to make sure all modules are loaded correctly.
Nevertheless, I still have no 3d acceleration.
Some information about my machine. I am running Mandrake 10 with a 2.6.3 kernel I installed from the mandrake discs and compiled myself. My PC has an Asus a7n8x-e deluxe motherboard which has the nvidia nforce2 chipset. My graphics card is a Sapphire ATI Radeon 9800SE. The edited highlights of the output from lspci are as follows:
Code:
$ lspci -v
00:00.0 Host bridge: nVidia Corporation nForce2 AGP (different version?) (rev c1)
Subsystem: Asustek Computer, Inc.: Unknown device 80ac
Flags: bus master, 66Mhz, fast devsel, latency 0
Memory at e0000000 (32-bit, prefetchable) [size=64M]
Capabilities: <available only to root>
<snip>
03:00.0 VGA compatible controller: ATI Technologies Inc: Unknown device 4148 (prog-if 00 [VGA])
Subsystem: ATI Technologies Inc: Unknown device 0002
Flags: bus master, stepping, 66Mhz, medium devsel, latency 255, IRQ 11
Memory at d0000000 (32-bit, prefetchable) [size=128M]
I/O ports at c000 [size=256]
Memory at e6000000 (32-bit, non-prefetchable) [size=64K]
Expansion ROM at <unassigned> [disabled] [size=128K]
Capabilities: <available only to root>
03:00.1 Display controller: ATI Technologies Inc: Unknown device 4168
Subsystem: ATI Technologies Inc: Unknown device 0003
Flags: stepping, 66Mhz, medium devsel
Memory at d8000000 (32-bit, prefetchable) [disabled] [size=128M]
Memory at e6010000 (32-bit, non-prefetchable) [disabled] [size=64K]
Capabilities: <available only to root>
When I google, I find that the steps I have already followed are sufficient for most people. However for me something further is required. I would be very grateful if someone could point out to me what that might be.
TIA
|
|
|
06-01-2004, 04:49 PM
|
#2
|
Senior Member
Registered: Nov 2002
Location: pikes peak
Distribution: Slackware, LFS
Posts: 2,577
Rep:
|
you need to un-comment the line in your /etc/X11/XF86config
|
|
|
06-02-2004, 01:01 AM
|
#3
|
Member
Registered: Jul 2003
Location: Bedford, UK
Distribution: Slackware 11.0, LFS 6.1
Posts: 519
Original Poster
Rep:
|
Already does it:
Code:
Section "Module"
# This loads the DBE extension module.
Load "dbe" # Double buffer extension
# This loads the miscellaneous extensions module, and disables
# initialisation of the XFree86-DGA extension within that module.
SubSection "extmod"
Option "omit xfree86-dga" # don't initialise the DGA extension
EndSubSection
# This loads the Type1 and FreeType font modules
Load "type1"
Load "freetype"
# This loads the GLX module
Load "glx" # libglx.a
Load "dri" # libdri.a
EndSection
|
|
|
06-02-2004, 01:41 AM
|
#4
|
Senior Member
Registered: Mar 2003
Location: Burke, VA
Distribution: RHEL, Slackware, Ubuntu, Fedora
Posts: 1,418
Rep:
|
Are you on an Athlon processor?
I've gotten that error before..
I'm not sure if the newest ATI drivers include these, but I had to use the following patches before building the fglrx module:
fglrx-2.6-vmalloc-vmaddr.patch :
Code:
diff -ruN build_mod.orig/firegl_public.c build_mod/firegl_public.c
--- build_mod.orig/firegl_public.c 2003-09-05 00:45:33.539384168 +0200
+++ build_mod/firegl_public.c 2003-09-05 00:47:13.193234480 +0200
@@ -129,7 +129,9 @@
#define pte_offset pte_offset_map
#endif
#endif
-
+#ifndef VMALLOC_VMADDR
+#define VMALLOC_VMADDR(x) ((unsigned long)(x))
+#endif
// ============================================================
#ifndef TRUE
#define TRUE 1
and...
fglrx-3.2.8-fix-amd-adv-spec.patch
Code:
--- firegl_public.c.orig 2003-09-22 04:43:30.000000000 +0200
+++ firegl_public.c 2003-10-09 00:14:41.337778176 +0200
@@ -3106,7 +3108,7 @@
int __ke_amd_adv_spec_cache_feature(void)
{
-#if ( (PAGE_ATTR_FIX == 1) || (LINUX_VERSION_CODE == KERNEL_VERSION(2,4,19)) )
+#if ( (PAGE_ATTR_FIX == 1) || (LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,19)) )
/* the kernel already does provide a fix for the AMD Athlon
big page attribute / cache flush data consistency system bug on its own.
(AMD claimed that CPU cache behaviour for such pages is not specified.)
The first is if you're running with a 2.6 kernel.
Run these with this command...
Code:
patch -p1 < patchname
--Shade
PS- google on the xf86_ENOMEM error, and you'll see some other hints at solutions.
|
|
|
06-02-2004, 03:08 AM
|
#5
|
Member
Registered: Jul 2003
Location: Bedford, UK
Distribution: Slackware 11.0, LFS 6.1
Posts: 519
Original Poster
Rep:
|
Yes I am using an Athlon. I'll look into that as soon as I get home from work. I do know for certain that the second patch is already included. Thanks.
|
|
|
06-02-2004, 02:53 PM
|
#6
|
Member
Registered: Jul 2003
Location: Bedford, UK
Distribution: Slackware 11.0, LFS 6.1
Posts: 519
Original Poster
Rep:
|
I resolved the problem and got it to work, sort of. Firstly I had made the mistake of configuring the video driver to use its internal AGPGART, whereas I should have specified UseInternalAGPGAP "no" so that it uses the kernel module instead. Secondly, I needed to use the nvidia chipset kernel driver: modprobe nvidia-agp did the job, although I compiled it into the kernel for convenience.
However, I have a new problem. Since it looks to be unrelated, I have started a new thread about it:
http://www.linuxquestions.org/questi...hreadid=188940
Many thanks for all your help.
|
|
|
All times are GMT -5. The time now is 04:27 PM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|