Як оновити модулі nvidia після оновлення ядра?


16

Щоразу, коли відбувається оновлення ядра, графічні драйвери nvidia перестають працювати, оскільки не існує дійсного модуля ядра.

Який спосіб ubuntu 'перекомпілювати' модуль nvidia для нового ядра?

Чи не слід це робити автоматично? Я страждаю клопом?

Відповіді:


5

Якщо ви встановили драйвер NVIDIA як пакет ubuntu, його слід оновити автоматично після кожного оновлення ядра.

Ви можете встановити упакований драйвер за допомогою Additional Driversінструменту на інформаційній панелі або встановити пакет nvidia-current.

Якщо ви встановили драйвер nvidia безпосередньо зі свого веб-сайту, можливо, доцільно видалити його перед встановленням цього пакету - я не впевнений, наскільки це буде добре при виявленні конфлікту.

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


Я встановив драйвер nvidia через пакет Ubuntu. Але оновлення ядра не викликало перекомпіляцію мого модуля nvidia. Дякуємо за поради.
fazineroso

4

Для мене dpkg-переконфігурація відновлює драйвер Nvidia з останнім ядром. Потім це вимагає перезавантаження, щоб набути чинності. Мій приклад нижче використовує старі оновлення nvidia-304.

sudo dpkg-reconfigure nvidia-304-updates

EDIT: Мені вдалося автоматизувати це, написавши сценарій, 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.


4

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

sudo apt-get install dkms

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


Я зіткнувся з тим же питанням і щойно зрозумів, що не встановив, dkmsпрочитавши цю відповідь.
yaobin

3

Якщо ви хочете відновити модулі ядра лише тоді, ви можете просто виконати

sudo apt-get install --reinstall nvidia-current

якщо у вас встановлено nvidia-current або якщо у вас встановлено nvidia-331, це повинно виконати цю роботу:

sudo apt-get install --reinstall nvidia-331

не потрібно додавати репо або встановлювати нове програмне забезпечення :-)


1

Зверніть увагу, що не рекомендується встановлювати оновлення ядра, а також драйвери з офіційно непідтримуваних сховищ! Дотримуйтесь цих інструкцій на свій страх і ризик, і лише якщо ви знаєте, що робите!

Якщо ви встановили ядро, яке випереджає поточні офіційні сховища Ubuntu (наприклад, ядро ​​3.4 або 3.5), можливо, вам не вдасться просто встановити драйвери nvidia.

Єдиний спосіб, який я знайшов поки що змусити драйвери nvidia знову працювати, - додавши наступні ppa у свої сховища. У термінальному типі:

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

Після цього зробіть sudo apt-get updateі sudo apt-get install nvidia-current.

Це повинно зробити трюк. Якщо ні, запустіть додатковий sudo apt-get upgrade.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.