При попытке установить nvidia-driver-410
Ubuntu 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
, так что это частично имеет смысл. Я до сих пор не знаю, почему нет способа установить более старый драйвер.
Я решил это с помощью ppa, но переходный пакет nvidia-driver-410
из репозиториев Ubuntu 19.04 не облегчил его.
Сначала добавьте драйверы ppa:
sudo add-apt-repository ppa:graphics-drivers/ppa
Вы также можете добавить официальный репозиторий NVIDIA CUDA, который включает драйверы, но на данный момент нет версии Ubuntu 19.04 ( https: // www.tensorflow.org/install/gpu).
Затем найдите версию драйверов 410, доступных в ppa:
$ 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
. Не знаю почему, но это общая схема для всех драйверов NVidia в дистрибутивах Debian.
Мы копируем название версии второго пакета, то есть 410.104-0ubuntu1
. Теперь мы можем использовать его для установки реального драйвера 410:
sudo apt install nvidia-driver-410=410.104-0ubuntu1
Требуется явная спецификация версии, поскольку переходный пакет выбран по умолчанию. БУДЬТЕ ОСТОРОЖНЫ! Это может предложить вам установить 418 пакетов в любом случае. Внимательно прочитайте список дополнительных пакетов! Я не знаю, является ли это лучшим решением, но я решил его, явно переопределив каждый пакет 418 в моем запросе с 410 эквивалентами:
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
E.g. когда 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
Репозиторий PPA, содержащий реальный пакет драйверов (а не переходный пакет для 418). ) теперь предпочтительнее, поэтому метапакет драйвера и все зависимости установлены правильно.