# [Solved]nVidia X fails to start, rmmod/modprobe and it works

## lyallp

My nVidia X refuses to start on boot.

I have to log in and rmmod/modprobe the nvidia module and then restart xdm and then it will start.

Module nvidia is loaded but unloading and reloading it kicks it in to action.

Edit: I found the following error message in /var/log/messages

```
Feb  6 09:51:14 lyalls-pc kernel: vmap allocation for size 16781312 failed: use vmalloc=<size> to increase size.

Feb  6 09:51:14 lyalls-pc kernel: NVRM: RmInitAdapter failed! (0x26:0xffffffff:1040)

Feb  6 09:51:14 lyalls-pc kernel: NVRM: rm_init_adapter(0) failed

```

I tried having nvidia listed in /etc/modules/autoload.d/kernel-2.6 and I also tried not listing it, to no avail.

My kernel is 

```
Linux lyalls-pc 2.6.35-gentoo-r12 #5 SMP PREEMPT Sat Feb 5 09:56:48 CST 2011 i686 Intel(R) Core(TM)2 Quad CPU Q9400 @ 2.66GHz GenuineIntel GNU/Linux

```

Suggestions as to what I have wrong would be welcomed.

My existing module list is...

```
$ lsmod

Module                  Size  Used by

nvidia               8524484  28 

snd_seq_midi            3200  0 

snd_emu10k1_synth       4212  0 

snd_emux_synth         22740  1 snd_emu10k1_synth

snd_seq_virmidi         2708  1 snd_emux_synth

snd_seq_midi_event      3476  2 snd_seq_midi,snd_seq_virmidi

snd_seq_midi_emul       3988  1 snd_emux_synth

snd_seq                33264  5 snd_seq_midi,snd_emux_synth,snd_seq_virmidi,snd_seq_midi_event,snd_seq_midi_emul

snd_pcm_oss            29120  0 

snd_mixer_oss          10836  1 snd_pcm_oss

ipv6                  198576  32 

bridge                 50724  0 

stp                     1016  1 bridge

llc                     2468  2 bridge,stp

vboxnetadp              5120  0 

vboxnetflt             11912  0 

vboxdrv               135944  2 vboxnetadp,vboxnetflt

cx88_dvb               10776  0 

cx88_vp3054_i2c         1076  1 cx88_dvb

mt352                   4216  1 cx88_dvb

dvb_pll                 6952  1 cx88_dvb

s5h1411                 6840  1 cx88_dvb

videobuf_dvb            3384  1 cx88_dvb

stb6100                 4568  1 cx88_dvb

or51132                 5752  1 cx88_dvb

cx24116                11612  1 cx88_dvb

nxt200x                10456  1 cx88_dvb

isl6421                  884  1 cx88_dvb

stb6000                 1944  1 cx88_dvb

zl10353                 5084  1 cx88_dvb

stv0900                47992  1 cx88_dvb

cx24123                10332  1 cx88_dvb

lgdt330x                5880  1 cx88_dvb

stv0299                 6812  1 cx88_dvb

dvb_core               69352  5 cx88_dvb,videobuf_dvb,or51132,lgdt330x,stv0299

stv0288                 4892  1 cx88_dvb

cx22702                 3800  1 cx88_dvb

snd_emu10k1           107908  2 snd_emu10k1_synth

snd_rawmidi            12672  3 snd_seq_midi,snd_seq_virmidi,snd_emu10k1

snd_ac97_codec         75924  1 snd_emu10k1

tuner                  15916  1 

tea5767                 4856  1 tuner

ac97_bus                 564  1 snd_ac97_codec

tda8290                10108  1 tuner

tuner_xc2028           17512  2 cx88_dvb,tuner

xc5000                  9404  2 cx88_dvb,tuner

cx88_alsa               5852  0 

snd_pcm                48952  4 snd_pcm_oss,snd_emu10k1,snd_ac97_codec,cx88_alsa

tda9887                 8088  2 cx88_dvb,tuner

tuner_simple           11696  2 cx88_dvb,tuner

tuner_types             7892  1 tuner_simple

mt20xx                  9436  1 tuner

tea5761                 3032  1 tuner

snd_seq_device          3488  5 snd_seq_midi,snd_emu10k1_synth,snd_seq,snd_emu10k1,snd_rawmidi

snd_timer              13340  3 snd_seq,snd_emu10k1,snd_pcm

cx8800                 21300  0 

snd_page_alloc          5052  2 snd_emu10k1,snd_pcm

cx8802                 10296  1 cx88_dvb

snd_util_mem            1332  2 snd_emux_synth,snd_emu10k1

cx88xx                 63724  4 cx88_dvb,cx88_alsa,cx8800,cx8802

i2c_algo_bit            4024  2 cx88_vp3054_i2c,cx88xx

ir_common               3124  1 cx88xx

ir_core                 8404  2 cx88xx,ir_common

v4l2_common            11092  3 tuner,cx8800,cx88xx

tveeprom               10520  1 cx88xx

videodev               35072  4 tuner,cx8800,cx88xx,v4l2_common

v4l1_compat            11224  1 videodev

videobuf_dma_sg         5912  5 cx88_dvb,cx88_alsa,cx8800,cx8802,cx88xx

snd_hwdep               4024  2 snd_emux_synth,snd_emu10k1

8250_pnp                3156  0 

videobuf_core          11384  5 videobuf_dvb,cx8800,cx8802,cx88xx,videobuf_dma_sg

snd                    33316  15 snd_emux_synth,snd_seq_virmidi,snd_seq,snd_pcm_oss,snd_mixer_oss,snd_emu10k1,snd_rawmidi,snd_ac97_codec,cx88_alsa,snd_pcm,snd_seq_device,snd_timer,snd_hwdep

8139too                14936  0 

8250                   15252  1 8250_pnp

sg                     18088  0 

btcx_risc               2492  4 cx88_alsa,cx8800,cx8802,cx88xx

ohci1394               23300  0 

serial_core            13268  1 8250

i2c_i801                6472  0 

i2c_core               12492  35 nvidia,cx88_dvb,cx88_vp3054_i2c,mt352,dvb_pll,s5h1411,stb6100,or51132,cx24116,nxt200x,isl6421,stb6000,zl10353,stv0900,cx24123,lgdt330x,stv0299,stv0288,cx22702,tuner,tea5767,tda8290,tuner_xc2028,xc5000,tda9887,tuner_simple,mt20xx,tea5761,cx8800,cx88xx,i2c_algo_bit,v4l2_common,tveeprom,videodev,i2c_i801

pcspkr                  1108  0 

atl1e                  23976  0 

soundcore               4032  1 snd

thermal                 8176  0 

button                  3048  0 

processor              21696  4 
```

----------

## kriz

hi

for sure your settings does load the nvidia-module with different options as you did with modprobe manually.

if the module is loaded before xdm starts, what else could it be.....

```

emerge --info nvidia-drivers 

```

would be interesting

btw. is it necessary that you build your kernel with so many drivers as module?

and jesus, why you have build an x86-system?

----------

## lyallp

Problem solved.

After reading the 

```
/usr/share/doc/nvidia-drivers-260.19.36/README.bz2
```

 document, the problem was identified in there and I needed to add a 

```
vmalloc=192M
```

 option to my grub conf. (192M was pulled out of the air).

My grub entry is now

```

title  Gentoo Linux

root (hd0,0)

kernel (hd0,0)/vmlinuz  root=/dev/md2 video=uvesafb:1280x1024-32@75,mtrr:3,ywrap fbcon=scrollback:64K vmalloc=192M

```

Edit: Why x86 system? I only have 4G of memory, no point in going 64 bit till I have more memory - which I don't need, at this stage. Additionally, this is an old system, I upgraded motherboards, etc, but the install itself is years old.

----------

