缘起
作为一个双系统用户,Windows 上装了不少游戏,但每次想玩游戏都得重启切换系统,体验实在割裂。最近决定在 Linux(CachyOS)上把 Steam 游戏环境搭起来,过程意外的顺利,记录下来供自己备忘,也分享给有同样需求的人。
核心概念
在 Linux 上玩 Windows 游戏,不需要虚拟机,靠的是 Proton。
Proton 是 Valve 开发的兼容层,本质是 Wine + DXVK(DirectX → Vulkan 翻译层)的整合包。Steam Deck 用的就是这套东西。目前 ProtonDB 的数据显示大约 90% 的 Windows 游戏在 Linux 上可玩,主要例外是带内核级反作弊的网游(Valorant、Faceit 等)。
安装
CachyOS(Arch 系)安装极其简单。不需要装那个 3GB 的 cachyos-gaming-meta 全家桶,精简方案就够:
1 | sudo pacman -S steam proton-cachyos gamemode mangohud lib32-mangohud protontricks |
| 包名 | 作用 |
|---|---|
steam |
Steam 客户端 |
proton-cachyos |
CachyOS 定制的 Proton,带额外补丁和优化 |
gamemode |
启动游戏时自动切换 CPU 到性能模式,退出后恢复 |
mangohud |
屏幕浮层,显示帧率、CPU/GPU 占用、温度 |
protontricks |
给特定游戏安装 VC++ 运行库、.NET 等 Windows 组件 |
总量约 330 MiB 下载,比我一开始看到的 680 MiB 少了一半。
启用 Proton
打开 Steam → Settings → Compatibility:
- ✅ Enable Steam Play for supported titles
- ✅ Enable Steam Play for all other titles(这个必须勾,否则大量未认证游戏不会让你运行)
- 下拉选择 Proton-CachyOS(或者最新的 Proton Experimental)
- 重启 Steam
转移 Windows 上的游戏
这是最关键的步骤。查了一圈资料,有三种方案:
方案一:复制文件 + Steam 验证(推荐 ✅)
最稳妥,零副作用。原理:Windows 游戏的安装文件和 Linux 下的完全一样,Proton 只在运行时创建 Wine 前缀。
- 在 Linux 上挂载 Windows 的 NTFS 分区
- 把
Steam/steamapps/common/游戏名文件夹复制到~/.steam/steam/steamapps/common/ - 在 Steam 里点 “安装”,选择同一个路径
- Steam 会自动检测已有文件,从 “下载” 变成 “验证”,只拉取少量元数据
- 第一次启动时 Proton 自动创建 Wine 环境,启动稍慢几秒
1 | # 如果 common 目录还不存在 |
方案二:Btrfs 分区共享
如果你的游戏数据在单独的 Btrfs 分区,Windows 装 WinBtrfs 驱动后两边都能读写。但已知问题不少:Windows 索引会碰文件、有原生 Linux 版的游戏会在切换系统时重复下载。维护成本 > 方案一的一次性复制。
方案三:NTFS 直接共享(不推荐 ⚠️)
Valve 官方劝退。NTFS 不支持符号链接(Proton 必需),必须把 compatdata 目录软链到 Linux 原生文件系统。还得关 Windows 快速启动否则可能损坏数据。不值得折腾。
结论:方案一最佳,复制一次,一劳永逸。
Steam 游戏目录在哪里
1 | ~/.steam/steam/steamapps/common/ # 游戏文件 |
~/.steam/steam/ 实际是 ~/.local/share/Steam/ 的软链接。
性能工具:GameMode 和 MangoHud
这两个工具通过 Steam 启动选项来用:
右键游戏 → 属性 (Properties) → 启动选项 (Launch Options):
| 启动选项 | 效果 |
|---|---|
gamemoderun %command% |
自动切换 CPU 性能调度 |
mangohud %command% |
屏幕浮层显示帧率、温度等 |
gamemoderun mangohud %command% |
两者同时启用 |
注意: GameMode 不是所有游戏都需要开。视觉小说、像素游戏这种不吃性能的开了纯属浪费电。留给 3A 大作和射击游戏就够了。
手动验证 GameMode 是否在工作:
1 | gamemoded -s |
游戏兼容性查询
在买游戏或折腾之前,先去 ProtonDB 查一下:
| 评级 | 含义 |
|---|---|
| Platinum | 开箱即用 |
| Gold | 需要小幅调整 |
| Silver | 能玩但有明显问题 |
| Bronze | 勉强能跑 |
| Borked | 完全不能玩 |
网站上还有用户提交的具体 Proton 版本选择和启动参数,很有参考价值。
我的第一个 Linux 游戏
装好之后第一个跑的是《命运石之门》(Steins;Gate),这种视觉小说对 Proton 毫无压力,开箱即用。看着熟悉的画面出现在 KDE 桌面上,确实有一种 “这玩意儿真的能跑” 的新奇感。
小结
整个过程比预期的顺利很多。从安装到跑起第一个游戏,总共就几条命令加 Steam 里勾两个选项。Steam Deck 的生态反哺让 Linux 桌面游戏从 “能跑但折腾” 变成了 “大概率开箱即用”。
接下来打算把 Windows 上的游戏一个个搬过来试试,看看哪些能完美运行,哪些需要调参数。