debian13(debian trixie)安装了nvidia闭源驱动后从x11切换到wayland的方法

我的 debian 13环境如下

  • Debian 13 (Trixie)
  • GNOME Shell 48.7
  • NVIDIA 550.163
  • RTX 3060 Laptop
  • Intel(i7-11800H) + NVIDIA 混合显卡
  • Wayland

之前还是用的开源驱动 nouveau。安装好了 nvidia 闭源驱动后发现默认回退到了 x11(display protocol),检索到下面这些可参考文章(中文环境)

  1. https://www.cnblogs.com/embedded-notes/p/18944596
  2. https://blog.see2night.top/posts/debian-12-gnome-%E6%A1%8C%E9%9D%A2%E6%8A%98%E8%85%BE
  3. https://www.bilibili.com/opus/1094844441492979717
  4. https://ivonblog.com/posts/debian-install-nvidia-drivers/

但是这些文章对于我来说都只是可参考,但是不能实践,我的环境如上,通过与 chatgpt 的多轮对话,我现在成功切换到了 wayland。并且独显电源管理这边也安全落地。

$ echo $XDG_SESSION_TYPE
wayland

下面讲一下如何配置的

让 Wayland 生效的修改总结

最终真正需要的修改,其实只有三项。


1. 启用 NVIDIA DRM KMS

创建:

/etc/modprobe.d/nvidia-kms.conf

内容:

options nvidia-drm modeset=1

然后:

sudo update-initramfs -u

作用:

启用 NVIDIA DRM KMS

这是:

Wayland 的基础前提

否则:

cat /sys/module/nvidia_drm/parameters/modeset

会是:

N

GDM 会直接退回 X11。


2. 启用 NVIDIA Wayland 电源管理支持

创建:

/etc/modprobe.d/nvidia-power-management.conf

内容:

options nvidia NVreg_PreserveVideoMemoryAllocations=1

然后:

sudo update-initramfs -u

作用:

允许 suspend/resume 时保留 VRAM

这是:

GNOME 48 + NVIDIA Wayland 的关键条件

否则:

61-gdm.rules

会执行:

WaylandEnable=false

3. 启用 NVIDIA suspend/resume services

执行:

sudo systemctl enable nvidia-suspend.service
sudo systemctl enable nvidia-resume.service
sudo systemctl enable nvidia-hibernate.service

作用:

满足 GDM 的 Wayland 安全检查

否则:

ENV{NVIDIA_SUSPEND}!="enabled"
    -> disable wayland

下面是一些不需要的操作,也是上面贴出来的几篇文章提及的:

不需要:

修改:

/etc/gdm3/daemon.conf

因为:

/run/gdm3/custom.conf

会动态覆盖它。


不需要:

修改 grub:

nvidia-drm.modeset=1

modprobe 的方案更好,通过 modprobe 配置模块参数是 Linux 驱动配置的标准方式。。


不需要:

注释:

/usr/lib/udev/rules.d/61-gdm.rules

因为:

系统实际上已经满足:官方允许 Wayland 的条件

不需要暴力绕过检查。


这样配置已经是“NVIDIA 官方推荐 Wayland 配置”

这比:

  • 强行注释 gdm.rules
  • hack daemon.conf
  • disable checks

稳定得多。

最后修改于:2026年05月09日 14:12

添加新评论