Steam/游戏特定故障排除

来自 ArchWiki

首先查看 Steam/故障排除

本页面假定您熟悉 Steam#目录结构Steam#启动选项环境变量Steam 运行时共享库GAME 伪变量用于指代游戏目录。当文本显示“使用 FOO=bar 运行游戏”时,这意味着您要么更新启动选项,要么使用环境变量从命令行运行游戏。

贡献

  • 使用“游戏目录”或 GAME 伪变量来指代游戏目录。
  • 链接错误报告和解决方法的来源。

其他来源

以下链接提供了更多针对各种游戏的修复和调整,否则将超出本文的目的

对于使用 Proton 运行的游戏,您可以查看 ProtonDB,其中列出了许多特定游戏的有用用户报告。您可以按 Linux 发行版和硬件过滤搜索到的报告。用户还会描述他们是否必须应用调整。

  • ProtonDB 众包 Linux 兼容性报告。

常用步骤

OpenSSL 1.0 设置

本文或章节已过时。

原因: 链接的错误报告来自 2017 年,是否仍有游戏受到影响?(在 Talk:Steam/Game-specific troubleshooting 中讨论)

一些 Steam 游戏是针对 OpenSSL 1.0 构建的。(FS#53618

安装 lib32-openssl-1.0AUR 并使用 LD_LIBRARY_PATH=/usr/lib/openssl-1.0 运行游戏。

缺少 libcurl.so.4 或未找到版本 CURL_OPENSSL_3

安装 lib32-libcurl-compat 并使用 LD_PRELOAD=libcurl.so.3 运行游戏。

Steam Link

目前,Steam Link 不适用于 Wayland。当连接到在 Wayland 上运行的 Steam 主机时,您只会看到空白屏幕甚至闪烁。因此,您必须禁用 Wayland,例如

/etc/gdm/custom.conf
WaylandEnable=false

并在继续之前重启登录管理器。

Source 引擎游戏中出现方块或不可见符号、特殊字符和西里尔字母

任何特殊字符都可能在游戏、主菜单和游戏控制台中产生方块或空白标记。实际上,除拉丁字符外的任何字符都无法正常工作。问题在于 Bitstream Vera Sans 被配置为拉丁无衬线字体的系统主要默认字体。

首先,确保已启用每用户字体自定义文件,即存在以下文件

/etc/fonts/conf.d/50-user.conf

接下来,在您的 fontconfig 目录中创建 fonts.conf 文件,内容如下,或者如果文件已存在,则仅将别名部分附加到文件中

~/.config/fontconfig/fonts.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
 <alias>
  <family>sans-serif</family>
   <prefer>
    <family>DejaVu Sans</family>
    <family>Verdana</family>
    <family>Arial</family>
    <family>Albany AMT</family>
    <family>Luxi Sans</family>
    <family>Nimbus Sans L</family>
    <family>Nimbus Sans</family>
    <family>Helvetica</family>
    <family>Lucida Sans Unicode</family>
    <family>BPG Glaho International</family> 
    <family>Tahoma</family> 
   </prefer>
 </alias>
</fontconfig>

PipeWire & FMOD

如果您正在使用 PipeWire,并且在使用 FMOD 作为音频后端的游戏中没有声音,那么您可能需要 pipewire-alsa。此类游戏包括 Project Zomboid、Don't Starve 和 Unrailed。

如果这影响到您,您将在日志中看到类似于以下内容。

[00:00:01]: FMOD Error: An invalid object handle was used.
[00:00:10]: FMOD Error: Can't play event dontstarve/HUD/click_mouseover: An invalid object handle was used.

Source 1 游戏中出现 tcmalloc.cc 错误

如果像 Counter-Strike Source、Portal、Team Fortress 2 这样的游戏在启动时崩溃并出现以下错误

src/tcmalloc.cc:278] Attempt to free invalid pointer 0x9e13ad0 
~/.local/share/Steam/steamapps/common/Team Fortress 2/hl2.sh: line 72:  6280 Aborted                 (core dumped) ${GAME_DEBUGGER} "${GAMEROOT}"/${GAMEEXE} "$@"

安装 lib32-gperftoolsAUR,并将崩溃的游戏指向正确的库,使用

LD_PRELOAD=/usr/lib32/libtcmalloc_minimal.so

来自此 steam 社区帖子

Unity 游戏崩溃

使用 Unity 的游戏,例如 Papers Please、Vampire Survivors,期望安装 PulseAudio,如果未安装,则在运行时会静默崩溃并出现 SIGSEGV。您也可以将 PipeWirepipewire-pulse 一起使用。

Split lock 检测/缓解

Split lock 检测是对开发人员的警告,而缓解措施旨在降低性能,以鼓励开发人员编写更好的代码。这导致在各种游戏场景下性能显着降低[1],包括 Counter-Strike Source 引擎游戏和使用 BattleEye 反作弊的游戏。

自内核 5.19 起,默认启用 split lock 检测[2]。修复方法是完全禁用缓解或检测。检测可以通过添加 split_lock_detect=off 内核参数 来禁用,而缓解可以在运行时使用 split_lock_mitigate=off 来禁用。

注意: 禁用 split lock 缓解可能会对整体系统性能产生负面影响。因此建议仅在必要时使用 sysctl 切换标志。

此外,GameMode 可用于在运行时切换此内核参数。

游戏

7 Days To Die

如果游戏启动时崩溃,请将以下内容添加到 Steam 启动选项

LD_PRELOAD="libpthread.so.0 libGL.so.1" __GL_THREADED_OPTIMIZATIONS=1 %command% -force-glcore

如果游戏无法识别您屏幕的分辨率,请使用游戏启动器启动游戏,并选中Unity 屏幕选择器选项以更正分辨率。这将为您提供一个 GUI,您可以在其中选择游戏启动时使用的正确屏幕。

注意: 该游戏在窗口模式下容易崩溃或功能失常。建议在全屏模式下运行它。

如果这没有帮助,请尝试在启动器选项中的游戏引擎中选中相应选项,以 32 位 模式运行游戏。

如果在启动器选项中选中 GLCore 选项,将有助于提高游戏性能。

注意: 如果安装模组,游戏确实接受 .dll 模组。但是,这需要覆盖您的 Proton 前缀。使用 Protontricks 访问 7 Days 正在使用的前缀的 winecfg,转到库,并添加 winhttp 作为覆盖。这至少适用于 Harmony DLL 模组。

Age of Wonders 3

如果游戏启动时启动失败,您需要创建一个 pthread_yield.so 文件。在文本编辑器中执行以下操作

extern int sched_yield(void);

int pthread_yield()
{
	return sched_yield();
}

然后将文件另存为 pthread_yield.c,然后在终端中在包含该文件的目录中发出以下命令

gcc -m32 -shared -fPIC pthread_yield.c -o pthread_yield.so

将 pthread_yield.so 复制到 AOW3 游戏文件夹中,然后编辑 AoW3Launcher.sh 文件并添加以下内容

export LD_PRELOAD="pthread_yield.so"

在文件底部但在 exec ./AoW3Launcher 之前执行此操作,之后游戏应正常启动。

Alien Isolation

缺少 libpcre.so.3 和 libidn.so.11

$ ln -s /usr/lib/libpcre.so 'GAME/lib/x86_64/libpcre.so.3'
$ ln -s /usr/lib/libidn.so 'GAME/lib/x86_64/libidn.so.11'

./lib/x86_64 附加到您的 LD_LIBRARY_PATH[3]

缺少 libcrypt.so.1

安装软件包 libxcrypt-compat[4]

Amnesia: The Dark Descent

依赖项: [5]

游戏手柄无法工作

游戏附带的 libSDL2 版本似乎已过时,可能尚不支持您的游戏手柄。只需删除或重命名 <install_dir>/game/lib64/libSDL2-2.0.so.0,链接器将回退到使用 /usr/lib 中的最新版本。

Amnesia: Rebirth

如果您在启动时遇到弹出窗口,显示 Fatal Error: Fmod could not be initialized!! 并立即关闭游戏,并且您正在使用 pipewire,如果尚未安装,请安装 这些软件包:pulseaudio-alsalib32-libpulselib32-alsa-plugins。重启并重新打开游戏。

And Yet It Moves

依赖项

游戏无法启动

当游戏拒绝启动并打印以下错误消息之一时

readlink: extra operand ‘Yet’
Try 'readlink --help' for more information.
This script must be run as a user with write priviledges to game directory

打开 GAME/AndYetItMovesSteam.sh 并用双引号将以下行中的 ${BASH_SOURCE[0]} 括起来。

ayim_dir="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"

Anomaly Warzone Earth

离开全屏

没有游戏内设置可以实现此目的,但可以使用 Alt+Enter 切换全屏。

无限加载

在游戏可执行文件旁边创建文件 loadfix.csrc

#define _GNU_SOURCE 
#include <dlfcn.h> 
#include <semaphore.h> 
#include <stdio.h> 
#include <time.h> 
#include <unistd.h> 
static int (*_realSemTimedWait)(sem_t *, const struct timespec *) = NULL; 

int sem_timedwait(sem_t *sem, const struct timespec *abs_timeout)
{ 
    if (abs_timeout->tv_nsec >= 1000000000)
    { 
        //fprintf(stderr, "to: %lu:%lu\n", abs_timeout->tv_sec, abs_timeout->tv_nsec); 
        ((struct timespec *)abs_timeout)->tv_nsec -= 1000000000; 
        ((struct timespec *)abs_timeout)->tv_sec++; 
    } 
    return _realSemTimedWait(sem, abs_timeout); 
} 

__attribute__((constructor)) void init(void) 
{
    _realSemTimedWait = dlsym(RTLD_NEXT, "sem_timedwait");
}

使用 gcc -m32 -o loadfix.so loadfix.c -ldl -shared -fPIC -Wall -Wextra 编译

使用 LD_PRELOAD=$LD_PRELOAD:./loadfix.so %command% 启动

游戏手柄无法工作

您必须启用键盘控制并将游戏手柄映射到按键。

Steam 配置:steam://controllerconfig/91200/1498735506

Aquaria

鼠标指针卡在一个方向

如果鼠标指针卡在一个方向,请确保 GAME/usersettings.xml 包含 <JoystickEnabled on="0" />

如果这不能解决问题,请尝试拔下您已插入的任何操纵杆或操纵杆适配器设备。

ARK: Survival Evolved

游戏无法启动,显示带有无法读取文本的文本窗口

使用 MESA_GL_VERSION_OVERRIDE=4.0 MESA_GLSL_VERSION_OVERRIDE=400 运行游戏。

灰色水面

下载 TheCenter 地图,并将该地图中的 Water_DepthBlur_MIC.uasset 复制到 TheIsland 中,如 此处[死链接 2024-07-30 ⓘ] 所述。

Ragnarok 使用 TheIsland 的纹理,因此相同的步骤也修复了 Ragnarok 上的问题。

启动时出现段错误

由游戏打包的 libopenal 引起。使用系统 libopenal 通过使用 LD_PRELOAD=/usr/lib/libopenal.so.1 运行游戏来解决段错误。

加入游戏时崩溃

将 steam 设置为“离线模式”并重试

Audiosurf 2

错误。无法加载歌曲 <filename> ,返回持续时间为零

如果您在日志中看到此错误,请安装 pulseaudio-alsa

BADLAND: Game of the Year Edition

请参阅 #缺少 libcurl.so.4 或未找到版本 CURL_OPENSSL_3

Barony

损坏/不正确的纹理

使用以下启动选项

LD_PRELOAD="$LD_PRELOAD ./libSDL2-2.0.so.0 ./libSDL2_ttf-2.0.so.0 ./libSDL2_image-2.0.so.0" %command%

此问题是由 SDL 版本比游戏捆绑的版本更新引起的,此解决方法只是让游戏使用捆绑的库,如 此处 所述。

BATTLETECH

游戏在打开工作室鸣谢后冻结(开场动画不播放)

尝试安装 libbsd(如 Paradox 论坛 中建议的那样)。

游戏无法启动

尝试删除 BATTLETECH/BattleTech_Data/plugins/x86_64/libc.so.6,这应该会使游戏再次运行。

Beat Cop

“BeatCop.x86_64”没有响应

运行 BeatCop.x86 而不是 BeatCop.x86_64

Binding of Isaac: Rebirth

没有声音

注意: 这也有助于解决 Never Alone (Kisima Ingitchuna) 和 No Time to Explain 的问题。

/usr/lib 添加到 LD_LIBRARY_PATH 的前面。

调整游戏选项中的音频级别。

BioShock Infinite

全屏模式下游戏在错误的显示器上启动

添加以下启动选项

--eon_force_display=1

更多各种修复和调整可以在 此处 找到

音频爆裂声

将启动选项更改为

PULSE_LATENCY_MSEC=60 %command%

有关该变量的讨论可以在 Proton issue #1209 中找到。较低的值保持较低的音频延迟,但仍可能发生爆裂声;较高的值更有可能消除爆裂声,但允许更高的音频延迟。

BLACKHOLE

请参阅 #缺少 libcurl.so.4 或未找到版本 CURL_OPENSSL_3

Black Mesa

安装 lib32-gperftoolsAUR 以获取 32 位版本的 libtcmalloc_minimal.so.4,这是需要的 来源

Block'hood

启动时白屏

启动游戏时,可能只显示一个白屏,没有界面,也无法玩游戏。添加 “-screen-fullscreen 0” 到启动选项。

The Book of Unwritten Tales

依赖项

如果游戏无法启动,请取消选中:属性 > 启用 Steam 游戏中社区

已知该游戏在打开设置时以及可能在玩游戏期间或之前会发生段错误。来自 Steam 讨论 的一种解决方法是将游戏的 RenderSystem_GL.so 替换为 Debian 存储库中的一个。为此,请下载 此 deb 文件,并使用 dpkg 解压它

