大家好,我是冯哥的缓存。今天这篇讲 Linux 下用Steam玩游戏这件事。
很多人一听"Linux 打游戏"就摇头——觉得游戏是 Linux 最大的短板。这话放在十年前没问题,但现在已经大不一样了。Steam 在 Linux 上的游戏兼容性每年都在飞速提升,目前已有数千款 Windows 游戏可以在 Linux 上直接运行,而且运行效果通常不比 Windows 差多少。
这篇先讲基础:Steam 怎么装、Proton 是什么、兼容性怎么看。
💡 提示: 本篇以 Ubuntu/Debian 系为主要示例。Arch、Fedora 用户命令略有不同,文中会标注。
Linux 游戏的现状——先建立正确预期
别被"Linux 不能玩游戏"的老印象骗了,也别被"Linux 游戏完美无缺"的说法忽悠。真实情况是:
| |
|---|
| |
| Steam 通过 Proton 运行的 Windows 游戏 | |
| 带反作弊的竞技游戏(CS2、Apex、Valorant) | CS2 支持;Apex 有限支持;Valorant 目前不支持 |
| 需要借助 Lutris 或 Heroic 启动(下篇讲) |
| |
⚠️ 注意: 使用内核级反作弊(如 Vanguard、EasyAntiCheat 部分版本)的游戏,在 Linux 上基本无法运行,这是反作弊机制的主动拦截,不是 Linux 的技术限制。
Steam 是什么,Proton 又是什么?
在装之前,先搞清楚这两个概念。
Steam
Steam 是 Valve 开发的游戏平台,本身有 Linux 原生客户端(自 2012 年就支持 Linux)。直接从官网下载即可,不需要 Wine。
Proton
Proton 是 Valve 专门为 Steam 开发的兼容层,基于 Wine + DXVK + VKD3D 组合打包,让 Windows 游戏可以在 Linux 上直接运行,不需要你手动配置 Wine。
| | |
|---|
| | |
| | 完整 DirectX 9/10/11/12 支持(DXVK/VKD3D) |
| | |
| | |
| | |
💡 提示: 用 Steam 玩游戏, Proton 就够了,不需要再额外装 Wine。
安装 Steam
方法一:官方 deb 包(推荐,Ubuntu/Debian)
# 下载官方安装包
wget https://cdn.akamai.steamstatic.com/client/installer/steam.deb
# 安装
sudo apt install ./steam.deb
# 安装过程中会自动下载 steam-launcher 依赖
安装完成后,直接在应用菜单搜索 Steam 启动,首次运行会下载更新包(约 300MB),等待完成即可。
⚠️ 注意: 不建议用 sudo apt install steam 直接装——Ubuntu 仓库里的 Steam 版本往往较旧,而且部分系统版本仓库里压根没有。官方 deb 包是最稳妥的方式。
方法二:Flatpak(推荐,跨发行版通用)
# 确保已安装 Flatpak 和 Flathub
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
# 安装 Steam
flatpak install flathub com.valvesoftware.Steam
# 启动
flatpak run com.valvesoftware.Steam
Flatpak 版的优势是沙盒隔离、依赖自管理,不会影响系统环境,适合不想折腾 deb 依赖的用户。
方法三:Arch Linux / Manjaro
# 开启 multilib 仓库(编辑 /etc/pacman.conf,取消注释 [multilib] 相关行)
sudo pacman -Sy
# 安装 Steam
sudo pacman -S steam
方法四:Fedora
# 启用 RPM Fusion Free 仓库后
sudo dnf install steam
开启 Proton 兼容层
Steam 默认不会对所有游戏启用 Proton,需要手动开启(或按游戏单独设置)。
全局开启(让所有 Windows 游戏都能尝试运行)
- 打开 Steam → 左上角菜单 Steam → 设置
- 在下拉框选择 Proton 版本(推荐选最新的稳定版)
单独为某个游戏设置 Proton 版本
右键游戏 → 属性 → 兼容性 → 勾选"强制使用特定 Steam Play 兼容工具" → 选择版本
💡 提示: 大多数时候用最新 Proton 稳定版即可。只有遇到特定游戏报错,才需要降级到旧版本或换用 Proton-GE。
Proton 版本怎么选
| | |
|---|
| | 首选,大多数情况用这个 |
| | |
| | |
| GloriousEggroll 维护,添加了官方没有的补丁 | |
安装 Proton-GE(可选)
Proton-GE 是社区增强版,对部分游戏兼容性更好(尤其是带视频过场的游戏)。
# 安装 ProtonUp-Qt(图形界面管理 Proton-GE)
flatpak install flathub net.davidotek.pupgui2
# 启动后点击 Add version,选择 Proton-GE 版本安装即可
flatpak run net.davidotek.pupgui2
安装完成后,在 Steam 游戏兼容性设置里就能选到 GE-Proton 版本。
查看游戏兼容性——ProtonDB
在尝试运行一个 Windows 游戏之前,先查一下 ProtonDB(protondb.com),这是一个社区数据库,记录了数万款游戏在 Linux 上的实际运行情况。
💡 提示: ProtonDB 上 Gold 及以上的游戏基本都能流畅游玩。Silver 需要自己动手解决一两个小问题。Borked 的游戏不要抱太大期望,除非有人在评论区提供了解决方案。
显卡驱动——Steam 游戏的前置条件
游戏对显卡驱动要求很高。在装 Steam 之前,确认显卡驱动状态。
NVIDIA 显卡
# 查看显卡型号
lspci | grep -i nvidia
# 查看当前驱动版本
nvidia-smi
如果 nvidia-smi 能正常输出,说明驱动已安装。如果提示命令不存在,需要先装驱动。
AMD 显卡
AMD 显卡在 Linux 下有极好的开源驱动(AMDGPU),内核自带,通常无需额外安装。
# 确认 AMD GPU 已识别
lspci | grep -i amd
glxinfo | grep "OpenGL renderer"
Intel 核显
Intel 核显驱动同样内核自带,开箱即用。
glxinfo | grep "OpenGL renderer"
⚠️ 注意: DXVK 和 VKD3D(Proton 的核心组件)都需要 Vulkan 支持。如果运行游戏时提示 Vulkan 缺失,需要安装对应显卡的 Vulkan 库:
# NVIDIA
sudo apt install nvidia-vulkan-icd
# AMD
sudo apt install mesa-vulkan-drivers
# Intel
sudo apt install intel-media-va-driver mesa-vulkan-drivers
首次运行游戏的完整流程
以一款 Windows 游戏(赛博朋克)为例,走一遍完整流程:
- 查 ProtonDB:protondb.com 搜索游戏名,确认评级为 Gold 以上
- 在 Steam 库里找到游戏,右键 → 属性 → 兼容性,勾选"强制使用 Steam Play"
- 选择 Proton 版本
- 点击运行,等待 Proton 首次配置(会下载一些运行时组件,几分钟)
- 如果能进游戏,恭喜!如果报错,回到 ProtonDB 看其他用户的解决方案
💡 提示: 首次运行一款游戏时会比较慢,因为 Proton 要编译着色器缓存(shader cache)。第二次运行就会快很多。
Steam 常用设置优化
开启游戏性能覆盖层(类似 MSI Afterburner 的功能)
Steam 自带了一个性能监控覆盖层,可以实时显示帧率、CPU/GPU 占用:
- 进游戏后按
Shift+Tab 打开 Steam 覆盖层 - 或者安装 MangoHud,更详细的性能信息(后续篇章介绍)
修改游戏安装位置
Steam 默认安装在 ~/.steam/steam/steamapps/,如果主分区空间不够,可以添加其他分区:
Steam → 设置 → 存储 → 点击 + 添加新存储位置
测试硬件配置说明
💡 测试环境说明: 本篇性能相关描述,基准硬件为:CPU Intel i5-10400 / 内存 16GB / 独立显卡 NVIDIA GTX 1060 6GB / NVMe SSD / Ubuntu 22.04 LTS + 内核 6.5。不同硬件、不同显卡驱动版本结果可能有差异。
常见问题速查
| | |
|---|
| | 换一个 Proton 版本,或试 Proton-GE |
| | |
| | 在游戏属性启动项加 PROTON_USE_D9VK=1 %command% |
| | 安装 fonts-wqy-zenhei 或把 Windows 字体复制到 Wine 字体目录 |
| | |
| | 查 ProtonDB 确认是否支持,不支持则无法用Steam |
| | 启动命令加 STEAM_FRAME_FORCE_CLOSE=1 steam |
实战练习
按以下步骤完整跑一遍,掌握 Steam 游戏的安装和运行流程:
# 1. 确认显卡驱动正常
glxinfo | grep "OpenGL renderer"
# 2. 确认 Vulkan 可用
vulkaninfo 2>/dev/null | head -20
# 没有 vulkaninfo?先安装:
sudo apt install vulkan-tools
# 3. 安装 Steam(官方 deb 方式)
wget https://cdn.akamai.steamstatic.com/client/installer/steam.deb
sudo apt install ./steam.deb
# 4. 启动 Steam,登录账号,等待更新完成
# 5. 进入 Steam 设置 → 兼容性,开启"为所有其他标题启用 Steam Play"
# 6. 在库里找一款 Windows 游戏,右键 → 属性 → 兼容性,手动指定 Proton 版本
# 7. 安装并运行,观察首次运行的着色器编译过程
# 8. 如遇问题,到 protondb.com 搜索游戏名,查看社区解决方案
小结
| |
|---|
| 官方 deb 包(Ubuntu/Debian)或 Flatpak(跨发行版) |
| 让 Windows 游戏在 Linux 上运行,无需手动配 Wine |
| 先试最新稳定版,不行再换旧版或 Proton-GE |
| protondb.com,Gold 以上基本可以放心玩 |
| |
| |
下一篇预告 讲 Lutris 与性能调优——非 Steam 游戏、GOG 游戏、老游戏怎么跑,以及 MangoHud 性能监控、游戏帧率优化的实用技巧。