返回资讯中心
外部精选
软件工程
#开发者实时流

Linux 7.3 内核发布,Collabora 贡献 111 个补丁

来源标题:Linux 7.3: Color format control, Tyr progress, and more

Linux 内核 7.3 已发布,Collabora 的 17 名开发者共提交 111 个补丁。贡献主要集中在图形领域,同时涉及 Rust、硬件支持、电源管理和多媒体等方向。此外还修复了 DRM bridge 代码的数据竞争问题,并允许写回连接器使用缩放器。

Hacker News 最新losgehts2026/11/3 · 2 天前28 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

Linux 内核 7.3 已发布,带来了许多令人兴奋的新特性和改进。Collabora 多年来为 Linux 内核做出了大量贡献,本次发布也不例外。

我们的工程师编写了 111 个补丁,来自 17 位不同的开发者。除此之外,还有许多人在审查和维护工作中做出了贡献。虽然大部分贡献集中在图形领域,但工作也涵盖了其他几个方向,包括 Rust、硬件支持、电源管理和多媒体。

关于 Linux 7.3 引入的改进的更全面概述,请参阅以下 LWN 文章:

Cristian Ciocaltea 修复了 DRM bridge 代码中的几处数据竞争,确保只有在持有适当锁的情况下才读取和修改 bridge 列表,从而防止并发访问可能导致的损坏。

Derek Foreman 添加了一个文档补丁,使写回连接器中带有 scaler 的硬件能够被内核支持。现在写回 framebuffer 的尺寸可以与 CRTC 尺寸不同,在这种情况下驱动应要么失败,要么对写回进行缩放。

Laura Nao 对 DRM 核心做了一次清理,移除了 DRIVER_GEM_GPUVA 特性标志。该标志没有相关用途,也没有带来任何好处。

Leandro Ribeiro 参与了一个补丁集,使不支持 PREMULTI 混合模式的显示控制器能够被正确上游化。在此之前,DRM 在创建混合模式属性时会要求 PREMULTI 存在,这阻止了这类硬件被上游化。这一限制现已取消。

Nicolas Frattaroli 确保热插拔事件始终包含传递给用户空间的连接器 ID。此前热插拔事件可能在发送时没有标识导致它的连接器,用户空间必须自行判断是哪个连接器,才能执行 modeset 并唤醒显示器。在某些情况下,检测正确的连接器是不可能的,导致输出被禁用,除非手动重新插入连接器。现在用户空间可以可靠地判断是哪个连接器触发了该事件。

Nicolas 还参与了 DRM 的「颜色格式」属性工作。借助该属性,合成器可以选择发送到显示 sink 的颜色输出格式,而不必依赖驱动的决定。用户空间可以控制显示链路将使用 full RGB、YCbCr444、YCbCr422 还是 YCbCr420。sink 支持的模式应从 EDID 中发现,不在本工作范围内。

Tyr——一个面向 Arm Mali-G610 GPU 的 Rust 驱动——的开发正在取得出色进展。Boris Brezillon、Daniel Almeida 和 Deborah Brouwer 近期的贡献正在推动该项目前进,并为 Linux 内核中基于 Rust 的 GPU 驱动奠定基础。

Deborah 在今年多伦多的 XDC 上谈到了 Tyr。为错过演讲的人发布了一篇博客文章,更深入地介绍了 Tyr 的进展以及将 Rust GPU 驱动引入 DRM 子系统所涉及的工作。对于关注 Tyr 本身以及关注 Rust 在 Linux 内核中日益增长的作用的人来说,这篇文章值得一读:Upstreaming Tyr: Rust, DRM, and the Linux Kernel。

在 Rust 相关工作方面,Laura Nao 参与了一个 Rust I/O 补丁,为内核提供了一种读写可能同时被硬件(如 GPU)访问的系统内存的方式。它使用 volatile 访问器来确保对可能被外部硬件并发访问的共享内存的安全访问。该补丁是重新设计 Linux Rust 基础设施中 I/O 类型的更大补丁系列的一部分。

AngeloGioacchino Del Regno 参与了多项改进 MediaTek 生态的变更。

首先,他提出了针对 MT8195 级 HDMI PHY 的修复,该 PHY 见于 MT8195、MT8188 和 Genio 变体。这些修复纠正了 PLL 和 TMDS 时钟分频器的计算,以支持所有需要高于 3.4Gbps 数据速率的模式。修复已在 3840x2160@60Hz 的目标模式下成功测试。

他还将 MT8196 的复位改为可选。在大多数 MT8196 板上,LVTS 硬件可能与 SoC 内部的 MCU 共享。因此复位 LVTS 可能导致严重降速或热保护复位,因为某些 MCU 可能在 LVTS 被复位时读取到极高或极低的温度。将复位设为可选可以避免这些问题。

Angelo 的另一项贡献是一次大规模重构,重新组织了 MediaTek SoC 的整个多媒体部分。这是持续工作的一部分。它增加了对将 MediaTek Mute-X IP 正确宣告为触发信号源的支持,此前这依赖于一种变通方案。它还开始重构 MediaTek MMSYS,添加了将组件类型与组件实例编号解耦的样板代码。目前,MediaTek DRM 中的所有组件(因此也包括 MMSYS 驱动中的组件)都被放入一个不断增长的单一日志中。随着组件数量不可控地增长,这会产生本可以小得多的超大数组。这种状况很混乱,因此这次重构应能简化维护,并为即将推出的 MediaTek SoC 提供更具可扩展性的基础。

Angelo 还增加了对 MT8196 SoC 上 DirectCTL HFRPSYS 电源域的支持,并提出了一个修复,在错误清理期间尊重电源域关系,避免在特定情况下出现硬件锁死。这已在多种 MediaTek SoC 上进行了广泛测试。

最后,Angelo 参与了一个补丁集,在多个 MediaTek 设备的设备树中正确描述 UART AP_DMA 控制器。该系列还从 MediaTek MT6795 设备树中移除了一个已弃用的属性。

Louis-Alexis Eyraud 修复了为 MediaTek SoC 实现时钟控制的驱动中的一处泄漏。在 PLL 注册失败时,代码忘记释放为 FHCTL 节点映射的 I/O 内存。注销 PLL 的函数中不存在同样的泄漏。我们添加了一个由两条路径共享的函数,消除了该问题。

(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →