wayland with Nvidia

环境:thinkpad l14

安装了nvidia驱动:550.54

启用wayland :安装plasma-wayland-session qt5-wayland qt6-wayland xorg-xwayland egl-wayland 等

在wayland下,optimus-manager不能使用,默认intel集显,开启nvidia模块

File: /etc/dracut.conf.d/nvidia.conf
───────┼────────────────────────────────────────────────────────────────────────────
 force_drivers+=" nvidia nvidia_modeset nvidia_uvm nvidia_drm "

手动增加启动项参数,例如在archlinux下: /etc/kernel/cmdline 文件中增加 fbdev=1 nvidia-drm.modeset=1

使用reinstall-kernel 重新编译initrd,设置内核启动项参数,或者使用其他工具。

重启后能启动nvidia显卡驱动:

lsmod |rg nvidia
nvidia_drm            122880  5
nvidia_uvm           6631424  0
nvidia_modeset       1605632  3 nvidia_drm
video                  77824  3 thinkpad_acpi,i915,nvidia_modeset
nvidia              60362752  64 nvidia_uvm,nvidia_modeset

重启前,需要设置sddm的wayland支持:

     │ File: /etc/sddm.conf.d/10-wayland.conf
───────┼────────────────────────────────────────────────────────────────────────────
  [General]
 DisplayServer=wayland
 GreeterEnvironment=QT_WAYLAND_SHELL_INTEGRATION=layer-shell
 
 [Wayland]
 CompositorCommand=kwin_wayland --drm --no-lockscreen --no-global-shortcuts  --locale1 --inputmethod qtvirtualkeyboard

另外,xinput的环境变量需要注销,增加GBM backend 的设置,在系统环境变量配置文件中加入下列环境变量,例如在archlinux的/etc/environment的文件中

QT_QPA_PLATFORMTHEME="wayland;xcb"
QT_IM_MODULE=fcitx
GTK_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
GBM_BACKEND=nvidia-drm
__GLX_VENDOR_LIBRARY_NAME=nvidia
ENABLE_VKBASALT=1
LIBVA_DRIVER_NAME=nvidia

注意
启用后fctix5会提示删除环境变量 GTK_IM_MODULE=fcitx 和 QT_IM_MODULE=fcitx
但是一些应用还在使用xserver,删除后fcitx无法在这些应用中启动,所以建议保留这两个环境变量

参考链接

https://www.maketecheasier.com/wayland-work-with-nvidia-graphics-cards/

https://wiki.archlinux.org/title/Dracut

https://wiki.archlinux.org/title/NVIDIA#DRM_kernel_mode_setting

https://wiki.archlinux.org/title/SDDM#Running_under_Wayland

posted on 2024-02-29 08:24  Tmacy  阅读(176)  评论(0编辑  收藏  举报

导航