在Bionic将nvidia 396降级为390

我无法将我的nvidia驱动程序从396降级到390.如果我清除所有的nvidia驱动程序,那么执行sudo apt install nvidia-driver-390它仍会安装396版本。 有没有办法强迫它安装旧版本?

我试过sudo apt install nvidia-driver-390=390.59-0ubuntu0~gpu18.04.1 ,但这给了我以下错误:

 Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies. nvidia-driver-390 : Depends: libnvidia-gl-390 (= 390.59-0ubuntu0~gpu18.04.1) but 396.24-0ubuntu1~pop1 is to be installed Depends: nvidia-dkms-390 (= 390.59-0ubuntu0~gpu18.04.1) Depends: nvidia-kernel-source-390 (= 390.59-0ubuntu0~gpu18.04.1) Depends: libnvidia-compute-390 (= 390.59-0ubuntu0~gpu18.04.1) but 396.24-0ubuntu1~pop1 is to be installed Depends: nvidia-compute-utils-390 (= 390.59-0ubuntu0~gpu18.04.1) but 396.24-0ubuntu1~pop1 is to be installed Depends: libnvidia-decode-390 (= 390.59-0ubuntu0~gpu18.04.1) but 396.24-0ubuntu1~pop1 is to be installed Depends: libnvidia-encode-390 (= 390.59-0ubuntu0~gpu18.04.1) but 396.24-0ubuntu1~pop1 is to be installed Depends: nvidia-utils-390 (= 390.59-0ubuntu0~gpu18.04.1) but 396.24-0ubuntu1~pop1 is to be installed Depends: xserver-xorg-video-nvidia-390 (= 390.59-0ubuntu0~gpu18.04.1) but 396.24-0ubuntu1~pop1 is to be installed Depends: libnvidia-cfg1-390 (= 390.59-0ubuntu0~gpu18.04.1) but 396.24-0ubuntu1~pop1 is to be installed Depends: libnvidia-ifr1-390 (= 390.59-0ubuntu0~gpu18.04.1) but 396.24-0ubuntu1~pop1 is to be installed Depends: libnvidia-fbc1-390 (= 390.59-0ubuntu0~gpu18.04.1) but 396.24-0ubuntu1~pop1 is to be installed Recommends: nvidia-settings but it is not going to be installed Recommends: nvidia-prime (>= 0.8) Recommends: libnvidia-compute-390:i386 (= 390.59-0ubuntu0~gpu18.04.1) Recommends: libnvidia-decode-390:i386 (= 390.59-0ubuntu0~gpu18.04.1) Recommends: libnvidia-encode-390:i386 (= 390.59-0ubuntu0~gpu18.04.1) Recommends: libnvidia-ifr1-390:i386 (= 390.59-0ubuntu0~gpu18.04.1) Recommends: libnvidia-fbc1-390:i386 (= 390.59-0ubuntu0~gpu18.04.1) Recommends: libnvidia-gl-390:i386 (= 390.59-0ubuntu0~gpu18.04.1) E: Unable to correct problems, you have held broken packages. 

有没有办法告诉它使用旧版本的依赖项?

它变得非常令人沮丧,因为396驱动程序似乎导致我安装的任何游戏出现问题,而390工作正常,但我似乎无法回滚,旧版本的任何选项也不会出现在软件/更新应用程序中。

谢谢

更新:

根据要求,这是通过PPA安装后的apt policy nvidia-390的输出:

 nvidia-390: Installed: 390.67-0ubuntu0~gpu18.04.1 Candidate: 390.67-0ubuntu0~gpu18.04.1 Version table: *** 390.67-0ubuntu0~gpu18.04.1 500 500 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu bionic/main amd64 Packages 100 /var/lib/dpkg/status 

