在安装NVIDIA的专有驱动并重启后,发现GNOME登录后进入的会话为X11,因为刚一登录的时候鼠标指针是一个X,以及触控板的三指操作和在Firefox里的操作失效了,再加上我用的Qt程序的外观自己与我系统主题统一了。按照我的配置文件,它应该要使用Wayland会话登录,而这个应该是X11的表现。
在Debian的Wiki中,我们可以看到在Wayland页面上有这样一句话:
GDM (GNOME Display Manager) will automatically use Wayland when supported, except when using the proprietary NVIDIA driver, in which case it will fall back to X11 due to instability.
也就是说,GDM确实是默认支持Wayland的,但是如果使用NVIDIA的专有驱动,它就会变回X11。所以登录界面右下角的齿轮里只有使用X11的GNOME和GNOME Classic。
如果需要在安装NVIDIA专有驱动后为GDM启用Wayland,需要如此操作:
设置DRM内核模式 链接到标题
参考:https://wiki.archlinux.org/title/NVIDIA#DRM_kernel_mode_setting
流程:
请在终端中执行以下命令以检查nvidia_drm的状态
sudo cat /sys/module/nvidia_drm/parameters/modeset
如果输出的是Y,则不需要进行此操作。如果是N,则需要进行如下操作。
编辑 /etc/default/grub ,在 GRUB_CMDLINE_LINUX_DEFAULT 这一项参数的末尾加上一个空格,然后加上这个参数:
nvidia_drm.modeset=1
然后执行以下命令以跟更新启动的配置文件
sudo update-grub
之后,重启电脑,检查nvidia_drm的状态,如果输出为Y则可以进行下一步操作
禁用规则 链接到标题
参考:https://wiki.archlinux.org/title/GDM#Wayland_and_the_proprietary_NVIDIA_driver
你需要执行以下命令
sudo ln -s /dev/null /etc/udev/rules.d/61-gdm.rules
这个命令会创建一个规则以覆盖 /usr/lib/udev/rules.d/ 里的GDM的一项规则,这个规则会在检测到NVIDIA专有驱动的时候停用GDM的Wayland。
完成之后,重启,问题应该已经解决。
验证 链接到标题
打开终端,执行
echo $XDG_SESSION_TYPE
将会输出当前的会话类型。