英特尔在 Linux 6.8 合并之前提交了首个 drm-xe-next Pull Request,用最新的 Xe GPU 驱动取代了 Linux 上的传统的 i915 DRM 内核驱动程序。
实际上,英特尔从 Tiger Lake 开始就已支持 Xe 实验特性,但考虑到 i915 仍是 Meteor Lake 和 Alchemist 平台的主导驱动,英特尔的目标应该是让这个 Intel Xe 驱动程序成为 Lunar Lake 及后续平台的主要驱动程序。
英特尔针对 Xe2(Battlemage)GPU 添加的所有更改之处汇总如下:
- drm/xe: Add performance tuning settings for MTL and Xe2:添加针对 MTL 和 Xe2 的性能调优设置
- drm / xe / xe2: Add MOCS table:添加 MOCS 表
- drm / xe / xe2: Respond to TRTT faults as unsuccessful page fault:将 TRTT 故障响应为不成功的页面故障
- drm / xe / xe2: Add initial workarounds:添加初始的解决方法
- drm / xe / xe2: Set tile y type in XY_FAST_COPY_BLT to Tile4:在 XY_FAST_COPY_BLT 中设置 tile y 类型为 Tile4
- drm / xe / xe2: Update MOCS fields in blitter instructions:更新 blitter 指令中的 MOCS 字段
- drm / xe / xe2: Determine bios enablement for flat ccs on igfx:确定 igfx 上 flat ccs 的 BIOS 启用状态
- drm / xe / xe2: Modify main memory to ccs memory ratio:修改主内存与 CCS 内存的比例
- drm / xe / xe2: Allocate extra pages for ccs during bo create:在 bo 创建期间为 CCS 分配额外的页面
- drm / xe / xe2: Updates on XY_CTRL_SURF_COPY_BLT:更新 XY_CTRL_SURF_COPY_BLT 的相关内容
- drm / xe / xe2: Update chunk size for each iteration of ccs copy:更新 CCS 复制的每次迭代的块大小
- drm / xe / xe2: Update emit_pte to use compression enabled PAT index:更新 emit_pte 以使用启用了压缩的 PAT 索引
- drm / xe / xe2: Handle flat ccs move for igfx:处理 igfx 上的 flat ccs 移动操作。
- drm / xe / xe2: Modify xe_bo_test for system memory:修改 xe_bo_test 以适应系统内存。
- drm / xe / xe2: Support flat ccs:支持 flat ccs。
- drm / xe / xe2: Extend reserved stolen sizes:扩展保留的占用大小。
- drm / xe / xe2: Add missing mocs entry:添加缺失的 mocs 条目。
- drm / xe / xe2: Follow XeHPC for TLB invalidation:遵循 XeHPC 进行 TLB 无效化。
- drm / xe / xe2: Add one more bit to encode PAT to ppgtt entries:向 PAT 到 ppgtt 条目的编码中添加一个额外的 bit。
- drm / xe / pat: Add debugfs node to dump PAT:添加 debugfs 节点以转储 PAT。
- drm / xe / xe2: Update render / compute context image sizes:更新渲染 / 计算上下文图像大小
- drm / xe / xe2: Add GT topology readout:添加 GT 拓扑读出
- drm / xe / xe2: Add MCR register steering for primary GT 添加主 GT 的 MCR 寄存器控制
- drm / xe / xe2: Add MCR register steering for media GT:添加 media GT 的 MCR 寄存器控制
- drm / xe / xe2: Update context image layouts:更新上下文图像布局
- drm / xe / xe2: Handle fused-off CCS engines:处理熔断的 CCS 引擎
- drm / xe / xe2: uxCCS is no longer used:放弃使用 AuxCCS
- drm / xe / xe2: Define Xe2_LPG IP features:定义 Xe2_LPG IP 功能
- drm / xe / xe2: Define Xe2_LPM IP features:定义 Xe2_LPM IP 功能
- drm / xe / xe2: Track VA bits independently of max page table level:独立于最大页表级别跟踪 VA 位
- drm / xe / xe2: Program GuC’s MOCS on Xe2 and beyond:在 Xe2 及更高版本上编程 GuC 的 MOCS
- drm / xe / xe2: Program correct MOCS registers:为正确的 MOCS 寄存器编程
- drm / xe / xe2: Update SVG state handling:更新 SVG 状态处理
- drm / xe / xe2: Program PAT tables:编程 PAT 表
除了 Xe 图形驱动程序,英特尔还为现有软件包引入了对于下一代产品的支持,例如英特尔 VC Intrinsics 已经获得了对 Arrow Lake 和 Lunar Lake 图形架构的支持。这意味着 Xe-LPG+(Arrow Lake / Alchemist)和 Xe2(Lunar Lake / Battlemage)架构已经获得了对该软件的支持,彰显了英特尔在 Linux 开发方面的积极性。