另外,这是实际安装的输出( sudo apt install nvidia-390 ):

 Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: dkms libnvidia-cfg1-396 libnvidia-common-396 libnvidia-compute-396 libnvidia-compute-396:i386 libnvidia-decode-396 libnvidia-decode-396:i386 libnvidia-encode-396 libnvidia-encode-396:i386 libnvidia-fbc1-396 libnvidia-fbc1-396:i386 libnvidia-gl-396 libnvidia-gl-396:i386 libnvidia-ifr1-396 libnvidia-ifr1-396:i386 libxnvctrl0 nvidia-compute-utils-396 nvidia-dkms-396 nvidia-driver-390 nvidia-driver-396 nvidia-kernel-common-396 nvidia-kernel-source-396 nvidia-prime nvidia-settings nvidia-utils-396 screen-resolution-extra xserver-xorg-video-nvidia-396 Suggested packages: menu The following NEW packages will be installed dkms libnvidia-cfg1-396 libnvidia-common-396 libnvidia-compute-396 libnvidia-compute-396:i386 libnvidia-decode-396 libnvidia-decode-396:i386 libnvidia-encode-396 libnvidia-encode-396:i386 libnvidia-fbc1-396 libnvidia-fbc1-396:i386 libnvidia-gl-396 libnvidia-gl-396:i386 libnvidia-ifr1-396 libnvidia-ifr1-396:i386 libxnvctrl0 nvidia-390 nvidia-compute-utils-396 nvidia-dkms-396 nvidia-driver-390 nvidia-driver-396 nvidia-kernel-common-396 nvidia-kernel-source-396 nvidia-prime nvidia-settings nvidia-utils-396 screen-resolution-extra xserver-xorg-video-nvidia-396 0 to upgrade, 28 to newly install, 0 to remove and 0 not to upgrade. Need to get 16.1 kB/88.7 MB of archives. After this operation, 365 MB of additional disk space will be used. Do you want to continue? [Y/n] Get:1 http://ppa.launchpad.net/system76/pop/ubuntu bionic/main amd64 nvidia-driver-390 amd64 396.24-0ubuntu1~pop1 [8,072 B] Get:2 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu bionic/main amd64 nvidia-390 amd64 390.67-0ubuntu0~gpu18.04.1 [8,044 B] Fetched 16.1 kB in 0s (85.5 kB/s) Selecting previously unselected package dkms. (Reading database ... 287858 files and directories currently installed.) Preparing to unpack .../00-dkms_2.3-3ubuntu9.1_all.deb ... Unpacking dkms (2.3-3ubuntu9.1) ... Selecting previously unselected package libnvidia-cfg1-396:amd64. Preparing to unpack .../01-libnvidia-cfg1-396_396.24.02-0ubuntu0~gpu18.04.1_amd64.deb ... Unpacking libnvidia-cfg1-396:amd64 (396.24.02-0ubuntu0~gpu18.04.1) ... Selecting previously unselected package libnvidia-common-396. Preparing to unpack .../02-libnvidia-common-396_396.24.02-0ubuntu0~gpu18.04.1_all.deb ... Unpacking libnvidia-common-396 (396.24.02-0ubuntu0~gpu18.04.1) ... Selecting previously unselected package libnvidia-compute-396:i386. Preparing to unpack .../03-libnvidia-compute-396_396.24.02-0ubuntu0~gpu18.04.1_i386.deb ... Unpacking libnvidia-compute-396:i386 (396.24.02-0ubuntu0~gpu18.04.1) ... Selecting previously unselected package libnvidia-compute-396:amd64. Preparing to unpack .../04-libnvidia-compute-396_396.24.02-0ubuntu0~gpu18.04.1_amd64.deb ... Unpacking libnvidia-compute-396:amd64 (396.24.02-0ubuntu0~gpu18.04.1) ... Selecting previously unselected package libnvidia-decode-396:i386. Preparing to unpack .../05-libnvidia-decode-396_396.24.02-0ubuntu0~gpu18.04.1_i386.deb ... Unpacking libnvidia-decode-396:i386 (396.24.02-0ubuntu0~gpu18.04.1) ... Selecting previously unselected package libnvidia-decode-396:amd64. Preparing to unpack .../06-libnvidia-decode-396_396.24.02-0ubuntu0~gpu18.04.1_amd64.deb ... Unpacking libnvidia-decode-396:amd64 (396.24.02-0ubuntu0~gpu18.04.1) ... Selecting previously unselected package libnvidia-encode-396:amd64. Preparing to unpack .../07-libnvidia-encode-396_396.24.02-0ubuntu0~gpu18.04.1_amd64.deb ... Unpacking libnvidia-encode-396:amd64 (396.24.02-0ubuntu0~gpu18.04.1) ... Selecting previously unselected package libnvidia-encode-396:i386. Preparing to unpack .../08-libnvidia-encode-396_396.24.02-0ubuntu0~gpu18.04.1_i386.deb ... Unpacking libnvidia-encode-396:i386 (396.24.02-0ubuntu0~gpu18.04.1) ... Selecting previously unselected package libnvidia-fbc1-396:i386. Preparing to unpack .../09-libnvidia-fbc1-396_396.24.02-0ubuntu0~gpu18.04.1_i386.deb ... Unpacking libnvidia-fbc1-396:i386 (396.24.02-0ubuntu0~gpu18.04.1) ... Selecting previously unselected package libnvidia-fbc1-396:amd64. Preparing to unpack .../10-libnvidia-fbc1-396_396.24.02-0ubuntu0~gpu18.04.1_amd64.deb ... Unpacking libnvidia-fbc1-396:amd64 (396.24.02-0ubuntu0~gpu18.04.1) ... Selecting previously unselected package libnvidia-gl-396:i386. Preparing to unpack .../11-libnvidia-gl-396_396.24.02-0ubuntu0~gpu18.04.1_i386.deb ... dpkg-query: no packages found matching libnvidia-gl-390 Unpacking libnvidia-gl-396:i386 (396.24.02-0ubuntu0~gpu18.04.1) ... Selecting previously unselected package libnvidia-gl-396:amd64. Preparing to unpack .../12-libnvidia-gl-396_396.24.02-0ubuntu0~gpu18.04.1_amd64.deb ... dpkg-query: no packages found matching libnvidia-gl-390 Unpacking libnvidia-gl-396:amd64 (396.24.02-0ubuntu0~gpu18.04.1) ... Selecting previously unselected package libnvidia-ifr1-396:i386. Preparing to unpack .../13-libnvidia-ifr1-396_396.24.02-0ubuntu0~gpu18.04.1_i386.deb ... Unpacking libnvidia-ifr1-396:i386 (396.24.02-0ubuntu0~gpu18.04.1) ... Selecting previously unselected package libnvidia-ifr1-396:amd64. Preparing to unpack .../14-libnvidia-ifr1-396_396.24.02-0ubuntu0~gpu18.04.1_amd64.deb ... Unpacking libnvidia-ifr1-396:amd64 (396.24.02-0ubuntu0~gpu18.04.1) ... Selecting previously unselected package libxnvctrl0:amd64. Preparing to unpack .../15-libxnvctrl0_396.24-0ubuntu0~gpu18.04.1_amd64.deb ... Unpacking libxnvctrl0:amd64 (396.24-0ubuntu0~gpu18.04.1) ... Selecting previously unselected package nvidia-kernel-source-396. Preparing to unpack .../16-nvidia-kernel-source-396_396.24.02-0ubuntu0~gpu18.04.1_amd64.deb ... Unpacking nvidia-kernel-source-396 (396.24.02-0ubuntu0~gpu18.04.1) ... Selecting previously unselected package nvidia-kernel-common-396. Preparing to unpack .../17-nvidia-kernel-common-396_396.24.02-0ubuntu0~gpu18.04.1_amd64.deb ... Unpacking nvidia-kernel-common-396 (396.24.02-0ubuntu0~gpu18.04.1) ... Selecting previously unselected package nvidia-dkms-396. Preparing to unpack .../18-nvidia-dkms-396_396.24.02-0ubuntu0~gpu18.04.1_amd64.deb ... Unpacking nvidia-dkms-396 (396.24.02-0ubuntu0~gpu18.04.1) ... Selecting previously unselected package nvidia-compute-utils-396. Preparing to unpack .../19-nvidia-compute-utils-396_396.24.02-0ubuntu0~gpu18.04.1_amd64.deb ... Unpacking nvidia-compute-utils-396 (396.24.02-0ubuntu0~gpu18.04.1) ... Selecting previously unselected package nvidia-utils-396. Preparing to unpack .../20-nvidia-utils-396_396.24.02-0ubuntu0~gpu18.04.1_amd64.deb ... Unpacking nvidia-utils-396 (396.24.02-0ubuntu0~gpu18.04.1) ... Selecting previously unselected package xserver-xorg-video-nvidia-396. Preparing to unpack .../21-xserver-xorg-video-nvidia-396_396.24.02-0ubuntu0~gpu18.04.1_amd64.deb ... Unpacking xserver-xorg-video-nvidia-396 (396.24.02-0ubuntu0~gpu18.04.1) ... Selecting previously unselected package nvidia-driver-396. Preparing to unpack .../22-nvidia-driver-396_396.24.02-0ubuntu0~gpu18.04.1_amd64.deb ... Unpacking nvidia-driver-396 (396.24.02-0ubuntu0~gpu18.04.1) ... Selecting previously unselected package nvidia-driver-390. Preparing to unpack .../23-nvidia-driver-390_396.24-0ubuntu1~pop1_amd64.deb ... Unpacking nvidia-driver-390 (396.24-0ubuntu1~pop1) ... Selecting previously unselected package nvidia-390. Preparing to unpack .../24-nvidia-390_390.67-0ubuntu0~gpu18.04.1_amd64.deb ... Unpacking nvidia-390 (390.67-0ubuntu0~gpu18.04.1) ... Selecting previously unselected package nvidia-prime. Preparing to unpack .../25-nvidia-prime_0.8.8_all.deb ... Unpacking nvidia-prime (0.8.8) ... Selecting previously unselected package screen-resolution-extra. Preparing to unpack .../26-screen-resolution-extra_0.17.3_all.deb ... Unpacking screen-resolution-extra (0.17.3) ... Selecting previously unselected package nvidia-settings. Preparing to unpack .../27-nvidia-settings_396.24-0ubuntu0~gpu18.04.1_amd64.deb ... Unpacking nvidia-settings (396.24-0ubuntu0~gpu18.04.1) ... Setting up libnvidia-fbc1-396:i386 (396.24.02-0ubuntu0~gpu18.04.1) ... Setting up libnvidia-fbc1-396:amd64 (396.24.02-0ubuntu0~gpu18.04.1) ... Setting up nvidia-prime (0.8.8) ... Processing triggers for mime-support (3.60ubuntu1) ... Setting up libnvidia-cfg1-396:amd64 (396.24.02-0ubuntu0~gpu18.04.1) ... Processing triggers for desktop-file-utils (0.23-1ubuntu3) ... Setting up nvidia-kernel-common-396 (396.24.02-0ubuntu0~gpu18.04.1) ... update-initramfs: deferring update (trigger activated) Created symlink /etc/systemd/system/multi-user.target.wants/nvidia-fallback.service → /lib/systemd/system/nvidia-fallback.service. Setting up xserver-xorg-video-nvidia-396 (396.24.02-0ubuntu0~gpu18.04.1) ... Setting up nvidia-kernel-source-396 (396.24.02-0ubuntu0~gpu18.04.1) ... Setting up libnvidia-common-396 (396.24.02-0ubuntu0~gpu18.04.1) ... Setting up dkms (2.3-3ubuntu9.1) ... Processing triggers for libc-bin (2.27-3ubuntu1) ... Setting up screen-resolution-extra (0.17.3) ... Setting up libnvidia-compute-396:i386 (396.24.02-0ubuntu0~gpu18.04.1) ... Setting up libnvidia-compute-396:amd64 (396.24.02-0ubuntu0~gpu18.04.1) ... Setting up nvidia-dkms-396 (396.24.02-0ubuntu0~gpu18.04.1) ... update-initramfs: deferring update (trigger activated) INFO:Enable nvidia DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/put_your_quirks_here DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/dell_latitude DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/lenovo_thinkpad Loading new nvidia-396.24.02 DKMS files... Building for 4.15.0-23-generic Building for architecture x86_64 Building initial module for 4.15.0-23-generic Secure Boot not enabled on this system. Done. nvidia: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/4.15.0-23-generic/updates/dkms/ nvidia-modeset.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/4.15.0-23-generic/updates/dkms/ nvidia-drm.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/4.15.0-23-generic/updates/dkms/ nvidia-uvm.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/4.15.0-23-generic/updates/dkms/ depmod... DKMS: install completed. Processing triggers for man-db (2.8.3-2) ... Processing triggers for gnome-menus (3.13.3-11ubuntu1) ... Processing triggers for dbus (1.12.2-1ubuntu1) ... Setting up libxnvctrl0:amd64 (396.24-0ubuntu0~gpu18.04.1) ... Setting up libnvidia-decode-396:i386 (396.24.02-0ubuntu0~gpu18.04.1) ... Setting up libnvidia-decode-396:amd64 (396.24.02-0ubuntu0~gpu18.04.1) ... Setting up nvidia-utils-396 (396.24.02-0ubuntu0~gpu18.04.1) ... Setting up nvidia-settings (396.24-0ubuntu0~gpu18.04.1) ... Setting up libnvidia-gl-396:i386 (396.24.02-0ubuntu0~gpu18.04.1) ... Setting up libnvidia-gl-396:amd64 (396.24.02-0ubuntu0~gpu18.04.1) ... Setting up nvidia-compute-utils-396 (396.24.02-0ubuntu0~gpu18.04.1) ... Warning: The home dir /nonexistent you specified can't be accessed: No such file or directory Adding system user `nvidia-persistenced' (UID 103) ... Adding new group `nvidia-persistenced' (GID 105) ... Adding new user `nvidia-persistenced' (UID 103) with group `nvidia-persistenced' ... Not creating home directory `/nonexistent'. Setting up libnvidia-ifr1-396:i386 (396.24.02-0ubuntu0~gpu18.04.1) ... Setting up libnvidia-ifr1-396:amd64 (396.24.02-0ubuntu0~gpu18.04.1) ... Setting up libnvidia-encode-396:amd64 (396.24.02-0ubuntu0~gpu18.04.1) ... Setting up libnvidia-encode-396:i386 (396.24.02-0ubuntu0~gpu18.04.1) ... Setting up nvidia-driver-396 (396.24.02-0ubuntu0~gpu18.04.1) ... Setting up nvidia-driver-390 (396.24-0ubuntu1~pop1) ... Setting up nvidia-390 (390.67-0ubuntu0~gpu18.04.1) ... Processing triggers for initramfs-tools (0.130ubuntu3pop2) ... update-initramfs: Generating /boot/initrd.img-4.15.0-23-generic Processing triggers for libc-bin (2.27-3ubuntu1) ... 

最后, glxinfo | egrep "version"的输出 glxinfo | egrep "version"

 server glx version string: 1.4 client glx version string: 1.4 GLX version: 1.4 OpenGL core profile version string: 4.6.0 NVIDIA 396.24.02 OpenGL core profile shading language version string: 4.60 NVIDIA OpenGL version string: 4.6.0 NVIDIA 396.24.02 OpenGL shading language version string: 4.60 NVIDIA OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 396.24.02 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20 GL_EXT_shader_implicit_conversions, GL_EXT_shader_integer_mix, 

您无法从Ubuntu repos安装390版本的Nvidia驱动程序,因为nvidia-390软件包可以驱动396驱动程序。

但好消息是你可以从ppa:graphics-drivers / ppa安装390驱动程序

 sudo apt purge 'nvidia.*' sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update sudo apt install nvidia-390