Чёрный экран с курсором при старте GDM

На днях установил Debian 11 на несколько ПК. Всё было отлично, кроме как на одном из ПК почему то GDM не стал загружаться. Чёрный экран с мигающем текстовым курсором…

На других ПК всё было нормально. Отличие проблемного ПК от остальных заключалось в том, что на проблемном ПК система была установлена на SSD. Может быть дело в этом. В интернете я нашёл похожую проблему. По сути, проблема заключается в том, что сам GDM запускается чуть раньше, чем начинается инициализация графической подсистемы. И на кой чёрт его несёт вперёд…

В общем, предлагают несколько решений.

Настройка сервиса GDM

Данный вариант решения проблемы предлагает отредактировать стартовые параметры сервиса GDM, чтобы тот запускался с небольшой задержкой и не лез вперёд остальной графической подсистемы.

В терминале нужно ввести от root’а команду systemctl edit gdm.service, откроется редактор сервиса GDM. В нем необходимо добавить строку ExecStartPre=/bin/sleep 2, которая создаёт задержку перед запуском самого GDM. Примерно вот так:

### Anything between here and the comment below will become the new contents of the file

[Service]
ExecStartPre=/bin/sleep 2

### Lines below this comment will be discarded

Таким образом GDM начинает запускаться после того, как инициализируется графическая подсистема.

Сделал специальный пакет для исправления проблемы:

fix-gdm
fix-gdm
Debian Package Store

Ещё одно исправление предложили в баг-трекере GNOME/GDM. Вместо торможения загрузки GDM, необходимо добавить следующие строки:

[Unit]
Wants=systemd-udev-trigger.service systemd-udev-settle.service
After=systemd-udev-trigger.service systemd-udev-settle.service

Но это не совсем корректное исправление (хотя исправление, изложенное выше, тоже трудно назвать правильным), так как после применения этих строк, появляется ошибка:

Dec 27 22:23:48 oleksandr-xps15 udevadm[260]: systemd-udev-settle.service is deprecated. Please fix gdm.service not to pull it in.

Указание порядка инициализации графической подсистемы

Этот вариант решения проблемы подходит для Arch Linux. Необходимо в файле /etc/mkinitcpio.conf добавить в массив MODULES свою графическую подсистему, чтобы та запускалась раньше, чем GDM. Например:

MODULES=(amdgpu)

Можно указать другие графические подсистемы, всё зависит от видеокарты, установленной в ПК:

  • amdgpu - для современных видеокарт AMD.
  • radeon - для устаревших видеокарт AMD.
  • nouveau - для Nvidia Nouveau.
  • i915 - для Intel.
  • mgag200 - для видеокарт Matrox.

Если в системе используется Intel в качестве графики и в модулях прописан i915, то могут появится ошибки ACPI. Для исправления этих ошибок необходимо добавить intel_agp перед i915. Чтобы проверить корректность загрузки модуля, можно ввести команду lsmod | grep intel_agp.

Источники:

Информация

На этой вкладке Вы можете поделиться своим мнением о статье с администрацией сайта.

Обратная связь