Wechseln zwischen NVIDIA-Treiberversionen unter 16.04

Wechseln zwischen NVIDIA-Treiberversionen unter 16.04

Ich verwende derzeit proprietäre NVIDIA-Treiber 361.42 unter Ubuntu 16.04

$ dmesg | grep -i nvid
[    4.233238] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  361.42  Tue Mar 22 18:10:58 PDT 2016

Die Karte selbst ist eine GTX-960

01:00.0 VGA compatible controller: NVIDIA Corporation GM206 [GeForce GTX 960] (rev a1) (prog-if 00 [VGA controller])
    Subsystem: Gigabyte Technology Co., Ltd GM206 [GeForce GTX 960]
    Flags: bus master, fast devsel, latency 0, IRQ 127
    Memory at de000000 (32-bit, non-prefetchable) [size=16M]
    Memory at c0000000 (64-bit, prefetchable) [size=256M]
    Memory at d0000000 (64-bit, prefetchable) [size=32M]
    I/O ports at e000 [size=128]
    [virtual] Expansion ROM at df000000 [disabled] [size=512K]
    Capabilities: <access denied>
    Kernel driver in use: nvidia
    Kernel modules: nvidiafb, nouveau, nvidia_361

Leider wird bei einer von mir verwendeten Software behauptet, ein Fehler im Treiber führe zum Absturz der Software, und ich wurde aufgefordert, den Treiber auf 352.79 herunterzustufen.

Es reicht jedoch nicht aus, diese Version einfach mit apt-get zu installieren:

damien@damien-desktop:~$ sudo apt-get install nvidia-352
[sudo] password for damien: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
nvidia-352 is already the newest version (361.42-0ubuntu2).
0 to upgrade, 0 to newly install, 0 to remove and 0 not to upgrade.
damien@damien-desktop:~$ sudo apt-get install nvidia-352-updates
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  nvidia-352-updates
0 to upgrade, 1 to newly install, 0 to remove and 0 not to upgrade.
Need to get 4,814 B of archives.
After this operation, 17.4 kB of additional disk space will be used.
Get:1 http://au.archive.ubuntu.com/ubuntu xenial/restricted amd64 nvidia-352-updates amd64 361.42-0ubuntu2 [4,814 B]
Fetched 4,814 B in 0s (12.4 kB/s)             
Selecting previously unselected package nvidia-352-updates.
(Reading database ... 439776 files and directories currently installed.)
Preparing to unpack .../nvidia-352-updates_361.42-0ubuntu2_amd64.deb ...
Unpacking nvidia-352-updates (361.42-0ubuntu2) ...
Setting up nvidia-352-updates (361.42-0ubuntu2) ...

Beim Bereinigen und Neuinstallieren wird anscheinend automatisch Version 361 ausgewählt, was ich vermeiden möchte:

damien@damien-desktop:~$ sudo apt-get install nvidia-352
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  nvidia-361 nvidia-opencl-icd-361 nvidia-prime nvidia-settings
The following NEW packages will be installed:
  nvidia-352 nvidia-361 nvidia-opencl-icd-361 nvidia-prime nvidia-settings
