Kernel 2.6.29-rc7 (i686) で NVIDIA ドライバを使う

x86_64 では問題ないらしいのだけど、i686 の Kernel 2.6.29-rc7 で NVIDIA のドライバ (180.37) を動かすには一手間いる。

次のカーネルオプションを渡す必要があった。256 という値は適当。

vmalloc=256M

/var/log/messages に以下のようなログが出ていたので、vmalloc を足してみたらうまくいった。

Mar 11 10:06:39 localhost kernel: IRQ 16/nvidia: IRQF_DISABLED is not guaranteed on shared IRQs
Mar 11 10:06:39 localhost kernel: vmap allocation for size 16781312 failed: use vmalloc=<size> to increase size.
Mar 11 10:06:39 localhost kernel: NVRM: failed to map registers!!
Mar 11 10:06:39 localhost kernel: NVRM: RmInitAdapter failed! (0x10:0x32:1351)
Mar 11 10:06:39 localhost kernel: NVRM: rm_init_adapter(0) failed
Mar 11 10:06:42 localhost kernel: IRQ 16/nvidia: IRQF_DISABLED is not guaranteed on shared IRQs
Mar 11 10:06:42 localhost kernel: vmap allocation for size 16781312 failed: use vmalloc=<size> to increase size.
Mar 11 10:06:42 localhost kernel: NVRM: failed to map registers!!
Mar 11 10:06:42 localhost kernel: NVRM: RmInitAdapter failed! (0x10:0x32:1351)
Mar 11 10:06:42 localhost kernel: NVRM: rm_init_adapter(0) failed
Mar 11 10:06:45 localhost kernel: IRQ 16/nvidia: IRQF_DISABLED is not guaranteed on shared IRQs
Mar 11 10:06:45 localhost kernel: vmap allocation for size 16781312 failed: use vmalloc=<size> to increase size.
Mar 11 10:06:45 localhost kernel: NVRM: failed to map registers!!
Mar 11 10:06:45 localhost kernel: NVRM: RmInitAdapter failed! (0x10:0x32:1351)
Mar 11 10:06:45 localhost kernel: NVRM: rm_init_adapter(0) failed