Kodi Community Forum
nVidia X driver fails due to vmalloc - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: General Support (https://forum.kodi.tv/forumdisplay.php?fid=111)
+---- Forum: Linux (https://forum.kodi.tv/forumdisplay.php?fid=52)
+---- Thread: nVidia X driver fails due to vmalloc (/showthread.php?tid=67514)



nVidia X driver fails due to vmalloc - Hugh - 2010-01-16

[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.


- althekiller - 2010-01-16

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.


- Hugh - 2010-01-16

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/Linux-x86/1.0-9629/README/appendix-l.html