$ dpkg -x libogre-*.deb outdir

现在将 GAME/lib/32/RenderSystem_GL.so 替换为从 .deb 软件包中提取的那个。

BRAIN/OUT

如果游戏无法启动并显示错误消息“invalid app configuration”。更改目录到游戏文件夹

$ cd ~/.steam/steam/steamapps/common/BrainOut/

直接运行游戏

$ java -jar brainout-steam.jar

您需要让 steam 在后台运行。

The Book of Unwritten Tales: The Critter Chronicles

请参阅 #The Book of Unwritten Tales

为了防止游戏在片尾字幕处崩溃,请按照 此处 所述更改片尾字幕图像的大小。

Borderlands 2

从其他平台迁移存档

Borderlands 2 不支持跨平台 Steam 云同步,您必须在平台之间手动复制文件。存档位置可以在 此处 找到。确保您的用户可以访问这些文件。

使用 Ctrl 键

默认情况下,Borderlands 2 不允许使用 Ctrl 键。游戏似乎正在访问键码而不是键符号,因此 xmodmap 无效。一种解决方法是使用 setkeycodes 将 Ctrl 扫描码映射到其他键,如 Map scancodes to keycodes#Using setkeycodes 中所述。我使用 setkeycodes 0x1d 56(以 root 身份)在启动游戏之前将 Ctrl 映射到 Alt,并使用 setkeycodes 0x1d 29 恢复默认值。

登录 SHiFT

开箱即用,您将无法登录 SHiFT,因为游戏期望证书位于 /usr/lib/ssl 中,这是 Ubuntu 存储证书的位置。但是,Arch 使用 /etc/ssl。要解决此问题,请使用 SSL_CERT_DIR=/etc/ssl/certs 运行游戏。

游戏几乎立即崩溃

游戏在启动后立即在 libopenal 中崩溃。

可能的解决方案 0:使用 -nostartupmovies 标志运行游戏。它不再在 libopenal 中因一般保护错误而崩溃。

可能的解决方案 1:截至 lib32-openal 版本 1.18.0-1,游戏会立即崩溃。可能的解决方案是将 lib32-openal 降级到 1.17.2-1,或者使用 LD_PRELOAD='$HOME/.steam/root/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libopenal.so.1' 启动游戏。

如果终端中出现如下消息

[  671.617205] Borderlands2[2772]: segfault at 0 ip           (null) sp 00000000ff9a462c error 14 in Borderlands2[8048000+235a000]

