nVidia X driver fails due to vmalloc
#1
[This is my first post. I just tried XBMC for the first time. Now that I have it running, I'm impressed how slick it seems. I'm using a fresh download of the Live CD.]

When I booted XBMC Live CD on my MythTV hacking box, the system came up in text mode: something was wrong.

What was the problem? The nVidia driver needs a lot of address space and that is in short supply on a machine with 3G of RAM (perhaps the fact that it has a TV tuner card matters too). The following extract from dmesg is the hint:
Code:
[  102.458602] vmap allocation for size 16781312 failed: use vmalloc=<size> to increase size.
[  102.458996] NVRM: RmInitAdapter failed! (0x23:0xffffffff:697)
[  102.459004] NVRM: rm_init_adapter(0) failed

The nVidia driver's README explains this problem and the fix. I added
Code:
vmalloc=256m
to the kernel boot parameters. For some reason it didn't seem to work when added at the end so I put it near the start. It seems that the Live CD uses GRUB so that you can edit the kernel line early in the boot process. After adding the vmalloc=256m, xbmc, including the nVidia X driver, worked well.

While the system was broken, I looked at /proc/meminfo. I'm not sure what these entries mean, but it isn't clear to what the problem is. It looks as if there is 16M of free address space, but I may be misunderstanding.
Code:
Vmalloc Total:     122880 kB
Vmalloc Used:       86440 kB
Vmalloc Chunk:      21628 kB

I cannot imaging an average first-timer figuring this out easily.

System description: Acer Apire ASE380, AMD Athlon 64 x2 4200 processor, nVidia 6150 chipset including GeForce 6150SE nForce 430 VGA controller, 3G RAM, Hauppauge HVR-1600 TV capture card.
When I boot Ubuntu 9.10 x86-64, using the nv X driver, I have no vmalloc issues; this is not surprising since the 64-bit architecture has a lot more address space.
lspci -v suggests to me that the HVR-1600 uses 64M of address space and the VGA controller uses 16M+256M.
Here's an extract of /proc/meminfo on the 64-bit system:
Code:
VmallocTotal:   34359738367 kB
VmallocUsed:      151412 kB
VmallocChunk:   34359584251 kB
I don't know how to reconcile the lspci and /proc/meminfo results, but that doesn't actually matter for this problem.
Reply
#2
Care to, ya know, describe the system? Obviously this doesn't happen in the common case, you must have something unique here. I'm guessing a legacy gfx card not supported by this nvidia driver.
Reply
#3
althekiller Wrote:Care to, ya know, describe the system? Obviously this doesn't happen in the common case, you must have something unique here. I'm guessing a legacy gfx card not supported by this nvidia driver.

Thanks for the prompting. Done.

The hardware is supported by the proprietary nVidia X driver.

The nVidia README, Appendix L, talks about this issue. Here's a possibly outdated link (look for vmalloc): http://http.download.nvidia.com/XFree86/...dix-l.html
Reply

Logout Mark Read Team Forum Stats Members Help
nVidia X driver fails due to vmalloc0