The latest release of OpenSuse 11.2 ships with the new 190 drivers from Nvidia, which are not compatible with Xen. Well, that may be but here is how to get it working with the 185 drivers. The main problem is you get a modpost GPL infringement, which prevents the kernel module being linked, but you can get around it:
FATAL: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol 'xen_features'

Here are the steps:

1) Download NVIDIA-Linux-x86_64-185.18.36-pkg2.run from nvidia
2) execute

chmod +x NVIDIA-Linux-x86_64-185.18.36-pkg2.run ./NVIDIA-Linux-x86_64-185.18.36-pkg2.run --extract-only cd NVIDIA-Linux-x86_64-185.18.36-pkg2/usr/src/nv
3) edit Makefile.kbuild, and after
EXTRA_CFLAGS += -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wparentheses -Wpointer-arith -Wno-multichar -Werror -mcmodel=kernel -mno-red-zone -fno-defer-pop -MD $(DEFINES) $(INCLUDES) -Wsign-compare -Wno-cast-qual -Wno-error

Insert:

XEN_FEATURES := $(shell grep "D xen_features" /boot/System.map-$(shell uname -r) | colrm 17) EXTRA_LDFLAGS := --defsym xen_features=0x$(XEN_FEATURES)

Note: the colrm 17 is applicable to 64bit only. For 32bit, use colrm 9.

4) The usual:

export IGNORE_XEN_PRESENCE=1 export SYSSRC=/lib/modules/$(uname -r)/source export SYSOUT=/lib/modules/$(uname -r)/build make module

Then copy nvidia.ko to /lib/modules/2.6.31.5-0.1-xen/updates/
and ../../X11R6/lib/modules/drivers/nvidia_drv.so to /usr/lib64/xorg/modules/updates/drivers/

(adjust these for your install).

6) Either modprobe Nvidia or reboot and startx



Sunday, December 2, 2007

« Back