Цикл входа, вероятно, из-за драйверов 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
[...]
Глядя на многообещающие ответы на этот вопрос, я попробовал следующее:
- Проверьте право собственности на
.Xauthority
принадлежит мне, а неroot
(это принадлежит мне) - Перенастройка
lightdm
- Переустановка
lightdm
- Проверьте, если мой
/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
должен функционировать правильно.