NVIDIA DRIVER INSTALLATION ON MISTIKA SYSTEMS WITH LINUX


First check which NVidia GPU model and driver are you using,  and write it down in case that you want to reinstall the old driver later.  To check it, just execute this in a console:


nvidia-smi


or


nvidia-settings


(The NVidia tool will appear, you can find your GPU model and current driver information in there)


Note:  Mistika 8.6 and later require NVidia driver 340.101 or later (the minimum driver version depends on each GPU model, check NVidia website for more details). Previous versions could still be working wih older drivers than 340, so if your system is old this is the first point to check if an upgrade from 8.5 fails to start mistika.

Now, to install the new driver:


1 - Go to NVidia website www.nvidia.com and download the latest driver for your graphics card (choose the one for Linux 64 bit)


Note: If you are going to install a newer GPU,  best practice is to first download the driver and install it.  Then power off and change the GPU. This will ensure that you keep graphics GUI most of the time.


Note: Dual GPU systems are only possible to build with GPUs that can work with the same driver.


2 - Let's suppose you have downloaded the driver to  /home/mistika/Downloads.  Then execute these commands in a console to install the driver:


su


cd /home/mistika/Downloads


init 3  (at this point you will go into text only mode)


sh NVidiaDriverName.run 


(where NVidiaDriverName.run is the file that you have downloaded. If not sure execute "ls" to see the list of files.)


Now follow instructions answering with the default answers. When it finishes execute:


init 5


At this point the system will go back to graphics mode, already using the new driver.


3 - Check that the new driver is running (use nvidia-settings), and also check it after the next reboot.


4 - Open mConfig a first time. It may offer additional configuration steps (wacom, multiGPU)


NOTE: In some occasions in the past, a particular driver had bugs and was not recommended.  For this reason, in the past there was always a "supported driver".  But due to the way that we collaborate with NVidia nowadays these problems are very rare,  and what we recommend is to use "the latest one".   But if it happens you will find information about driver versions to be avoided in the next  point of this document




Driver versions with known problems and how to fix it


- NVIDIA Driver versions for Quadro M6000 24GB model


This particular model (the one with 24GB ) works perfectly fine with some driver versions but not with others. Please contact sgo support before upgrading NVidia driver for it



- NVIDIA Driver versions between 319 and 340


Versions earlier than 340 do not work with Mistka 8.6.  The 340 driver is the oldest driver that works with Mistika 8.6, and it is the only option with systems with Quadro 5600 / 5800 GPus

 

But some of the drivers in this version range were not installed as a module but directly in the boot image. That means that the new driver that you install will only work until the next reboot.  Please use nvidia-settings or nvidia-smi to check it  as explained before.


If you are in that particular case (you install a new driver but the old driver reappear on next reboot), you will need to remove the old driver from the boot imge and create a new one. To do that you can use the following procedure, (or please contact support if you are not familiarized with linux)


1.- Check the first section of the  /boot/grub/menu.lst and find what is the name of your current initrd file. For example mine is:


...

###Don't change this comment - YaST2 identifier: Original name: linux###
title SUSE Linux Enterprise Desktop 11 SP2 - 3.0.13-0.27
    root (hd0,3)
    kernel /boot/vmlinuz-3.0.13-0.27-default root=/dev/disk/by-id/ata-ST31000340NS_5QJ0Z71B-part4 resume=/dev/disk/by-id/ata-ST31000340NS_5QJ0Z71B-part1 splash=silent showopts vga=0x314
    initrd /boot/initrd-3.0.13-0.27-default

...



So my initrd file is called (we are going to use that filename for this whole example):

    initrd /boot/initrd-3.0.13-0.27-default

Then I create a temporal folder to work on it and copy the file there:

mkdir /root/INITRD
cd /root/INITRD/
cp /boot/initrd-3.0.13-0.27-default   .
mv initrd-3.0.13-0.27-default  initrd-3.0.13-0.27-default .gz
gunzip initrd-3.0.13-0.27-default .gz
mkdir tmp
cd tmp
cpio -id < ../initrd-3.0.13-0.27-default

Now you have the initrd structure extracted on /root/INITRD/tmp, and it should look something like:


ls /root/INITRD/tmp


bin  boot  bootsplash  config  dev  etc  init  lib  lib64  mkinitrd.config  proc  root  run_all.sh  sbin  sys  tmp  usr  var

Now you need to remove the nvidia.ko driver:

rm /root/INITRD/tmp/lib/modules/3.0.13-0.27-default/kernel/drivers/video/nvidia.ko

rm /root/INITRD/tmp/lib/modules/3.0.13-0.27-default/kernel/drivers/video/nvidia/nvidia.ko


(you may only have one of them, don't worry if the other one says that it is not found)


And pack the initrd file again:

find . | cpio --create --format='newc' > /root/INITRD/new_initrd
gzip /root/INITRD/new_initrd
mv /root/INITRD/new_initrd.gz  /boot/new_initrd

And finally edit the /boot/grub/menu.lst to change the line where the initrd is pointing to. What I'd do just to be sure is to create a new grub entry by adding this section at the end of the file:

title SUSE Linux Enterprise Desktop 11 FIXED NVIDIA DRIVER NEW INITRD
    root (hd0,3)
    kernel /boot/vmlinuz-3.0.13-0.27-default root=/dev/disk/by-id/ata-ST31000340NS_5QJ0Z71B-part4 resume=/dev/disk/by-id/ata-ST31000340NS_5QJ0Z71B-part1 splash=silent showopts vga=0x314
    initrd /boot/new_initrd

Now we reboot the computer and confirm that the system boots properly by selecting the "FIXED NVIDIA NEW INITRD" option. If it works properly you can make this option the default one by editing this line in the menu.lst file:

default 0

In my example as I added a fifth boot entry it should be:

default 4