RT NvidiaGraphicsDriver

From RTwiki
(Difference between revisions)
Jump to: navigation, search
(Installation instruction for nvidia 3d graphics driver with kernel-rt-2.6.20-0119.rt8 on Fedora Core 6)
 
(Install the RT kernel)
 
Line 15: Line 15:
  
 
<div class="figure"><div class="figure-contents"><pre>
 
<div class="figure"><div class="figure-contents"><pre>
# wget http://people.redhat.com/mingo/realt...9.rt8.i686.rpm
+
# 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/realt...9.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-2.6.20-0119.rt8.i686.rpm
 
# rpm -i kernel-rt-devel-2.6.20-0119.rt8.i686.rpm
 
# rpm -i kernel-rt-devel-2.6.20-0119.rt8.i686.rpm

Latest revision as of 16:06, 6 March 2007

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

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

(i.e. 2.6.19-1.2911.fc6)


[edit] 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

[edit] Modifiy "modpost" in order to accept non-GPL modules

[edit] Goto to the modpost directory

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

[edit] 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);

[edit] Recompile modpost

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

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

[edit] 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

[edit] 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

[edit] 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