以下更改可能会有所帮助(来源

LD_PRELOAD='./libcxxrt.so:/usr/$LIB/libstdc++.so.6' %command%

可能的解决方案 2:如 #Steam native runtime 中所述,以 steam-native 身份启动 steam。如果即使在安装了 steam-native-runtime 元软件包后,游戏仍然无法启动,则您可能缺少某些库。您可以在 #Debugging shared libraries 中描述的方式找到这些缺少的库。

Borderlands: The Pre-Sequel

请参阅 #Borderlands 2

键盘无法工作

这可能会发生在某些窗口管理器上,例如 dwm。尝试不同的 窗口管理器,或安装 wmname 并运行

$ wmname LG3D

有关更多信息,请参阅 Java#模拟另一个窗口管理器

无法通过 Steam 启动

如果游戏在 Steam 中显示为 正在运行,但在您启动时同步后关闭,请尝试在游戏目录中创建一个 steam_appid.txt 文件,内容为 261640。这应该可以解决问题,让您可以直接从游戏目录启动游戏。如果这不起作用,请尝试使用 steam-native-runtime

Celeste

Steam 界面覆盖缺少文本

添加以下 启动选项 (如 此问题 中所述)

-gldevice:Vulkan

混沌引擎

将您的 启动选项 设置为

LD_PRELOAD="/usr/lib32/libpng16.so.16" %command%

如果在 steam-native 的终端输出中看到此类错误

/home/$USER/.local/share/Steam/steamapps/common/Chaos engine/TheChaosEngineSteam: /home/$USER/.local/share/Steam/steamapps/common/Chaos engine/lib/libz.so.1: version `ZLIB_1.2.9' not found (required by /usr/lib32/libpng16.so.16)
/home/$USER/.local/share/Steam/steamapps/common/Chaos engine/TheChaosEngineSteam: /home/$USER/.local/share/Steam/steamapps/common/Chaos engine/lib/libz.so.1: version `ZLIB_1.2.3.4' not found (required by /usr/lib32/libpng16.so.16)

然后链接系统 libz.so

cd ~/.local/share/Steam/steamapps/common/Chaos\ engine/lib
mv libz.so.1 libz.so.1.old
ln -s /lib/libz.so.1

都市运输 2

对话框无法正确显示

您将无法读取或看到任何内容,并且您的日志中将有此信息

Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 69: non-double matrix element
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 69: wrong number of matrix elements

错误 FS#35039 的解决方法在 这里 提供 (替换 /etc/fonts/conf.d/10-scale-bitmap-fonts.conf)。

城市:天际线

游戏无法启动

如果您将 $XDG_DATA_HOME 设置为 $HOME/.local/share 以外的其他内容,Cities Skylines 会将一些文件放在 $XDG_DATA_HOME/Paradox Interactive 中,并将一些硬编码在 ~/.local/share/Paradox Interactive 中。取消设置此变量以解决此问题。

纹理无法正确渲染

使用 UNITY_DISABLE_GRAPHICS_DRIVER_WORKAROUNDS=yes 运行游戏。

当在内容管理器中启用 Node Controller 或 Intersection Marking tool 时,游戏在加载画面崩溃

如果在加载存档或开始新游戏时,启用上述一个或两个模组导致游戏崩溃,但在禁用这两个模组的情况下工作正常,请安装 mono

城市:天际线 II

与前作不同,没有 Linux 版本,因此请勾选该框以强制使用 Proton Experimental。

道路纹理透明、建筑物隐形和图形伪影

要修复配备 AMD GPU 系统的这些主要图形问题,请使用 RADV 而不是 AMDVLK 启动 Steam,如 Vulkan 页面上所述。

文明 V

使用 LD_PRELOAD=/usr/lib32/libopenal.so.1 %command% 运行游戏。[6] 如果 /usr/lib32 中没有 libopenal.so.1,您可能需要在确保 multilib 已启用后安装 lib32-openal

对于旧版本的 PulseAudio (<12.0),请使用 LD_PRELOAD='./libcxxrt.so:/usr/$LIB/libstdc++.so.6:/usr/lib32/libopenal.so.1' %command%[7]

如果您遇到严重的延迟(低于 1fps)或游戏在启动时崩溃,请尝试将以下路径添加到 LD_PRELOAD:'/usr/$LIB/libgcc_s.so.1 /usr/$LIB/libxcb.so.1 /usr/$LIB/libgpg-error.so ./libcxxrt.so /usr/lib32/libstdc++.so.6 /usr/lib32/libopenal.so.1'[8][`死链` 2021-05-17 ⓘ]

使用 PulseAudio 时声音断断续续

请参阅 PulseAudio/Troubleshooting#Laggy sound

高核心数 CPU 上的段错误

Civ V 的 Linux 版本存在一个错误,当在逻辑核心数 >8 的 CPU 上运行时,会导致段错误。这包括许多常见的 CPU,尤其是 Ryzen 7 和 i7 系列部件。要诊断此问题,请检查 dmesg 的输出

dmesg | grep -E "Civ5XP.*segfault"

一种解决方案是运行 taskset -c 0-7 steam steam://rungameid/8930,这限制了游戏可以访问的核心数量[9]。在启动选项中运行此命令很方便

LD_PRELOAD=/usr/lib32/libopenal.so.1 taskset -c 0-7 %command%

另一种解决方案是在 config.ini 中将 MaxSimultaneousThreads 设置为 16,该文件存储在游戏目录中。[10]

片头动画后游戏崩溃,并显示“无法加载纹理 (LoadingBaseGame.dds)” / 启动时配置重置

此问题是由于游戏以不区分大小写的方式调用某些文件而导致的。

解决方案是将游戏安装在不区分大小写的文件系统(如 VFAT)上,或安装在 ciopfsAUR 的挂载点上。

仅仅游戏在不区分大小写的文件系统中是不够的,位于 "~/.local/share/Aspyr/Sid Meier's Civilization 5" 的配置/数据目录也需要位于不区分大小写的文件系统或挂载点中。如果数据目录位于区分大小写的文件系统中,则游戏将无法正常工作,并且可能会观察到配置不断重置等症状。

Steam 界面覆盖无法工作

可以通过在启动选项中预加载界面覆盖渲染器来修复不可见的 Steam 界面覆盖

LD_PRELOAD='/home/USERNAME/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' %command%

在 __memcpy_ssse3 期间崩溃

这似乎是一个内存对齐错误,可以通过使用 -mstackrealign 编译库来纠正。GDB 也可以用于按原样运行它,并使用以下启动选项

LD_PRELOAD=/usr/lib/libcurl.so.4 /bin/gdb -windows -batch -return-child-result -nx -eval-command="run" -exec=%command%

文明:太空

如果您在启动时遇到立即崩溃/关闭的情况,请确保您已安装以下软件包

您还需要提供 libtbb.so.2 的旧版本 lib32-tbb。要获取它

  1. 从 Ubuntu 归档下载 libtbb2 deb 软件包
  2. libtbb.so.2libtbb2_4.2_20130725-1.1ubuntu1_i386.deb/data.tar.xz/usr/lib 解压到游戏目录中。

请注意,如果您全局安装了 32 位 libtbb.so.2,您将需要使用以下命令运行游戏

  1. 使用 LD_PRELOAD='./libtbb.so.2' 运行游戏。

强制它使用此版本。此版本还可以解决具有以下回溯的崩溃问题

   #0  0x08b71d06 in FireGrafix::DynamicsLock<Graphics::BuildingSkinnedDataDynamicConsts>::DynamicsLock(Graphics::SurfaceSet**, FireGrafix::SurfaceSetPoolAllocator*, unsigned short) ()
   #1  0x08c25ffc in cvLandmarkVisSystem::cvLandmarkVisDynamicConstantUpdaterSS::HandleBuildingShaderSkinned(Graphics::FGXShaderPackageInstanceView*, FireGrafix::FGXModelNode*, FGXVector4*) ()
   #2  0x08c25f34 in cvLandmarkVisSystem::cvLandmarkVisDynamicConstantUpdaterSS::UpdateNode(Graphics::FGXShaderPackageInstanceView*, FireGrafix::FGXModelNode*, FGXVector4*) ()
   #3  0x08c25e2c in FireGrafix::FGXModelRenderByNodeSSExample_Shadow<cvLandmarkVisSystem::cvLandmarkVisDynamicConstantUpdaterSS, 2, FireGrafix::FGXModelRenderEndSuperclass>::RenderNode(unsigned int*, FireGrafix::FGX_SPIV_GENERIC*, FireGrafix::FGXModelNode*, FGXVector4*) ()
   #4  0x08c24ff5 in cvLandmarkVisSystem::LandmarkRenderJob::Execute(unsigned int) ()
   #5  0x093d26d9 in Platform::JobTask::execute() ()
   #6  0xf749f3c0 in ?? () from /usr/lib32/libtbb.so.2
   #7  0xf7497551 in ?? () from /usr/lib32/libtbb.so.2
   #8  0xf7495fc3 in ?? () from /usr/lib32/libtbb.so.2
   #9  0xf7491b7e in ?? () from /usr/lib32/libtbb.so.2
   #10 0xf7491db7 in ?? () from /usr/lib32/libtbb.so.2
   #11 0xf78f4346 in start_thread () from /usr/lib32/libpthread.so.0
   #12 0xf7716026 in clone () from /usr/lib32/libc.so.6

文明 VI

尽管有原生的 #Civilization VI Linux 版本,但许多用户报告使用 #Civilization VI Windows 版本 性能更好。

文明 VI Linux 版本

可以使用 steam-native 运行,或者使用启动选项 LD_PRELOAD='/usr/lib/libfreetype.so.6:/usr/lib/libbrotlicommon.so.1:/usr/lib/libbrotlidec.so.1' %command%,并转到 *属性 > 兼容性*,勾选“强制使用特定的 Steam Play 兼容性工具”并选择“Steam Linux Runtime”。

如果您正在使用 Wayland,您可能还需要设置 QT_QPA_PLATFORM=xcb,因为游戏的启动器使用的 Qt 版本仅支持 Xorg(请参阅 Wayland#Qt),另一种方法是用 Arch Linux 提供的 Qt 替换捆绑的 Qt [11]。某些游戏版本似乎还需要添加 SDL_VIDEODRIVER=x11,否则将拒绝启动并显示错误消息“An unrecoverable error has occurred, and Civilization VI cannot continue.”(发生了一个无法恢复的错误,文明 VI 无法继续。)

本文或章节已过时。

原因: OpenSSL 1.0 软件包已被删除,此游戏是否仍然受影响?(在 Talk:Steam/Game-specific troubleshooting 中讨论)

按照 #OpenSSL 1.0 设置 进行操作。

确保禁用 Steam Workshop 模组,因为某些模组可能会在加载后引起问题。

Steam 界面覆盖无法工作

自从引入新的启动器以来,Steam 界面覆盖在此游戏中不起作用。要使其再次工作,只需按照 #Launcher unable to load page 中所述跳过启动器即可。

如果启动时立即段错误

这是一个奇怪的极端情况,即使在最好的情况下也很少发生(并且重现它的先决条件未知),但崩溃看起来会像这样

  1. 启动时立即段错误,在创建任何窗口之前
  2. 游戏创建 ~/.local/share/aspyr-media/Sid Meier's Civilization VI/AppOptions.txt
  3. 当在 gdb 下运行游戏时,字符串 AppHost::BugSubmissionPackager::BugSubmissionPackager 出现在回溯输出中
    1. 要在 gdb 下运行,首先启动一个 shell 并切换到游戏目录。
    2. 然后 echo 289070 > steam_appid.txt (否则游戏将无法在 Steam 本身之外启动)
    3. 然后运行类似 gdb -ex run -ex bt -ex quit --args ./Civ6 ./Civ6 的命令
    4. 输出末尾的相关信息应如下所示
   Thread 3 "Civ6" received signal SIGSEGV, Segmentation fault.
   [Switching to Thread 0x7fffe5d06700 (LWP 12315)]
   0x000000000201121e in AppHost::BugSubmissionPackager::BugSubmissionPackager(unsigned long, String::BasicT<Platform::StaticHeapAllocator<5, 0>, (String::Encoding)4> const&, String::BasicT<Platform::StaticHeapAllocator<5, 0>, (String::Encoding)0> const&, AppHost::ModuleVersionInfo const&) ()
   #0  0x000000000201121e in AppHost::BugSubmissionPackager::BugSubmissionPackager(unsigned long, String::BasicT<Platform::StaticHeapAllocator<5, 0>, (String::Encoding)4> const&, String::BasicT<Platform::StaticHeapAllocator<5, 0>, (String::Encoding)0> const&, AppHost::ModuleVersionInfo const&) ()
   #1  0x000000000200c796 in AppHost::_INTERNAL::SetupFXSPlatform(AppHost::AppEnvironment const*, AppHost::AppOptions*)
       ()
   #2  0x000000000200fea0 in AppHost::RunApp(int, char**, AppHost::Application*) ()
   #3  0x000000000200f9bc in AppHost::RunApp(char*, AppHost::Application*) ()
   #4  0x0000000001112d98 in WinMain ()
   #5  0x00000000010bdab0 in ?? ()
   #6  0x00000000010bfb31 in ThreadHANDLE::ThreadProc(void*) ()
   #7  0x00007ffff473e08a in start_thread () from /usr/lib/libpthread.so.0
   #8  0x00007ffff38f747f in clone () from /usr/lib/libc.so.6

如果以上所有情况都适用于您,则修复方法非常简单。编辑 ~/.local/share/aspyr-media/Sid Meier's Civilization VI/AppOptions.txt 并将读取 EnableBugCollection 1 的行更改为 EnableBugCollection 0

据推测,此修复程序将阻止任何自动错误报告到达 Aspyr(如果您将来遇到崩溃/错误),但至少可以使游戏正常启动。

如果崩溃并显示错误 “undefined symbol FT_Done_MM_Var”

如果游戏崩溃并显示

./GameGuide/Civ6: symbol lookup error: /usr/lib/libfontconfig.so.1: undefined symbol: FT_Done_MM_Var

解决方案是将启动选项设置为

LD_PRELOAD=/usr/lib/libfreetype.so.6 %command%
如果游戏最终变成灰色空白屏幕

解决方案是禁用模组。

如果在“加载”屏幕后计算机变得无响应

这可能是由于 amdgpu 驱动程序因视频内存不足而崩溃导致的。如果运行集成显卡(例如 AMD Renoir),请尝试在 BIOS 中分配更多内存。

多显示器和 wayland:分辨率不匹配

Wayland 没有定义主显示器,因此游戏将显示任意显示器的可用分辨率;它可能不具有相同的大小,并且鼠标可能会偏移。解决方案是将 Xwayland 显示器设置为主显示器。

要查找 Xwayland 显示器列表:xrandr --listmonitors

要将(例如)XWAYLAND4 显示器设置为主显示器:xrandr --output XWAYLAND4 --primary

启动器窗口很大(缩放错误)

如果启动器窗口很大(有时比屏幕还大),则缩放比例不正确。将 QT_AUTO_SCREEN_SCALE_FACTOR=0 添加到启动选项,下次启动时启动器应可用。

启动器无法加载页面

启动器经常显示类似 Error loading page 的错误。可以通过编辑游戏启动配置 ~/.local/share/Steam/steamapps/common/Sid Meier's Civilization VI/Civ6 并将行 ./GameGuide/Civ6 更改为 ./Civ6Sub 来绕过启动器。

文明 VI Windows 版本

要玩 Windows 版本的 Civ VI,首先您必须 强制使用 Proton。然后,您需要绕过通过 proton 存在错误的启动器。要跳过启动器,请右键单击游戏,单击 *属性*,并设置以下 *启动选项*

eval $( echo "%command%" | sed "s/2KLauncher\/LauncherPatcher.exe'.*/Base\/Binaries\/Win64Steam\/CivilizationVI.exe'/" )

发条人

需要 lib32-libidn (由 steam-native-runtime 引入)。

英雄连 2

确保您已安装 lib32-gconfAUR[`链接失效`: 未找到软件包]

缺少 libpcre.so.3 和 libidn.so.11

就像 #异形:隔离 一样,您需要将 /usr/lib/libpcre.so 符号链接到 GAME/lib/arch/libpcre.so.3,并将 /usr/lib/libidn.so 符号链接到 GAME/lib/arch/libidn.so.11,否则游戏将无法启动。

哥萨克 3

没有声音

使用 steam-runtime,例如将 启动选项 设置为

~/.steam/root/ubuntu12_32/steam-runtime/run.sh %command%

使用 primus 时屏幕闪烁

在启动选项中设置 PRIMUS_SYNC=2

反恐精英:起源 (CS:S)

不可见的符号、特殊字符和西里尔字母

请检查 #Source 引擎游戏中方块或不可见的符号、特殊字符和西里尔字母

反恐精英:全球攻势 (CS:GO)

游戏无法启动并崩溃,显示黑屏

CSGO 在我的 Arch 系统上无法运行

此问题是在内核更新到 5.17 后发现的:游戏无法正常启动。

一种可能的解决方法是更改 ~/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/csgo/panorama/videos,将其重命名为 videos.bak,然后将 -novid 添加到启动参数。游戏将失去主游戏界面的背景,但可以正常运行。

游戏在错误的屏幕上启动

csgo-osx-linux 问题 #60

如果发生这种情况,请进入全屏窗口化或窗口化模式,并将窗口拖动到正确的显示器。然后返回全屏模式,游戏现在应该在正确的显示器上。

无法在菜单中到达屏幕底部

csgo-osx-linux 问题 #594

如果您有辅助显示器,则可能在菜单中无法到达屏幕下部的一部分。如果在 Gnome 上,您可以尝试打开概览(Super 键),然后将游戏拖到另一个显示器再拖回来。

如果您不在 Gnome 上,或者来回拖动窗口不起作用,您可以尝试 安装 wmctrl 并运行此命令,其中 X 和 Y 是窗口的偏移量,H 和 W 是大小。

wmctrl -r "Counter-Strike: Global Offensive - OpenGL" -e 0,X,Y,H,W

示例:辅助显示器:在左侧 2560x1600,游戏显示器:在右侧 2560x1440)。

wmctrl -r "Counter-Strike: Global Offensive - OpenGL" -e 0,2560,0,1600,1200

这里 X 和 Y 为 0,2560,用于将窗口移动到右侧的显示器,H 和 W 1600,1200 设置为与游戏内分辨率匹配。

声音播放略有延迟

csgo-osx-linux 问题 #45

请参阅 PulseAudio/Troubleshooting#Laggy sound 以获取可能的解决方案。

鼠标在游戏中无法工作

如果您的鼠标在主菜单中工作,但在游戏中不工作,请使用 SDL_VIDEO_X11_DGAMOUSE=0 运行游戏。 [12] 如果仍然不起作用,请在游戏内设置中关闭“原始输入”。

亮度滑块无法工作

安装 安装 xorg-xrandr 并运行 xrandr 以找出您连接的显示器输出的名称。

编辑 GAME/csgo.sh 并添加以下行(调整 *output_name*)

# gamma correction
xrandr --output output_name --gamma 1.6:1.6:1.6 # play with values if required
STATUS=42
while [$STATUS -eq 42]; do
 ...
done
# restore gamma
xrandr --output output_name --gamma 1:1:1
exit $STATUS

麦克风无法工作

csgo-osx-linux 问题 #573

CS:GO 使用默认的 PulseAudio 声卡设备,忽略 Steam 设置中的配置。

首先找出你的麦克风的源名称(应该以 alsa_input. 开头)。

$ pacmd list-sources

然后设置默认设备(根据你的名称进行更改)

$ pacmd set-default-source device_name

还要降低麦克风音量到 60%,否则你会听到恼人的背景噪音,并且别人很难听清你在说什么(根据你的名称进行更改)

$ pacmd set-source-volume device_name 0x6000

鼠标无响应或移动缓慢

设置启动选项为

vblank_mode=0 %command%

适用于几乎所有其他游戏。

插入游戏控制器后,游戏启动时崩溃

一些文本丢失或位置错误

生成 en_US.UTF-8 区域设置将解决问题。

AMD Radeon RX 6000 系列显卡卡在地图加载 “Initializing World”/“Loading Resources” 界面

csgo-osx-linux issue #2801

当使用 amdgpu 驱动时,一些用户 [13] 遇到地图加载时间超过一分钟并卡在 “Initializing World” 或 “Loading Resources” 的问题。你可以尝试以下解决方法

创建文件

/etc/udev/rules.d/70-amdgpu-mclk.rules
KERNEL=="card0", SUBSYSTEM=="drm", DRIVERS=="amdgpu", ATTR{device/power_dpm_force_performance_level}="manual", ATTR{device/pp_dpm_mclk}="1 2 3"

这将禁用最低内存时钟状态 “0”。

立即激活,使用命令

# udevadm control --reload && udevadm trigger

Creeper World 3: Arc Eternal(爬行者世界3:永恒之弧)

游戏无法启动

此文章或章节的事实准确性存在争议。

原因:使用原生版本而不是 Steam 运行时是否可以解决此问题?(在 Talk:Steam/Game-specific troubleshooting 中讨论)

搜索 Player.log(可能在 ~/.config/unity3d/Knuckle Cracker LLC/Creeper World 3/ 中)

如果 Player.log 中的某处显示

FMOD failed to get number of drivers ... An error occured that was not supposed to.  Contact support.

Unity 可能是 pulse audio 库存在问题。

删除或重命名 /usr/lib, /usr/lib32, ~/.steam/steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/, ~/.steam/steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/ 中所有 libpulse-simple* 文件的实例。

CrossCode(圣剑传说)

如果启动时出现 FontConfig 错误

...
Fontconfig error: "/etc/fonts/fonts.conf", line 6: invalid attribute 'translate'
Fontconfig error: "/etc/fonts/fonts.conf", line 6: invalid attribute 'selector'
Fontconfig error: "/etc/fonts/fonts.conf", line 7: invalid attribute 'xmlns:its'
Fontconfig error: "/etc/fonts/fonts.conf", line 7: invalid attribute 'version'
Fontconfig warning: "/etc/fonts/fonts.conf", line 9: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/10-hinting-slight.conf", line 4: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/conf.d/10-hinting-slight.conf", line 5: unknown element "its:translateRule"
Fontconfig error: "/etc/fonts/conf.d/10-hinting-slight.conf", line 5: invalid attribute 'translate'
Fontconfig error: "/etc/fonts/conf.d/10-hinting-slight.conf", line 5: invalid attribute 'selector'
Fontconfig error: "/etc/fonts/conf.d/10-hinting-slight.conf", line 6: invalid attribute 'xmlns:its'
Fontconfig error: "/etc/fonts/conf.d/10-hinting-slight.conf", line 6: invalid attribute 'version'
Fontconfig warning: "/etc/fonts/conf.d/10-hinting-slight.conf", line 8: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 4: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 5: unknown element "its:translateRule"
...

这里 下载最新版本的 nwjs,并将其内容提取到你的 CrossCode 目录中,覆盖原有文件。

请务必将 nw 重命名为 CrossCode

此解决方案经证实可用于 CrossCode 1.2 和 nwjs 0.41.2,并且基于 这篇 Steam 帖子

启动期间崩溃:X server 可能已消失

如果游戏在启动时崩溃,日志以如下行结尾

[19142:19142:0315/222104.782993:ERROR:chrome_browser_main_extra_parts_x11.cc(62)] X IO error received (X server probably went away)

在启动选项中添加 --disable-gpu(如这篇 Steam 帖子中所述)。

Crusader Kings II(十字军之王2)

没有音频

SDL 默认使用 PulseAudio,因此要将其与 ALSA 一起使用,你需要设置 SDL_AUDIODRIVER=alsa 环境变量。

启动窗口尺寸异常

你可以通过在 ~/.paradoxinteractive/Crusader Kings II/settings.txt 中设置 fullscreen=yes 使全屏模式成为默认模式。

DLC 未检测到

如果启动器中的 DLC 选项卡不可选,请将游戏目录中的 DLC 目录重命名为 dlc

游戏启动时间过长

如果你使用的是 nvidia 显卡,请确保已启用 DRM 内核模式设置

游戏完全无法启动

如果游戏在 3.3 补丁(游戏变为 64 位专属)后停止启动,请安装 onetbb

Crypt of the NecroDancer(节奏地牢)

闪屏后崩溃

如果从终端启动 Steam,则会发生以下错误。

FMOD ERROR: UpdateFMOD SystemUpdate: This command failed because System::init or System::setDriver was not called.

安装 pulseaudio-alsa 可以解决此错误。

游戏完全无法启动 (Wayland)

在 Wayland 上,目前(截至 2024 年 5 月)需要在你的启动选项中添加 SDL_VIDEODRIVER=x11。如果你没有添加任何启动选项,还要在启动选项的末尾添加 %command%。游戏应该可以正常启动。

The Curious Expedition(奇异探险队)

游戏卡在加载界面

此游戏附带的 Electron 版本对于 Arch Linux 来说太旧了。

安装 electron 并使用 electron resources/app.asar 运行游戏。

Death Road To Canada(加拿大死亡之路)

没有音乐

/usr/lib 添加到 LD_LIBRARY_PATH 的前面。

Deus Ex: Mankind Divided(杀出重围:人类分裂)

本文或章节已过时。

原因: OpenSSL 1.0 软件包已被删除,此游戏是否仍然受影响?(在 Talk:Steam/Game-specific troubleshooting 中讨论)

按照 #OpenSSL 1.0 设置 进行操作。

需要 libidn11librtmp0

如果你使用 Bumblebee,请将你的 启动选项 设置为

LD_PRELOAD="$LD_PRELOAD:libpthread.so.0:libGL.so.1" __GL_THREADED_OPTIMIZATIONS=1  optirun %command%

如果游戏无法激活,并且你正在运行 systemd-resolved 和 Proton,请按照 Steam/Troubleshooting#Games running with Proton 5.13+ have no Internet connectivity 中的说明操作。

Dirt(尘埃)

本文或章节已过时。

原因: OpenSSL 1.0 软件包已被删除,此游戏是否仍然受影响?(在 Talk:Steam/Game-specific troubleshooting 中讨论)

按照 #OpenSSL 1.0 设置 进行操作。

Dirt Rally(尘埃拉力赛)

运行 beta 版本:右键单击游戏,然后点击属性… > 测试,输入代码:“feraldirtsupport” 并点击检查代码,最后,选择 feral_support_branch 作为版本。

要使用原生库,需要安装 gconfAURlibldap24AUR

如果你使用 Wayland,请使用 SDL_VIDEODRIVER=x11 启动游戏。同样,如果你使用 PipeWire,请使用 SDL_AUDIODRIVER=pulseaudio 启动游戏 - 其他后端也可能有效,但默认后端无效。

由于链接方式的更改,游戏可能无法正确加载其捆绑的依赖项。要解决此问题,你可以使用 LD_LIBRARY_PATH="GAME/lib/x86_64/" 运行游戏,或者将库从 GAME/lib/x86_64/* 符号链接到 GAME/lib/*[14]

如果你使用 AMD Zen 3 或更新的 CPU,游戏也可能会发生段错误。要修复此问题,你可以拼凑一个小型的共享库来替换 mprotect 函数,并确保分配的内存具有 PROT_READ 访问标志。[15]。这是一个例子

$ cat game.c
#include <sys/mman.h>
#include <unistd.h>
#include <sys/syscall.h>

int mprotect(void *addr, size_t len, int prot) {
  if (prot == PROT_EXEC) {
    prot |= PROT_READ;
  }
  return syscall(__NR_mprotect, addr, len, prot);
}

然后你可以编译库并将共享对象移动到游戏库

$ gcc game.c -shared -o game.so
$ mv game.so GAME/lib/

之后,你可以将 LD_PRELOAD=game.so 添加到游戏启动选项。

Divinity: Original Sin - Enhanced Edition(神界:原罪 - 加强版)

当使用 Bumblebee optirun 或 primusrun 时,游戏无法启动

编辑 GAME/runner.sh 以使用 primusrun

LD_LIBRARY_PATH="." primusrun ./EoCApp

游戏无法在 mesa 上运行

这是一个已知 bug,他们无意修复它,请参阅这个 bug

解决方法[16][死链 2024-07-30 ⓘ] (参见分步指南

获取以下文件:https://bugs.freedesktop.org/attachment.cgi?id=125302 并将其重命名为 divos-hack.c

然后执行

$ gcc -s -O2 -shared -fPIC -o divos-hack.{so,c} -ldl

divos-hack.so 复制到游戏文件夹。

对于 GOG 版本,转到所述游戏文件夹并使用以下命令运行 Divinity

$ allow_glsl_extension_directive_midshader=true LD_PRELOAD="divos-hack.so" ./runner.sh

对于 steam 版本,打开控制台,使用以下命令更改到 divinity 目录

$ cd ~/.steam/steam/steamapps/common/Divinity Original Sin Enhanced Edition

启动 steam 并转到游戏的首选项,然后打开 “设置启动选项” 对话框。在那里,放入以下内容

allow_glsl_extension_directive_midshader=true LD_PRELOAD="divos-hack.so:$LD_PRELOAD" %command%

然后只需启动游戏。

Doki Doki Literature Club(心跳文学俱乐部!)

Linux 版本随 Windows 版本一起发布,但只能通过 Steam Play 安装。

可以使用此启动选项启动原生版本:./DDLC.sh # %command%

Don't Starve Together(饥荒联机版)

如果启动时在 libX11.so.6.4.0 中崩溃,则问题很可能是 SDL1.3 中的一个 bug。不幸的是,DST 是静态链接的,我们无法使用 LD_PRELOAD 来用更新的版本替换 libSDL。该 bug 已报告给开发者,但一个可能的解决方法是修补 XGetICValues() 以避免在错误地给定空参数时崩溃。

Dota 2

依赖项

安装/将 RADV 设置为默认 Vulkan 应用程序

Valve 建议使用 RADV (Mesa) 而不是 AMDVLK (AMD),请参阅 Vulkan 以了解安装和设置默认值。

在 OpenGL 和 Vulkan 之间切换(推荐)

在游戏启动选项下添加以下标志

对于 OpenGL:-gl

对于 Vulkan:-vulkan

游戏内字体无法辨认

使用 MESA_GL_VERSION_OVERRIDE=2.1 运行游戏。

libpangoft2 错误

  1. 安装 pango 软件包。
  2. 删除 GAME/game/bin/linuxsteamrt64 中的 libpango-1.0.solibpangoft2-1.0.so
  3. 如果你正在使用 Bumblebee,请将 LD_PRELOAD="libpthread.so.0 libGL.so.1" __GL_THREADED_OPTIMIZATIONS=1 optiru 添加到你的 启动选项

游戏无法启动

如果你从终端运行游戏,并且虽然没有显示错误,但请尝试禁用:Steam > 设置 > 游戏中 > 启用 Steam 社区游戏中界面

显然,游戏 #The Book of Unwritten Tales 存在相同的问题。它还描述了一个在 Dota 2 中未经测试的解决方法。

游戏在错误的屏幕上运行

请参阅 GitHub Dota 2 issue #11

游戏无法启动,并显示 libxcb-dri3 错误消息

在最近的 Mesa 更新之后,Dota 2 停止工作。错误消息是

SDL_GL_LoadLibrary(NULL) failed: Failed loading libGL.so.1: /usr/lib32/libxcb-dri3.so.0: undefined symbol: xcb_send_fd

游戏没有音频

这可能是因为 Dota 2 尝试通过 ALSA 输出音频,而 ALSA 已被 PulseAudio 接管。尝试安装 pulseaudio-alsa 并将游戏内音频输出设置为 “默认”。

Steam Overlay(Steam 覆盖层)

Steam 分发了一个与最新的 xorg libxcb 不兼容的 libxcb 副本。请参阅 [17], [18]

清除或禁用着色器缓存以进行故障排除

要清除着色器缓存,请删除 steam 着色器缓存目录下的 570 (Dota 的应用程序 ID) 文件夹,例如

/home/gaben/steam/steamapps/shadercache/

要禁用着色器缓存,请将以下内容添加到 dota 的启动选项

-vulkan_disable_steam_shader_cache

中文提示和玩家名称未显示

中文提示和玩家名称中的中文字符显示为方块字符。

问题是由字体软件包引起的:ttf-dejavu, ttf-liberationttf-ms-fontsAUR

请参阅 GitHub Steam issue #1688

中文输入法问题

Dota2 与 IBus 兼容。

Devil Daggers(恶魔匕首)

请参阅 #缺少 libcurl.so.4 或未找到版本 CURL_OPENSSL_3

Drox Operative(卓克斯军团)

如果游戏启动失败,并显示 “Couldn't find Database/database.dbl!”,请手动解压 assets。 assets003.zip 将覆盖之前文件中的一些文件。

$ cd "~/.steam/root/steamapps/common/Drox Operative/Assets"
$ unzip assets00[123].zip

Dungeon Souls(地牢之魂)

对于 AMD 显卡,除非你像这样启动游戏,否则游戏会在启动时崩溃

R600_DEBUG=mono %command%

Dying Light(消逝的光芒)

游戏启动时崩溃

游戏可以通过 Steam 设置 “强制使用特定的 Steam Play 兼容性工具” > “Steam Linux Runtime” 运行。

Dynamite Jack(炸弹杰克)

需要 lib32-sdlAUR

声音问题

在 64 位 Arch Linux 上运行时,运行 Dynamite Jack 时可能会出现 “噼啪声和嘶嘶声”。这可能是由于未设置 STEAM_RUNTIME=0 引起的。(但是,即使设置了 STEAM_RUNTIME=0,游戏有时仍可能以此问题启动。退出并重新启动游戏似乎可以解决此问题。)

游戏无法启动

如果使用 STEAM_RUNTIME=0 运行 steam,Dynamite Jack 可能无法启动。检查 steam 错误消息中是否有以下消息

/home/$USER/.steam/root/steamapps/common/Dynamite Jack/bin/main: error while loading shared libraries: libSDL-1.2.so.0: cannot open shared object file: No such file or directory

multilib 安装 lib32-sdlAUR,Dynamite Jack 应该可以启动。

Empire Total War(帝国:全面战争)

奇怪的无法辨认的字体

打开 ~/.local/share/feral-interactive/Empire/preferences,然后找到 UsePBOSurfaces 并将其从 1 更改为 0。

Euro Truck Simulator 2(欧洲卡车模拟2)

仅显示黑屏

在游戏启动时选择安全模式。

Firewatch(看火人)

如果 Firewatch 启动但没有显示任何内容,请尝试使用以下命令运行 Steam

`STEAM_RUNTIME_PREFER_HOST_LIBRARIES=0 steam`

Football Manager 2014(足球经理2014)

此游戏在 XFS 或 reiserfs 文件系统上安装时无法运行。解决方法是在 ext4 文件系统上安装。

FORCED(强力基友)

需要 lib32-glu

此游戏具有 32 位和 64 位二进制文件。出于某种原因,即使在 64 位 Arch Linux 上,Steam 也会启动 32 位二进制文件。当手动启动 64 位二进制文件时,游戏会启动,但无法连接到 Steam 帐户,因此你无法玩游戏。因此,请安装 32 位依赖项,并从 Steam 启动游戏。

For the King(为了吾王)

使用 steam-native

启动时显示黑页。需要告知使用 Steam 附带的 libSDL2

添加到游戏的 Steam 启动选项

LD_PRELOAD=~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0 %command%

但请注意,这会产生禁用 Steam 覆盖层的副作用。

使用 steam-runtime

开箱即用。

为了获得完整体验,请通过 steam-runtime 而不是 steam-native 运行 FTK。

FTL: Faster than Light(FTL:超越光速)

兼容性

安装后,FTL 可能由于 “Text file busy” 错误而无法运行(在 Steam 中表现为你的头像边框先变绿然后又变回蓝色)。解决此问题的最简单方法是重新启动系统。重新登录后,FTL 应该可以运行。

FTL 中的 Steam Overlay 覆盖层功能异常,因为它不是一个 3D 加速游戏。因此,桌面通知将可见。如果在全屏模式下玩游戏,这些通知在某些系统中可能会抢占焦点,并将您切换回窗口模式,且无法在不重新启动游戏的情况下返回全屏模式。Steam 上的 FTL 二进制文件没有 DRM 保护,因此可以 Steam 未运行的情况下运行游戏,所以在某些情况下,这可能是最佳选择 - 只需确保您通过 GAME/data/ 中的启动器脚本而不是 $arch 目录中的 FTL 二进制文件启动 FTL 即可。

开源视频驱动程序问题

如果您正在使用开源视频卡驱动程序,FTL 可能无法运行。 有两种解决方案:安装专有视频驱动程序或删除(如果您不确定,请重命名)GAME/data/amd64/lib 目录下的库 “libstdc++.so.6”。 这适用于 64 位系统。 如果您使用的是 32 位系统,则必须删除(重命名)位于 GAME/data/x86/lib 中的相同库。

启动时出现伪影,OpenGL 问题

使用开源驱动程序,ATI 显卡(适用于 Radeon 显卡),游戏可能会在屏幕上显示伪影。 使用 MESA_GL_VERSION_OVERRIDE=3.0 %command% 运行游戏

游戏开发大亨

游戏无法启动

您可能会收到关于缺少 libudev.so.0 的错误。

使用 LD_PRELOAD=/usr/lib/libudev.so.1 运行游戏。

Garry's Mod

游戏无法启动

当出现关于缺少 client.so 的错误时,请尝试以下操作

$ cd ~/.steam/root/steamapps/common/GarrysMod/bin/
$ ln -s libawesomium-1-7.so.0 libawesomium-1-7.so.2
$ ln -s ../garrysmod/bin/client.so ./

如果错误提示缺少 libgconf-2.so.4 的库,请安装 lib32-gconfAUR[损坏的链接:未找到软件包]

打开某些菜单会导致游戏崩溃

大多数菜单工作正常,但带有复选框的菜单(局域网多人游戏,已加载游戏列表)完全无法工作。 这是菜单代码中的一个错误。

如果您喜欢默认菜单样式并且不介意使用 hacky 解决方案:Simon311 编写了代码并提供了修复说明。

如果您不在乎默认菜单样式,并且想要更稳定但功能不完整的解决方案,Facepunch 开发人员 robotboy655 编写了一个新菜单。

尝试加入服务器后游戏崩溃

在加入服务器、下载资源等过程中,游戏似乎会卡住,过一段时间后,可能在“发送客户端信息”部分期间,游戏崩溃,通常没有任何错误消息。错误没有提供太多信息,但是,Garry's mod 的进程被终止了。

当加入具有许多插件的服务器(特别是 DarkRP 服务器)时,此问题更频繁发生。

该问题似乎与 GPU 性能较弱有关,并且游戏从服务器超时,因此如果 GPU 是问题所在,将图形设置降低到最低应该可以解决问题。

该问题似乎与 RAM 使用量有关,一旦您达到大约 2GB 的 RAM 使用量,游戏就会崩溃。 具有许多插件的服务器具有更高的 RAM 使用量,将图形设置降低到最低会降低 RAM 使用量并缓解崩溃。

使用实验性的 x86-64 分支可能有助于缓解此问题,但是请记住,某些插件在使用此分支时可能会返回错误。

诸神会注视着你

本文或章节已过时。

原因: OpenSSL 1.0 软件包已被删除,此游戏是否仍然受影响?(在 Talk:Steam/Game-specific troubleshooting 中讨论)

按照 #OpenSSL 1.0 设置 进行操作。

GRID Autosport

本文或章节已过时。

原因: OpenSSL 1.0 软件包已被删除,此游戏是否仍然受影响?(在 Talk:Steam/Game-specific troubleshooting 中讨论)

按照 #OpenSSL 1.0 设置 进行操作。

尝试玩游戏时黑屏

使用 LC_ALL=C.UTF-8 运行游戏。

枪炮世界

如果您遇到问题,请查看错误日志

~/.config/unity3d/Muse Games/GunsOfIcarusOnline/Player.log

版本 `CURL_OPENSSL_4' 未找到(/usr/lib/libdebuginfod.so.1 需要)

安装软件包 lib32-libcurl-compat 并在您的 shell 环境的 LD_PRELOAD 中包含 'libcurl.so.4',如下所示

export LD_PRELOAD=$LD_PRELOAD libcurl.so.4

砍杀

尝试加载游戏时崩溃

/usr/lib 添加到 LD_LIBRARY_PATH 的前面。

黑客进化

需要 lib32-sdl2_mixer

半条命

文本不可见

半条命使用微软字体来显示文本,请参阅 微软字体 以了解安装方法。

半条命 2 和 эпизоды

西里尔字体问题

这个问题可以通过删除 “Helvetica” 字体来解决。

锤击城堡

游戏无法通过 Steam 启动

/usr/lib 添加到 LD_LIBRARY_PATH 的前面。

没有声音

锤击城堡打开时弹出一个弹窗:“声音错误”——“无法初始化 OpenAL,将不会播放声音。 请尝试更新您的 OpenAL 驱动程序。”

锤击城堡使用的 OpenAL 默认使用 PulseAudio。 要更改它,请将以下行添加到 /etc/openal/alsoft.conf

drivers=alsa,pulse

这样,锤击城堡将使用 ALSA。 此解决方案在 这里 找到。

丰收:巨型遭遇战

依赖项

兼容性

如果游戏拒绝启动并使您进入库安装程序循环,请运行 Harvest 可执行文件而不是 run_harvest 脚本。

hatoful boyfriend 鸽子男友

日文文本不可见

安装 wqy-microheiwqy-microhei-lite

HEARTBEAT

如果启动时出现 FontConfig 错误

遵循 #CrossCode 中描述的相同过程。

HuniePop

游戏启动时崩溃

安装 lsb-release

光明之魂

控制器无法工作

安装 lib32-sdl2AUR 并使用 LD_PRELOAD=libSDL2.so 运行游戏。

请参阅以下 Steam 社区讨论

建议运行 next_update 分支以获取新的修复程序,但是目前存在 libcurl segfault 错误,导致在没有特殊解决方法的情况下无法启动。

缺少 libcurl.so.4 或未找到版本 CURL_OPENSSL_3

请参阅 #缺少 libcurl.so.4 或未找到版本 CURL_OPENSSL_3

罗马:全面战争 - 重制版

开源驱动程序的加载屏幕卡顿

安装 vulkan-swrast,然后在系统重启后将游戏启动器中的渲染器选项更改为 llvmpipe。

完成后,加载屏幕场景将得到修复,并且对于开源驱动程序应正常加载。

Imperator: Rome

Paradox 启动器在启动后冻结或崩溃。 将您的启动选项设置为

LD_PRELOAD=/usr/lib/libc.so.6 %command%

如果屏幕每隔约 3 秒冻结一次,请运行

# chmod o-rx /dev/input/

玩游戏后,使用以下命令撤消它

# chmod o+rx /dev/input/

The Impossible Game

依赖项

The Inner World

需要 java-commons-codecAUR 以获得声音支持。

调出物品栏或主菜单

按住 Tab 键。

过场动画

游戏有过场动画。 它在您在后院开始实际游戏之前直接以过场动画开始。 要观看这些过场动画,您需要使用 Oracle 的 Java 而不是 OpenJDK。

此外,您还需要软件包 ffmpeg-compat-55AUR

Steam Overlay 覆盖层似乎存在问题。 尝试直接使用 GAME/TIW_start.sh 运行游戏。

请注意,过场动画会在新窗口中打开。 因此请注意这一点,并切换到新窗口以欣赏影片。

有关详细信息,请参阅 Steam 论坛

Insurgency

游戏无法启动

设置以下启动选项

LD_PRELOAD='/usr/$LIB/libstdc++.so.6:/usr/$LIB/libgcc_s.so.1:/usr/$LIB/libxcb.so.1:/usr/$LIB/libgpg-error.so' %command%

Interloper

需要 alsa-lib

游戏无法启动

由于与 Steam Runtime 的 libasound.so.2 不兼容,游戏有时可能会发生段错误。

Invisible Apartment

需要 qt5-multimedia

游戏无法启动

如果通过 Steam 启动游戏无法运行,请尝试直接在游戏目录中运行 ./ia1

Joe Danger 2: The Movie

需要 lib32-libpulse

兼容性

仅在直接从 Humble Bundle 获取游戏并安装 lib32-libpulse 后,游戏才能正常工作。

Kerbal Space Program

请参阅 Kerbal Space Program

Killing Floor

无法更改屏幕分辨率

如果尝试在游戏中修改分辨率导致您的桌面环境崩溃,请编辑 ~/.killingfloor/System/KillingFloor.ini

[WinDrv.WindowsClient]
WindowedViewportX=width
WindowedViewportY=height
FullscreenViewportX=width
FullscreenViewportY=height
MenuViewportX=width
MenuViewportY=height

[SDLDrv.SDLClient]
WindowedViewportX=width
WindowedViewportY=height
FullscreenViewportX=width
FullscreenViewportY=height
MenuViewportX=width
MenuViewportY=height

窗口模式

取消选中选项菜单中的全屏,然后按 Ctrl+g 停止鼠标捕获。

声音断断续续

KillingFloor 自带 OpenAL 库 GAME/System/openal.so

备份它,安装 openallib32-openal(如果使用 64 位系统)。

然后将安装的系统库(/usr/lib32/libopenal.so.1/usr/lib/libopenal.so.1)符号链接到 openal.so

Left 4 Dead 2

缺少中文字体

L4D2 查找 文泉驿 字体以渲染中文文本。 您可以安装提供该字体的软件包,例如 wqy-zenheittf-ms-fontsAUR,或者配置 后备字体

/etc/fonts/local.conf (or ~/.config/fontconfig/fonts.conf)
...
         <match target="pattern">
                <test qual="any" name="family">
                        <string>WenQuanYi Zen Hei</string>
                </test>
                <edit name="family" mode="assign" binding="same">
                        <string>Source Han Sans CN</string>
                </edit>
        </match>
...

游戏光线太暗

游戏内环境光线太暗的原因各不相同,其中之一是未启用独立显卡。

根据多个 Steam 指南,请使用 支持 32 位库 的 Nvidia GPU 运行此游戏。

Lethal League

需要 lib32-glew1.10

Life is Strange

需要 sdl2_image librtmp0 libidn11 libxcrypt-compat lib32-libxcrypt-compat gconfAUR

Little Racers STREET

安装 sdl2_mixer

移动/备份 GAME/lib64/libSDL2_mixer-2.0.so.0

/usr/lib/libSDL2_mixer-2.0.so.0 符号链接到 GAME/lib64/libSDL2_mixer-2.0.so.0

漫漫长夜

游戏无法启动

64 位版本启动失败。 可以使用游戏目录中的 32 位版本 tld.x86,或者像这样启动 64 位版本

LD_PRELOAD=~/.steam/root/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0 ./tld.x86_64

游戏启动,但一些覆盖层文本丢失,并且过场动画显示黑屏

除了上面的命令,还要将以下内容添加到 Steam 启动命令中

-screen-fullscreen 0 -screen-width WIDTH_PIXELS -screen-height HEIGHT_PIXELS

例如,如果您的屏幕分辨率为 1280x720,并且正在从终端(在包含二进制文件的目录中)启动 x64 版本,则完整命令将是

LD_PRELOAD=~/.steam/root/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0 ./tld.x86_64 -screen-fullscreen 0 -screen-width 1280 -screen-height 720

从 Steam 启动,完整的游戏启动选项将是

LD_PRELOAD=~/.steam/root/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0 %command% -screen-fullscreen 0 -screen-width 1280 -screen-height 720

过场动画仍然是黑屏

关闭显示选项中的垂直同步,和/或将质量选项中的后期特效设置为低,和/或将全局质量选项降低一个档次。

光标消失

转到选项 > 控制,并将鼠标锁定设置为解锁。

仅当您使用(不可见的)鼠标导航时,该选项才可见。 当使用控制器导航时,它不会显示。 一种解决方案是先使用控制器转到选项 -> 控制,然后再切换到鼠标并尝试盲点设置。

侠盗猎车手 V

BattleEye 连接问题

此文章或章节正在考虑删除。

原因: 此处的解决方案可能无效,因为 Windows 和 Proton 版本是不同的,并且根据用户报告。玩家最多可能在线几分钟,无论是否设置了环境变量,这可能会让用户误以为在线模式有效。您可以自行决定尝试此解决方法,但是如果确定在线模式无效,则应删除此部分。之前已经明确指出 GTA V 仅支持 BattlEye 的 Windows 版本。GTA V 与 Proton 的兼容性在此处跟踪: https://github.com/ValveSoftware/Proton/issues/37 (在 Talk:Steam/Game-specific troubleshooting 中讨论)

参见 #BattlEye

修改启动选项以包含 PROTON_BATTLEYE_RUNTIME

PROTON_BATTLEYE_RUNTIME=~/.local/share/Steam/steamapps/common/Proton\ BattlEye\ Runtime/ %command%

在线模式中游戏崩溃

如果您在 GTA Online 中遇到崩溃(例如,在创建新角色时),请设置以下启动选项

PROTON_NO_ESYNC=1 WINEDLLOVERRIDES=winedbg.exe=d %command%

使用 NVIDIA GPU 的图形问题

尝试启动选项: -force-glcore42 -force-clamped

魔法对抗2

无限期卡在启动界面

如果命令 "ip -s link" 的输出长度超过 4096 个字符,游戏将无法启动。这是因为在函数 bitsquid::network_info(char*) 中,他们查询网络信息时,没有正确处理这种情况。有关参考,请参见 此图片。已向上游(Pieces Interactive)报告,但魔法对抗2似乎不再维护。

一个临时的解决方法是包装您的 ip 二进制文件,如下所示

#!/bin/sh
if [ "$*" = "-s link" ]; then
    echo "<paste a smaller subset of the normal output>"
else
    /path/to/your/real/ip "$@"
fi

忍者印记

声音错误

/usr/lib 添加到 LD_LIBRARY_PATH 的前面。

地铁:最后的曙光

本文或章节已过时。

原因: 引用了 AMD Catalyst 驱动程序,该驱动程序已被弃用一段时间。(在 Talk:Steam/Game-specific troubleshooting 中讨论)

在使用 AMD Catalyst 驱动程序的 GNOME 多显示器设置中,游戏不允许您更改其分辨率。一个临时的解决方法是禁用侧显示器。Jason 在 unencumbered by facts 设法使用单个显示服务器使其在他的多显示器设置上工作,但他使用的是 Nvidia。

地铁:2033 Redux

没有声音

安装 pulseaudio-alsa

没有图像

尝试在 ~/.local/share/Steam/steamapps/common/Metro 2033 Redux/user.cfg 中设置 r_fullscreen off

中土世界:暗影魔多

漂浮的头

使用 __GL_ShaderPortabilityWarnings=0 运行游戏。

骑马与砍杀:战团

Wayland 下出现段错误(核心已转储)

使用 Xorg 代替,或强制会话使用 xcb 作为 QT_QPA_PLATFORM

DLC 选择器

需要构建 qt5-tools

启动时崩溃

设置启动选项为

LD_LIBRARY_PATH="." %command%

一起移动吧

没有声音

安装 lib32-libpulse。删除文件 "Move or Die/Love/linux32/libogg.so.0"

小小星球大冲撞

需要 lib32-openal

启动时崩溃

如果小小星球大冲撞在 X64 系统上启动时崩溃,请通过将 GAME/run_steam.sh 替换为以下脚本来强制启动 32 位可执行文件

#!/bin/sh
./multiwinia.bin.x86

参见 [19]

自然选择2

需要 sndio,此外,您还必须执行

$ ln -s /usr/lib/libsndio.so x64/libsndio.so.6.1

在 NS2 目录的根目录下。这是因为 NS2 使用了旧版本的 sndio,但幸运的是它仍然与新版本兼容。

为了更简洁的解决方案,可以尝试通过环境变量 SDL_AUDIODRIVER 设置使用的音频驱动程序。例如,SDL_AUDIODRIVER=sndioSDL_AUDIODRIVER=alsa

环境变量 SDL_VIDEODRIVER 不能设置为 wayland。如果仍然不起作用,请尝试将 SDL_VIDEODRIVER 设置为 x11

无人深空

启动时黑屏

编辑 ~/Steam/SteamApps/common/No Man's Sky/Binaries/SETTINGS/TKGRAPHICSSETTINGS.MXML 并将 FullScreen 设置为 false,将 Borderless 设置为 true

启动时白屏

如果您遇到白屏,看起来游戏似乎冻结了,但实际上并没有。按住 e 继续。

核子王座

请参阅 #缺少 libcurl.so.4 或未找到版本 CURL_OPENSSL_3

OneShot

游戏启动失败

此问题发生的原因是游戏使用了过时的库。转到游戏目录并删除 libdrm.so.2libGLdispatch.so.0libstdc++.so.6librt.so.1libcrypt.so.1libcrypto.so.1.1。这些文件通常在系统上已经安装了等效的版本。

文件 _______ 将不会运行

可执行文件 _______ 从 Documents 文件夹运行时可能会失败。它也存在于游戏目录中,并且可以从那里运行。

在 Wayland 上游戏启动失败

使用 GDK_BACKEND=x11 运行游戏。

缺氧

世界生成卡住

当区域设置使用逗号而不是点来分隔小数时,会发生此问题。

在 steam 中设置启动选项为 LANG=C.UTF-8 %command%[20]

图形错误、损坏和瓷砖上的线条

这是使用 Zink MESA 驱动程序的结果。如果您全局启用了它,请为此游戏专门禁用它并正常启动它。

পেনুম্বরা: অভারচার

依赖项

窗口模式

没有游戏内选项可以更改为窗口模式,您必须编辑 ~/.frictionalgames/Penumbra/Overture/settings.cfg 来激活它。

找到 FullScreen="true" 并将其更改为 FullScreen="false",之后游戏应该以窗口模式启动。

传送门2

游戏无法启动

几个与 OpenGL 相关的错误(例如 PROBLEM: You appear to have OpenGL 1.4.0, but we need at least 2.0.0!libGL error: driver pointer missing)是由传送门2捆绑了一个旧的 libstdc++ 文件引起的。此错误在使用开源 Radeon 驱动程序 (radeonsi) 时尤其常见。

libstdc 的问题可以通过使用 LD_PRELOAD='/usr/$LIB/libstdc++.so.6' 运行游戏来解决。

分辨率过低

当游戏以分辨率过低而无法进入游戏设置时,使用 -windowed 标志在窗口模式下运行游戏。

缺少非拉丁字体

现象是传送门中没有菜单。传送门和传送门2 使用 Helvetica,将以下行添加到 ~/.config/fontconfig/fonts.conf

<match target="pattern">
    <test qual="any" name="family">
        <string>Helvetica</string>
    </test>
    <edit name="family" mode="assign" binding="same">
        <string>Source Han Sans CN</string>
    </edit>
</match>

您可以将 "Source Han Sans CN" 替换为您喜欢的且已存在的字体。

监狱建筑师

使用 PulseAudio 或 Pipewire 时出现 ALSA 错误

错误

ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave

通过安装

根据 PulseAudio#ALSA

或者,如果通过 Steam 运行游戏,您可以强制游戏通过 proton 运行,这可以解决其他音频错误。

您可以通过 steam 打开游戏的属性来执行此操作,并在“通用”下勾选“强制使用特定的 Steam Play 兼容性工具”,然后从下面的下拉列表中选择一个 proton 版本

游戏仅以安全模式启动

如果游戏无法启动,但 steam 认为它正在运行,则可能是 Paradox 启动器运行不正常。
如果是这种情况,您会发现一些进程在后台运行

ps -ef|grep paradoxlauncher

全部杀死它们,然后按如下方式修改游戏启动选项

LD_PRELOAD=/usr/lib64/libc.so %command%

最终,如果以上选项不起作用,则可以选择跳过它

./PrisonArchitect %command%

注意:即使我们使用另一个可执行文件来启动游戏,也必须在命令末尾添加 %command% 以欺骗 Steam。

僵尸毁灭工程

没有声音

/usr/lib 添加到 LD_LIBRARY_PATH 的前面。

在游戏中,转到选项并将所有音频设置为适当的音量。

红衫

如果您使用 PulseAudio,则需要 lib32-libpulse

泰坦复仇

需要 libxtstlib32-libxtst

古墓丽影:崛起

在 X 会话中运行。

游戏无法启动

如果在 X 会话中运行不可用或不首选,另一种替代方法是执行以下操作

touch /usr/local/bin/pulseaudio
chmod 755 /usr/local/bin/pulseaudio

然后在文件 /usr/local/bin/pulseaudio 中 - 您将需要以下内容

#!/bin/sh

exit 0

在此之后,根据一些游戏测试人员的说法,发现游戏已在 Linux 上加载。

雨中冒险

请参阅 #缺少 libcurl.so.4 或未找到版本 CURL_OPENSSL_3

摇滚破坏者DX:导演剪辑版

需要 lib32-libcaca

黑道圣徒3

无法保存自定义显示设置

尽管游戏设置菜单允许选择自定义显示设置,但游戏可能在保存它们时遇到问题。

在这种情况下,请在游戏的 display.ini 文件中手动调整这些设置,文件位于

"${HOME}/.local/share/Steam/steamapps/common/Saints Row the Third/display.ini"

此文件中的注释很好地解释了所有设置和可接受的值。

游戏中屏幕分辨率不正确

当游戏在多显示器环境下启动时,可能会发生这种情况,其中一些显示器已旋转等,因此游戏错误地检测到可用的屏幕分辨率。

在这种情况下,请在 display.ini 文件中调整 ResolutionWidthResolutionHeight 选项。此外,必须设置选项 VerifyResolution = false

黑道圣徒4

更新到新的 Nvidia 驱动程序后游戏启动失败

此文章或章节的事实准确性存在争议。

原因: 通用设置,不特定于此游戏(在 Talk:Steam/Game-specific troubleshooting 中讨论)

使用附加到 LD_PRELOAD/usr/lib32/libGLX_nvidia.so 运行游戏。

游戏在使用 mesa 驱动程序时导致 GPU 锁死

当尝试在使用开源驱动程序的某些 AMD 硬件上玩黑道圣徒4时,可能会导致 GPU 锁死: Bug 93475

一种解决方法是使用 R600_DEBUG=nosb 运行游戏。

英雄萨姆3:BFE

没有音频

尝试运行

# mkdir -p /usr/lib/i386-linux-gnu/alsa-lib/
# ln -s /usr/lib32/alsa-lib/libasound_module_pcm_pulse.so /usr/lib/i386-linux-gnu/alsa-lib/

如果这不起作用,请尝试按照 Steam 社区 的建议调整 ~/.alsoftrc(英雄萨姆3:BFE 使用 OpenAL 输出声音)。如果您未使用 Pulse Audio,您可能需要编写以下配置

~/.alsoftrc
[general]
drivers = alsa
[alsa]
device = default
capture = default
mmap = true

SJ-19 学会爱

如果游戏在启动时崩溃并在 Steam 的输出中出现此错误

/home/username/.local/share/Steam/steamapps/common/SJ-19 Learns To Love/sj-19-linux/sj-19-learns-to-love.x86_64: error while loading shared libraries: libsteam_api.so: cannot open shared object file: No such file or directory

右键单击 steam 中的游戏,选择属性,并在启动选项中设置此项

LD_LIBRARY_PATH=./sj-19-linux %command%

杀戮尖塔

如果游戏无法启动或在启动时崩溃,请安装 xorg-xrandr

如果游戏崩溃并出现 xrandr 堆栈跟踪

Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
at org.lwjgl.opengl.XRandR.findPrimary(XRandR.java:326)
at org.lwjgl.opengl.XRandR.ScreentoDisplayMode(XRandR.java:315)

这很可能是由于 LWJGL 中的已知错误 导致的。解决方法是将 xrandr 配置更改为仅包含分辨率(例如:2560x1440_60.00 应变为 2560x1440

如果游戏不移动接收器输入,您可以编辑以下文件以允许接收器移动

~/.alsoftrc
[pulse]
allow-moves=yes

火柴人大乱斗

如果游戏无法启动,请尝试附加 PROTON_USE_WINED3D=1 %command% 以强制使用 WINE direct3D。为此,您必须安装 wine

Songbringer

Wayland 启动错误

安装 glfw 并使用 LD_PRELOAD=/usr/lib/libglfw.so.3 运行游戏。

太空海盗和僵尸

需要 lib32-openal

没有音频

尝试运行

# mkdir -p /usr/lib/i386-linux-gnu/alsa-lib/
# ln -s /usr/lib32/alsa-lib/libasound_module_pcm_pulse.so /usr/lib/i386-linux-gnu/alsa-lib/

如果这不起作用,请尝试按照 Steam 社区的建议调整 ~/.alsoftrc(英雄萨姆3:BFE 使用 OpenAL 输出声音)。如果您未使用 Pulse Audio,您可能需要编写以下配置

~/.alsoftrc
[general]
drivers = alsa
[alsa]
device = default
capture = default
mmap = true

星尘

依赖项

游戏崩溃

随附的 x86 版本的星尘在 x64 上无法使用游戏自己的 libSDL* 文件,并且崩溃并输出一些奇怪的信息。

要解决此问题,只需从游戏目录中删除三个文件 libSDL-1.2.so.0libSDL_image-1.2.so.0libSDL_mixer-1.2.so.0

分裂

需要 glu

史丹利的寓言

游戏无法启动

正如 Steam 商店页面中所讨论的,从游戏文件夹中删除 bin/libstdc++.so.6

影子战术:将军之刃

依赖项

星露谷物语

无法移动或输入文本

在游戏中,您被困在床上,因为您无法移动角色,或者在开始新游戏时无法在输入字段中输入文本。这是游戏捆绑的 SDL2 库的一个错误。

安装 sdl2AUR

修改此配置行

~/.steam/steam/steamapps/common/Stardew\ Valley/MonoGame.Framework.dll.config
<dllmap dll="SDL2.dll" os="linux" cpu="x86-64" target="./lib64/libSDL2-2.0.so.0"/>

改为这样(目标开头句点被删除)

~/.steam/steam/steamapps/common/Stardew\ Valley/MonoGame.Framework.dll.config
<dllmap dll="SDL2.dll" os="linux" cpu="x86-64" target="/lib64/libSDL2-2.0.so.0"/>

钢铁风暴:烈火复仇

以黑屏启动

游戏默认尝试以 1024x768 的分辨率在全屏模式下启动,这在某些设备上不起作用(例如带有 Intel hd4000 视频的 Samsung Series9 笔记本电脑)。

使用 -window 标志在窗口模式下运行游戏。然后在游戏中更改分辨率。

群星

没有窗口打开,只有声音

在使用部分 AMD GPU 和 mesa 组合时会发生这种情况,在 ~/.local/share/Paradox Interactive/Stellaris/settings.txt 中设置 multi_sampling=0。

在某些窗口管理器(例如 Xmonad)中,您应该设置 fullScreen=no。

立即崩溃到桌面

Steam 使用 Proton 而不是 Linux Runtime

要诊断,请在终端中运行 Steam 并启动 Stellaris。忽略任何提及 "LD_PRELOAD" 的错误,并查找此错误

/home/me/.local/share/Steam/steamapps/common/Stellaris/dowser.exe: /home/me/.local/share/Steam/steamapps/common/Stellaris/dowser.exe: cannot execute binary file

如果您看到该错误,则解决方案是强制 Steam 为 Stellaris 使用 Linux runtime

  1. 右键单击 Stellaris 并选择“属性...”
  2. 选择“兼容性”选项卡。
  3. 选择“强制使用特定的 Steam Play 兼容性工具”。
  4. 选择“Steam Linux Runtime 1.0 (scout)”
缺少 libnss_sss.so.2

Stellaris 似乎需要 32 位的 libnss_sss.so.2 才能运行。您可以运行以下命令来确认这是否是您的问题

# strace ~/.local/share/Steam/steamapps/common/Stellaris/stellaris 2>&1 | grep sss 

并查看您是否得到类似以下的输出

# openat(AT_FDCWD, "/usr/lib32/tls/i686/sse2/libnss_sss.so.2", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)

如果这确实是您的问题,请从 Ubuntu 的存储库下载 libnss-sss 软件包 [21],从下载的软件包中提取 libnss_sss.so.2,并将其放置在 ~/.local/share/Steam/steamapps/common/Stellaris。游戏现在应该可以正常加载。

在 Wayland 上游戏立即崩溃到桌面

SDL_VIDEODRIVER=x11 附加到您的启动选项。

启动器是空白的

这是在 Machine Age 扩展之后 Linux 上经常出现的问题。如果这种情况发生在您身上,请备份您所有的自定义帝国和存档(位于 $XDG_DATA_HOME/Paradox Interactive/Stellaris/ 和云存档位于 $XDG_DATA_HOME/Steam/userdata/(your_user_ID)/281990/remote/)。如果您没有安装其他 Paradox 游戏,请删除 $XDG_DATA_HOME/ 下的 Paradox Interactive 文件夹。

如果您安装了其他 Paradox 游戏,则不要删除整个 Paradox 文件夹。只需删除 Stellaris 文件夹和 launcher-v2 文件夹。

尝试再次运行游戏。启动器应该在重新下载后正常打开。一旦游戏正常启动,关闭游戏并将您的帝国和存档放回您之前取出的文件夹中。

史蒂芬香肠卷

没有声音

如果使用 原生库 并且安装了 libpulse,Unity 可能会尝试使用该库进行声音并失败。要测试这是否是问题,请尝试删除 libpulse 或重命名名为 libpulse-simple* 的软件包文件。要查看哪些 libpulse 文件相关,请运行

$ pacman -Qql libpulse | grep /usr/lib/libpulse-simple
/usr/lib/libpulse-simple.so
/usr/lib/libpulse-simple.so.0
/usr/lib/libpulse-simple.so.0.1.0

如果重命名其中任何一个文件对您有效,您可以继续执行以下说明(恢复您刚刚做的任何重命名)。浏览到游戏的目录

$ cd "$HOME/.steam/root/steamapps/common/Stephen's Sausage Roll"

并创建一个子目录,我们可以用它来保存 0 字节的类似库文件

$ mkdir noload/

使用 touch 创建我们希望动态链接器跳过的上述文件的 0 字节版本,例如

$ touch noload/{libpulse-simple.so,libpulse-simple.so.0,libpulse-simple.so.0.1.0}
注意: 可能只需要 0 字节的 libpulse-simple.so.0 文件。

在您创建了这些 0 字节文件之后,您现在可以尝试直接运行游戏二进制文件,告诉动态链接器使用我们的 0 字节文件

$ LD_LIBRARY_PATH="noload/:$LD_LIBRARY_PATH" ./Sausage.x86_64

如果一切都按预期工作,请将 noload/ 前置到您的 LD_LIBRARY_PATH

同样,这应该有效,因为 Steam 会检查相对于游戏目录的 noload/ 目录。动态链接器应该遵守 $LD_LIBRARY_PATH 变量,并且无法加载必要的 libpulse 文件。然后游戏应该回退到普通的 ALSA。

超级兄弟:剑与巫术 EP

依赖项

游戏捆绑了一个过时的 libstdc++ 版本,这阻止了游戏启动。 [22] 当您从终端运行 Steam 和 S&S 时,可以观察到以下情况

libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast

要解决此问题,请删除 GAME/lib/libstdc++.so.6*。之后,游戏将使用来自 Steam 的 libstdc++。

System Shock 2

当使用原生客户端运行时,您会收到这些错误

C:\windows\system32\winedevice.exe: symbol lookup error: /usr/lib32/libX11.so.6: undefined symbol: xcb_wait_for_reply64
C:\windows\system32\wineboot.exe: symbol lookup error: /usr/lib32/libX11.so.6: undefined symbol: xcb_wait_for_reply64

只需删除或重命名它附带的 libxcb 库

mv /mnt/olhdd/steam/steamapps/common/SS2/lib/libxcb.so.1{,.old}
mv /mnt/olhdd/steam/steamapps/common/SS2/lib/libxcb.so.1.1.0{,.old}

游戏无法启动

如果您遇到游戏无法启动的情况,请执行以下操作

从主 steam common 文件夹中的 "SS2/Bin" 文件夹剪切并粘贴 libsteam_api.so,并将其转移到 "SS2" 主游戏文件夹,而不是子文件夹 "SS2/bin"

剪切并粘贴后,将 LD_PRELOAD='/usr/$LIB/libxcb.so.1' %command% 放入启动选项

一旦所有这些都已实施,在 Steam 上点击播放后,游戏应该可以工作了。

分辨率修复

您可能会在此游戏的 Steam 版本中遇到一些分辨率问题,全屏模式下无法正常工作。执行以下操作

在 SS2 文件夹中打开 cam.cfg,您可能需要在游戏文件夹中使用搜索模式搜索它

根据您的分辨率放置 game_screen_size 1024 768 或 game_screen_size 1920 1080,并将 game_full_screen 1 放入 cam.cfg 文件的底部。

然后转到 cam_ext.cfg,并在显示设置旁边,在使用 use_d3d_display 选项旁边放置一个分号前缀,使其看起来像这样 ;use_d3d_display,然后它应该正常工作,不会超出屏幕,并且应该在活动主屏幕内保持全屏。

Sven Co-op

游戏中没有声音 (FMOD ex 错误代码 60)

如果使用 pipewire,请确保您已安装 lib32-pipewire

Tabletop Simulator

游戏中不显示 CJK 字符

安装 wqy-microheiwqy-microhei-lite

Team Fortress 2

截至 2023 年 9 月的更新,游戏将没有正确版本的 tcmalloc,并且将在启动期间静默崩溃。

按照 #tcmalloc.cc error in Source 1 games 中概述的修复方法进行操作

HRTF 设置

假设 HRTF(头部相关传输函数)已在操作系统中正确设置,除非您禁用原始处理,否则 HRTF 将不会启用。为此,请将此添加到您的 autoexec

dsp_slow_cpu 1

为了获得最佳效果,还要更改以下内容

snd_spatialize_roundrobin 1
dsp_enhance_stereo 0
snd_pitchquality 1

加载画面冻结

如果您是非英语(口语)用户,您必须在 locale.gen 中启用 "en_US.UTF-8"!之后生成一个新的 locale。

没有音频

如果您的系统中没有 PulseAudio,则会发生这种情况。如果您想使用 ALSA,您需要使用 SDL_AUDIODRIVER=alsa 直接启动 Steam 或游戏(来自 SteamCommunity)。

如果仍然无效,您可能还需要设置环境变量 AUDIODEV。例如 AUDIODEV=Live。使用 aplay -l 列出可用的声卡。

纹理加载缓慢

如果您正在使用 Chris' FPS Configs 或任何其他 FPS 配置,您可能已将 mat_picmip 设置为 2。这会产生多个线程用于纹理加载,这可能会在 Linux 上,尤其是在替代内核上导致更多的抖动和延迟。尝试将其设置为 -1,默认值。

在集成 Intel Atom/BayTrail HD Graphics 上加载画面时出现“Invalid color format”错误

将以下内容添加到游戏启动选项: -force_vendor_id 0x10DE -force_device_id 0x1180

这些选项欺骗游戏引擎,使我们拥有 Nvidia GPU,而不是 Intel/AMD。

鼠标灵敏度错误

TF2 附带旧版本的 libSDL2.so。按照 mastercomfig 的指南有助于使用 Steam Runtime 而不是使用捆绑的 libSDL2 版本,并通过使用 Distribution 附带的版本来更新 Steam Runtime。

Terraria

请参阅 发布公告 的已知问题与解决方法部分。

输入问题

此问题的症状是:静止站立后移动时,您的角色速度似乎会发生变化,如果穿着跑鞋,它们不会激活。使用物品进行二段跳时,有时即使您只跳了一次,也会进行二段跳。上下绳索似乎很慢/断断续续。

解决方案是预加载系统 SDL2 库:LD_PRELOAD='/usr/$LIB/libSDL2-2.0.so:/usr/lib32/libSDL2-2.0.so' 更多信息:Terraria 论坛[死链接 2021-05-17 ⓘ]

This War of Mine

游戏无法启动

发生这种情况是由于与较新版本的 lib32-curl 不兼容。要解决此问题,请将您的 启动选项 设置为

 LD_PRELOAD=./libcurl.so.4 %command%

Steam 原生声音故障

捆绑的 libOpenAL 可能无法正常工作,尝试将 /usr/lib32/libopenal.so 符号链接到 GAME/libOpenAL.so

Ticket to Ride

本文或章节已过时。

原因: lib32-gstreamer0.10-baseAUR[链接失效:找不到软件包]标记为删除,并且在 multilib-alucryd 存储库中不存在。(在 Talk:Steam/Game-specific troubleshooting 中讨论)

依赖项

由于 lib32-gstreamer0.10-base 很难构建,您可以为此软件包使用 multilib-alucryd 存储库

The Tiny Bang Story

缺少 libGLEW.so.1.6

# ln -s /usr/lib32/libGLEW.so.1.10.0 /usr/lib32/libGLEW.so.1.6

古墓丽影 (2013)

游戏立即关闭

古墓丽影非常依赖 Steam runtime,最简单的解决方案是使用 runtime 运行它。

如果这不能解决问题,请查找主可执行文件的共享库依赖项。进入您的 steam 文件夹并执行

$ ldd steamapps/common/Tomb\ Raider/bin/TombRaider | grep found

注意所有缺少的库,并尝试从标准存储库和 AUR 安装它们。如果在那之后您仍然缺少库,您可以在网上搜索它们并下载相应的打包 .rpm x86 (32 位) 文件,并将它们提取到 steamapps/common/Tomb\ Raider/lib/i686/ 中,以提供缺少的库。再次运行 ldd,看看您是否安装了所有必要的库。如果没有更多缺少的库,并且添加的库的版本、体系结构和 32/64 位字长正确,并且放置在链接器的搜索路径之一上,那么游戏应该可以工作。


另一种替代方法是在启动选项中执行以下操作

LD_LIBRARY_PATH="$HOME/.local/share/Steam/steamapps/common/Tomb Raider/lib/i686:$LD_LIBRARY_PATH" %command%

Steam 控制器在游戏中无法工作

如果您的 Steam 控制器被正确识别和配对,但在游戏中仍然无法工作,请尝试以下操作

  • 在 Steam 中,非 Big Screen 模式下,转到设置 > 帐户 > Beta 参与 > 更改...,然后在下拉选择框中选择 Steam Beta Update
  • 重启 Steam
  • 转到 Big Screen 并启动古墓丽影

正确识别意味着您可以控制桌面鼠标和 Big Picture 模式下的 Steam,并且控制器显示在 Big Picture 设置中。

Failed to Initialize Direct3D

这可能在切换显示器时发生。

您需要手动编辑首选项文件(位于 ~/.local/share/feral-interactive/Tomb Raider/ 中),并将 ExclusiveFullscreen 选项更改为 0。在此之后,您应该能够成功启动游戏(之后您可以退出并将该选项恢复为 1 以恢复全屏)。

卡在开始菜单

如果存在任何使用 TUN 设备的活动 VPN,Linux 版古墓丽影将无法启动。这是因为它对 getifaddrs() 的返回值做出了不正确的假设。它调用 getifaddrs() 的唯一原因是获取版本 1 UUID 的 MAC 地址,并在 getifaddrs() 完全不返回接口时回退到不同的算法。

下面列出了一种针对这种情况的可选解决方案,它可以修复古墓丽影对 getifaddrs() 输出所做的假设(请参阅 tomb_raider_vpn_fix/releases 获取原始代码)

#include <stdio.h>
#include <errno.h>
#include <ifaddrs.h>

int getifaddrs(struct ifaddrs **ifap) {
   fprintf(stderr, "\n\n\n---------------- dummied out getifaddrs()!\n\n\n");
   *ifap = NULL;
   return 0;
}

void freeifaddrs(struct ifaddrs *ifap) {
   /* do nothing */
}

