1 |
Last week I upgraded the kernel on one of my 5 year old Pentium 4 desktop |
2 |
machines to 2.6.24-gentoo-r3. Kernel compilation went fine as usual but |
3 |
when I tried to emerge the current (x86) binary nVidia driver [96.43.01] |
4 |
for its GeForce4 MX 440 AGP 8x graphics card it failed with an error |
5 |
message that the it couldn't determine the kernel version. |
6 |
|
7 |
The graphics card is around 5-7 years old and won't run on later 1xx.xx.xx |
8 |
versions of the binary blob, so I'd masked the driver to: |
9 |
|
10 |
/etc/portage/package.mask/nvidia-drivers |
11 |
|
12 |
>=x11-drivers/nvidia-drivers-97.00.00 |
13 |
|
14 |
============================== |
15 |
|
16 |
The driver worked fine on the previous kernel 2.6.23-gentoo-r9. The solution |
17 |
was to do what I've always done for binary blobs (nvidia,ati,madwifi-ng |
18 |
etc) and add: |
19 |
|
20 |
/etc/portage/package.keywords |
21 |
|
22 |
x11-drivers/nvidia-drivers ~86 |
23 |
|
24 |
============================== |
25 |
|
26 |
This allowed me to go from 96.43.01 to 96.43.05. |
27 |
|
28 |
Unfortunately, even though the driver compiled fine and started without |
29 |
error this driver proved to be unstable on my machine and graphics |
30 |
hardware. X (1.3.0-r5) failed on KDE logout with: |
31 |
|
32 |
/etc/var/log/Xorg.0.log: |
33 |
|
34 |
Backtrace: |
35 |
0: /usr/bin/X(xf86SigHandler+0x85) [0x80c7c57] |
36 |
1: /usr/lib/xorg/modules/drivers//nvidia_drv.so(_nv001216X+0xe5) |
37 |
[0xb71d6711] |
38 |
2: [0x1] |
39 |
|
40 |
Fatal server error: |
41 |
Caught signal 11. Server aborting |
42 |
|
43 |
=============================== |
44 |
|
45 |
Maybe running the uvesafb framebuffer and fbcondecor (livecd-2007.0 theme) |
46 |
has something to do with the sigsegv problems on just this particular |
47 |
driver version but I knew that I couldn't run this driver. |
48 |
|
49 |
I did a bit of research and found an ugly hack to get the 96.43.01 driver |
50 |
working on kernel 2.6.24-gentoo-r3 so I changed the mask to: |
51 |
|
52 |
/etc/portage/package.mask/nvidia-drivers |
53 |
|
54 |
>x11-drivers/nvidia-drivers-96.43.01 |
55 |
|
56 |
========================================= |
57 |
|
58 |
I then worked the dark magic: |
59 |
|
60 |
# ln -s /usr/src/linux/include/asm-x86 /usr/src/linux/include/asm-i386 |
61 |
|
62 |
(/usr/src/linux points to the new kernel 2.6.24-gentoo-r3) |
63 |
|
64 |
========================================== |
65 |
|
66 |
I reemerged nvidia-drivers and the hack worked. I got the reliable 96.43.01 |
67 |
driver working again, though with some concerns about future reliability. |
68 |
There might be other changes within the kernel 2.6.24 that driver 96.43.01 |
69 |
doesn't know about that could cause me some grief in the future, but for |
70 |
now it works fine. |
71 |
|
72 |
Now a week later I find that portage has released the nvidia binary driver |
73 |
96.43.05 as stable on x86. I allowed it to emerge, but it still had the X |
74 |
killing problem when logging out of KDE. |
75 |
|
76 |
Some of the things I've read suggest nvidia have been informed of this |
77 |
specific problem but I was wondering if there's any more information around |
78 |
about this issue? I know the card is getting old and perhaps I should use |
79 |
the open nv driver, but the card usually works really well with the binary |
80 |
blob. |
81 |
|
82 |
I would also like to know if these problems were known to the Gentoo devs |
83 |
when they released 96.43.05 as stable on x86. |
84 |
|
85 |
-- |
86 |
Regards, |
87 |
|
88 |
Gregory. |
89 |
-- |
90 |
gentoo-user@l.g.o mailing list |