Having 3D desktop effects (ie Compiz) on SUSE Linux Enterprise Desktop (SLED) 10 is not a new thing since its been available for a few years. However, if you are using Xen virtualization with SLED, you would have realized that the Xen kernel don't play nice with these fancy graphics.
About a year ago, some brilliant and kind soul published how he got his Thinkpad T61p with nVidia graphics card to work with Xen and also enabled the 3D desktop effects. An awesome article (link here).
However, the technique used required a specific patch to be applied to a specific nVidia driver. About a month or so ago, I came across another entry online that talks about using the latest (and greatest) nVidia driver with Xen ... WITHOUT patching the nVidia driver!
Here are the summarized steps (link and credit to muchologo's original entry on nvnews forum):
Pre-reqs: Ensure you have installed kernel-source and C/C++ tools.
- Download the desired nVidia driver. Link to good nVidia driver info.
- Install the nVidia driver per instructions on a non-Xen SLED 10 and check that 3D desktop effects works. Link to custom install of nVidia driver on SUSE.
- Reboot into the Xen SLED 10. Basic desktop GUI should fail to work (that's normal).
- Prepare the kernel:
- cd /usr/src/linux
- cp arch/x86_64/defconfig.xen .config
- If you are using 32bit kernel, change x86_64 to i386
- make oldconfig && make scripts && make prepare
- ./NVIDIA-Linux-x86_64-177.82-pkg2.run --extract-only
- You could be using a newer driver/arch, the above is just a sample using version 177.82 and x86_64 arch.
- IGNORE_XEN_PRESENCE=y CC="gcc -DNV_VMAP_4_PRESENT -DNV_SIGNAL_STRUCT_RLIM" make SYSSRC=/usr/src/linux module
- This will compile a new nvidia.ko module that will work with Xen
- cp nvidia.ko /lib/modules/
- cd /lib/modules/
- depmod -a
- modprobe nvidia