LINUX.ORG.RU

Plasma nvidia wayland

 , ,


0

1

Всем привет! Подскажите, пожалуйста, такая связка вообще работоспособна? Я вот сколько не бьюсь - всё равно не получается стартовать KDE. При выборе сессии Plasma Wayland - монитор уходит в спящий режим.

Ужё повключал в ядре всё, что касается KMS - что я только не делал (с).

При запуске ядра использую следующий параметр: nvidia-drm.modeset=1

Но, обратил винимание, что в dmesg следующая строка:

nvidia_drm: unknown parameter 'modeset' ignored

Такое ощущение, что этот KMS вообще не активируется, хотя следующие модули загружены:

nvidia_modeset       1077248  18
nvidia              19963904  1027 nvidia_modeset
nvidia_drm             16384  0

Ядро: 5.6.3-gentoo

Драйвер:

x11-drivers/nvidia-drivers-440.82-r2 X acpi driver kms libglvnd multilib tools uvm wayland -compat -gtk3 -static-libs

Глобальные флаги:

USE="wayland egl elogind gles gles2"

При запуске из lightdm сессии weston происходит выход обратно на экран lightdm.

Есть ли у кого-то история успеха с текущим ядром и драйвером? Поделитесь, пожалуйста!

Ужё повключал в ядре всё

Блобу нужен CONFIG_DRM_KMS_HELPER, эту опцию отдельно не дают включить, потому нужно включить что-то зависящее от неё, либо поправить исходники ядра: в drivers/gpu/drm/Kconfig под DRM_KMS_HELPER добавить default m.

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

Блобу нужен CONFIG_DRM_KMS_HELPER, эту опцию отдельно не дают включить, потому нужно включить что-то зависящее от неё, либо поправить исходники ядра: в drivers/gpu/drm/Kconfig под DRM_KMS_HELPER добавить default m.

Я это включил (но не как модуль, а y):

# cat /lib/modules/$(uname -r)/build/.config | grep CONFIG_DRM_KMS_HELPER
CONFIG_DRM_KMS_HELPER=y
Rubystar ★★ ()
Последнее исправление: Rubystar (всего исправлений: 1)
Ответ на: комментарий от anonymous

Нужен пропатченный на поддержку eglstream.

Weston собран с такими флагами:

=dev-libs/weston-8.0.0 X desktop drm gles2 jpeg launch lcms resize-optimization suid wayland-compositor xwayland -colord -editor -examples -fbdev -fullscreen -headless -ivi -pipewire -rdp -remoting -screen-sharing -systemd -test -webp

Флага gles2 недостаточно?

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

Нужен вот с этими патчами: https://aur.archlinux.org/packages/weston-eglstream/

gles2

Отключать не советую, тк неизвестно что генто-мейнтейнеры под этим понимают, но GL ES нафиг не нужен на десктопе, потому что в egl прекрасно можно создавать полноценный opengl контекст.

anonymous ()

Теоретически работоспособна уже год как, поддержка EGLStreams вмерджена в kwin 5.16. Практически ментейнеры часто кладут на тестирование вяленого. Насколько я вижу, нужно включать при сборке KWIN_BUILD_EGL_STREAM_BACKEND=ON, см. https://phabricator.kde.org/D18570

Запускай с tty env QT_LOGGING_RULES="*.debug=true" kwin_wayland 2>stderr.out и смотри лог, в первую очередь сообщения с префиксом "kwin_wayland_drm: ". Ну и сообщения от драйвера nvidia в dmesg тоже.

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

Все пишут про это: /sys/module/nvidia_drm/parameters/modeset

У меня же такая картина:

cat /sys/module/nvidia_drm/parameters/modeset

cat: /sys/module/nvidia_drm/parameters/modeset: Нет такого файла или каталога

Значит ли, что ядро сконфигурировано неправильно?

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

Единственное предположение, учитывая, что modeset=1 ты передаешь и nvidia_drm на него реагирует. Судя по https://download.nvidia.com/XFree86/Linux-x86_64/396.51/README/kms.html , нужен только уже упомянутый CONFIG_DRM_KMS_HELPER. Я вижу, что ты удостоверился в том, что ядро собрано с ним, проверив .config в build директории. Проверь /proc/config.gz, вдруг на самом деле твоя система по какой-либо причине загружена не с тем ядром, которое должно собраться с этим конфигом.

shatsky ★★ ()
Ответ на: комментарий от shatsky
# zcat /proc/config.gz | grep KMS
CONFIG_DRM_KMS_HELPER=y
CONFIG_DRM_KMS_FB_HELPER=y
# CONFIG_DRM_VKMS is not set

# zcat /proc/config.gz | grep DRM
CONFIG_DRM=y
# CONFIG_DRM_DP_AUX_CHARDEV is not set
# CONFIG_DRM_DEBUG_MM is not set
# CONFIG_DRM_DEBUG_SELFTEST is not set
CONFIG_DRM_KMS_HELPER=y
CONFIG_DRM_KMS_FB_HELPER=y
# CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
# CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set
# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
# CONFIG_DRM_DP_CEC is not set
# CONFIG_DRM_I2C_CH7006 is not set
# CONFIG_DRM_I2C_SIL164 is not set
# CONFIG_DRM_I2C_NXP_TDA998X is not set
# CONFIG_DRM_I2C_NXP_TDA9950 is not set
# CONFIG_DRM_RADEON is not set
# CONFIG_DRM_AMDGPU is not set
# CONFIG_DRM_NOUVEAU is not set
# CONFIG_DRM_I915 is not set
# CONFIG_DRM_VGEM is not set
# CONFIG_DRM_VKMS is not set
# CONFIG_DRM_VMWGFX is not set
# CONFIG_DRM_GMA500 is not set
# CONFIG_DRM_UDL is not set
# CONFIG_DRM_AST is not set
# CONFIG_DRM_MGAG200 is not set
# CONFIG_DRM_CIRRUS_QEMU is not set
# CONFIG_DRM_QXL is not set
# CONFIG_DRM_BOCHS is not set
# CONFIG_DRM_VIRTIO_GPU is not set
CONFIG_DRM_PANEL=y
CONFIG_DRM_BRIDGE=y
CONFIG_DRM_PANEL_BRIDGE=y
# CONFIG_DRM_ANALOGIX_ANX78XX is not set
# CONFIG_DRM_ETNAVIV is not set
# CONFIG_DRM_GM12U320 is not set
# CONFIG_DRM_VBOXVIDEO is not set
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y

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

Возможно, при сборке модулей драйвера nvidia (он же не совсем блобом распространяется) отключаются фичи, которые не поддерживаются ядром, относительно которого выполняется сборка. Попробуй сделать emerge -1 nvidia-drivers с новым ядром.

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

Спасибо! После пересборки с текущим ядром появился параметр и даже KDE стал запускаться в режиме Wayland. Но это что-то не очень работоспособное - мышь не работает, панель падает каждую минуту. Пока собираю GNOME для сравнения.

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

По моему опыту стремные глюки KDE/Plasma обычно вызваны совместной работой разных его частей разных версий, либо собранных относительно разных версий зависимостей. Это даже в NixOS нормально не решено на данный момент, увы (например, у меня после последнего апдейта начал падать kwin при попытке отобразить window switcher, как выяснилось - из-за того, что в окружении пользователя завалялся kwin предыдущей версии, который я собирал для эксперимента сбоку от системного, и плазма запускала именно его, а не тот, который был собран как ее зависимость - в исходниках plasma, похоже, захардкожен запуск kwin из $PATH).

shatsky ★★ ()