Ubuntu-Kernel 4.0 mit nvidia-340

Noch liegt im Ubuntu-Repository kein Kernel 4.0, als Vanilla-Kernel ist er laengst fertig, 4.1 hat rc-Status. Ueber das Ubuntu Kernel PPA kann man ihn bereits installieren. Freilich muss man bei derlei stets darauf gefasst sein, dass ein proprietaerer GPU-Treiber (nvidia, fglrx, vboxvideo,…) oder VirtualBox (Host und/oder VMs) dazu inkompatibel sind, was immer wieder vorkommt – und Fixes koennen dauern…

Mit Ubuntu-Kernel 4.0.0-1-generic laufen VBox v4.3.26 als Host sowie VMs mit VBoxGuestAdditions 4.3.27-100084 klaglos, nicht jedoch nvidia-340 (und niedriger), derzeit v340.76. Diese Serie muss man fuer Nvidia-GPUs GF8 bis GF300 installieren, v349.x, die Kernel 4.0 unterstuetzt, setzt eine GF400 oder hoeher voraus.

Nach einem Hinweis in einem Linux-Forum auf diesen Patch habe ich folgendes – zum einfachen Copypasten fuer Interessenten – durchgefuehrt:

  1. Verzeichnis wechseln:
    1
    
    cd /usr/src/nvidia-340-340.76/
  2. Kopie von nv-pat.c erstellen:
    1
    
    sudo cp nv-pat.c nv-pat.c_bak
  3. Aenderungen in nv-pat.c durchfuehren:
    1
    
    sudo sed -i 's/read_cr4/__read_cr4/g' nv-pat.c && sudo sed -i 's/write_cr4/__write_cr4/g' nv-pat.c

Hernach habe ich den Kernel 4.0.0-1 installiert – ohne Errors – und rebootet. Funktioniert einwandfrei.

Wer den Kernel bereits installiert und nicht gleich wieder deinstalliert hat, fuehrt dagegen aus:

1
sudo dkms autoinstall -k 4.0.0-1-generic -m nvidia-340 -v 340.76

.

Update 2015-07-07:

Mit 340.76-0ubuntu3 fuer Ubuntu 15.10 dev ist nvidia-340 an Kernel 4.0 angepasst worden. Alternativ zu obiger Loesung koennen daher folgende Pakete aus den Ubuntu-Repositories (auch schon mit Kernel 3.19.0-22) installiert werden:

1
2
3
4
5
6
7
8
9
10
mkdir -p ~/Downloads/nvidia_340.76-0ubuntu3/
cd ~/Downloads/nvidia_340.76-0ubuntu3/
wget http://archive.ubuntu.com/ubuntu/pool/restricted/n/nvidia-graphics-drivers-340/nvidia-340_340.76-0ubuntu3_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/restricted/n/nvidia-graphics-drivers-340/nvidia-opencl-icd-340_340.76-0ubuntu3_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/restricted/n/nvidia-graphics-drivers-340/nvidia-340-uvm_340.76-0ubuntu3_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/restricted/n/nvidia-graphics-drivers-340/nvidia-340-dev_340.76-0ubuntu3_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/restricted/n/nvidia-graphics-drivers-340/libcuda1-340_340.76-0ubuntu3_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/multiverse/n/nvidia-graphics-drivers-340/nvidia-libopencl1-340_340.76-0ubuntu3_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/main/o/ocl-icd/ocl-icd-libopencl1_2.2.7-2_amd64.deb
sudo dpkg -i nvidia* ocl*