使用以下命令编译它

$ gcc -m32 -fPIC -shared file_name.c -o file_name.so -ldl -Wall

然后使用以下启动选项

env LD_PRELOAD=$LD_PRELOAD:path/to/file_name.so %command%

Torchlight 2

Libfreetype/libfontconfig 不兼容

如果您在启动游戏(例如 Torchlight 2 或 Civilization IV)时遇到问题,这可能是因为您使用的 libfontconfig 版本比游戏当前支持的版本更新。

右键单击 Steam 中的游戏,并将以下内容设置为其启动选项

LD_PRELOAD=/usr/lib/libfreetype.so.6 %command%

然后尝试启动游戏。

或者,重命名或删除这两个文件将强制它使用您的系统库

Torchlight 2/game/lib/libfreetype.so.6
Torchlight 2/game/lib64/libfreetype.so.6

区域设置不兼容

一些用户报告说,如果您在您的区域设置中没有 en_US.UTF8,Torchlight 2 将无法工作。

仔细检查您是否已在 Steam 安装要求 中生成了所需的区域设置。

Tower Unite

图形故障

这是一个已知问题,发生的原因是开发人员尚未将着色器移植到 Linux。为了最大限度地减少故障并使游戏可玩,请将 -opengl4 添加到您的 启动选项,并在游戏设置中将海洋质量设置为“土豆”,效果质量设置为“低”。

