LINUX.ORG.RU

Черный экран после установки драйвера Nvidia

 , ,


1

1

Дано Debian 9.3 Nvidia GeForce GTS 450 (1245) Driver ver. 375.66

После установки драйвера по инструкции https://wiki.debian.org/ru/NvidiaGraphicsDrivers#stretch не стартует cinnamon

При загрузке системы заметил фэйл и совет посмотреть подробности так: systemctl status systemd-modules-load.service

axsmak@monolit:~$ systemctl status systemd-modules-load.service
   systemd-modules-load.service - Load Kernel Modules
   Loaded: loaded (/lib/systemd/system/systemd-modules-load.service; static; vendor prese
   Active: failed (Result: exit-code) since Sun 2018-02-11 19:27:41 +06; 27min ago
     Docs: man:systemd-modules-load.service(8)
           man:modules-load.d(5)
  Process: 223 ExecStart=/lib/systemd/systemd-modules-load (code=exited, status=1/FAILURE
 Main PID: 223 (code=exited, status=1/FAILURE)

И лог Xorg.0.log https://pastebin.com/frQWyyyn


Не знаю как ты так ставил по инструкции, но в любом случае в логах нет попытки использования драйвера Nvidia. Есть попытка использования modesetting, nouveau и в конце концов используется vesa.

Переустанавливай ещё раз по инструкции, в /usr/lib/xorg/modules/drivers должен появиться файл nvidia_drv.so.

Загрузка модуля nouveau должна быть заблокирована.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от kostik87

Добавил в sources.list contrb и non-free, обновился: sudo apt update и установил linux-headers-amd64 и nvidia-driver, перезагрузился

Не первый раз, но сейчас система чистая, только установлена

axsmak
() автор топика
Ответ на: комментарий от axsmak

Ты проверил по указанному пути наличие указанного файла (символьной ссылки), он там есть или нет, где ответ?

В инструкции указано:

3. Перезагрузите вашу систему (модуль nouveau должен автоматически добавиться в blacklist, иначе сделайте это вручную).

Ты проверил, что модуль nouveau заблокирован и не загружается? Если загружается заблокируй его загрузку сам.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от kostik87

Есть

axsmak@monolit:~$ ls -l /usr/lib/xorg/modules/drivers
итого 3008
-rw-r--r-- 1 root root  146856 ноя 17  2016 amdgpu_drv.so
-rw-r--r-- 1 root root   10440 ноя 17  2016 ati_drv.so
-rw-r--r-- 1 root root   23656 сен 24  2013 fbdev_drv.so
-rw-r--r-- 1 root root 1715568 дек 14  2016 intel_drv.so
-rw-r--r-- 1 root root   86304 окт 14 17:36 modesetting_drv.so
-rw-r--r-- 1 root root  210832 апр 22  2017 nouveau_drv.so
lrwxrwxrwx 1 root root      36 фев 11 18:52 nvidia_drv.so -> /etc/alternatives/glx--nvidia_drv.so
-rw-r--r-- 1 root root  180912 ноя 26  2016 qxl_drv.so
-rw-r--r-- 1 root root  489800 ноя 17  2016 radeon_drv.so
-rw-r--r-- 1 root root   27760 окт 28  2015 vesa_drv.so
-rw-r--r-- 1 root root  170168 ноя 17  2016 vmware_drv.so
А как заблокировать вручную? Каюсь, мне неведомо сие

axsmak
() автор топика
Ответ на: комментарий от xmikex

Есть такое

axsmak@monolit:~$ cat /etc/modprobe.d/nvidia-blacklists-nouveau.conf
# You need to run "update-initramfs -u" after editing this file.

# see #580894
blacklist nouveau

axsmak
() автор топика
Ответ на: комментарий от axsmak

Давай вывод dmesg и показывай вывод lsmod.

Вот это смущает:

lrwxrwxrwx 1 root root      36 фев 11 18:52 nvidia_drv.so -> /etc/alternatives/glx--nvidia_drv.so

Посмотри, что файл /etc/alternatives/glx--nvidia_drv.so точно существует.

Покажи вывод:

dpkg -l | grep nvidia

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 2)
Ответ на: комментарий от kostik87

dmesg https://pastebin.com/FNgsDcqu lsmod https://pastebin.com/C8WLycpv

dpkg -l | grep nvidia

axsmak@monolit:~$ dpkg -l | grep nvidia ii glx-alternative-nvidia 0.7.4 amd64 allows the selection of NVIDIA as GLX provider ii libegl-nvidia0:amd64 375.82-1~deb9u1 amd64 NVIDIA binary EGL library ii libegl1-glvnd-nvidia:amd64 375.82-1~deb9u1 amd64 Vendor neutral GL dispatch library — libEGL ii libgl1-glvnd-nvidia-glx:amd64 375.82-1~deb9u1 amd64 Vendor neutral GL dispatch library — libGL ii libgl1-nvidia-glvnd-glx:amd64 375.82-1~deb9u1 amd64 NVIDIA binary OpenGL/GLX library (GLVND variant) ii libgldispatch0-nvidia:amd64 375.82-1~deb9u1 amd64 Vendor neutral GL dispatch library — libGLdispatch ii libgles-nvidia1:amd64 375.82-1~deb9u1 amd64 NVIDIA binary OpenGL|ES 1.x library ii libgles-nvidia2:amd64 375.82-1~deb9u1 amd64 NVIDIA binary OpenGL|ES 2.x library ii libgles1-glvnd-nvidia:amd64 375.82-1~deb9u1 amd64 NVIDIA binary OpenGL|ES 1.x GLVND stub library ii libgles2-glvnd-nvidia:amd64 375.82-1~deb9u1 amd64 NVIDIA binary OpenGL|ES 2.x GLVND stub library ii libglx-nvidia0:amd64 375.82-1~deb9u1 amd64 NVIDIA binary GLX library ii libglx0-glvnd-nvidia:amd64 375.82-1~deb9u1 amd64 Vendor neutral GL dispatch library — libGLX ii libnvidia-cfg1:amd64 375.82-1~deb9u1 amd64 NVIDIA binary OpenGL/GLX configuration library ii libnvidia-eglcore:amd64 375.82-1~deb9u1 amd64 NVIDIA binary EGL core libraries ii libnvidia-glcore:amd64 375.82-1~deb9u1 amd64 NVIDIA binary OpenGL/GLX core libraries ii libnvidia-ml1:amd64 375.82-1~deb9u1 amd64 NVIDIA Management Library (NVML) runtime library ii libopengl0-glvnd-nvidia:amd64 375.82-1~deb9u1 amd64 Vendor neutral GL dispatch library — libOpenGL ii nvidia-alternative 375.82-1~deb9u1 amd64 allows the selection of NVIDIA as GLX provider ii nvidia-driver 375.82-1~deb9u1 amd64 NVIDIA metapackage ii nvidia-driver-bin 375.82-1~deb9u1 amd64 NVIDIA driver support binaries ii nvidia-driver-libs:amd64 375.82-1~deb9u1 amd64 NVIDIA metapackage (OpenGL/GLX/EGL/GLES libraries) ii nvidia-egl-common 375.82-1~deb9u1 amd64 NVIDIA binary EGL driver - common files ii nvidia-egl-icd:amd64 375.82-1~deb9u1 amd64 NVIDIA EGL installable client driver (ICD) ii nvidia-installer-cleanup 20151021+4 amd64 cleanup after driver installation with the nvidia-installer ii nvidia-kernel-common 20151021+4 amd64 NVIDIA binary kernel module support files ii nvidia-kernel-dkms 375.82-1~deb9u1 amd64 NVIDIA binary kernel module DKMS source ii nvidia-kernel-support 375.82-1~deb9u1 amd64 NVIDIA binary kernel module support files ii nvidia-legacy-check 375.82-1~deb9u1 amd64 check for NVIDIA GPUs requiring a legacy driver ii nvidia-modprobe 375.26-1 amd64 utility to load NVIDIA kernel modules and create device nodes ii nvidia-persistenced 375.26-2 amd64 daemon to maintain persistent software state in the NVIDIA driver ii nvidia-settings 375.66-1 amd64 tool for configuring the NVIDIA graphics driver ii nvidia-support 20151021+4 amd64 NVIDIA binary graphics driver support files ii nvidia-vdpau-driver:amd64 375.82-1~deb9u1 amd64 Video Decode and Presentation API for Unix - NVIDIA driver ii nvidia-vulkan-common 375.82-1~deb9u1 amd64 NVIDIA Vulkan driver - common files ii nvidia-vulkan-icd:amd64 375.82-1~deb9u1 amd64 NVIDIA Vulkan installable client driver (ICD) ii xserver-xorg-video-nvidia 375.82-1~deb9u1 amd64 NVIDIA binary Xorg driver

axsmak
() автор топика
Ответ на: комментарий от axsmak

Судя по списку файлов https://packages.debian.org/ru/stretch/amd64/xserver-xorg-video-nvidia/filelist в пакете ссылка заместо

/usr/lib/xorg/modules/drivers/nvidia_drv.so -> /etc/alternatives/glx--nvidia_drv.so
должна быть:
/usr/lib/xorg/modules/drivers/nvidia_drv.so -> /usr/lib/nvidia/current/nvidia_drv.so

Скорее всего, первая ссылка битая.

kostik87 ★★★★★
()

Типичный дебиан - простейшие вещи в нём требуют анальной долбёжки с негарантированным результатом

anonymous
()
Ответ на: комментарий от axsmak

Уважаемый, как ты думаешь, зачем в форме помещения сообщения на форум написан вот этот текст:

Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки LORCODE

Поместить Предпросмотр Отменить
В особенности кнопка Предпросмотр.

Скажи читать удобно твою кашу?

kostik87 ★★★★★
()
Ответ на: комментарий от axsmak

Проверяй ссылку, переключай её на /usr/lib/nvidia/current/nvidia_drv.so.

А сейчас есть ли в выводе lsmod модуль nouveau и nvidia?

lsmod | grep "nouveua\|nvidia"

kostik87 ★★★★★
()

можешь попровать с офсайта скачать установщик. там вроде новее версия для gts450 linux 64bit

xmikex ★★★★
()
Ответ на: комментарий от yrii2121

Конфиг не нужен. Не ту версию смотришь. Смотри 375.66

axsmak
() автор топика
Ответ на: комментарий от xmikex

хз, если честно, то я давно не ставил проприетарные драйвера для nvidia на стационарный комп.
И я чутка с пунктом №2 промахнулся, он чуть ниже, для «Версия 340.102 (legacy GPUs)». Кажется случайно колесиком крутанул после перехода.
А так пишут пока так:

Драйвер nvidia автоматически не обнаруживается сервером Xorg, поэтому его надо сконфигурировать.

yrii2121
()
Ответ на: комментарий от kostik87

Проверяй ссылку, переключай её на /usr/lib/nvidia/current/nvidia_drv.so.

Переключил, перегрузился, нет эффекта

lsmod | grep «nouveua\|nvidia» не выводит ничего

axsmak
() автор топика
Ответ на: комментарий от axsmak

Ну раз ничего не выводит - значит модуль nouveau не загружается, т.к. заблокирован, а модуль nvidia не загружается, т.к. не собран.

Видимо, потому, что не установлен пакет linux-headers под используемую версию ядра.

Устанавливай и переустанавливай драйвер nvidia.

Честно не знаю как средствами dkms собрать модуль nvidia под ядро, наверное есть способ, гугли.

А сейчас ставь linux-headers и собирай модуль nvidia без него ничего работать не будет.

apt-cache search linux-headers

Ставь версию соответствующую вывод

uname -r
видимо, ты его не поставил, т.к. если бы он был установлен, то модуль nvidia был был собран и загружен.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от kostik87

Честно не знаю как средствами dkms собрать модуль nvidia под ядро, наверное есть способ, гугли.

там есть спец пакет nvidia-kernel-dkms

yrii2121
()
Ответ на: комментарий от kostik87

Заголовочные установил, я об этом писал уже во втором сообщении, кажется.

Ладно, попробую установить с оф.сайта после ужина. Потом отпишусь о результате

axsmak
() автор топика
Ответ на: комментарий от axsmak

Ну-ну, вперёд с офф сайта, потом будешь плодить новые темы - у меня ничего не работает.

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

Честно, первый раз с таким сталкиваюсь, что в Debian такие проблемы.

Скорее всего, ты что-то мутишь и не рассказываешь всего как ты ставил.

Если такие проблемы, то переставь Debian, подключи non-free репозиторий, поставь linux-headers под используемое ядро и далее ставь nvidia-drivers.

Но с официального сайта Nvidia не ставь драйвер, будет перезаписаны часть файлов и это вызовет больше проблем.

UPD:
Показывай вывод:

uname -r
dpkg -l | grep linux-headers
dkms status

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)

Удалить пакеты nvidia, которые поставил из реп, удалить пакеты с nouveau. Установить DKMS, установить linux-headers для своего ядра, установить дрова через инсталлер nvidia с офф сайта

SR_team ★★★★★
()
Ответ на: комментарий от kostik87

Переустановил систему, добавил себя в visudo, установил dkms, заголовочные и дрова

Больше _ничего_ не делал

После перезагрузки та же история

axsmak@monolit:~$ uname -r && dpkg -l | grep linux-headers && sudo dkms status
4.9.0-4-amd64
ii  linux-headers-4.9.0-5-amd64           4.9.65-3+deb9u2                             amd64        Header files for Linux 4.9.0-5-amd64
ii  linux-headers-4.9.0-5-common          4.9.65-3+deb9u2                             all          Common header files for Linux 4.9.0-5
ii  linux-headers-amd64                   4.9+80+deb9u3                               amd64        Header files for Linux amd64 configuration (meta-package)
[sudo] пароль для axsmak: 
nvidia-current, 375.82: added
axsmak@monolit:~$ 
axsmak
() автор топика
Ответ на: комментарий от axsmak

Проверь, что не загружен модуль nouveau, заблокируй его загрузку.

Далее

dkms install nvidia-current

Далее удостоверься, что появился модуль ядра под текущее ядро:

