Как я могу заставить мой (Linux) компьютер использовать драйверы Nvidia?

585
machineghost

Я на Linux Mint 18 (MATE).

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

После долгих попыток и прочтения других вопросов о супер-пользователях я:

  • Удалил все пакеты Nvidia
  • Переустановил пакет nvidia-384
    • плюс некоторые связанные пакеты, такие как nvidia-settingsиnvidia-prime
    • (Prime - это функция для таких компьютеров, как мой, у которых есть как встроенная видеокарта Intel, так и отдельная видеокарта NVidia; предполагается, что я позволю использовать оба интеллектуально, но на этом этапе я бы согласился на использование только Nvidia карточка 100% времени)
  • Побежал sudo update-alternatives --config x86_64-linux-gnu_gl_confи выбрал Nvidia (кажется, это не имеет значения; все, что я выбрал, сбрасывается после перезагрузки)
  • Ран nvidia-xconfig генерировать свежий xorg.conf
  • Я даже отредактировал конфигурацию GRUB, чтобы он не выбирал драйвер Noveau:
    • GRUB_CMDLINE_LINUX_DEFAULT="quiet splash noveau.modset=0"

Но мой компьютер все еще отказывается использовать драйверы Nvidia, или, по крайней мере, полностью. Они вроде работают ... если я бегу

 lspci | grep -i nvidia 

Я получил:

01:00.0 VGA compatible controller: NVIDIA Corporation GK104M [GeForce GTX 870M] (rev a1) 01:00.1 Audio device: NVIDIA Corporation GK104 HDMI Audio Controller (rev a1) 

(до этого ничего не было перечислено). Также, если я бегу:

sudo update-alternatives --config x86_64-linux-gnu_gl_conf 

он видит параметр Nvidia, но независимо от того, сколько раз я выбираю его, он возвращается к параметру Mesa после перезагрузки:

There are 3 choices for the alternative x86_64-linux-gnu_gl_conf (providing /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf).  Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/nvidia-384/ld.so.conf 8604 auto mode 1 /usr/lib/nvidia-384-prime/ld.so.conf 8603 manual mode 2 /usr/lib/nvidia-384/ld.so.conf 8604 manual mode * 3 /usr/lib/x86_64-linux-gnu/mesa/ld.so.conf 500 manual mode 

Но когда я запускаю, nvidia-settingsон просто говорит мне ERROR: Unable to load info from any available system, и если я бегу sudo prime-select queryпосле перезагрузки, он просто говорит «Неизвестно». Затем я могу запустить, sudo prime-select nvidiaи он выберет Nvidia ... но затем (как файл альтернатив) он вернется к неизвестному после следующей перезагрузки.

Итак, я чувствую, что я действительно близко, и мне просто нужно что- то сделать, чтобы мой компьютер использовал драйвер Nvidia и, что более важно, продолжал использовать его после перезагрузки. Кто-нибудь может помочь?

PS Еще один способ, которым я могу сказать, что драйвер NVidia не используется, - это то, что я не вижу свой второй монитор (ну, в-третьих, если считать монитор дисплея ноутбука), который подключен к карте Nvidia; Я вижу только ноутбук и монитор № 1. Когда карта Nvidia работает, я вижу оба монитора.

PPS Я также пытался удалить драйвер MESA из списка альтернатив sudo update-alternatives --remove x86_64-linux-gnu_gl_conf /usr/lib/x86_64-linux-gnu/mesa/ld.so.conf, но это не помогло. Теперь, когда я запускаю, sudo update-alternatives --config x86_64-linux-gnu_gl_confон утверждает, /usr/lib/nvidia-390/ld.so.confчто используется, но когда я пытаюсь запустить nvidia-settingsего, он утверждает, что иначе:

ERROR: NVIDIA driver is not loaded   ERROR: Unable to load info from any available system 
0
Почему вы не просто используете Driver Manager? acejavelin 5 лет назад 0
Я использовал это, но это не помогло. В настоящее время он установлен на nvidia-384. Странно то, что у него есть опции для 390 и 396, которые я даже не установил, но когда я их установил, я попытался переключиться на них с помощью диспетчера драйверов, и это не помогло. machineghost 5 лет назад 0
Я бы также порекомендовал Driver Manager, но то, что вы описали, кажется правильным, IMO. Возможно, мне не хватает чего-то важного или, может быть, вы не очистили его должным образом перед переустановкой драйверов. Вы уверены, что использовали `sudo apt purge nvidia *`? Звездочка имеет значение. GabrielaGarcia 5 лет назад 0
Я использую 396 на данный момент, а не вопросы. Может быть, проблема началась из-за понижения? В любом случае, это не должно иметь значения, если все материалы nvidia были удалены (команда в предыдущем комментарии). GabrielaGarcia 5 лет назад 0
Да, я определенно запустил `sudo apt purge nvidia *` :( Затем я переустановил 384. Что касается проблемы с запуском, она началась, когда я ** поднялся ** оценил. Я не уверен, какой именно пакет вызвал это, потому что я слепо использовал менеджер обновлений, по глупости думая, что это будет безопасно. machineghost 5 лет назад 0
Просто снова запустил все, чтобы перепроверить, и на этот раз попробовал 396: `sudo apt-get purge nvidia *` `sudo apt install nvidia-396 nvidia-settings`, проверьте диспетчер драйверов (он уже переключился на 396), перезагрузите компьютер, и ... `nvidia-settings`` ОШИБКА: невозможно загрузить информацию из любой доступной системы`. Но `lspci | grep -i nvidia` показывает `01: 00.0 VGA-совместимый контроллер: NVIDIA Corporation GK104M [GeForce GTX 870M] (rev a1)`, и диспетчер драйверов все еще думает, что я на 396. machineghost 5 лет назад 0
Да, и `sudo update-альтернативы --config x86_64-linux-gnu_gl_conf` вернулась в` / usr / lib / x86_64-linux-gnu / mesa / ld.so.conf`. machineghost 5 лет назад 0

1 ответ на вопрос

0
machineghost

Это оказалось самой странной вещью. В каком-то случайном сообщении на форуме кто-то предположил, что настройка Secure Boot в BIOS может вызвать проблему, поэтому я перезагрузился, зашел в настройки BIOS и, конечно же, включил. Я выключил его, продолжил загрузку, и вдруг все работало нормально после этого.

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