Использование графического драйвера NVIDIA приводит к зависанию компьютера
Некоторое время назад я добавил graphics-drivers
PPA и установил драйвер 415. Я решил вернуться к своему первоначальному драйверу, 390, но, похоже, допустил ошибку - снял PPA перед переключением. Когда я попытался переключиться с 415 на 390, я получил сообщение об ошибке (точное сообщение не помню, но в нем упоминался кеш).
При использовании драйвера 390 у меня не может быть выбранным NVIDIA. Если я это сделаю, я обнаружу, что:
- Моя система не может загрузиться с рабочего стола должным образом, вместо этого я застрял в коротком цикле между загрузочным логотипом Ubuntu и терминалом, залитым следующим, повторяющимся снова и снова, прежде чем заканчиваться черным экраном:
Запуск NVIDIA персистентного демона
Остановка демона сохранения NVIDIA
- Использование определенных инструментов NVIDIA приводит к зависанию экрана. Например, если я использую
nvidia-settings
экран зависает. Если я используюnvidia-bug-report.sh
система зависает только после генерацииnvidia-bug-report.log.gz
:
,
____________________________________________
Start of NVIDIA bug report log file. Please include this file, along
with a detailed description of your problem, when reporting a graphics
driver bug via the NVIDIA Linux forum (see devtalk.nvidia.com)
or by sending email to 'linux-bugs@nvidia.com'.
nvidia-bug-report.sh Version: 23805530
Date: Wed 27 Feb 02:08:52 GMT 2019
uname: Linux u-rdm 4.18.0-15-generic #16~18.04.1-Ubuntu SMP Thu Feb 7 14:06:04 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
command line flags:
Когда я бегу lspci -v
записи, связанные с графикой, выглядят следующим образом:
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (rev 07) (prog-if 00 [VGA controller])
Subsystem: Dell UHD Graphics 620
Flags: bus master, fast devsel, latency 0, IRQ 130
Memory at d4000000 (64-bit, non-prefetchable) [size=16M]
Memory at b0000000 (64-bit, prefetchable) [size=256M]
I/O ports at f000 [size=64]
[virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
Capabilities: <access denied>
Kernel driver in use: i915
Kernel modules: i915
01:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 940MX] (rev a2)
Subsystem: Dell GM108M [GeForce 940MX]
Flags: bus master, fast devsel, latency 0, IRQ 142
Memory at d2000000 (32-bit, non-prefetchable) [size=16M]
Memory at c0000000 (64-bit, prefetchable) [size=256M]
Memory at d0000000 (64-bit, prefetchable) [size=32M]
I/O ports at e000 [size=128]
Expansion ROM at d3000000 [disabled] [size=512K]
Capabilities: <access denied>
Kernel driver in use: nouveau
Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia
Если я бегу glxinfo
нет ссылки на NVIDIA. Кажется, идет с интегрированной графикой:
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) UHD Graphics 620 (Kabylake GT2)
Когда я впервые столкнулся с этой проблемой, я вспоминаю попытки очистить и переустановить пакеты NVIDIA, но безрезультатно.
Я заметил, что работает lsmod
нет появления nvidiafb
модуль, упомянутый lspci
, Кроме того, работает sudo modprobe nvidia
приводит к зависанию системы.
В настоящее время, dpkg -l | grep nvidia
дает мне следующий вывод:
ii libnvidia-cfg1-390:amd64 390.77-0ubuntu0.18.04.2 amd64 NVIDIA binary OpenGL/GLX configuration library
ii libnvidia-common-390 390.77-0ubuntu0.18.04.2 all Shared files used by the NVIDIA libraries
ii libnvidia-compute-390:amd64 390.77-0ubuntu0.18.04.2 amd64 NVIDIA libcompute package
ii libnvidia-compute-390:i386 390.77-0ubuntu0.18.04.2 i386 NVIDIA libcompute package
ii libnvidia-decode-390:amd64 390.77-0ubuntu0.18.04.2 amd64 NVIDIA Video Decoding runtime libraries
ii libnvidia-decode-390:i386 390.77-0ubuntu0.18.04.2 i386 NVIDIA Video Decoding runtime libraries
ii libnvidia-encode-390:amd64 390.77-0ubuntu0.18.04.2 amd64 NVENC Video Encoding runtime library
ii libnvidia-encode-390:i386 390.77-0ubuntu0.18.04.2 i386 NVENC Video Encoding runtime library
ii libnvidia-fbc1-390:amd64 390.77-0ubuntu0.18.04.2 amd64 NVIDIA OpenGL-based Framebuffer Capture runtime library
ii libnvidia-fbc1-390:i386 390.77-0ubuntu0.18.04.2 i386 NVIDIA OpenGL-based Framebuffer Capture runtime library
ii libnvidia-gl-390:amd64 390.77-0ubuntu0.18.04.2 amd64 NVIDIA OpenGL/GLX/EGL/GLES GLVND libraries and Vulkan ICD
ii libnvidia-gl-390:i386 390.77-0ubuntu0.18.04.2 i386 NVIDIA OpenGL/GLX/EGL/GLES GLVND libraries and Vulkan ICD
ii libnvidia-ifr1-390:amd64 390.77-0ubuntu0.18.04.2 amd64 NVIDIA OpenGL-based Inband Frame Readback runtime library
ii libnvidia-ifr1-390:i386 390.77-0ubuntu0.18.04.2 i386 NVIDIA OpenGL-based Inband Frame Readback runtime library
ii nvidia-compute-utils-390 390.77-0ubuntu0.18.04.2 amd64 NVIDIA compute utilities
ii nvidia-dkms-390 390.77-0ubuntu0.18.04.2 amd64 NVIDIA DKMS package
ii nvidia-driver-390 390.77-0ubuntu0.18.04.2 amd64 NVIDIA driver metapackage
ii nvidia-kernel-common-390 390.77-0ubuntu0.18.04.2 amd64 Shared files used with the kernel module
ii nvidia-kernel-source-390 390.77-0ubuntu0.18.04.2 amd64 NVIDIA kernel source package
ii nvidia-prime 0.8.8.2 all Tools to enable NVIDIA's Prime
ii nvidia-settings 390.77-0ubuntu0.18.04.1 amd64 Tool for configuring the NVIDIA graphics driver
ii nvidia-utils-390 390.77-0ubuntu0.18.04.2 amd64 NVIDIA driver support binaries
ii xserver-xorg-video-nvidia-390 390.77-0ubuntu0.18.04.2 amd64 NVIDIA binary Xorg driver
Результат dkms status
является следующим:
nvidia, 390.77, 4.18.0-15-generic, x86_64: installed
Содержание /var/log/Xorg.0.log
показано здесь: https://pastebin.com/wBr470Cx
РЕДАКТИРОВАТЬ:
Вдаваясь в /var/log/syslog
Я заметил некоторые сообщения об ошибках. Во-первых, было напечатано следующее:
Failed to query NVIDIA devices. Please ensure that the NVIDIA device files (/dev/nvidia*) exist, and that user 123 has read and write permissions for those files.
Об этом, кажется, сообщают здесь. Чтобы это исправить, я назначил владельца /dev/nvidia*
к nvidia-persistenced
группа, которая работала. Эта конкретная ошибка исчезла, но все еще присутствовало следующее:
The daemon no longer has permission to remove its runtime data directory /var/run/nvidia-persistenced
Я нашел решение для этого здесь. Перезапуск после исправления этого, с prime-select nvidia
загрузка застряла на этапе "Запущенный пользовательский менеджер для UID 121".
В настоящее время я отмечаю, что могу бежать nvidia-settings
без проблем, но получите следующий вывод:
ERROR: Error querying enabled displays on GPU 0 (Missing Extension).
ERROR: Error querying enabled displays on GPU 0 (Missing Extension).
** Message: PRIME: No offloading required. Abort
** Message: PRIME: is it supported? no
ERROR: nvidia-settings could not find the registry key file. This file should
have been installed along with this driver at
/usr/share/nvidia/nvidia-application-profiles-key-documentation. The
application profiles will continue to work, but values cannot be
preopulated or validated, and will not be listed in the help text.
Please see the README for possible values and descriptions.
Я исправил ошибку файла реестра путем копирования /usr/share/nvidia/nvidia-application-profiles-<version info>-key-documentation
в /usr/share/nvidia/nvidia-application-profiles-key-documentation
, но Missing Extension
ошибки остались. Далее я побежал sudo apt purge nvidia-*
, добавил графику-драйверы PPA, apt update
д и установлен nvidia-390
, Теперь единственная ошибка при использовании nvidia-settings
является:
ERROR: Unable to load info from any available system
Бег nvidia-bug-report.sh
в этот момент ноутбук больше не зависает, но сгенерированный файл остается тем же самым (нет информации выше горизонтальной линии).