城镇 / 城镇 Demo

需要 Java

Transistor

启动时崩溃 / FMOD 绑定崩溃 / 音频问题

使用以下命令运行游戏

LD_PRELOAD='/usr/lib/libstdc++.so.6:/usr/lib/libgcc_s.so.1:/usr/lib/libxcb.so.1:/usr/lib/libasound.so.2'

否则,通过 shell 运行游戏并为 FMOD 设置正确的音频设备,如 [23] 中所述。

另外,请查看此线程 [24]

Transmissions: Element 120

依赖项

故障排除

确保您已安装所有库。除了 Steam runtime 要求的标准集之外,游戏还需要一些额外的库。指示这一点的典型错误消息是

AppFramework : Unable to load module vguimatsurface.so!

要查找缺少的依赖项,请进入游戏目录并运行

LD_LIBRARY_PATH=bin ldd bin/vguimatsurface.so

查找显示 not found 的条目。

Transport Fever 2

游戏无法启动

重命名或删除游戏目录中的以下文件(~/.steam/steam/steamapps/common/Transport Fever 2),如 [25] 中所述

  • libstdc++.so.6
  • libstdc++.so.6.0.25

Trine 2

声音

此文章或章节的事实准确性存在争议。

原因: 通用设置,不特定于此游戏(在 Talk:Steam/Game-specific troubleshooting 中讨论)

