前言:
具体的历史将来做视频详细谈。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
操作步骤:
- 目前能使用的系统应该只能在滚动更新的发行版上尝试,Gentoo, Arch, Fedora Rawhide, openSUSE Tumbleweed 。确定使用各自发行版安装最新版本的 Nvidia 私有驱动,版本号是 470.42.01 及其以上的版本就可以了。
- 在目录
/etc/modprobe.d/
目录下添加nvidia-drm.conf
文件,内容是:options nvidia-drm modeset=1
- 如果是
Gnome
桌面环境,使用系统附带的dconf
编辑器修改如下参数:org.gome.mutter experimental-features
,赋值为:"kms-modifiers"
- 如果是
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 就好,作为日常使用还是算了,基本用不了。
目前基本用不了的原因是bug太多了吗 lol
是的,比方说火狐没有窗口,或者没有内容,还有就是输入法,当然输入法的问题不是 nvidia 导致,而是 wayland 。