跳到正文
发现
桌面应用游戏娱乐

steamac:Mac 上的 SteamOS 虚拟机

在 Apple Silicon Mac 上通过轻量虚拟机运行 Valve 官方 ARM64 SteamOS,支持控制器与声音。

admin
发布于 2026-11-03
浏览
1
访问
0
下载
0
版本
v1.9.8
平台
macOS
该作品还没有经过官方审核。访问演示、下载或复制命令前,请自行确认来源可信。

详细介绍

项目简介

steamac 让 Valve 官方 ARM64 SteamOS(Steam Frame 镜像)运行在 Apple Silicon Mac 的轻量虚拟机中。它基于 Hypervisor.framework 与 libkrun,通过 Venus 做 GPU 加速,把 Vulkan 调用经 MoltenVK(或实验性的 KosmicKrisp)转到 Metal,从而在 macOS 上获得可用的 SteamOS 游戏环境。

主要功能

  • 运行官方 SteamOS,可使用 Steam 客户端与 Proton 游戏;DX9/10/11 游戏经 DXVK 转译。
  • GPU 加速链路:guest Mesa Venus → virtio-gpu → virglrenderer → MoltenVK / KosmicKrisp → Metal。
  • 默认使用带修复的 MoltenVK 分支,包含 geometry shaders、robustness2、VK_EXT_depth_clip_enable 等改进。
  • KosmicKrisp 作为实验性 Vulkan 驱动,可在 macOS 26+ 上选用。
  • 支持控制器与 CoreAudio 声音。
  • 可输出帧间隔统计:./run.sh --perf-stats,或设置 STEAMAC_PERF_STATS=1。
  • 自动把 Mac 的时区和 12/24 小时制同步到 SteamOS 与 Steam。
  • VM 参数可调,例如 ./run.sh --display 1920x1080 --cpus 10 --mem 24576。
  • 默认开启 Steam Shader Pre-Caching,减少新特效首次出现时的卡顿;也可在 Steam 设置中关闭。

安装与使用

需要 Apple Silicon Mac、macOS 15+、约 150 GB 空闲空间。构建环境需要 Xcode 26+、Homebrew、rustup,以及 OrbStack(或支持 arm64 且带 --privileged 的 Docker)。Homebrew 依赖包括 meson ninja pkg-config dtc xz lld sshpass go。

构建并启动:

./build.sh
./run.sh

可单独构建主机或 guest 部分:./build.sh host、./build.sh guest。需要 DXMT 时执行 ./build.sh dxmt,再按文档重建 layer 与 launcher。SteamOS 镜像会从 Valve 服务器下载,并校验签名与 sha256。

注意事项

  • KosmicKrisp 与 DirectX 12 feature level 12_0 需要 macOS 26+。
  • 应用由 Developer ID 签名并经 Apple 公证。
  • 新特效首次出现时可能因 Metal shader 编译卡顿约 50–100 ms,Metal 会将结果缓存到磁盘,之后不再重复卡顿。
  • 关闭 Shader Pre-Caching 后,部分需要转码的过场视频会显示占位图。
  • Steam 的空闲屏保在 VM 中默认关闭,避免长时间无输入时遮挡正在运行的游戏。

本作品整理自 GitHub 开源项目 fxgl/steamac,原作者 @fxgl,许可证 Apache-2.0。中文介绍由 AI 根据项目 README 整理,以原仓库为准。

更新记录

  1. v1.9.8当前版本

    支持 SteamOS 0.6.0,修复更新后虚拟机卡在“Starting Steam client”的问题;同时修复 M3/M4/M5 上诊断日志刷屏,改为每种形状只写一次。

评论