如果声音播放断断续续,请尝试

/etc/openal/alsoft.conf
drivers=pulse,alsa
frequency=48000

分辨率

如果在使用双显示器设置时游戏分辨率不正确,并且您看不到整个窗口,请编辑 ~/.frozenbyte/Trine2/options.txt 并将选项 ForceFullscreenWidthForceFullscreenHeight 更改为您想要玩游戏的显示器的分辨率。

海岛大亨 5

启动时只有声音,屏幕空白

使用 MESA_GL_VERSION_OVERRIDE=4.0 MESA_GLSL_VERSION_OVERRIDE=400 运行游戏。

Unbound: Worlds Apart

如果您的控制器无法工作,请尝试在您的库中选择游戏,点击右侧的齿轮图标,然后点击属性、控制器,并在下拉菜单中选择禁用 Steam 输入。

Unity of Command

需要 lib32-pango

方块

如果显示方块而不是文本,请尝试删除 GAME/bin/libpangoft2-1.0.so.0

没有音频

如果您收到此错误

ALSA lib dlmisc.c:254:(snd1_dlobj_cache_get) Cannot open shared library /usr/lib/i386-linux-gnu/alsa-lib/libasound_module_pcm_pulse.so

尝试运行

# mkdir -p /usr/lib/i386-linux-gnu/alsa-lib/
# ln -s /usr/lib32/alsa-lib/libasound_module_pcm_pulse.so /usr/lib/i386-linux-gnu/alsa-lib/

