正如您所知,从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)
代码语言:
猛击
(
猛击
)
在系统启动时加载NVIDIA模块。
很好,但我们还没有完成这个文件。向下滚动并删除“
千米
“来自”
钩子
部分这确保了initramfs将避免包含开源“
新的
“驱动程序来干扰我们安装并依赖的专有NVIDIA的工作。
从挂钩上卸下KMS。
我们已完成修改“
/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启用DRM(直接呈现管理器)。
最后,通过运行以下命令重新生成GRUB配置:
sudo grub mkconfig-o/boot/grub/grub.cfg
代码语言:
猛击
(
猛击
)
正在重新生成主GRUB配置文件。
在Arch Linux上使用NVIDIA测试Wayland
你们都准备好了。现在,重新启动您的Arch系统。在您正在使用的显示管理器的登录屏幕上,选择Wayland Session选项。
在Arch上切换到Wayland会话。
使用NVIDIA和您心爱的Arch Linux登录并享受无缝的Wayland体验。
Arch Linux正在Wayland上使用NVIDIA GPU运行。
此外,要验证NVIDIA DRM设置在重新启动后是否正确应用,请执行以下命令;作为回应,你应该得到“
Y
.”
sudo cat/sys/module/nvidia_drm/parameters/modeset
代码语言:
猛击
(
猛击
)
验证NVIDIA DRM设置。
要旨
最后,必须澄清一个关键点。我们的指南自信地证明了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故障的详细信息,使它们成为进一步探索的宝贵资源。
当然,我们很想听听你的反馈或想法,所以请毫不犹豫地在下面的评论框中分享。
相关推荐
当谈到FTP与SFTP时,需要记住一些关键的区别。首先,没有人希望自己的信息落入坏人之手。其次,FTP(文件传输协议)对所有传输都使用明文。 任何人都可以通过嗅探网络来读取FTP用户名、密码、命令和数据。 另一方面,SFTP可以安全地传输信息。这是因为它构建在FTP软件上,使用SSH协议传输文件,并要求客户端通过服务器的身份验证以获得增强的安全元素。 简言之 SFTP被设计为SSH的扩展,以提供安
您的Windows计算机是否在没有警告的情况下关闭?还是每次你试图把它从睡眠中唤醒时,它都会崩溃?您的计算机可能有电源故障,导致其崩溃而没有警告。 这个问题被称为Kernel-Power错误,似乎无缘无故地出现,但却是一个严重的系统问题。以下是如何修复Kernel-Power事件ID 41并阻止您的计算机崩溃。 什么是内核功率关键错误? 内核功率关键错误是导致系统崩溃的系统错误。该错误可能在一系列
如果你的打印机在从Mac发送打印作业时抛出“Filter Failed”错误,那么你并不是一个人。此问题影响爱普生、佳能、惠普和其他品牌的打印机。值得庆幸的是,修复它就像重置macOS打印系统和安装更新的驱动程序一样简单。 当天的视频 滚动以继续浏览内容 什么原因导致“Filter Failed”打印机错误? 打印作业出错并显示“已停止- '过滤器'失败”消息或类似信息的最常见罪魁祸首是损坏或不兼
您是否注意到,您的iPhone 14或iPhone 14 Pro的电池健康状况在长期使用后比平时更快地恶化?你并不孤单,因为许多关于这个问题的报道已经在网上浮出水面。以下是你需要知道的关于iPhone 14电池问题的一切。 IPhone 14用户报告电池健康问题 在iPhone 14发布几个月后,用户开始注意到他们的iPhone电池退化的速度有多快。Reddit、X(前Twitter)和其他社交媒
雷鸟推出了每月一次的开发摘要,这是一项旨在促进透明度和与社区互动的令人兴奋的新举措。第一版已经带来了激动人心的消息。让我们深入了解一下即将发生的事情。 全球消息数据库的改造 雷鸟在2024年的主要重点将是彻底改革其全球消息数据库,该数据库目前基于过时的Mork框架。这对于消除现有限制和为现代功能(如真正的线程对话视图)铺平道路至关重要。 该团队正在深入更换这一核心组件,这在雷鸟的消息和文件夹交互中
回到顶部