From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from lists.gentoo.org ([140.105.134.102] helo=robin.gentoo.org) by nuthatch.gentoo.org with esmtp (Exim 4.43) id 1E8STG-0003py-QT for garchives@archives.gentoo.org; Fri, 26 Aug 2005 00:53:27 +0000 Received: from robin.gentoo.org (localhost [127.0.0.1]) by robin.gentoo.org (8.13.4/8.13.4) with SMTP id j7Q0pG3r032454; Fri, 26 Aug 2005 00:51:16 GMT Received: from smtp16.wxs.nl (smtp16.wxs.nl [195.121.6.39]) by robin.gentoo.org (8.13.4/8.13.4) with ESMTP id j7Q0jmU1021271 for ; Fri, 26 Aug 2005 00:45:48 GMT Received: from [10.0.0.150] (ip3e83ab52.speed.planet.nl [62.131.171.82]) by smtp16.wxs.nl (iPlanet Messaging Server 5.2 Patch 2 (built Jul 14 2004)) with ESMTP id <0ILT002OH0UJH0@smtp16.wxs.nl> for gentoo-user@lists.gentoo.org; Fri, 26 Aug 2005 02:47:07 +0200 (CEST) Date: Fri, 26 Aug 2005 02:47:05 +0200 From: Holly Bostick Subject: Re: [gentoo-user] ati -- dreaded "xf86-ENOMEM" error In-reply-to: <20050825215351.46292.qmail@web31711.mail.mud.yahoo.com> To: gentoo-user@lists.gentoo.org Message-id: <430E6689.9050908@planet.nl> Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-user@gentoo.org Reply-to: gentoo-user@lists.gentoo.org MIME-version: 1.0 Content-type: text/plain; charset=UTF-8 Content-transfer-encoding: 7BIT X-Accept-Language: nl-NL, nl, en User-Agent: Mozilla Thunderbird 1.0.6 (X11/20050803) X-Enigmail-Version: 0.92.0.0 References: <20050825215351.46292.qmail@web31711.mail.mud.yahoo.com> X-Archives-Salt: c1f2037e-c832-4cf2-90b0-261ffc78725c X-Archives-Hash: 90de28015ea6e163ce4e4d79e86e364e OK, now I have some time to look at this in detail: maxim wexler schreef: > > --- Ryan Sims wrote: > > >>On 8/23/05, Mark Knecht >>wrote: >> >>>Hi Maxim, >>> An AGP support issue probably. Which kernel are >> >>you using? Mark, I think you're right: >> >>I found that running with a 2.6.12 kernel gave me >>this error; >>downgrading to 2.6.11 fixed it. here's a relevant >>forum topic: > > > Actually, I *was* using 2.6.11. Now I've compiled the > 2.6.12 and re-emerged ati-drivers-8.12.10(Why so > out-dated, I just did a -uD world a few days ago?). It > seems to work OK but it fails to produce fglrx.ko. > > Checking for MTRR support enabled ... > (we really don't need the color codes, so I'm deleting them) > Checking for AGP support enabled ... > > Checking for DRM support disabled ... > > X11 implementation is xorg-x11. OK, so this is what I was saying in my other mail; the install script checks for certain kernel options to be enabled or disabled. The three options, as you can now see, are MTRR support must be enabled AGP support (/dev/agpgart) must be enabled (can be a module) DRM must be disabled So we got that far, then we get to this: >>>>Source unpacked. > > Building the DRM module... > make: Entering directory > `/usr/src/linux-2.6.12-gentoo-r6' > CC [M] > /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agp3.o > CC [M] > /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/nvidia-agp.o > CC [M] > /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.o > /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c: > In function `agp_find_supported_device': > /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7150: > error: structure has no member named `slot_name' > /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7170: > error: structure has no member named `slot_name' > /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7175: > error: structure has no member named `slot_name' > /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7201: > error: structure has no member named `slot_name' > /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7221: > error: structure has no member named `slot_name' > /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7241: > error: structure has no member named `slot_name' > /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7246: > error: structure has no member named `slot_name' > /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:6542: > warning: unused variable `cap_ptr' > /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c: > At top level: > /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:6523: > warning: `agp_check_supported_device' defined but not > used > make[1]: *** > [/var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.o] > Error 1 > make: *** > [_module_/var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod] > Error 2 > make: Leaving directory > `/usr/src/linux-2.6.12-gentoo-r6' > DRM module not built Now, I would first think the most likely cause of this error is that the drivers don't support 2.6.12, and that could possibly well be involved. But the error is totally in agpgart, and I suspect that it is due to an incomplete kernel configuration. What motherboard do you have? You see, agpgart often doesn't exist on its own in the kernel. Many motherboard chipsets 'speak their own language' as it were, and while the kernel can speak to them, it needs to be told 'who' it is speaking to so that it knows how to be understood by the motherboard. So if I enable /dev/agpgart in my kernel (as I must), I also have to enable one of the options that becomes available when I enable /dev/agpgart-- the kernel will not be able to communicate with my VIA KT266 chipset motherboard, if I do not also enable the VIA chipset support option, which will compile the via-agp module. And if the kernel can't talk to my motherboard, the ati-driver can't talk to the kernel and ask it what kind of card is connected to that AGP slot (because the kernel doesn't know, because it can't communicate with the motherboard). In fact, I can't use the internal agpgart compiled by the fglrx drivers (I have to set UseInternalAGPGART to 'no' in my xorg.conf), because the kernel needs its own module to talk to my mobo's AGP slot (and if the kernel can't talk to the AGP slot, then the drivers for the card in that slot are SOL). It's possible that you did not compile support for your motherboard's AGP chipset into the kernel (I find it works best as a module, loaded with /etc/modules.autoload.d, but it might be doable either way). It's very possible you need such support as well, especially if your chipset is one of the following (as you'll see, it covers a lot of very common motherboard chipsets): ALI chipset support ATI chipset support (this refers to ATI motherboards, not video cards) AMD Irongate, 761, and 762 chipset support AMD Opteron/Athlon64 on-CPU GART support Intel 440LX/BX/GX, I8xx and E7x05 chipset support NVIDIA nForce/nForce2 chipset support SiS chipset support Serverworks LE/HE chipset support Perhaps you didn't select it (a lot of people make that mistake), or perhaps the module isn't loaded for it (the driver install does, I believe, probe the AGP slot for information about the card, so there is a problem if it can't communicate with the slot because the necessary module to allow such communication is not loaded. There are a very few kernel modules that will fail to compile if the hardware that uses the driver is not present/available on the system. I've had new kernel compiles fail for that reason-- I was trying to 'plan for the future' and compile for hardware I didn't have yet. The kernel wouldn't have it, and I had to disable the modules until such time as I got the hardware, if I ever did. Interestingly, this occurred with attempting to add modules for TV cards, when I was thinking about getting one. Interesting because it seems to be 'a video thing' where this tends to happen). > > > But what's the best way to proceed? emerge seems happy > with the older(?) drivers. Shouldn't it be attempting > a download from somewhere, seeing as how I just did an > emerge sync and emerge -uD world a few days ago(that's > how I came by this 2.6.12 kernel)? Have you possibly masked more recent versions of the driver? 8.12.10 isn't even the most recent stable: eix ati-drivers * media-video/ati-drivers Available versions: 8.8.25-r3 8.10.19 8.12.10 [M]8.13.3 [M]8.13.4 8.14.13 8.14.13-r1 8.14.13-r2 [M]8.14.13-r3 8.16.20 Installed: 8.16.20 (yeah, I unmasked 8.16.20 again, to try an experiment. My hunch was right; and they seem to be working. But that's another story; ask me if you want to know what the trick was). Anyway, you should at least be able to get 8.14.13-r2 (stable for x86 and amd64). So if all Portage will offer is 8.12.10, I would suspect that it's because you told Portage not to offer you anything beyond that. Check /etc/portage/package.mask. I would recommend upgrading to 8.14.13, because it is patched to compile against 2.6.12 kernels, and that patch actually works well now (the driver was released with support only for 2.6.11 kernels, and the patch for 2.6.12 was.... rough.... at the start, but it did get itself together, and that's the patch used in 8.14.13-r2 (I speak from experience :) ). Anyway, hope this helps; the drivers are not good, exactly, but they're better than this (have been since around 8.12.10, actually; that's when I stopped having issues with installing them, though strictly speaking I never really had issues with installing them under Gentoo, unlike SuSE or Mandrake or Ubuntu. But then again, I've been installing these drivers since 3.2.8 on various distributions; I know a lot more about how my system needs to be configured to effectively interact with them than a new user might). 'Course, that still doesn't get me textures in KotOR, but it ain't because the drivers don't run ;) . Holly -- gentoo-user@gentoo.org mailing list