上周发布的一组针对开源 AMDGPU 内核驱动的补丁实现了 HDMI 可变刷新率”VRR”以及其他针对 HDMI 显示器的游戏功能。由于 HDMI 论坛阻止了 HDMI 2.1 的开源支持,这些 AMDGPU 驱动的 HDMI 游戏功能是通过反复试验和有限的公开知识开发的。这些补丁的第二版现在可供测试。
Tomasz Pakuła 发布了一个 AMDGPU Linux 驱动补丁的第二版本,提供了 VRR 修复以及这些 HDMI 游戏功能。主要功能包括类似于现有 DisplayPort FreeSync/Adaptive-Sync (VRR)的 HDMI VRR 和 HDMI 自动低延迟模式(ALLM)。
关于周日发布的补丁中的变更:
“- 在逐一测试后,将 BRR 最大值更新为 1023。这应该很明显,因为 1023 是一个 10 位字段的最大值。
– 修复了一些注释,以避免触发 “不是内核文档” 的警告
– 考虑了 Michel Dänzer、Daniel Stone 和 Jani Nikula 的 ALLM 评论。现在 ALLM 仅在 VRR 处于活动状态或内容类型提示为游戏时才会触发。内容类型提示已由 amdgpu 支持,并完全配置。
– 添加了用于控制 ALLM 触发行为的模块属性。现在可以配置为从不触发 ALLM、使用 VRR/游戏(默认)或始终强制开启。
– 添加了 HDMI VRR 桌面模式模块设置,默认开启。这模拟了 Windows 上 FreeSync 的处理方式,并解决了进入/退出 VRR 模式时出现的不必要屏幕闪烁和故障问题。
– 将 hdmi vic 模式检查移至一个中央函数,以避免在不同位置检查 3D 和 ALLM,这有时会破坏在 CTA vic 模式中翻译 HDMI VIC 模式的逻辑(当需要这种翻译时)。
用于控制 HDMI 自动低延迟模式的新模块参数是 amdgpu.allm_mode=,其值范围为 0 以禁用 ALLM,1 以根据 VRR 状态动态触发,或 2 以始终启用。同时,用于切换 HDMI VRR 的新设置是 amdgpu.hdmi_vrr_desktop_mode=,其默认值为 true 以匹配 FreeSync 行为使其始终处于激活状态,或将其设置为 false 以禁用该功能。
用于 AMDGPU 开源内核驱动程序的这些 HDMI 游戏功能的更新补丁系列现已发布到邮件列表上供审阅。这些补丁对于在即将到来的 Linux 6.20~7.0 内核周期中找到潜在问题来说已经太晚了,但理想情况下,它们可以在今年夏天被整合到 Linux 内核中,前提是没有任何(即法律团队)因素阻碍这些 HDMI 补丁被 AMD 开发者选中并上传到 AMDGPU。
转自 AMDGPU Patches Updated For HDMI Gaming Features On Linux With Radeon Graphics – Phoronix
Linuxeden开源社区