作为为非 x86/x86_64 架构构建英特尔 opengl 和 vulkan linux 驱动程序的努力的一部分,今天将一个补丁合并到 mesa 23.0。这是使英特尔独立 gpu 最终能够在 aarch64、power 和 risc-v 系统等系统上运行的持续努力的一部分。
作为几个月前努力的一部分,已经有intel linux 驱动程序在非 x86 架构上构建。他们的内核驱动程序发生了一些工作,而今天合并的是支持为非 x86 cpu 构建 opengl 和 vulkan 开源驱动程序。
虽然大多数开源 linux 图形驱动程序在 cpu 体系结构中工作得很好,但由于开源和 linux 社区的性质,就英特尔的图形驱动程序堆栈而言,他们传统上不需要关心非 x86 支持。在提供集成图形支持的这些年里,他们显然依赖于他们的 x86/x86_64 cpu。但现在他们在 arc graphics 和他们的 ponte vecchio / max 系列的独立 gpu 游戏中,这是一个完全不同的游戏。由于可以在 arm64 服务器、risc-v 桌面、libre power9 桌面等上安装独立的 intel gpu,他们的图形驱动程序需要解决多年来在其代码库中建立的 x86 主义。
为在非 x86/x86_64 系统上运行的离散 gpu 获取开源 intel linux 图形驱动程序是一项持续的努力。
此任务的最新步骤是今天将“support_intel_integrated_gpus”添加到他们的 iris gallium3d 和 anv vulkan 驱动程序的 mesa 代码中。这允许剥离集成图形驱动程序代码,只留下独立的 gpu 支持。
为非 x86 构建保留集成图形驱动程序支持的问题除了未使用/不可能之外,驱动程序代码明确需要 intel x86/x86_64 clflush 指令来清除缓存行。因此,通过添加具有禁用 igpu 支持能力的“support_intel_integrated_gpus”,那些 clflush 代码位不是为非 x86 系统构建的,从而避免了构建失败。
该代码是此合并请求的一部分现在在 mesa 23.0 中。虽然它足以让 intel mesa 驱动程序为非 x86 目标构建,但它不一定会运行。仍然存在内核驱动程序兼容性的其余部分,反过来,为了在其他体系结构上的运行时支持,可能需要进行其他额外的 mesa 驱动程序更改。mr 简单地评论说,“只修复构建,可能需要更多更改。还需要 i915 内核支持。 ”
原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/yun201841.html