2024-12-22
随着 Steam Deck 的兴起,我本以为会有很多人开始知道 Linux 下也能运行游戏,并且兼容性非常好。但我却依旧时不时被朋友问道,「Linux 可 以玩游戏吗?所有游戏都能玩吗?」这样的问题。Steam Deck 这类掌机或许远没有 我想得那么流行,或许这值得介绍一下。
TL;DR: 能玩,装好驱动后装个 Steam 就行了,感兴趣的话直接装个 Debian 试试看就好了。
Linux 可以使用 wine 来运行 Windows 应用。 它不是 Virtual Box 那样的虚拟机,而是通过 实时把 Windows API calls 翻译成 POSIX calls 来运行,因此运行的效率会比虚 拟机高十分多,不过相较虚拟机会出现更多兼容性问题。对于图形相关的接口 (Direct3D 8/9/10/11), dxvk 将其重 新用 Vulkan 实现了。
太复杂了不会用?Valve 推出了 proton,它将运行 Windows 游戏 所需要的各种依赖封装在了一起,同时对游戏运行进行了一些优化。proton 已经 被集成到了 Linux 版的 Steam 当中。如果只是为了运行游戏,直接安装 Steam 然后点击运行就可以了。对于非 Steam 分发的程序,可以将其加入 Steam 游戏库 后再通过 Steam 来运行。哪怕是对底层实现毫无概念的小白(比如我)也能很愉 快地通过 Steam 在 Linux 下游玩各种游戏。
对于 GOG 、Epic Games 这类对 Linux 不友好的游戏商城,可以使用第三方实现, 比如 Heroic Games Launcher 来替代。或者直接把它们的启动器塞进 Steam 游戏库里,通过 Steam 来启动其它 的启动器。希望其它游戏商城能够留意到 Linux 的游戏市场,早日推出可靠的客 户端吧。
这需要看具体的游戏如何,就我个人来说,体验很不错。
首先是兼容性,这方面的信息可以通过 protondb 来查询,其中明确 标记为 deck verfied 或者 platinum 的,基本体验都很好,标记为 golden 的大 体上也都可玩。很多小众游戏目前并没有数据,但并非无法运行或者体验差。如果 你有在游玩数据库里没有的小众数据,欢迎提交数据分享兼容性信息。
近几年发售的游戏我游玩时都没有遇到兼容性问题。唯一遇到的一次问题是不久前 怪物猎人荒野的公测使用 AMD 显卡会有崩溃的现象,但似乎不少 Windows 用户也 或多或少遇到了问题,这恐怕不是 Linux 的锅。Linux 的游戏社区十分活跃,在 之前的测试开始后不久,proton 的 issues 就已经有很多的讨论,甚至有相关的修复补丁了。
不过就稀奇古怪的老游戏或独立游戏,比如很多日本同人游戏、汉化破解游戏,运 行体验就可能不如人意了。虽然近几年我玩的同人游戏运行情况都不错,但如果涉 猎很多,还是 Windows 会方便点。这里仅指小众的同人游戏,像小丑牌这类独立 游戏,运行没有任何问题。
但需要注意的是,如果是网络游戏玩家,游戏兼容性可能会受到影响。现在不少游 戏都引入了反作弊系统,这些系统有些会直接将 Linux 视为作弊。这方面因游戏 而异,WOW 、FF14 1 的运行情况似乎不错。
其次是运行效率方面,这方面我没有太大关注。我的机器配置是 AMD R5 3600 + AMD RX 6650 XT,基本都能高画质 1080p 运行游戏,印象中 Windows 下应该也是 类似的表现。Linux 引入了转译层,相较直接运行 Windows 程序存在性能损失, 但是不少 Linux 接口的开销比 Windows 接口更小,所以根据游戏的不同甚至会有 Linux 运行效率更好的情况。
有些 benchmarks 2 3 显示,在使用 Vulkan 的情况下,两者的性能表现差不多,甚至 在使用 AMD 显卡的情况下,Linux 的表现会更好。这可能和两者驱动的性能有关。
非游戏的日常使用需要更看具体使用需求。
作为软件工程师,Linux 的使用体验比 Windows 好太多了。zsh/fish 比 Windows 的垃圾命令行好用多了,平常捣腾用自带的包管理和 systemd 也很舒服。另外我 也不需要被微软逼着升级系统,或者是强迫装个 AI ,不断截屏获取用户隐私,美 名其曰提升用户使用效率。
但如果日常经常使用 Microsoft Office 全家桶,或者是其他 Windows 的专有软 件,那运行起来会相当头疼,可能会比运行游戏遇到更多兼容性问题。此外,大量 的国产程序,比如微信,都并不支持 Linux ,其客户端在 Linux 运行效果也并不 理想。
日常使用而言,不同的发行版的差异并不大。不同发行版主要是打包方式存在差异,
如果不细追究或者捣腾的话,那区别就只是安装或更新包的时候使用的命令
pacman
/apt
/dnf
以及软件源不同而已。(如果都开始深究打包差异了,应
该也不会看到这篇博客。)
我目前使用的是 Arch Linux ,其官方仓库软件多,而且还有 AUR, 安装软件方便很多。但是安装需要一些背景知识,对 Linux 不了解可能会很棘手。
如果没使用过 Linux 的同学想要尝试,或许 debian 更值得推荐。其社区很活跃,此外简中的基 于 ubuntu 的教学很多,debian 大体可以一同参考,遇到问题处理起来比较方便。 而且 debian 也有滚动更新的版本,追求新软件源可以使用。至于 ubuntu ,不知 道为什么我对它没什么好感,总觉得相较 debian 并没有什么好改动。