Вопрос или проблема
У меня есть проблема, которая сводит меня с ума, и я не смог найти решение в интернете, поэтому буду признателен, если кто-то укажет мне правильное направление. У меня ноутбук MSI Prestige с установленной Kubuntu 22.04. Мне пришлось установить ядро 5.18, чтобы заработал Wi-Fi. Я также установил драйверы NVIDIA 515.48 (это решило некоторые проблемы с перегревом, которые у меня были). Так что сейчас кажется, что все работает хорошо, но есть маленькая случайная проблема: Plasma не всегда запускается автоматически. Обычно, когда компьютер загружается, sddm не запускается, и мне приходится переключаться на другую консоль, перезапускать sddm, и все работает нормально. Это обычная процедура, но иногда sddm запускается нормально сам по себе при загрузке, а иногда все зависает, и мне приходится перезагружать компьютер. Ошибка, которую я вижу в syslog, выглядит так:
sddm[1002]: Не удалось прочитать номер дисплея из канала
sddm[1002]: Не удалось запустить дисплейный сервер на vt 1
Некоторые из параметров, которые у меня есть в grub и которые, я читал, могут помочь:
ibt=off rd.driver.blacklist=nouveau nvidia-drm.modeset=1
Я читал, что это может быть связано с тем, что sddm запускается до того, как GPU правильно инициализирован, но не уверен, действительно ли это так и как это исправить.
Если у кого-то есть идеи, это было бы отлично
journalctl -b0 -u sddm.service
выдает
3 июл 13:33:44 valinor systemd[1]: Запуск менеджера простого рабочего стола...
3 июл 13:33:44 valinor systemd[1]: Запущен менеджер простого рабочего стола.
3 июл 13:33:44 valinor sddm[1002]: Инициализация...
3 июл 13:33:44 valinor sddm[1002]: Запуск...
3 июл 13:33:44 valinor sddm[1002]: Интерфейс Logind найден
3 июл 13:33:44 valinor sddm[1002]: Добавление нового дисплея на vt 1 ...
3 июл 13:33:44 valinor sddm[1002]: Загрузка конфигурации темы из ""
3 июл 13:33:44 valinor sddm[1002]: Запуск дисплейного сервера...
3 июл 13:33:44 valinor sddm[1002]: Добавление cookie в "/var/run/sddm/{025b077b-f1fd-44f3-8b88-0a9cb7b3af50}"
3 июл 13:33:44 valinor sddm[1002]: Запуск: /usr/bin/X -nolisten tcp -auth /var/run/sddm/{025b077b-f1fd-44f3-8b88-0a9cb7b3af50} -background none -noreset -displayfd 17 -seat seat0 vt1
3 июл 13:33:44 valinor sddm[1002]: Не удалось прочитать номер дисплея из канала
3 июл 13:33:44 valinor sddm[1002]: Не удалось запустить дисплейный сервер на vt 1
3 июл 13:34:39 valinor sddm[1002]: Сигнал получен: SIGTERM
3 июл 13:34:39 valinor systemd[1]: Остановка менеджера простого рабочего стола...
3 июл 13:34:39 valinor systemd[1]: sddm.service: успешно деактивирован.
3 июл 13:34:39 valinor systemd[1]: Остановлен менеджер простого рабочего стола.
3 июл 13:34:40 valinor systemd[1]: Запуск менеджера простого рабочего стола...
3 июл 13:34:40 valinor systemd[1]: Запущен менеджер простого рабочего стола.
3 июл 13:34:40 valinor sddm[1384]: Инициализация...
3 июл 13:34:40 valinor sddm[1384]: Запуск...
3 июл 13:34:40 valinor sddm[1384]: Интерфейс Logind найден
3 июл 13:34:40 valinor sddm[1384]: Добавление нового дисплея на vt 1 ...
3 июл 13:34:40 valinor sddm[1384]: Загрузка конфигурации темы из ""
3 июл 13:34:40 valinor sddm[1384]: Запуск дисплейного сервера...
3 июл 13:34:40 valinor sddm[1384]: Добавление cookie в "/var/run/sddm/{be1b0a15-08c9-4487-9982-0b6bfe194842}"
3 июл 13:34:40 valinor sddm[1384]: Запуск: /usr/bin/X -nolisten tcp -auth /var/run/sddm/{be1b0a15-08c9-4487-9982-0b6bfe194842} -background none -noreset -displayfd 17 -seat seat0 vt1
3 июл 13:34:41 valinor sddm[1384]: Установка курсора по умолчанию
3 июл 13:34:42 valinor sddm[1384]: Запуск сценария настройки дисплея "/usr/share/sddm/scripts/Xsetup"
3 июл 13:34:44 valinor sddm[1384]: Дисплейный сервер запущен.
3 июл 13:34:44 valinor sddm[1384]: Запуск сокет-сервера...
3 июл 13:34:44 valinor sddm[1384]: Сокет-сервер запущен.
3 июл 13:34:44 valinor sddm[1384]: Загрузка конфигурации темы из "/usr/share/sddm/themes/ubuntu-theme/theme.conf"
3 июл 13:34:44 valinor sddm[1384]: Запуск приветствующего экрана...
3 июл 13:34:44 valinor sddm-helper[1473]: [PAM] Запуск...
3 июл 13:34:44 valinor sddm-helper[1473]: [PAM] Аутентификация...
3 июл 13:34:44 valinor sddm-helper[1473]: [PAM] возврат.
3 июл 13:34:44 valinor sddm-helper[1473]: pam_unix(sddm-greeter:session): сессия открыта для пользователя sddm(uid=119) (uid=0)
3 июл 13:34:44 valinor sddm[1384]: Сессия приветствующего экрана успешно запущена
3 июл 13:34:44 valinor sddm[1384]: Сообщение получено от приветствующего экрана: Подключить
3 июл 13:34:48 valinor sddm[1384]: Сообщение получено от приветствующего экрана: Вход
3 июл 13:34:48 valinor sddm[1384]: Чтение из "/usr/share/xsessions/plasma.desktop"
3 июл 13:34:48 valinor sddm[1384]: Чтение из "/usr/share/xsessions/plasma.desktop"
3 июл 13:34:48 valinor sddm[1384]: Сессия "/usr/share/xsessions/plasma.desktop" выбрана, команда: "/usr/bin/startplasma-x11"
3 июл 13:34:48 valinor sddm-helper[1548]: [PAM] Запуск...
3 июл 13:34:48 valinor sddm-helper[1548]: [PAM] Аутентификация...
3 июл 13:34:48 valinor sddm-helper[1548]: [PAM] Подготовка к разговору...
3 июл 13:34:48 valinor sddm-helper[1548]: [PAM] Разговор с 1 сообщениями
3 июл 13:34:48 valinor sddm-helper[1548]: pam_kwallet5(sddm:auth): pam_kwallet5: pam_sm_authenticate
3 июл 13:34:48 valinor sddm-helper[1548]: [PAM] возврат.
3 июля 13:34:48 valinor sddm[1384]: Аутентификация успешна
3 июля 13:34:48 valinor sddm-helper[1548]: pam_kwallet5(sddm:setcred): pam_kwallet5: pam_sm_setcred
3 июля 13:34:48 valinor sddm-helper[1548]: pam_unix(sddm:session): сессия открыта для пользователя morales(uid=1000) (uid=0)
3 июля 13:34:48 valinor sddm-helper[1548]: pam_kwallet5(sddm:session): pam_kwallet5: pam_sm_open_session
3 июля 13:34:48 valinor sddm-helper[1548]: Запуск: "/etc/sddm/Xsession \"/usr/bin/startplasma-x11\""
3 июля 13:34:48 valinor sddm[1384]: Сессия запущена
3 июля 13:34:48 valinor sddm[1384]: Auth: sddm-helper успешно завершен
3 июля 13:34:48 valinor sddm[1384]: Приветствующий экран остановлен.
замечу, что он не удается при запуске, и тогда я вручную перезапустил sddm
egrep 'EE|WW' /var/log/Xorg.0.log
[ 60.502] Текущая операционная система: Linux valinor 5.18.0-051800-generic #202205222030 SMP PREEMPT_DYNAMIC Вс 22 мая 20:33:46 UTC 2022 x86_64
(WW) предупреждение, (EE) ошибка, (NI) не реализовано, (??) неизвестно.
[ 60.503] (WW) Директория "/usr/share/fonts/X11/cyrillic" не существует.
[ 60.503] (WW) Директория "/usr/share/fonts/X11/100dpi/" не существует.
[ 60.503] (WW) Директория "/usr/share/fonts/X11/75dpi/" не существует.
[ 60.503] (WW) Директория "/usr/share/fonts/X11/100dpi" не существует.
[ 60.503] (WW) Директория "/usr/share/fonts/X11/75dpi" не существует.
[ 60.693] (WW) Переход к старому методу пробного поиска для fbdev
[ 61.194] (WW) NVIDIA(G0): Не удалось получить устройство дисплея для вычисления DPI.
[ 61.324] (II) Инициализация расширения MIT-SCREEN-SAVER
[ 77.145] (WW) Опция "xkb_variant" требует строковое значение
[ 77.145] (WW) Опция "xkb_options" требует строковое значение
[ 2414.441] (EE) event10 - MSNB0001:00 06CB:CDAA Touchpad: ошибка ядра: обнаружен иDiscarded Touch jump.
[ 2545.249] (EE) event10 - MSNB0001:00 06CB:CDAA Touchpad: ошибка ядра: обнаружен иDiscarded Touch jump.
[ 2550.256] (EE) modeset(0): Не удалось установить свойство CTM: -13
[ 2550.257] (EE) modeset(0): не удалось установить режим: Такой файл или директория не существует
[ 2583.546] (WW) Опция "xkb_variant" требует строковое значение
[ 2583.546] (WW) Опция "xkb_options" требует строковое значение
Я добавляю cat /var/log/gpu-manager.log
log_file: /var/log/gpu-manager.log
last_boot_file: /var/lib/ubuntu-drivers-common/last_gfx_boot
new_boot_file: /var/lib/ubuntu-drivers-common/last_gfx_boot
не удается получить доступ /opt/amdgpu-pro/bin/amdgpu-pro-px
Поиск модулей nvidia в /lib/modules/5.18.0-051800-generic/kernel
Поиск модулей nvidia в /lib/modules/5.18.0-051800-generic/updates/dkms
Найден модуль nvidia.ko в /lib/modules/5.18.0-051800-generic/updates/dkms/nvidia.ko
Поиск модулей amdgpu в /lib/modules/5.18.0-051800-generic/kernel
Поиск модулей amdgpu в /lib/modules/5.18.0-051800-generic/updates/dkms
Загружен ли nvidia? да
Был ли nvidia выгружен? нет
В черном списке ли nvidia? нет
Загружен ли intel? да
Загружен ли radeon? нет
В черном списке ли radeon? нет
Загружен ли amdgpu? нет
В черном списке ли amdgpu? нет
Версионировано ли amdgpu? нет
Является ли amdgpu про стеком? нет
Загружен ли nouveau? нет
В черном списке ли nouveau? да
Доступен ли модуль ядра nvidia? да
Доступен ли модуль ядра amdgpu? нет
Идентификатор поставщика/устройства: 8086:46a6
BusID "PCI:0@0:2:0"
Является ли vga загрузкой? да
Идентификатор поставщика/устройства: 10de:25a2
BusID "PCI:1@0:0:0"
не удается открыть /sys/bus/pci/devices/0000:01:00.0/boot_vga
Является ли vga загрузкой? нет
не удается открыть /sys/bus/pci/devices/0000:01:00.0/boot_vga
Тип шасси: "10"
Обнаружен ноутбук
не удается получить доступ к файлу /etc/u-d-c-nvidia-runtimepm-override
Найден json-файл: /usr/share/doc/nvidia-driver-515-server/supported-gpus.json
Файл /usr/share/doc/nvidia-driver-515-server/supported-gpus.json не найден
Поддерживается ли nvidia runtime pm для "0x25a2"? да
Попытка создать новый файл: /run/nvidia_runtimepm_supported
Проверка состояния питания в /proc/driver/nvidia/gpus/0000:01:00.0/power
Состояние D3 в реальном времени: Включено (тонкое управление)
Поддерживается ли nvidia runtime pm для "0x25a2"? да
Попытка создать новый файл: /run/nvidia_runtimepm_enabled
Пропускаем "/dev/dri/card1", управляемый "i915"
Пропускаем "/dev/dri/card0", управляемый "nvidia-drm"
Пропускаем "/dev/dri/card1", управляемый "i915"
Пропускаем "/dev/dri/card0", управляемый "nvidia-drm"
Пропускаем "/dev/dri/card1", управляемый "i915"
Пропускаем "/dev/dri/card0", управляемый "nvidia-drm"
Найдено "/dev/dri/card1", управляемый "i915"
output 0:
card1-eDP-1
output 1:
card1-DP-1
Количество подключенных выходов для /dev/dri/card1: 2
Требуется ли перенаправление? нет
последний номер карт = 2
Есть ли amd? нет
Есть ли intel? да
Есть ли nvidia? да
Сколько карт? 2
Изменилась ли система? Нет
需等候 nvidia udev 规则完成.
Обнаружен IGP Intel
Гибридная система NVIDIA
Создание /usr/share/X11/xorg.conf.d/11-nvidia-offload.conf
Установка управления питанием на "авто" в /sys/bus/pci/devices/0000:01:00.0/power/control
и dkms status
nvidia/515.48.07, 5.15.0-39-generic, x86_64: установлен
nvidia/515.48.07, 5.18.0-051800-generic, x86_64: установлен
Я начинаю думать, что проблема связана с этой проблемой: https://github.com/sddm/sddm/issues/1316
На быстром компьютере запуск sddm происходит слишком быстро.
Я задержал запуск sddm на 10 секунд. До сих пор я загрузил свой компьютер дважды, и все, кажется, работает, и sddm запустился сам по себе.
Ответ или решение
Проблема: SDDM не запускается — Не удалось прочитать номер дисплея из канала
Вступление
Вы столкнулись с проблемой запуска SDDM (Simple Desktop Display Manager) на Kubuntu 22.04. Конкретная ошибка, которую вы наблюдаете, — это "Failed to read display number from pipe". Эта проблема может быть вызвана рядом факторов, включая неправильную инициализацию графического процессора, проблемы с драйверами или конфигурацией системы.
Причины и диагностика
-
Старт SDDM до инициализации GPU: Одной из возможных причин является то, что SDDM запускается до того, как графический процессор NVIDIA правильно инициализируется. Это явно показывает ваша запись журнала:
sddm[1002]: Failed to read display number from pipe
Это может происходить, если система пытается запустить дисплейный сервер на виртуальном терминале (VT), который еще не готов.
-
Проблемы с драйверами NVIDIA: Вы используете драйверы NVIDIA версии 515.48.02. Хотя это решило некоторые из ваших проблем, важно убедиться, что драйверы установлены и активно загружаются для используемого вами ядра (5.18). Вы подтверждаете это с помощью команды
dkms status
, которая показывает, что драйвер успешно установлен для вашего ядра. -
Конфигурация GRUB: Ваши параметры загрузки GRUB, такие как
ibt=off
,rd.driver.blacklist=nouveau
, иnvidia-drm.modeset=1
, важны для корректной работы системы. Правильные значения могут помочь избежать конфликтов между графическими драйверами. -
Системные журналы: Вы уже посмотрели журнал
journalctl -b0 -u sddm.service
, и это хороший шаг. Он показывает последовательность запуска SDDM и, возможно, указывает на временные задержки, связанные с инициализацией GPU.
Решения
На основании вашего описания и анализа, вот несколько шагов, которые можно предпринять для решения проблемы:
-
Отложенный запуск SDDM: Вы уже начали отложенно запускать SDDM на 10 секунд, что, похоже, дало положительный результат. Это подтверждает, что время инициализации системы может быть критическим. Рассмотрите возможность увеличения этого времени, если проблема сохраняется.
-
Перезапуск SDDM при проблемах: Ваша текущая практика перезагрузки SDDM через другой консольный терминал является временным обходным решением. Можно создать скрипт, который будет это делать автоматически при обнаружении ошибки.
-
Обновление драйверов: Убедитесь, что вы используете самую последнюю версию драйверов NVIDIA, особенно если вышли обновления. Это может устранить известные ошибки и улучшить совместимость с вашим графическим оборудованием.
-
Проверка конфигурации Xorg: Убедитесь, что конфигурация Xorg (включая
/etc/X11/xorg.conf
и файлы в/usr/share/X11/xorg.conf.d/
) правильно настроена для вашего оборудования. Неправильные опции могут вызывать сбои. -
Журнал GPU: Внимательно изучите
/var/log/gpu-manager.log
. Отметьте, что некоторые посты указывают на проблемы с инициализацией графического процессора, это может свидетельствовать о необходимости изменения конфигурации. -
Проверка фреймворка: В вашем случае возможно использование другого дисплейного менеджера, такого как GDM или LightDM, для проверки, сохраняется ли проблема.
Заключение
Проблемы с запуском SDDM могут быть вызваны множеством факторов, и ваше решение с задержкой запуска выглядит многообещающим. Рекомендуется продолжать мониторинг и проверку всех изменений, чтобы стабилизировать работу системы. Если проблемы сохраняются, вы можете обратиться на форумы, посвященные поддержке Kubuntu или NVIDIA, чтобы получить более конкретные советы согласно вашему уникальному оборудованию и конфигурации.
Не забудьте периодически обновлять ваше программное обеспечение, так как это может предотвратить появление новых ошибок и повысить общую стабильность системы.