英特尔加速 Linux 软件开发,为Arrow Lake和Lunar Lake提供支持

IT之家 12 月 17 日消息,英特尔在 Linux 6.8 合并之前提交了首个 drm-xe-next Pull Reques,用最新的 Xe GPU 驱动取代了 Linux 上的传统的 i915 DRM 内核驱动程序。

实际上,英特尔从 Tiger Lake 开始就已支持 Xe 实验特性,但考虑到 i915 仍是 Meteor Lake 和 Alchemist 平台的主导驱动,英特尔的目标应该是让这个 Intel Xe 驱动程序成为 Lunar Lake  及后续平台的主要驱动程序。

IT之家将英特尔针对 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 开发方面的积极性。