Gentoo Archives: gentoo-user

From: Holly Bostick <motub@××××××.nl>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] ati -- dreaded "xf86-ENOMEM" error
Date: Fri, 26 Aug 2005 00:53:27
Message-Id: 430E6689.9050908@planet.nl
In Reply to: Re: [gentoo-user] ati -- dreaded "xf86-ENOMEM" error by maxim wexler
1 OK, now I have some time to look at this in detail:
2
3 maxim wexler schreef:
4 >
5 > --- Ryan Sims <rwsims@×××××.com> wrote:
6 >
7 >
8 >>On 8/23/05, Mark Knecht <markknecht@×××××.com>
9 >>wrote:
10 >>
11 >>>Hi Maxim,
12 >>> An AGP support issue probably. Which kernel are
13 >>
14 >>you using?
15
16 Mark, I think you're right:
17
18 >>
19 >>I found that running with a 2.6.12 kernel gave me
20 >>this error;
21 >>downgrading to 2.6.11 fixed it. here's a relevant
22 >>forum topic:
23 >
24 >
25 > Actually, I *was* using 2.6.11. Now I've compiled the
26 > 2.6.12 and re-emerged ati-drivers-8.12.10(Why so
27 > out-dated, I just did a -uD world a few days ago?). It
28 > seems to work OK but it fails to produce fglrx.ko.
29 >
30 > Checking for MTRR support enabled ...
31 > (we really don't need the color codes, so I'm deleting them)
32 > Checking for AGP support enabled ...
33 >
34 > Checking for DRM support disabled ...
35 >
36 > X11 implementation is xorg-x11.
37
38 OK, so this is what I was saying in my other mail; the install script
39 checks for certain kernel options to be enabled or disabled. The three
40 options, as you can now see, are
41
42 MTRR support must be enabled
43
44 AGP support (/dev/agpgart) must be enabled (can be a module)
45
46 DRM must be disabled
47
48 So we got that far, then we get to this:
49
50 >>>>Source unpacked.
51 >
52 > Building the DRM module...
53 > make: Entering directory
54 > `/usr/src/linux-2.6.12-gentoo-r6'
55 > CC [M]
56 > /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agp3.o
57 > CC [M]
58 > /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/nvidia-agp.o
59 > CC [M]
60 > /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.o
61 > /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:
62 > In function `agp_find_supported_device':
63 > /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7150:
64 > error: structure has no member named `slot_name'
65 > /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7170:
66 > error: structure has no member named `slot_name'
67 > /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7175:
68 > error: structure has no member named `slot_name'
69 > /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7201:
70 > error: structure has no member named `slot_name'
71 > /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7221:
72 > error: structure has no member named `slot_name'
73 > /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7241:
74 > error: structure has no member named `slot_name'
75 > /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7246:
76 > error: structure has no member named `slot_name'
77 > /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:6542:
78 > warning: unused variable `cap_ptr'
79 > /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:
80 > At top level:
81 > /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:6523:
82 > warning: `agp_check_supported_device' defined but not
83 > used
84 > make[1]: ***
85 > [/var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.o]
86 > Error 1
87 > make: ***
88 > [_module_/var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod]
89 > Error 2
90 > make: Leaving directory
91 > `/usr/src/linux-2.6.12-gentoo-r6'
92 > DRM module not built
93
94 Now, I would first think the most likely cause of this error is that the
95 drivers don't support 2.6.12, and that could possibly well be involved.
96
97 But the error is totally in agpgart, and I suspect that it is due to an
98 incomplete kernel configuration.
99
100 What motherboard do you have?
101
102 You see, agpgart often doesn't exist on its own in the kernel. Many
103 motherboard chipsets 'speak their own language' as it were, and while
104 the kernel can speak to them, it needs to be told 'who' it is speaking
105 to so that it knows how to be understood by the motherboard.
106
107 So if I enable /dev/agpgart in my kernel (as I must), I also have to
108 enable one of the options that becomes available when I enable
109 /dev/agpgart-- the kernel will not be able to communicate with my VIA
110 KT266 chipset motherboard, if I do not also enable the VIA chipset
111 support option, which will compile the via-agp module.
112
113 And if the kernel can't talk to my motherboard, the ati-driver can't
114 talk to the kernel and ask it what kind of card is connected to that AGP
115 slot (because the kernel doesn't know, because it can't communicate with
116 the motherboard).
117
118 In fact, I can't use the internal agpgart compiled by the fglrx drivers
119 (I have to set UseInternalAGPGART to 'no' in my xorg.conf), because the
120 kernel needs its own module to talk to my mobo's AGP slot (and if the
121 kernel can't talk to the AGP slot, then the drivers for the card in that
122 slot are SOL).
123
124 It's possible that you did not compile support for your motherboard's
125 AGP chipset into the kernel (I find it works best as a module, loaded
126 with /etc/modules.autoload.d, but it might be doable either way). It's
127 very possible you need such support as well, especially if your chipset
128 is one of the following (as you'll see, it covers a lot of very common
129 motherboard chipsets):
130
131
132
133 ALI chipset support
134
135 ATI chipset support (this refers to ATI motherboards, not video cards)
136
137
138 AMD Irongate, 761, and 762 chipset support
139
140 AMD Opteron/Athlon64 on-CPU GART support
141
142 Intel 440LX/BX/GX, I8xx and E7x05 chipset support
143
144 NVIDIA nForce/nForce2 chipset support
145
146 SiS chipset support
147
148 Serverworks LE/HE chipset support
149
150
151 Perhaps you didn't select it (a lot of people make that mistake), or
152 perhaps the module isn't loaded for it (the driver install does, I
153 believe, probe the AGP slot for information about the card, so there is
154 a problem if it can't communicate with the slot because the necessary
155 module to allow such communication is not loaded. There are a very few
156 kernel modules that will fail to compile if the hardware that uses the
157 driver is not present/available on the system. I've had new kernel
158 compiles fail for that reason-- I was trying to 'plan for the future'
159 and compile for hardware I didn't have yet. The kernel wouldn't have it,
160 and I had to disable the modules until such time as I got the hardware,
161 if I ever did. Interestingly, this occurred with attempting to add
162 modules for TV cards, when I was thinking about getting one. Interesting
163 because it seems to be 'a video thing' where this tends to happen).
164 >
165 >
166 > But what's the best way to proceed? emerge seems happy
167 > with the older(?) drivers. Shouldn't it be attempting
168 > a download from somewhere, seeing as how I just did an
169 > emerge sync and emerge -uD world a few days ago(that's
170 > how I came by this 2.6.12 kernel)?
171
172
173 Have you possibly masked more recent versions of the driver? 8.12.10
174 isn't even the most recent stable:
175
176 eix ati-drivers
177 * media-video/ati-drivers
178 Available versions: 8.8.25-r3 8.10.19 8.12.10 [M]8.13.3 [M]8.13.4
179 8.14.13 8.14.13-r1 8.14.13-r2 [M]8.14.13-r3 8.16.20
180 Installed: 8.16.20
181
182
183 (yeah, I unmasked 8.16.20 again, to try an experiment. My hunch was
184 right; and they seem to be working. But that's another story; ask me if
185 you want to know what the trick was).
186
187 Anyway, you should at least be able to get 8.14.13-r2 (stable for x86
188 and amd64). So if all Portage will offer is 8.12.10, I would suspect
189 that it's because you told Portage not to offer you anything beyond
190 that. Check /etc/portage/package.mask.
191
192 I would recommend upgrading to 8.14.13, because it is patched to compile
193 against 2.6.12 kernels, and that patch actually works well now (the
194 driver was released with support only for 2.6.11 kernels, and the patch
195 for 2.6.12 was.... rough.... at the start, but it did get itself
196 together, and that's the patch used in 8.14.13-r2 (I speak from
197 experience :) ).
198
199 Anyway, hope this helps; the drivers are not good, exactly, but they're
200 better than this (have been since around 8.12.10, actually; that's when
201 I stopped having issues with installing them, though strictly speaking I
202 never really had issues with installing them under Gentoo, unlike SuSE
203 or Mandrake or Ubuntu. But then again, I've been installing these
204 drivers since 3.2.8 on various distributions; I know a lot more about
205 how my system needs to be configured to effectively interact with them
206 than a new user might).
207
208 'Course, that still doesn't get me textures in KotOR, but it ain't
209 because the drivers don't run ;) .
210
211 Holly
212 --
213 gentoo-user@g.o mailing list

Replies

Subject Author
Re: [gentoo-user] ati -- dreaded "xf86-ENOMEM" error maxim wexler <blissfix@×××××.com>
Re: [gentoo-user] ati -- dreaded "xf86-ENOMEM" error maxim wexler <blissfix@×××××.com>