前言:

具体的历史将来做视频详细谈。Nvidia 上使用 Wayland 一直以来都比较困难,或者说,受到到很大的阻碍。后来 Nvidia 透露私有驱动将会提供 EGLStreams 做为缓冲器 API ,从此才逐渐看到 Nvidia 支持 Wayland 的希望。

另外,Nvidia 私有驱动也并不是直接支持 Wayland ,它需要 XWayland 的支持,才能正常运转。所以说,从驱动的技术层面和开源的 AMDGPU 或者 Intel 来对比,还存在差距。

那么在具体操作之前,我们首先了解两个方面:

  • 能够让 Nvidia 跑 Wayland(XWayland)的先决条件:
    • Nvidia 私有驱动版本必须是470或者以上
    • xwayland 的版本必须是 xwayland-21.1.1.901 及其以上
    • libxcb 版本必须是 1.13 或者更新
    • egl-wayland 包由 nvidia 私有驱动提供
  • 运行效果:可以尝试和体验,无法作为日常使用。如果你是软件开发者,可以参与 debug

操作步骤:

  1. 目前能使用的系统应该只能在滚动更新的发行版上尝试,Gentoo, Arch, Fedora Rawhide, openSUSE Tumbleweed 。确定使用各自发行版安装最新版本的 Nvidia 私有驱动,版本号是 470.42.01 及其以上的版本就可以了。
  2. 在目录 /etc/modprobe.d/ 目录下添加 nvidia-drm.conf 文件,内容是:options nvidia-drm modeset=1
  3. 如果是 Gnome 桌面环境,使用系统附带的 dconf 编辑器修改如下参数:org.gome.mutter experimental-features ,赋值为:"kms-modifiers"
  4. 如果是 Gnome 桌面环境,默认情况,系统利用 udev 禁用了 nvidia 私有驱动启动 wayland ,需要编辑一下 /lib/udev/rules.d/61-gdm.rules 文件。

原始的配置文件是这样的:

默认配置

我的理解是只需要将 DRIVER 那一行,和最下面的 IMPORT 那一行注释掉就可以了。ATTR 那一行个人认为没有必要注释,明显不是针对 Nvidia 的内容。网络上还流行将配置文件干掉之类的,大可不必,实在不放心全部注释掉就可以了。

最后网络上有些还需要修改 /etc/gdm/custom.conf ,将 WaylandEnable 取消注释或者注释上。其实改不改无所谓,因为 GDM 默认就是跑 wayland 的。

好了,重启就能选择 Wayland 登录了。

最后大家能看到:

总结:

据说,KDE 操作步骤更简单,没有修改 dconf 和规则那些地方。当然,大家体验体验,做做软件的 debug 就好,作为日常使用还是算了,基本用不了。

2 thoughts on “如何前先尝试 Nvidia 跑 Wayland

    1. 是的,比方说火狐没有窗口,或者没有内容,还有就是输入法,当然输入法的问题不是 nvidia 导致,而是 wayland 。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注