跳转至

常见游戏问题

Linux 原生版本与 Windows 版本的区别

某些 Linux 原生移植版可能会缺少部分功能,或者性能不如通过 Proton 运行的 Windows 版本。不过在某些场景下,只使用原生版本可能是你唯一可行的选择,甚至反而更合适。

如果某个 Linux 原生游戏无法启动,可以进入 游戏属性,选择 Compatibility(兼容性),勾选 Force the use of a specific Steam Play compatibility tool(强制使用特定 Steam Play 兼容工具),然后改为使用 Legacy Runtime 兼容层。

Denuvo 防篡改 DRM 导致游戏被锁定

使用 Denuvo Anti-Tamper DRM 的游戏,可能会把切换 Proton 版本视为“在不同硬件上重新激活游戏”。如果你在 24 小时内切换 Proton 版本超过 5 次,就有可能被游戏锁定,暂时无法进入。

Source 1 引擎的音频与自定义内容问题

Note

这只适用于运行在 Source 引擎上的特定游戏。

Attention

在你真的遇到音频问题,或下文提到的 Left 4 Dead 2 特定情况之前,不要提前应用这个变通方案。

如果 Source 游戏中出现语音缺失、或者自定义内容无法加载,可能是因为 SELinux 阻止了 MP3 解码和其他中间件运行,原因在于它们会执行堆内存

这个问题也已经被确认会影响 Left 4 Dead 2 中加入或托管自定义地图。

音频 / 自定义内容问题的修复方法:

Warning

SELinux 配置属于高级用户操作。如果处理不当,可能破坏系统中的其他组件,并削弱设备安全性。

打开宿主系统终端,并在自行承担风险的前提下输入以下 4 条命令:

sudo su
cd /tmp
ausearch -c 'hl2_linux' --raw | audit2allow -M my-hl2linux
semodule -X 300 -i my-hl2linux.pp

重启设备后,再测试 Source 游戏是否仍然存在问题。

撤销这项修改:

禁用或移除该模块。

禁用这项修改:

semodule -X 300 -d my-hl2linux
移除并删除这项修改:
semodule -X 300 -r my-hl2linux

如果你还想删除对应的 .pp 文件,它通常位于 /root 目录下。

Steam 游戏无法启动

Steam 游戏无法启动,可能有很多不同原因。

收集 Steam 日志文件:

如果你在 Steam 中遇到游戏无法启动的问题:

  1. 打开游戏属性,并加入以下启动选项PROTON_LOG=1 %command%

  2. 启动游戏

随后你的 Home 目录下应当会出现一个以该游戏应用 ID 命名的日志文件。

NTFS 格式磁盘的权限问题:

请确认你的游戏 不在 NTFS(Windows)分区上。更多信息见这里

多用户环境下的 WINE 特殊问题:

Note

AeroCore OS 的掌机 / 游戏模式镜像不支持多个 Linux 用户账户,因此这里的内容只适用于 AeroCore OS 的桌面版。

有时 Steam 游戏会在第二个用户账户下完全无法启动,这通常与 WINE prefix 文件的所有权有关。你可能会在第二个用户的 ~/.local/share/Steam/logs/console-linux.txt 中看到如下错误:

wineserver: /SteamLibrary/steamapps/compatdata/377160/pfx is not owned by you

解决方法是为该用户单独创建一个 Steam 库目录,用来保存 Proton 的 prefix 数据;对于其他目录(例如公共游戏数据),则使用符号链接(symlink)进行共享。

USER2@bazzite: /mnt/ExtraStuff/USER2SteamLibrary/steamapps$ ls -la
total 32
drwxrwxr-x. 3 USER2 steamplayers 4096 Jan 29 15:19 .
drwxrwsr-x. 3 USER2 steamplayers 4096 Jan 29 16:13 ..
-rwxr-xr-x. 1 USER2 USER2         2287 Jan 29 15:19 appmanifest_377160.acf
lrwxrwxrwx. 1 USER2 USER2           51 Jan 29 15:10 common -> /mnt/ExtraStuff/USER1SteamLibrary/steamapps/common/
drwxr-xr-x. 3 USER2 USER2         4096 Jan 29 15:13 compatdata
lrwxrwxrwx. 1 USER2 USER2           56 Jan 29 15:12 shadercache -> /mnt/ExtraStuff/USER1SteamLibrary/steamapps/shadercache/
lrwxrwxrwx. 1 USER2 USER2           49 Jan 29 15:12 temp
lrwxrwxrwx. 1 USER2 USER2           53 Jan 29 15:12 workshop

同样地,你还需要从各自的库中复制或链接对应的 appmanifest 文件,这样游戏才能在各个 Steam 库中正确显示。