如果你想知道为什么有些 Linux 用户在 Wayland 上使用英伟达™(NVIDIA®)GPU 时会遇到问题,而你却不会,KDE 开发人员 Xaver Hugl 在最近的一篇文章中解释了为什么显式同步协议最终会为大家解决这个问题。
你可能听说过显式同步(explicit sync,显式同步的简称)最近被并入了 Wayland 协议。但这是什么呢?这是一种基于 DRM 同步对象的新协议,应用程序可以在渲染完成时明确告知用户空间图形驱动程序、内核或合成器。
在此之前,当应用程序渲染时,它们不会立即渲染。这种方法被称为 “隐式同步”,涉及应用程序向 OpenGL 或 Vulkan 驱动程序记录一系列命令,供显卡执行,这可能会导致某些用户在使用英伟达™(NVIDIA®)和 Wayland 时遇到的问题。
Xaver Hugl 说:”这种模式让应用程序开发人员能够轻松编写正确工作的应用程序,但也可能导致一些问题。””其中与 Wayland 最相关的问题是,应用程序并不知道它在同步哪些任务,可能会发生这样的情况:你在不知情的情况下不小心同步到了与你的任务毫不相干的 GPU 命令。”
有了显式同步,这些 “意外 “同步就不会再发生了。此外,Xaver Hugl 还表示,这将减少驱动程序的工作量,从而提高性能,因为应用程序只需直接告诉驱动程序,而不必从命令列表中找出任务的依赖关系。
Xaver Hugl 解释说:”在互联网上有很多讨论,有人不断遇到问题,也有人看不到任何问题,现在你应该知道为什么它似乎并不影响每个人了。””这意味着很多因素–比如你使用的应用程序、CPU 和 GPU、驱动程序版本、内核、合成器等–决定了你是否真的看到了问题。”
因此,长话短说,显式同步协议是英伟达 GPU 用户今年应该关注的事情,因为它正在 Wayland 合成器、英伟达专有驱动程序和 Xwayland 中实施,以最终实现皆大欢喜,并鼓励英伟达用户采用 Wayland。
图片来源:NVIDIA®(英伟达™)公司英伟达™(NVIDIA®)公司 编辑:Marius Nestor
转自 Developer Explains Why Explicit Sync Will Finally Solve the NVIDIA/Wayland Issues – 9to5Linux