今天的 Linux 内核圈,值得花 3 分钟看两件事:HDMI 2.1 的「游戏开关」(可变刷新率 + 自动低延迟)首次由内核 EDID 层统一解析,和 高通相机管线接入 IMX577,索尼传感器驱动同日三连上新

[图:封面示意 · 900×383 · 靛蓝 #3458E0 底 + 内核终端/补丁行元素 + 「Linux内核玩家 · 8月7日」]

🎬 今日导读

/ section
头条 HDMI 2.1 VRR/ALLM 系列 v2,drm/edid 核心层开始解析游戏能力
头条 高通 Shikra EVK 接入 IMX577(CAMSS 全链路),同日 IMX576 / IMX908 也在推进
机制 V4L2 格式表新增 Y12 / YUV24,sensor 输出格式标准在动
机制 mm VMA 层 20 补丁系列,MAP_PRIVATE /dev/zero 彻底匿名化
亮点 nova-core(Rust 版 NVIDIA 驱动)Falcon 改用 I/O projections 做 DMA

💡 今日头条

/ section

HDMI 2.1 游戏三件套:VRR 抗撕裂、ALLM 自动低延迟,内核 EDID 层官宣

〔08-07 04:54 北京〕· [PATCH v2 0/4] HDMI 2.1 VRR and ALLM support

现状 HDMI 2.1 的游戏特性里,VRR(可变刷新率,让电视刷新率跟着游戏帧率走、消除撕裂)和 ALLM(自动低延迟模式,检测到游戏内容自动切低延迟画面)最受玩家关注;它们由显示器 EDID(显示器发给显卡的「身份证」)中的 HDMI 论坛厂商数据块(HF-VSDB)描述,而 drm/edid 是内核显示链路所有驱动共用的地基。
痛点 内核 drm/edid 此前不解这些游戏能力,AMD 驱动拿不到完整信息;用户接 HDMI 2.1 电视时 VRR/ALLM 常要靠电视端或手动折腾,体验不完整。
方案 v2 系列把链路补全——核心 drm/edid 新增 HF-VSDB 的 VRR/ALLM 能力解析;amd/display 据此落地 AMD 自有 FreeSync 的 EDID 识别、HDMI 2.1 VRR、ALLM 自动低延迟三件事。
为什么 解析放核心 EDID 层而非各驱动各写,因为 EDID 解析一次、全驱动复用是显示子系统一贯的分层——驱动只消费结果,不重复实现。
效益 AMD 玩家接 HDMI 2.1 电视:VRR 抗撕裂、ALLM 免手动切游戏模式;其他厂商驱动将来也能直接复用这套核心解析。
下一步 v2 按评审意见迭代等合并;i915 等驱动可跟进消费 HF-VSDB 能力。
一句话点评 把 HDMI 2.1 的「游戏开关」从各驱动各自猜改成核心 EDID 统一解析,是正确分层——显示器能力就该由地基层一次性讲清楚。

高通相机管线接入 IMX577,索尼传感器驱动同日三连上新

〔08-06 19:43 北京〕· [PATCH v7 0/5] Add CAMSS and IMX577 sensor support for Shikra EVK

现状 在 SoC 平台上,摄像头从 sensor(CMOS 感光芯片)经 CSI 通道进高通的 CAMSS(相机子系统)再交 ISP 出图;每颗新 sensor 都要「驱动 + CAMSS 接线 + 设备树」整套打通。IMX577 是索尼 1200 万像素 CMOS 传感器。
痛点 每换一颗 sensor、每换一块 EVK(评估板),这套接线都要重配;CAMSS 的配置细节藏在设备树里,配错就无图/黑屏。
方案 v7 系列为高通 Shikra EVK 接入 IMX577:CAMSS 节点 + CCI(相机控制总线)定义 + MCLK 时钟引脚配置,再加两块子板(IQS / CQM-CQS)的设备树 overlay。同日还有 IMX576(v3,Fairphone FP4 前摄)和 IMX908(v2 讨论中)两颗索尼 sensor 在推进。
为什么 用设备树 overlay 而非改死板底,让同一块板子复用、不同摄像头子板动态叠加——硬件形态由软件描述,不改内核即可适配。
效益 拿到 Shikra EVK + IMX577 可直接点亮相机;这套 v7 是「新平台接新 sensor」的完整活教材,DT 接线 + overlay 套路可照抄。
下一步 系列到 v7 接近定稿;要接自己板子的新 sensor,照这套 DT + overlay 方法即可。
一句话点评 同一天三颗索尼传感器在 linux-media 排队(IMX577 进高通、IMX576 进 Fairphone、IMX908 讨论中),sensor 上新潮还在跑;而 IMX577 这套是含 CAMSS 全链路的完整范本。

📰 media

/ column

高通视频编码器上新 ROI 支持框架(v3)

〔08-07 02:36〕· [PATCH v3 3/3] media: iris: Add ROI support framework

定位 iris 是高通视频编码器驱动;ROI(关注区域)让编码器把码率/质量倾斜到画面重点区域。
做法 v3 新增 ROI 支持框架,应用可标记「哪里重要」,编码时重点保质量。
效益 视频会议/直播画面主体更清晰;框架已到 v3,接近接入 V4L2 控制接口的阶段。
和你相关 做视频应用或编解码驱动,ROI 是「质量往哪投」的标准手段——这套框架如何暴露给用户态,值得跟踪。

高通 venus 编解码器设备树重构:context bank 拆子节点(12 补丁)

〔08-06 20:20〕· [PATCH v2 01/12] dt-bindings: media: qcom,venus: Add context bank subnodes to common schema

定位 venus 是高通视频编解码器;context bank 是它划分的内存区域(像素/非像素分开管理)。
做法 12 补丁系列给 venus 设备树加 context bank 子节点定义,并补 sc7280 等的 dma-coherent。
效益 内存区域表达更精确,多个平台复用同一份 schema。
和你相关 看高通视频编解码驱动,context bank 布局是理解「解码器内存怎么管」的钥匙。

V4L2 格式表补录 Y12 / YUV24:sensor 输出格式标准在动

〔08-06 21:03〕· [PATCH] media: v4l2-common: add Y12 and YUV24 to v4l2_format_info()

定位 v4l2_format_info() 是 V4L2 描述像素格式元数据(每像素字节、平面数等)的登记表,属 v4l2-core 格式层。
做法 把 Y12(12 位灰度)和 YUV24 补进登记表。
效益 格式信息表更完整,驱动校验 / userspace 查询新格式时不再缺元数据。
和你相关 做 sensor / ISP 输出格式相关工作,格式表的每一次扩展都意味着「又能多支持一种原生格式」。

更多动态

media: dw2102 固件尺寸越界读修复(DVB) 〔08-07 01:47〕

media: redrat3 rc_dev_uevent 释放后使用修复(红外) 〔08-06 20:10〕

rockchip pinephone-pro DW9714 对焦线圈电压修正 〔08-06 22:18〕

media: i2c: imx576 sensor 驱动 v3(Fairphone FP4 前摄) 〔08-06 20:03〕

treewide: 移除无效条件返回(36 补丁清理) 〔08-07 03:07〕

📰 DRM

/ column

Rust 版 NVIDIA 驱动 nova-core 的 Falcon 改用 I/O projections 做 DMA

〔08-07 05:25〕· gpu: nova-core: falcon: use I/O projections for DMA transfers(v2)

定位 nova-core 是内核里用 Rust 写的 NVIDIA 图形驱动(新生代项目);falcon 是 NVIDIA 芯片上的固件微控制器。
做法 把 Falcon 的 DMA 传输改用 nova 的 I/O projections 抽象(类型安全的 MMIO / 内存访问),替代裸指针操作。
效益 内存访问由类型系统兜底;nova 每前进一步都在回答「GPU 驱动能用 Rust 写多深」。
和你相关 关注内核 Rust 化,nova 是标杆级项目,「I/O projections」是它自创的类型安全访问模式。

Intel xe:Arrow Lake 上 GuC TLB 失效确认卡死,RFC 给诊断 + workaround

〔08-07 05:13〕· [RFC PATCH 0/3] drm/xe: diagnostics and workaround for GuC TLB invalidation ack stalls on ARL

定位 xe 是 Intel 新一代显卡驱动;GuC 是 GPU 内固件控制器,TLB(页表缓存)失效需要它确认。
做法 RFC 为 Arrow Lake(ARL)上 GuC TLB 失效确认卡死加了诊断与 workaround。
效益 固件不回 ack 是 GPU 驱动经典疑难杂症,这套「先诊断再绕行」的思路可复用。
和你相关 排查 GPU 驱动卡死 / 死锁,这套诊断 → workaround 的套路可以复制到别的固件交互场景。

国产背光芯片 Orient Chip OCP8178 新驱动在路上

〔08-07 04:36〕· backlight: Add support for Orient Chip OCP8178

定位 backlight 是显示背光子系统;OCP8178 是 Orient Chip 的背光驱动芯片。
做法 新增驱动 + DT binding。
效益 驱动 + DT binding 一起提交中,合入后设备树即可描述背光配置。
和你相关 手上有带背光的国产屏 / 模组,这类新驱动提交说明国产背光芯片正在被内核社区接纳。

更多动态

[PULL] drm-misc-next 合并窗口批量入库 〔08-07 05:47〕

[pull] amdgpu, amdkfd, radeon drm-next-7.3 〔08-07 05:31〕

[pull] amdgpu, radeon drm-fixes-7.2 〔08-07 05:16〕

drm/amdgpu 禁止单次 submit 多个 FENCE chunks 〔08-07 04:25〕

drm/vmwgfx 释放 GEM 后显存未归还排查 〔08-07 05:19〕

📌 机制雷达:5 条跨域大改动

/ section
V4L2 格式表 Y12 / YUV24 加入 v4l2_format_info() —— v4l2-core 格式层扩展,12 位灰度 / 24 位 YUV 元数据正式登记(08-06 21:03)· 原文
mm / VMA MAP_PRIVATE /dev/zero 匿名化(20 补丁 v4)—— 把映射 /dev/zero 的 MAP_PRIVATE 映射真正按匿名页处理,重构 VMA 匿名页偏移跟踪;跨域发在 dri-devel 列表(08-07 04:22)· 原文
Rust dma_fence abstractions v9 —— 内核 Rust 化的同步原语,为视频/显示同步机制 Rust 化铺垫(08-06 21:56)· 原文
Rust dma_handle → dma_address 重命名(v2)—— Rust DMA API 命名向内核文档用语对齐(08-07 05:16)· 原文
mm / CMA 允许动态创建 CMA 区域(v3)—— CMA(连续内存分配器)从启动时静态划分走向运行时可加,相机/显示这类要连续 DMA 内存的设备长期利好(08-07 00:31)· 原文

📖 本期速查:10 个词看懂今天

/ section
EDID 显示器发给显卡的「身份证」,描述分辨率/刷新率/色彩等能力;HF-VSDB 是其中 HDMI 论坛厂商数据块
VRR(可变刷新率) 刷新率跟随游戏帧率动态变化,消除画面撕裂
ALLM(自动低延迟模式) 检测到游戏内容时,电视自动切低延迟画面模式
CAMSS 高通相机子系统,把 sensor 的 CSI 数据接入 SoC 后交给 ISP
CCI(相机控制接口) SoC 给 sensor 下发寄存器配置的控制总线
context bank 视频编解码器划分的内存区域(像素/非像素分开),负责 DMA 搬运
v4l2_format_info() V4L2 描述像素格式元数据(每像素字节等)的登记表
falcon NVIDIA 芯片上的固件微控制器
GuC Intel GPU 上的固件控制器,页表操作(如 TLB 失效)需要它确认
CMA(连续内存分配器) 为需要物理连续内存的设备(相机 ISP、显示)预留内存池

如果对你有用,点个赞,或留言聊聊你最关心的。

数据来源:media / DRM / mm / rust(lore.kernel.org)· 北京时间