Проблема с ядром 4.18.0.11.12: черный экран видео

У меня была комедия с ошибками видео, которые все восходят к обновлению ядра в Ubuntu 18.10 космический. Ядро 4.18.0.11.12 вызывает проблемы, ну, во всяком случае, и я не могу понять, почему это работает для всех.

В случае, если у вас на разных этапах "черный экран смерти", я советую не советоваться много играть с конфигурацией для видео или диспетчера отображения. Вместо этого загрузитесь с более старого ядра, чтобы увидеть, исчезнут ли проблемы. Самым сложным для большинства пользователей будет выяснить, как заставить Ubuntu показывать меню grub для выбора ядра (они сделали это сложно, но есть инструкции: https://wiki.ubuntu.com/RecoveryMode).

Симптомы проблемы вращаются вокруг

  1. Черный экран смерти с сообщением об отказе от ключей ПКС
  2. Невозможно запустить диспетчер отображения (gdm3 или lightdm)
  3. Внешние мониторы не распознаются (программами для настольных ПК или xrandr)
  4. Черный экран смерти на резюме от приостановки.

Это ноутбук Dell Precision 5510 с графикой Nvidia и Intel:

    *-display
            description: 3D controller
            product: GM107GLM [Quadro M1000M]
            vendor: NVIDIA Corporation
            physical id: 0
            bus info: pci@0000:01:00.0
            version: a2
            width: 64 bits
            clock: 33MHz
            capabilities: bus_master cap_list rom
            configuration: driver=nouveau latency=0
            resources: irq:125 memory:dc000000-dcffffff 
  memory:b0000000-bfffffff memory:c0000000-c1ffffff ioport:e000

   *-display
         description: VGA compatible controller
         product: HD Graphics 530
         vendor: Intel Corporation
         physical id: 2
         bus info: pci@0000:00:02.0
         version: 06
         width: 64 bits
         clock: 33MHz
         capabilities: vga_controller bus_master cap_list rom
         configuration: driver=i915 latency=0
         resources: irq:126 memory:db000000-dbffffff  
memory:70000000-7fffffff ioport:f000(size=64) memory:c0000-dffff

Я не осознавал, что в основе моей проблемы лежит обновление ядра, я преследовал множество симптомов, которые указывали на использование либо gdm3, либо lightdm в качестве диспетчера дисплея, затем драйверов Nvidia, затем настройки режима, но в конце концов я сделать вывод, что именно это ядро ​​вызывает проблемы, которые я не могу решить. Я снова запускаю 4.18.10

Первым симптомом, который я увидел, была неспособность начать. После фазы grub у меня был черный экран с сообщением

PKCS#7 signature not signed with a trusted key

Система не отвечала на Alt-Ctl-F2 или что-то подобное, VT не было возможно. Комментарии на этом форуме указали пальцем на драйверы Nvidia. Оглядываясь назад, это может быть недостаток gdm3, а не Nvidia ( загрузка Ubuntu 18.04 при подписи PKCS#7 не подписана доверенным ключом, Ubutnu 18.04 - после обновления - ошибка подписи Display/PKCS#7). Я никогда не решал это.

Я использовал логин восстановления, чтобы очистить драйверы Nvidia и убрать xorg.conf. Я бы работал с драйверами Intel.

После этого, когда gdm3 был дисплеем дисплеев, я вышел на черный экран с одним "_", показывающим верхний левый угол на экране. Одним из предложений было то, что gdm3 пытался запустить сеанс Wayland. Я попытался исправить, чтобы отключить Wayland ( gdm3 не запускается в Ubuntu 18.04), без помощи. Эти посты предполагают, что есть способ заставить работать gdm3, но больше постов рекомендуют использовать lightdm.

Поэтому я изменил диспетчер отображения на lightdm. Тем не менее, даже после этого у меня был черный экран смерти после grub, и я нашел совет по поводу установки параметров в настройках grub для nomodeset или применения ограничений для nouveau. После долгих раздумий система дойдет до окна входа в систему. Однако после этого я увидел 2 проблемы. Видео не возобновлялось после приостановки (но я мог войти с SSH), и внешние мониторы не были обнаружены (вероятно, из-за всех шагов настройки режима, которые я предпринял).

Не понимая, что настройки режима, вероятно, приводили к игнорированию внешних мониторов, я переустановил драйверы nvidia (надеясь, что проблема с ключом PKCS решится сама собой). Это привело к появлению черного экрана смерти при запуске, но Alt-Ctl-F2 разрешил VT, чтобы я мог посмотреть на dmesg.

После многих перезапусков я наконец решил попробовать старое ядро, 4.18.0-10, и после этого запускается lightdm. Приостановить будет работать. Мне пришлось удалить все вещи, которые я вставил в конфигурацию grub (и перезапустить update-grub), чтобы заставить работать внешние мониторы. Кроме того, в файле nvidia /lib/modprobe.d/nvidia-kms.conf его нужно было вернуть

# This file was generated by nvidia-prime
# Set value to 0 to disable modesetting
options nvidia-drm modeset=1

и initramfs должны были быть выполнены.

Я нашел много сайтов и сообщений о проблемах с видео, и они могут дать полезные советы, но ни один из них не помог мне с ядром 4.18.0.11.12. Я потратил пару дней, гоняясь за этими исправлениями, но хотелось бы сначала протестировать старое ядро.

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

Единственное "исправление видео", которое я выучил, - абсолютно точно - ценное - это удалить 2 строки из /etc/environment. Я не знаю наверняка, как эти строки были вставлены туда, но это произошло в предыдущей версии Ubuntu (либо с помощью пакета, такого как gnome-wobbly-windows, либо из-за моих ручных усилий по исправлению разрывов экрана в 2017 году). Эти последние 2 строки в /etc/environment о CLUTTER необходимо закомментировать (или полностью удалить):

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
## CLUTTER_PAINT=disable-clipped-redraws:disable-culling
## CLUTTER_VBLANK=True

Если вы не внесете это изменение, то видео внутри рабочего стола Ubuntu Gnome с драйверами nvidia будет фрагментированным и нестабильным. Эти две строки, насколько я могу судить, были вставлены некоторыми пакетами спецэффектов в более старой Ubuntu (возможно, 17.10), и они доставляли мне много хлопот только с Gnome, но не с XFCE4. Поскольку проблема появилась только в Gnome, я знал, что это не проблема Nvidia. ( Проблема с графикой в ​​Ubuntu 18.04 - размытый текст + мерцание экрана)

О поиске и устранении неполадок с новым ядром: я хочу попробовать еще раз, но я хочу, чтобы кто-нибудь дал совет о том, полезно ли даже пробовать и как лучше всего это сделать.

1 ответ

Решение

У меня есть один способ исправить проблему черного экрана. Пожалуйста, смотрите сообщение на форуме Nvidia Linux: https://devtalk.nvidia.com/default/topic/1044730/linux/x-displays-in-a-small-section-of-screen-something-in-my-grub-setup-wrong-

Я сделал ряд изменений, прежде чем мы поняли фундаментальную проблему. В какой-то момент пакет gdm создал пользователя gdm с неправильным номером пользователя и создал домашнюю папку пользователя в / home / gdm. Чтобы это исправить, мне пришлось принудительно удалить пакет gdm, а затем вручную удалить пользователя gdm из / etc / passwd и / etc / group. Затем после переустановки я получил нового пользователя gdm с uid ниже 1000 и без новой папки в / home / gdm. Это изменение само по себе может исправить проблему. Это наверняка вызывает черный экран смерти, если ваш идентификатор пользователя (в /etc/passwd) больше 1000.

Однако я внес другие изменения. С новым ядром Ubuntu я уверен, что следующие загрузочные элементы необходимы, чтобы предотвратить черный экран смерти после возобновления приостановки:

Это детали шагов, которые я предпринял. У меня есть блок в файле / etc / default / grub, например:

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=menu
## GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="nosplash"
GRUB_CMDLINE_LINUX="nouveau.blacklist=1 acpi_rev_override=1 acpi_osi=Linux  nouveau.modeset=0 pcie_aspm=force drm.vblankoffdelay=1 scsi_mod.use_blk_mq=1 nouveau.runpm=0 mem_sleep_default=deep"

Существует ошибка в ядре, которая требует этого (согласно форуму Nvidia).

Во-вторых, в / etc / default / было предложено установить

[daemon]
WaylandEnable=false

Это было необходимо, чтобы побудить GDM использовать X11, а не Wayland. Однако после сегодняшнего тестирования я обнаружил, что gdm3 запускается независимо от того, есть ли у меня этот параметр.

В-третьих, у меня работает nvidia-driver-410. Я считаю, что это также будет работать с nvidia-driver-390 или nvidia-driver-415. Однако после исправления gdm я перестал подключать альтернативные драйверы.

Драйверы nvidia устанавливаются из PPA:

$  cat graphics-drivers-ubuntu-ppa-cosmic.list
deb http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu cosmic main
# deb-src http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu cosmic main

РЕДАКТИРОВАТЬ 2018-12-07: я забыл упомянуть это дополнительное изменение:

в /lib/modprobe/nvidia-kms.confЯ отключил настройку режима KMS:

$ cat /lib/modprobe.d/nvidia-kms.conf
# This file was generated by nvidia-prime
# Set value to 0 to disable modesetting
options nvidia-drm modeset=0

Я считаю, что это был важный шаг в решении проблемы, заключающейся в том, что экран ноутбука не был "заполнен" дисплеем X11.

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