RT NvidiaGraphicsDriver

From RTwiki
Jump to: navigation, search

For those of you Fedora Core 6 users who like to try out realtime preemption, but are not willing to patch, compile and install a kernel from scratch, Ingo Molnar is now maintaining approptiate kernel RPM packages. However, if you like to use the nvidia linux 3D graphics driver, along with a precompiled -rt kernel, then you need to get around a few obstacles. Here is a step-by-step installation instruction:


Contents

Make sure your installation does 3D acceleration with a standard kernel

(i.e. 2.6.19-1.2911.fc6)


Install the RT kernel

# wget http://people.redhat.com/mingo/realtime-preempt/yum/i686/kernel-rt-2.6.20-0119.rt8.i686.rpm
# wget http://people.redhat.com/mingo/realtime-preempt/yum/i686/kernel-rt-devel-2.6.20-0119.rt8.i686.rpm
# rpm -i kernel-rt-2.6.20-0119.rt8.i686.rpm
# rpm -i kernel-rt-devel-2.6.20-0119.rt8.i686.rpm

Modifiy "modpost" in order to accept non-GPL modules

Goto to the modpost directory

cd /usr/src/kernels/2.6.20-0119.rt8-i686/scripts/mod

Delete or comment out the following two lines (1197-1198) in file modpost.c

if (!mod->gpl_compatible)
   check_for_gpl_usage(exp->export, basename, exp->name);

Recompile modpost

gcc -o modpost modpost.c file2alias.c sumversion.c 

Unpack, patch and compile the nvidia driver module

cd $PATH_TO_NVIDIA_DRIVER_PACKAGE
wget "http://www.nvnews.net/vbulletin/attachment.php?attachmentid=23993&d=1171124108"
sh NVIDIA-Linux-x86-1.0-9746-pkg1.run --extract-only
cd NVIDIA-Linux-x86-1.0-9746-pkg1/usr/src/nv
patch -p1 < ../../../../patch-nv-1.0-9746_realtime-preempt.txt
make SYSSRC=/usr/src/kernels/2.6.20-0119.rt8-i686 module

Where $PATH_TO_NVIDIA_DRIVER_PACKAGE is the directory where you have saved the nvidia driver package.

Manually define the missing symbol entry for "paravirt_ops"

PARAVIRT_OPS=`grep "D paravirt_ops" /boot/System.map-2.6.20-0119.rt8 | colrm 9`
ld -m elf_i386 --defsym paravirt_ops=0x$PARAVIRT_OPS -r -o nvidia.ko nvidia.o nvidia.mod.o

Install the nvidia kernel module

cp nvidia.ko /lib/modules/2.6.20-0119.rt8/kernel/drivers/video/
depmod -a 2.6.20-0119.rt8

Limitations

This instruction has only beed tested with 32-bit FC6. It may work for 64-bit, but make sure to use "colrm 17" instead of "colrm 9" in step 4.

Personal tools