Цикл входа, вероятно, из-за драйверов NVIDIA с установленной CUDA

Несколько дней назад я побежал sudo apt update + upgrade на моей Ubuntu 16.04. Я не делал этого около 2 месяцев. Тем временем я сменил видеокарту с GTX 1060 на GTX 1070.

Когда сегодня я попытался войти в систему, я обнаружил, что вошел в раздражающий бесконечный цикл входа в систему. Это содержание моего xsessions-errors журнал:

X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  155 (NV-GLX)
  Minor opcode of failed request:  4 ()
  Resource id in failed request:  0x3d0
  Serial number of failed request:  46
  Current serial number in output stream:  46
openConnection: connect: No such file or directory
cannot connect to brltty at :0
[...]

Глядя на многообещающие ответы на этот вопрос, я попробовал следующее:

  1. Проверьте право собственности на .Xauthority принадлежит мне, а не root (это принадлежит мне)
  2. Перенастройка lightdm
  3. Переустановка lightdm
  4. Проверьте, если мой /home/ заполнен (используется при 44%)

все безуспешно. Затем я начал верить, что моя проблема заключается в обновлении драйверов NVIDIA, поскольку я читал несколько источников на различных веб-сайтах, объясняющих, что это общая проблема. Стоит добавить, что я не делал никаких последних изменений в ./profile или подобный, и никогда не запускайте команду startx в моей жизни.

Я нашел следующие потенциальные решения моей проблемы, связанные с драйверами NVIDIA:

  • установка nvidia-current драйверы (старше, чем последние, поддерживаемые NVIDIA), как предложено здесь;
  • переустановка драйверов NVIDIA с помощью nvidia-installer.sh как предложено здесь;

Моя проблема в том, что на своем компьютере я провел десятки часов, настраивая CUDA, в тонком балансе с драйверами NVIDIA и различными пакетами. Для установки CUDA мне также пришлось установить определенную версию ядра Ubuntu (4.4).

Есть ли шанс, что моя среда CUDA сломается, если я коснусь драйверов? Есть ли что-нибудь еще, что я мог бы попытаться исправить?

2 ответа

Решение

Другим людям, сталкивающимся с той же проблемой, я предлагаю попробовать следующее:

mv .Xauthority .Xauthority-backup

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

В моем случае, однако, на самом деле работало то, что я боялся делать, то есть переустанавливать драйверы NVIDIA. Для пользователей CUDA версия драйвера, которую необходимо установить, определяется документацией. В моем случае, поскольку у меня была CUDA 9.1, это как минимум версия драйвера 390.46 (на момент, когда я пишу этот ответ, конечно).

Я следовал инструкциям на этом сайте, чтобы (пере) установить нужные мне драйверы. На самом деле я также нашел этот пост на форуме CUDA, написанный модератором, объясняющий, как на его опыте использование этого источника для драйверов может не всегда работать, так как они официально не выпущены NVIDIA. В моем случае это все еще работало, и поэтому я делюсь этим.

Сначала удалите установленные драйверы NVIDIA:

sudo apt-get purge nvidia*

Добавьте репозиторий для графического драйвера:

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

Затем установите правильную версию драйверов (в моем случае xxx = 390)

sudo apt install nvidia-xxx

И наконец

reboot

Теперь проблема с логином должна быть решена. В моем случае среда CUDA не пострадала, и весь мой проект по-прежнему работал нормально.

Решением является попытка переустановить драйвер и перенастроить lightdm. В худшем случае вам нужно будет снова установить CUDA, но сначала попробуйте переустановить драйвер, загрузив установщик из nvidia(скрипт оболочки).

Есть ли шанс, что моя среда CUDA сломается, если я коснусь драйверов? Есть ли что-нибудь еще, что я мог бы попытаться исправить?

Не обязательно. Пока ваши водители на месте. nvcc должен функционировать правильно.

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