Как мне обновить свои модули nvidia после обновления моего ядра?

Каждый раз, когда происходит обновление ядра, графические драйверы nvidia перестают работать, потому что нет подходящего модуля ядра.

Как Ubuntu может «перекомпилировать» модуль nvidia для нового ядра?

Разве это не должно быть сделано автоматически? Я страдаю от ошибки?

16
задан 12 October 2012 в 21:12

5 ответов

Если вы установили драйвер NVIDIA в виде пакета ubuntu, он должен обновляться автоматически после каждого обновления ядра.

Вы можете установить упакованный драйвер, используя инструмент Additional Drivers на панели инструментов, или установив пакет nvidia-current.

Если вы установили драйвер nvidia непосредственно с их веб-сайта, возможно, имеет смысл удалить его перед установкой этого пакета - я не уверен, насколько он будет полезен при обнаружении конфликта.

Если вы установили пакет из репозиториев Ubuntu, вы можете попробовать перенастроить его с помощью dpkg-reconfigure, но я подозреваю, что сборка модуля nvidia запускается при установке нового ядра, и я не уверен, как это вызвать в противном случае. Традиционная деинсталляция и переустановка могут хорошо работать (sudo apt-get remove nvidia-current; sudo apt-get install nvidia-current).

0
ответ дан 12 October 2012 в 21:12

Для меня dpkg-reinfigure перестраивает драйвер Nvidia с последним ядром. Затем для вступления в силу требуется перезагрузка. Мой пример ниже использует более старые nvidia-304-updates.

sudo dpkg-reconfigure nvidia-304-updates

РЕДАКТИРОВАТЬ: мне удалось автоматизировать это, написав скрипт zz-dkpg-reconfigure-nvidia, который запускается после обновления ядра

#!/bin/bash
#
# Reconfigure nvidia driver

DRIVER=nvidia-304-updates

dpkg-reconfigure $DRIVER > /var/log/dpkg-reconfigure-nvidia.log 2>&1

exit 0

Я установил вышеупомянутый скрипт, запустив

sudo install zz-dkpg-reconfigure-nvidia /etc/kernel/postinst.d

Работает на моем ядре Ubuntu 14.04 с версии 3.13.0-29 до версии 3.13.0-36.

0
ответ дан 12 October 2012 в 21:12

Когда вы установили двоичный драйвер NVIDIA, вы, вероятно, не установили пакет dkms. Dkms следит за тем, чтобы при каждом обновлении ядра модули, поддерживающие его, перекомпилировались:

sudo apt-get install dkms

Возможно, вам придется переустановить двоичные драйверы NVIDIA впоследствии, и разрешите использовать DKMS во время настройки, так как она должна быть зарегистрирована на нем.

0
ответ дан 12 October 2012 в 21:12

Если вы хотите пересобрать только модули ядра, то вы можете просто выполнить

sudo apt-get install --reinstall nvidia-current

, если у вас установлен nvidia-current или если у вас установлен nvidia-331, тогда это должно сделать работа:

sudo apt-get install --reinstall nvidia-331

не нужно добавлять репо или устанавливать новое программное обеспечение: -)

0
ответ дан 12 October 2012 в 21:12

Обратите внимание, , что не рекомендуется устанавливать обновление ядра или драйверы из официально неподдерживаемых репозиториев! Следуйте этим инструкциям на свой страх и риск, и только если вы знаете, что делаете!

Если вы установили ядро, которое опережает текущие официальные репозитории Ubuntu (например, ядро ​​3.4 или 3.5), у вас может не получиться просто переустановить Драйверы NVIDIA.

Единственный способ заставить nvidia-drivers работать снова - это добавить следующий ppa в свои репозитории. В терминале наберите:

sudo add-apt-repository ppa:xorg-edgers/ppa

После этого сделайте sudo apt-get update и sudo apt-get install nvidia-current.

Это должно сработать. Если нет, запустите дополнительный sudo apt-get upgrade.

0
ответ дан 12 October 2012 в 21:12

Другие вопросы по тегам:

Похожие вопросы: