正如您所知,从Linux生态系统中的传统Xorg服务器过渡到Wayland一直是一个热门话题,引起了很多争议,无可否认,也引起了相当多的故障排除。
虽然Wayland承诺提供比其前身Xorg更精简、更安全的界面,但用户经常遇到障碍,尤其是在与NVIDIA显卡的兼容性方面。
换言之,从渲染问题到兼容性怪癖,这段旅程并非总是一帆风顺。然而,越来越明显的是,NVIDIA和Wayland的组合虽然还不是完美的匹配,但正在发展成为一种可行的、有效的解决方案。
尽管如此,只要有适当的指导和耐心,在Arch上与Wayland一起使用NVIDIA不仅是一种可能性,而且是一种基本可行的解决方案。你可以满怀信心地完成这一转变。
本指南旨在做到这一点:引导您完成设置过程,并提供解决方案,以确保您可以在Arch Linux上获得NVIDIA和Wayland的大部分体验。所以,让我们开始吧。
设置环境变量
随着NVIDIA引入GBM(Generic Buffer Management,通用缓冲区管理)支持,这是Linux图形堆栈的一个关键组件,为图形渲染和显示分配缓冲区提供了API,许多合成器都采用了它作为默认值。因此,为了强制GBM作为后端,我们需要设置一些环境变量。
打开“
/etc/环境
“文件,粘贴以下两行,然后保存文件并退出。
sudo nano/etc/environment
代码语言:
猛击
(
猛击
)
GBM_BACKEND=环境数据
__GLX_VENDOR_IBRARY_NAME=nvidia
代码语言:
猛击
(
猛击
)
在系统引导时加载NVIDIA模块
为了确保NVIDIA模块在尽可能早的阶段加载,即在系统引导时,我们需要添加
nvidia
,’ ‘
nvidia_deset
,’ ‘
nvidia_vm
和
nvidia_rm
‘模块到initramfs——在安装真正的根文件系统之前,作为引导过程的一部分,将临时根文件系统加载到内存中。
这可以通过在“
模块
“的部分”
/etc/mkinitcpio.conf
文件这是mkinitcpio的配置文件,Arch使用该工具生成初始ramdisk映像。
所以,打开“
/etc/mkinitcpio.conf
文件
sudo nano/etc/mkinitcpio.conf
代码语言:
猛击
(
猛击
)
然后,输入上面提到的模块,因为最终版本应该是这样的:
模块=(nvidia nvidia_deset nvidia_vm nvidia_drm)
代码语言:
猛击
(
猛击
)
很好,但我们还没有完成这个文件。向下滚动并删除“
千米
“来自”
钩子
部分这确保了initramfs将避免包含开源“
新的
“驱动程序来干扰我们安装并依赖的专有NVIDIA的工作。
我们已完成修改“
/etc/mkinitcpio.conf
“。保存您的更改并关闭文件。接下来,我们将继续重新生成initramfs。要执行此操作,请执行以下命令:
sudo mkinitcpio-P
代码语言:
猛击
(
猛击
)
在命令的输出中,您可能会注意到以下消息:
警告:模块可能缺少固件…
“这些不应该引起关注,也与我们目前正在实施的修改无关。
启用DRM
DRM(Direct Rendering Manager)是Linux内核中负责与GPU接口的子系统。它为图形驱动程序提供了一个框架,使其能够直接访问图形硬件,这对渲染任务、3D图形、视频播放等方面的性能至关重要。
NVIDIA为Linux提供了专有的图形驱动程序,这些驱动程序使用DRM子系统与其GPU进行交互。这些驱动程序对于在Linux下的NVIDIA硬件上获得最佳性能和功能支持至关重要。
Wayland合成器需要启用DRM内核模式设置才能正常工作。因此,我们将在Linux内核通过GRUB引导加载程序进行初始引导时,将其作为参数传递给Linux内核。
打开其配置文件:
sudo nano/etc/default/grub
代码语言:
猛击
(
猛击
)
定位以“”开头的行
GRUB_CMDLINE_LINUX_DEFAULT
“并追加”
nvidia drm.modeset=1
”结束。完成的行应类似于下面提供的示例。
最后,通过运行以下命令重新生成GRUB配置:
sudo grub mkconfig-o/boot/grub/grub.cfg
代码语言:
猛击
(
猛击
)
在Arch Linux上使用NVIDIA测试Wayland
你们都准备好了。现在,重新启动您的Arch系统。在您正在使用的显示管理器的登录屏幕上,选择Wayland Session选项。
使用NVIDIA和您心爱的Arch Linux登录并享受无缝的Wayland体验。
此外,要验证NVIDIA DRM设置在重新启动后是否正确应用,请执行以下命令;作为回应,你应该得到“
Y
.”
sudo cat/sys/module/nvidia_drm/parameters/modeset
代码语言:
猛击
(
猛击
)
要旨
最后,必须澄清一个关键点。我们的指南自信地证明了Wayland可以在Arch系统上与NVIDIA一起顺利运行。然而,这并不能保证每个应用程序、游戏或桌面环境都能完美运行。
这些组件与Wayland的兼容性各不相同,取决于它们对其集成支持的程度。
例如,KDE Plasma和GNOME等桌面环境为Wayland提供了非常好的支持,确保了无缝体验。另一方面,像Cinnamon这样只有基本Wayland支持的环境可能无法提供同样的平滑度。因此,考虑这些差异很重要。
同样,使用Hyprland动态平铺Wayland合成器将带来流畅的用户体验,而其他仍然依赖Xorg的用户可能无法为Wayland提供必要的支持。这种兼容性的可变性也适用于单个应用程序,因此在使用特定软件时,意识到潜在问题很重要。
总之,在Arch上设置Wayland的复杂性似乎令人生畏,尤其是对于那些拥有NVIDIA GPU力量的人来说,他们历来面临着从渲染故障到兼容性问题等各种障碍。
然而,有了适当的知识、一点毅力和我们的指导,曾经看似不可能的障碍开始缩小到这样的水平:通过正确的设置,NVIDIA和Wayland确实可以创造协同效应,在您的Arch设置中发挥最佳效果。
最后,我们建议参考官方Arch wiki上的特定Wayland和NVIDIA部分,以获得更全面的了解。它们提供了有关在Arch上设置和排除Wayland和NVIDIA故障的详细信息,使它们成为进一步探索的宝贵资源。
当然,我们很想听听你的反馈或想法,所以请毫不犹豫地在下面的评论框中分享。
在首次引入 Windows 大约 41 年后,记事本终于更新了自动更正和拼写检查功能。这家科技巨头于今年 3 月推出了拼...
大鱼 2024 年 7 月 9 日
在Ubuntu及其他基于Debian的Linux发行版中,软件包管理是系统维护的一个重要方面。apt和apt-get是两...
大鱼 2024 年 6 月 26 日
远程桌面是一种允许您远程接管和使用另一台计算机的服务。在Ubuntu中,可以在图形客户端机器上启用它来控制主机。此功能对...
大鱼 2024 年 5 月 7 日
利用当天的视频 苹果2024年5月的“放开”活动标志着iPad系列的一个重要里程碑,该公司推出了自成立以来最重大的升级。...
大鱼 2024 年 5 月 19 日
已升级到新iPhone,是否要从旧设备中移动所有照片?或者你只是想从别人的iPhone上转移照片?以下是在两部iPhon...
大鱼 2024 年 5 月 19 日