正如您所知,从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故障的详细信息,使它们成为进一步探索的宝贵资源。
当然,我们很想听听你的反馈或想法,所以请毫不犹豫地在下面的评论框中分享。
相关推荐
Galileo主版本发布两个月后,EndeavourOS最近推出了最新版本Galileo Neo。Endeavour OS因其与Arch Linux非常相似,但具有更用户友好的方法而受到Linux爱好者的喜爱。 遵循“Neo”系列的传统,本版本主要关注基本修复和核心包更新。需要注意的是,它主要是为了增强安装过程,并且不会影响当前运行的系统,只要它们定期更新即可。 Galileo Neo有什么新功能
KDE开发者Mathis Brüchert宣布了Marknote应用程序的首个稳定版本,这是一款所见即所得(WYSIWYG)笔记应用程序,旨在重新定义用户如何创建、管理和个性化数字笔记。 Marknote以其用户友好的界面脱颖而出,该界面允许创建丰富的文本注释。这些笔记可以精心组织到笔记本中,使用户更容易高效地管理信息。每个笔记本电脑都可以定制独特的图标和强调颜色,提供视觉吸引力和有组织的数字笔记
QEMU是一个著名的软件工具,允许用户模拟不同的计算机系统,它发布了最新的更新v9.0。它包含了220位作者提交的2700多个提交,引入了增强功能和新功能,以提高性能、可扩展性和可用性。 QEMU 9.0亮点 QEMU 9.0中的一个关键更新是块设备处理。virtio blk现在支持多队列,允许不同I/O线程同时处理单个磁盘的不同队列,显著提高了性能和效率。 对于那些从事调试工作的人来说,gdbs
在每个Web应用程序pentest的侦察阶段,找到应用程序上可能的目录是至关重要的。这些目录可能包含重要的信息和发现,这将极大地帮助您发现应用程序中的漏洞并提高其安全性。 幸运的是,互联网上有一些工具可以使目录暴力强制更容易、自动化和更快。下面是Linux上的五个目录爆发工具,用于枚举Web应用程序上的隐藏目录。 什么是目录爆破? 目录爆发,也称为“目录暴力强制”,是一种用于道德黑客的技术,用于发
当您需要在Linux中搜索某些文件时,通常可以使用 发现 或 定位 命令。所以,现在你有了一个新的替代方案,叫做 用plocate . 用plocate 它的工作原理是在搜索字符串中的三元组(三个字节的组合)上创建一个反向索引,这使它能够快速将候选集缩小到一个小列表,而不是线性扫描每个条目。 以启发它的帖子列表命名, 这个 用plocate 指挥部旨在取代 mlocate 。虽然它仍然可以使用 更
回到顶部