Nvidia-driver-410 依赖于 nvidia-driver-418?

Nvidia-driver-410 依赖于 nvidia-driver-418?

尝试安装nvidia-driver-410Ubuntu 19.04 时,会尝试安装几个附加软件包,包括nvidia-driver-418。在这种情况下,正在使用较新的驱动程序,这在我的平台上导致一个重大问题(音频无法通过 HDMI 工作)。

我该如何解决这个问题?这种依赖性有什么原因吗?

我已经尝试明确排除这种依赖性,但是失败了:

$ sudo apt-get install nvidia-driver-410 nvidia-driver-418-

The following packages have unmet dependencies:
nvidia-driver-410 : Depends: nvidia-driver-418 but it is not going to be installed

更新:刚刚发现这nvidia-driver-410是 的过渡包nvidia-driver-418,因此部分是合理的。但我仍然不知道为什么无法安装旧驱动程序。

答案1

我使用 ppa 解决了这个问题,但是来自 Ubuntu 19.04 存储库的过渡包nvidia-driver-410并没有让事情变得简单。

首先,添加驱动程序 ppa:

sudo add-apt-repository ppa:graphics-drivers/ppa

您还可以添加包含驱动程序的 NVidia 官方 CUDA 存储库,但目前没有 Ubuntu 19.04 版本(https://www.tensorflow.org/install/gpu)。

然后找到 ppa 中可用的 410 驱动程序的版本:

$ apt policy nvidia-dkms-410
nvidia-dkms-410:
  Installed: 410.104-0ubuntu1
  Candidate: 418.56-0ubuntu1
  Version table:
     418.56-0ubuntu1 500
        500 http://ftp.icm.edu.pl/pub/Linux/ubuntu disco/restricted amd64 Packages
     410.104-0ubuntu1 500
        500 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu disco/main amd64 Packages
        100 /var/lib/dpkg/status

请注意,第一个软件包418的版本名称中有 ,因为它实际上是 的过渡软件包nvidia-driver-418。是的,软件包nvidia-driver-410实际上安装了nvidia-driver-418。不知道为什么,但这是 Debian 发行版上所有 NVidia 驱动程序的常见模式。

我们复制第二个包的版本名称,即410.104-0ubuntu1。我们现在可以使用它来安装真正的 410 驱动程序:

sudo apt install nvidia-driver-410=410.104-0ubuntu1

由于默认选择过渡包,因此需要明确指定版本。但要小心!这可能会建议您安装 418 个包。请仔细阅读附加包列表!我不知道这是否是最好的解决方案,但我通过用 410 个等效包明确覆盖请求中的每个 418 个包解决了这个问题:

sudo apt install nvidia-driver-410=410.104-0ubuntu1 libnvidia-compute-410=410.104-0ubuntu1 xserver-xorg-video-nvidia-410=410.104-0ubuntu1 libnvidia-encode-410=410.104-0ubuntu1 nvidia-dkms-410=410.104-0ubuntu1 libnvidia-gl-410=410.104-0ubuntu1 nvidia-kernel-source-410=410.104-0ubuntu1 nvidia-compute-utils-410=410.104-0ubuntu1 libnvidia-decode-410=410.104-0ubuntu1 nvidia-utils-410=410.104-0ubuntu1 libnvidia-cfg1-410=410.104-0ubuntu1 libnvidia-ifr1-410=410.104-0ubuntu1 libnvidia-fbc1-410=410.104-0ubuntu1 libnvidia-common-410=410.104-0ubuntu1 nvidia-kernel-common-410=410.104-0ubuntu1

例如,当 apt 建议时,nvidia-kernel-common-418我将其添加nvidia-kernel-common-410=410.104-0ubuntu1到我的命令中。虽然很累,但很有效。以某种方式更改存储库的优先级可能更容易,但我不知道该怎么做。

编辑:

正如@fkraiem 指出的那样,我们可以优先考虑 ppa 存储库,以避免这么长的命令。

创建文件/etc/apt/preferences.d/graphics-drivers

Package: *
Pin: release o=LP-PPA-graphics-drivers                            
Pin-Priority: 700

现在发出命令:

sudo apt install nvidia-driver-410

现在首选包含真实驱动程序包(而不是 418 的过渡包)的 PPA 存储库,以便正确安装驱动程序元包和所有依赖项。

相关内容