0 to upgrade, 5 to newly install, 0 to remove and 0 not to upgrade.
Need to get 866 kB/77.5 MB of archives.
After this operation, 339 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://au.archive.ubuntu.com/ubuntu xenial/main amd64 nvidia-prime amd64 0.8.2 [11.1 kB]
Get:2 http://au.archive.ubuntu.com/ubuntu xenial/main amd64 nvidia-settings amd64 361.42-0ubuntu1 [855 kB]
Fetched 866 kB in 2s (324 kB/s)          
Selecting previously unselected package nvidia-361.
(Reading database ... 439200 files and directories currently installed.)
Preparing to unpack .../nvidia-361_361.42-0ubuntu2_amd64.deb ...
Unpacking nvidia-361 (361.42-0ubuntu2) ...
Selecting previously unselected package nvidia-352.
Preparing to unpack .../nvidia-352_361.42-0ubuntu2_amd64.deb ...
Unpacking nvidia-352 (361.42-0ubuntu2) ...
Selecting previously unselected package nvidia-opencl-icd-361.
Preparing to unpack .../nvidia-opencl-icd-361_361.42-0ubuntu2_amd64.deb ...
Unpacking nvidia-opencl-icd-361 (361.42-0ubuntu2) ...
Selecting previously unselected package nvidia-prime.
Preparing to unpack .../nvidia-prime_0.8.2_amd64.deb ...
Unpacking nvidia-prime (0.8.2) ...
Selecting previously unselected package nvidia-settings.
Preparing to unpack .../nvidia-settings_361.42-0ubuntu1_amd64.deb ...
Unpacking nvidia-settings (361.42-0ubuntu1) ...
Processing triggers for libc-bin (2.23-0ubuntu3) ...
Processing triggers for ureadahead (0.100.0-19) ...
ureadahead will be reprofiled on next reboot
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for gnome-menus (3.13.3-6ubuntu3) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu5) ...
Processing triggers for bamfdaemon (0.5.3~bzr0+16.04.20160415-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for mime-support (3.59ubuntu1) ...
Setting up nvidia-361 (361.42-0ubuntu2) ...
update-alternatives: using /usr/lib/nvidia-361/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf (x86_64-linux-gnu_gl_conf) in auto mode
update-alternatives: using /usr/lib/nvidia-361/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_EGL.conf (x86_64-linux-gnu_egl_conf) in auto mode
update-alternatives: using /usr/lib/nvidia-361/alt_ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_GL.conf (i386-linux-gnu_gl_conf) in auto mode
update-alternatives: using /usr/lib/nvidia-361/alt_ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_EGL.conf (i386-linux-gnu_egl_conf) in auto mode
update-alternatives: using /usr/share/nvidia-361/glamor.conf to provide /usr/share/X11/xorg.conf.d/glamoregl.conf (glamor_conf) in auto mode
update-initramfs: deferring update (trigger activated)
INFO:Enable nvidia-361
DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/lenovo_thinkpad
DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/dell_latitude
DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/put_your_quirks_here
Adding system user `nvidia-persistenced' (UID 123) ...
Adding new group `nvidia-persistenced' (GID 130) ...
Adding new user `nvidia-persistenced' (UID 123) with group `nvidia-persistenced' ...
Not creating home directory `/'.
Loading new nvidia-361-361.42 DKMS files...
First Installation: checking all kernels...
Building only for 4.4.0-22-generic
Building for architecture x86_64
Building initial module for 4.4.0-22-generic
Done.

nvidia_361:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.4.0-22-generic/updates/dkms/

nvidia_361_modeset.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.4.0-22-generic/updates/dkms/

nvidia_361_uvm.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.4.0-22-generic/updates/dkms/

depmod....

DKMS: install completed.
Setting up nvidia-352 (361.42-0ubuntu2) ...
Setting up nvidia-opencl-icd-361 (361.42-0ubuntu2) ...
Setting up nvidia-prime (0.8.2) ...
Setting up nvidia-settings (361.42-0ubuntu1) ...
Processing triggers for libc-bin (2.23-0ubuntu3) ...
Processing triggers for initramfs-tools (0.122ubuntu8) ...
update-initramfs: Generating /boot/initrd.img-4.4.0-22-generic
Processing triggers for ureadahead (0.100.0-19) ...

Wie kann ich sicher auf diese Treiberversion downgraden? Ich kann nicht einfach alle NVIDIA-Treiber entfernen und neu installieren, da Nouveau mit meiner Hardware anscheinend überhaupt nicht funktioniert (ich musste Ubuntu als Serverversion installieren und es dann später in einen Desktop umwandeln).

Antwort1

In Ubuntu 16.04 nvidia-352gibt es nur ein Übergangspaket für nvidia-361.
Glücklicherweise nvidia-352ist es im Proprietary GPU drivers PPA verfügbar.
Laden Sie die folgenden nvidia-352.79relevanten Pakete vom PPA herunter:

libcuda1-352_352.79-0ubuntu0~gpu16.04.2_amd64.deb
nvidia-352_352.79-0ubuntu0~gpu16.04.2_amd64.deb
nvidia-libopencl1-352_352.79-0ubuntu0~gpu16.04.2_amd64.deb
nvidia-opencl-icd-352_352.79-0ubuntu0~gpu16.04.2_amd64.deb

Zunächst sollten Sie jedoch prüfen, ob die neuesten stabilen Treiber nvidia-364das Problem beheben können.

Entfernen Sie die NVIDIA-Treiber 361 – öffnen Sie ein Terminal und führen Sie aus:

sudo apt purge nvidia*  
sudo reboot  

Wählen Sie den Ubuntu-Menüeintrag aus und drücken Sie die ETaste.
Fügen Sie nouveau.modeset=0am Ende der Linux-Zeile hinzu.
Drücken Sie die F10Taste, um das Betriebssystem zu starten.

Wichtig: Setzen Sie Spacezwischen dem letzten Zeichen der linuxZeile und ein nouveau.modeset=0.

Wenn der Anmeldebildschirm erscheint, drücken Sie Ctrl+ Alt+ F1.
Geben Sie Ihren Benutzernamen und Ihr Passwort ein und führen Sie dann aus:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-364
sudo reboot

Falls diese Treiber nicht funktionieren, öffnen Sie ein Terminal und führen Sie Folgendes aus:

sudo apt purge nvidia*  
sudo reboot  

Wählen Sie den Ubuntu-Menüeintrag aus und drücken Sie die ETaste.
Fügen Sie nouveau.modeset=0am Ende der Linux-Zeile hinzu.
Drücken Sie die F10Taste, um das Betriebssystem zu starten.

Wichtig: Setzen Sie Spacezwischen dem letzten Zeichen der linuxZeile und ein nouveau.modeset=0.

Wenn der Anmeldebildschirm erscheint, drücken Sie Ctrl+ Alt+ F1.
Geben Sie Ihren Benutzernamen und Ihr Passwort ein und führen Sie dann aus:

cd /<path-to-the-folder-which-contains-the-.deb-files-you-have-downloaded-before>  

sudo dpkg -i libcuda1-352_352.79-0ubuntu0~gpu16.04.2_amd64.deb
sudo dpkg -i nvidia-352_352.79-0ubuntu0~gpu16.04.2_amd64.deb  
sudo dpkg -i nvidia-libopencl1-352_352.79-0ubuntu0~gpu16.04.2_amd64.deb  
sudo dpkg -i nvidia-opencl-icd-352_352.79-0ubuntu0~gpu16.04.2_amd64.deb  

sudo reboot  

Hinweis: Falls ein Abhängigkeitsfehler auftritt, führen Sie ihn apt install -fnach jedem einzelnen Fehler aus.

verwandte Informationen