Kodi Community Forum

Full Version: nVidia X driver fails due to vmalloc
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
[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.
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.
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