find /lib/modules/ -type f -iname nvidia*

UPD:
В выводе uname -r у тебя релиз 4.9.0-4-amd64, а linux-headers установлены для версии 4.9.0-5-amd64

Почему так?

Установи linux-image версии 4.9.0-5, ну либо последней в репозитории, а потом версию linux-headers для него, если это не 4.9.0-5.

После чего себери модуль.

А так, вот и нет у тебя модуля под твоё ядро.

Неужели ты не видишь, что версия загруженного ядра и linux-headers не совпадает?

apt-get update
apt-cache search linux-image

и ставь ту версию linux-image для которой есть linux-headers.

Если linux-image-4.9.0-5 уже установлена:

dpkg -l | grep linux-image
то грузи последнюю версию, в общем ту, для которой есть linux-headers.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 3)
Ответ на: комментарий от kostik87

Решение

Спасибо за помощь. Проблема была в следующем:

axsmak@monolit:~$ uname -r
4.9.0-4-amd64
axsmak@monolit:~$ dpkg -l | grep linux-headers
ii  linux-headers-4.9.0-4-amd64           4.9.65-3+deb9u1                             amd64        Header files for Linux 4.9.0-4-amd64
ii  linux-headers-4.9.0-4-common          4.9.65-3+deb9u1                             all          Common header files for Linux 4.9.0-4
ii  linux-headers-4.9.0-5-amd64           4.9.65-3+deb9u2                             amd64        Header files for Linux 4.9.0-5-amd64
ii  linux-headers-4.9.0-5-common          4.9.65-3+deb9u2                             all          Common header files for Linux 4.9.0-5
ii  linux-headers-amd64                   4.9+80+deb9u3                               amd64        Header files for Linux amd64 configuration (meta-package)
axsmak@monolit:~$ 

Ядро 4.9.0-4-amd64, но следуя инструкции я получил заголовки на 4.9.0-5-amd64 (см. выше вывод dpkg -l | grep linux-headers). Как следствие дровишки не собирались. Понял я это попытавшись, по совету kostik87, установить драйвер ручками. Команда sudo dkms install nvidia-current/375.82 -k 4.9.0-4-amd64 ругнулась на отсутствие заголовков требуемой версии.

Установил нужные заголовки, установил драйвер вышеупомянутой командой и вуаля, после перезагрузки всё завелось!

Результат

axsmak
() автор топика
Ответ на: Решение от axsmak

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

Команда sudo dkms install nvidia-current/375.82 -k 4.9.0-4-amd64 ругнулась на отсутствие заголовков требуемой версии.

Это можно было и так понять сравнив вывод dpkg -l | grep linux-headers и uname -r, версии установленных пакетов linux-headers не соответствовали версии ядра. Об этом и тебе и написал, правда не сразу сам увидел это.

Но лучше использовать последние версии пакетов с драйверами.

Удачи.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от anonymous

Это в основном в щтабильной версии, не только в дебиане.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.