Unity3D

基于 Unity3D 引擎的游戏,例如War For The OverworldPixel Piracy,可能需要软件包 lsb-release 才能识别到它们在 Linux 上运行并正常工作。

区域设置

用 C# 制作的游戏通常在某些区域设置(例如俄语、德语)中存在问题,因为开发者没有指定与区域无关的数字格式。这可能导致某些游戏屏幕仅部分加载、在线功能出现问题或其他错误。

此文章或章节的事实准确性存在争议。

原因: 仅设置 LC_NUMERIC 不会解决这个问题吗?(在 Talk:Steam/Game-specific troubleshooting 中讨论)

为了解决这个问题,请使用 LC_ALL=C.UTF-8 运行游戏。

受影响的游戏:FORCED, Gone Home, Ichi, Nimble Quest, Syder Arcade

Unity 5 声音问题

Unity 5 中的声音系统已更改,为了能够玩用它创建的游戏,您很可能必须安装并运行 PulseAudio

另一种解决方案是禁用 Steam 运行时:在游戏的启动选项中,写入:LD_LIBRARY_PATH="" %command%

另一种解决方案是使用 pulsenomoreAUR 阻止 Unity 尝试使用 PulseAudio。安装完成后,使用以下内容作为启动选项 :/usr/bin/pulsenomore %command%

