Hasty Briefsbeta

双语

Racing karts on a Rust GPU kernel driver

6 months ago
  • #Rust
  • #Linux
  • #GPU
  • Tyr,一个针对Arm Mali GPU的Rust驱动,现已能运行GNOME、Weston及《超级企鹅卡丁车》等全屏3D游戏。
  • 该驱动性能与C语言驱动持平,为社区基准测试提供了参照标准。
  • 用户态驱动(UMD)负责将高级API指令转换为GPU专用指令,内核态驱动(KMD)则管理GPU硬件状态和资源公平调度。
  • 初期开发聚焦于KMD功能,如电源管理、固件加载和GPU内存分配。
  • 使用IGT测试框架,从简单任务开始逐步过渡到复杂工作负载测试。
  • 通过kmscube成功渲染旋转立方体,验证了任务依赖关系的强制处理能力。
  • 实现超500fps的离屏渲染性能,与C语言驱动表现相当。
  • GNOME和Weston桌面环境可稳定运行,支持登录及Firefox等应用程序操作。
  • 全屏3D游戏运行流畅,但窗口模式仍存在少量图形瑕疵。
  • Tyr虽尚未达到日常使用标准,但可作为实验性驱动和Rust抽象层测试平台。
  • 当前已在Rock 5B(RK3588芯片)设备完成测试,欢迎贡献代码与反馈意见。