超越游戏:muvm 中的 X11 桥接 - Asahi Linux

主要观点:

  • 分享了 Asahi Linux 上 x86/x86 - 64 模拟堆栈的更新,非游戏应用已可用。
  • 介绍了 DRM Native Context 实现 GPU 虚拟化的原理和优势,以及在性能和同步方面的情况。
  • 探讨了窗口系统相关的问题,如 sommelier 在非 ChromeOS 主机上的表现不佳,以及 x112virtgpu(muvm - x11bridge)解决 X11 转发和 GPU 加速的方案及遇到的 futex 相关难题。
  • 最终解决了 X11 相关的问题,实现了稳定的 X11 转发和 GPU 加速,并将相关改进应用到 muvm 等组件中,未来还计划支持原生 Wayland 传递。

关键信息和重要细节:

  • Asahi Linux 中 x86 应用运行在由 muvm 驱动的微虚拟机中,GPU 虚拟化在 AMD/Intel 系统及 macOS 上有限。
  • DRM Native Context 让 GPU 内核驱动在主机运行,用户空间驱动在虚拟机运行,通过传递内核 UAPI 接口实现优势。
  • sommelier 在非 ChromeOS 主机上存在问题,如 DPI 缩放、窗口放置等问题,与 XWayland 集成不足。
  • x112virtgpu(muvm - x11bridge)是一个薄的 X11 协议代理,利用 virtgpu 缓冲区共享实现 GPU 加速和缓冲区传递,但遇到 X11 协议中的 futex 难题。
  • 通过共享主机文件系统的 /dev/shm 并使用 ptrace 和特殊的 ioctl 解决了 futex 相关问题,最终实现稳定的 X11 转发和 GPU 加速。
  • 此次更新包含 muvm 的多项改进,如 muvm - x11bridge 实现 X11 直通、muvm - hidpipe 集成、/dev/shm 共享等,FEX 有 bug 修复和改进,virglrenderer 和 Mesa 有 Vulkan 1.4 支持等,还自动化了非 Steam 应用的安装。

总结:Asahi Linux 在 x86 模拟堆栈上取得重要进展,解决了多个技术难题,使非游戏应用运行更顺畅,未来还将继续推进原生 Wayland 传递等工作。

阅读 4
0 条评论