受影响的游戏:Kerbal Space Program, SUPERHOT, ClusterTruck

全屏模式下游戏在错误的显示器上启动

不支持显示器选择的 Unity 游戏很可能会在错误的显示器上启动游戏。

问题在于 Unity 游戏将默认参数 <pref name="UnitySelectMonitor" type="int">-1</pref> 写入游戏配置文件。

这将导致游戏在非主显示器上启动。

当将值更改为相应游戏的 <pref name="UnitySelectMonitor" type="int">0</pref> 时,游戏将在正确的(主)显示器上启动。

Unity 游戏配置文件通常位于 ~/.config/unity3d/CompanyName/ProductName/prefs

受影响的游戏:Cities: Skylines, Tabletop Simulator, Assault Android Cactus, Wasteland 2, Tyranny, Beat Cop

请注意,某些游戏不支持设置该参数,它将被简单地忽略。Pillars of EternityKentucky Route ZeroSunless Sea 就是这种情况。

中文/日文/韩文显示错误

安装 wqy-microheiwqy-microhei-lite。然后

#fc-cache -fv

游戏没有响应

将以下行添加到您的启动选项 

SDL_DYNAMIC_API=/usr/lib/libSDL2-2.0.so %command%

在 Wayland 上没有窗口打开

请参阅 Unity3D#No window opens: Desktop is 0 x 0 @ 0 Hz

Unrest

需要 fluidsynth

Volgarr the Viking

删除游戏目录中的 lib 目录以消除 libGL 错误。

战争雷霆

没有音频

如果在启动游戏后没有音频,请安装 pulseaudio-alsa

空白屏幕

如果在启动时出现绿色或空白屏幕,请使用 MESA_GL_VERSION_OVERRIDE=4.1COMPAT 运行游戏。[26][死链 2023-07-30 ⓘ] [27][死链 2020-04-03 ⓘ]

启动器无法自动关闭

通过 Steam 运行时,必须设置启动选项,否则战争雷霆启动器在游戏退出时不会自动关闭。这样做会阻止它在 Steam 社区上报告为正在运行的游戏,更重要的是阻止它在后台占用 CPU 和 RAM。在 Steam 上的战争雷霆的启动选项/参数中放入 XMODIFIERS="" %command%

Victor Vran

启动失败

游戏可能会在启动时崩溃,并打印以下(或类似的)控制台信息

Auto configuration failed
4034673992:error:25066067:DSO support routines:DLFCN_LOAD:could not load the shared library:dso_dlfcn.c:185:filename(libssl_conf.so): libssl_conf.so: cannot open shared object file: No such file or directory

将以下行添加到您的启动选项 

OPENSSL_CONF=/dev/null %command%

战锤 40,000:战争黎明 II

依赖项

启动脚本没有指向 libasound.so.2 的正确方向。

要修复它,请打开 GAME/DawnOfWar2.sh 并替换以下行

HAS_LSB_RELEASE=$(command -v lsb_release)
if [ -n "${HAS_LSB_RELEASE}" ] && [ "$(lsb_release -c | cut -f2)" = "trusty" ]; then
	LD_PRELOAD_ADDITIONS="/usr/lib/x86_64-linux-gnu/libasound.so.2:${LD_PRELOAD_ADDITIONS}"
fi 

替换为

LD_PRELOAD_ADDITIONS="/usr/lib64/libasound.so.2:${LD_PRELOAD_ADDITIONS}"

废土 2

如果废土 2 在您尝试启动时立即退出,则可能是系统文件描述符不足。要增加描述符限制,请编辑 /etc/security/limits.conf 并添加行

* hard nofile 524288

然后重启以使新限制生效,废土 2 现在应该可以启动,并且此设置也可能修复其他游戏。

We Were Here

启动时卡在黑屏或徽标

-screen-fullscreen 0 添加到启动选项。[28]

Worms W.M.D

游戏包含一个脚本,其中包含在 Run.sh 脚本中的次要解决方法,但是,仅此解决方法通常不起作用。游戏似乎正在尝试使用依赖于过时库的库。它还依赖于 libcurl-gnutls。游戏不太可能在现代系统上运行或再次由开发者更新。

因此,需要编辑脚本。目前(2024 年 2 月),以下内容在系统上有效,但这可能随时更改(根据需要编辑 STEAM_RUNTIMEWORMSWMDINSTALLDIR

Run.sh
#!/bin/bash

export LOGFILE=${HOME}/wormswmd.log

export LC_ALL=C.UTF-8
export LD_LIBRARY_PATH="/usr/lib:/usr/local/lib"

export STEAM_ROOT=~/.steam
export PLATFORM=bin32
export STEAM_RUNTIME=$STEAM_ROOT/$PLATFORM/steam-runtime

export WORMSWMDINSTALLDIR=${HOME}/.steamapps/steamapps/common/WormsWMD


export LD_PRELOAD="$(
        printf "%s " "$WORMSWMDINSTALLDIR"/lib/libQt5*.so* \
                ${HOME}/.steam/steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libdbus-1.so.3 \
                ${HOME}/.steam/steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libdbus-1.so.3.5.8 \
                "$STEAM_RUNTIME"/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4 \
                "$STEAM_RUNTIME"/usr/lib/x86_64-linux-gnu/libidn.so.11 \
                "$STEAM_RUNTIME"/lib/x86_64-linux-gnu/libgcrypt.so.11 \
                "$STEAM_RUNTIME"/lib/x86_64-linux-gnu/libwrap.so.0 \
                "$STEAM_RUNTIME"/usr/lib/x86_64-linux-gnu/librtmp.so.0 \
                "$STEAM_RUNTIME"/usr/lib/x86_64-linux-gnu/libhogweed.so.4 \
                "$STEAM_RUNTIME"/usr/lib/x86_64-linux-gnu/libnettle.so.6 \
                "$STEAM_RUNTIME"/usr/lib/x86_64-linux-gnu/libsndfile.so.1 \
                "$STEAM_RUNTIME"/usr/lib/x86_64-linux-gnu/libFLAC.so.8 \
                "$STEAM_RUNTIME"/usr/lib/x86_64-linux-gnu/libpulse.so.0 \
                "$STEAM_RUNTIME"/usr/lib/x86_64-linux-gnu/libjson.so.0 \
                "$STEAM_RUNTIME"/usr/lib/x86_64-linux-gnu/libpulsecommon-1.1.so \
        lib/libicuuc.so.56
)"


chmod a+x ./Worms\ W.M.Dx64
./Worms\ W.M.Dx64 >> $LOGFILE

现在游戏应该可以使用“Play Worms W.M.D (Run.sh)”选项从 Steam 运行。

您也可以尝试直接运行 Worms W.M.Dx64,但这不太可能起作用,因为上述原因,或者从终端运行脚本 Run.sh 以查看如果上述脚本对您不起作用,它当前缺少哪些库。

如果游戏在播放介绍影片后崩溃,请将 Steam Runtime dbus 库添加到游戏的库目录(但这已经包含在示例 Run.sh 中的 LD_PRELOAD 中)

$ ln -s ~/.steam/steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/*dbus* ~/.steam/steam/steamapps/common/WormsWMD/lib

另请参阅 Steam 社区讨论 [29][30][31]

Steam 覆盖层目前似乎无法工作,可能是游戏仍在查找一些不兼容的库。

在某些系统上,存在地形错误,其中地形中的孔洞未正确渲染,蠕虫可能会意外地穿过地形掉落。这些错误会使游戏在许多情况下无法玩,并且没有已知的修复方法。

巫师 2:国王刺客

依赖项

游戏无法启动

当 SDL 设置为使用 wayland 时,游戏将无法启动。您可以通过在 steam 中添加以下启动选项,仅让游戏在 x11 中运行

$ SDL_VIDEODRIVER=x11 %command%

如果游戏无法运行,请启用错误消息

$ LIBGL_DEBUG=verbose ./witcher2

Wizardry 6: Bane of the Cosmic Forge

需要 DOSBox

要修复启动时的崩溃,请打开 GAME/dosbox_linux/launch_wizardry6.sh

  1. 注释掉行 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./libs
  2. 将以 exec ./dosbox 开头的行更改为 exec dosbox

World of Goo

更改分辨率

要更改游戏分辨率,请编辑 GAME/properties/config.txt 中的 Graphics display 部分。例如

<!-- Graphics display -->
<param name="screen_width" value="1680" />
<param name="screen_height" value="1050" />
<param name="color_depth" value="0" />
<param name="fullscreen" value="true" />
<param name="ui_inset" value="10" />

X3: Terran Conflict

游戏启动时崩溃

游戏可能会在启动时崩溃,因为它链接到 libz 版本 1.2.9,而 Arch Linux 中此库的最新版本更高。在这种情况下,终端中会出现以下消息

./X3TC_config: lib/libz.so.1: version 'ZLIB_1.2.9' not found (required by /usr/lib32/libpng16.so.16

重命名或删除 lib/libz.so.1 可能会有所帮助。

X Rebirth

游戏启动时崩溃

游戏可能会在启动时崩溃,因为它链接到游戏的 shadergl 函数。在 .../steamapps/common/X Rebirth/shadergl/shaders/common.fh 文件中执行以下操作。

--- ./common.fh.orig
+++ ./common.fh
@@ -574 +574 @@
-       /*      OUT_COLOR.rgb *= 0.0001; OUT_COLOR.rgb += half3(specstr);/**/   \
+       /*      OUT_COLOR.rgb *= 0.0001; OUT_COLOR.rgb += half3(specstr);*/     \
@@ -622 +622 @@
-       /*      OUT_COLOR.rgb *= 0.0001; OUT_COLOR.rgb += LightColor.xyz/ 10;/**/       \
+       /*      OUT_COLOR.rgb *= 0.0001; OUT_COLOR.rgb += LightColor.xyz/ 10;*/ \

实施此解决方法后,游戏应正常加载。

XCOM

依赖项

启动时挂起

如果您正在运行 混合图形 系统,请尝试

__GL_THREADED_OPTIMIZATIONS=0 primusrun %command%

Intel HD 上的图形故障

XCOM: Enemy Unknown 可能无法识别 Steam 运行时附带的 SDL2 共享库。检查二进制文件是否找到所有必需的文件,并在必要时安装缺少的软件包 (sdl2AURsdl2_image)。

ldd binaries/linux/game.x86_64 

XCOM 2

无法使用 steam native 启动

需要 libgconf-2.so.4,这在 arch 存储库中不可用,从 steams 运行时加载它似乎有效。

LD_PRELOAD="$HOME/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/x86_64-linux-gnu/libgconf-2.so.4" %command%

无法启动,需要命令行启动选项

如果在游戏文件夹中具有 libgconf-2.so.4 但游戏仍然无法工作,请将以下内容放入启动选项中。

LD_LIBRARY_PATH=./lib/x86_64/:../lib/x86_64/ %command% -allowconsole

如果以上 Steam 命令对您不起作用,则以下方法可能会作为替代方案起作用。

 LD_LIBRARY_PATH=/usr/lib:$HOME/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/:$HOME/.steam/steam/steamapps/common/XCOM\ 2/lib/x86_64/ %command%

反作弊

反作弊软件是现代游戏的常见组件。有许多反作弊实现,其中大多数针对 Windows。有些可能无需任何进一步配置即可工作。请查阅 are we anti cheat yet,以获取使用反作弊的游戏的全面且众包的列表及其与 GNU/Linux 或 Wine/Proton 的兼容性。

BattlEye

BattleEye 是侠盗猎车手 Online 使用的跨平台反作弊软件。本机运行时二进制文件可以直接从 Steam 商店安装。

注意: 除非禁用 #Split lock detection/mitigation,否则 BattleEye 会降低系统性能。