steam在linux上需先配置multiverse源、32位库及显卡驱动,否则apt安装会失败或启动黑屏;fedora需启用rpm fusion非自由源,deepin需手动安装i386依赖,麒麟os可能需--no-sandbox启动,flatpak方式最稳定但需额外配置字体与gtk主题。

steam 在 Linux 上不是“装上就能用”的软件,它依赖图形驱动、32 位运行时库和正确的仓库配置。直接 sudo apt install steam 在部分系统(尤其是国产麒麟OS或新装的 Fedora/Deepin)会失败或启动黑屏——根本原因不是命令错了,而是环境没准备好。
apt install steam 失败:缺 multiverse 或非自由源
Ubuntu/Debian 及其衍生版(如优麒麟)默认不启用 multiverse 源,而 steam 包就放在那里:
- 先执行
sudo add-apt-repository multiverse,再sudo apt update - 银河麒麟 V10 SP1 早期版本可能需手动编辑
/etc/apt/sources.list,确认含main restricted universe multiverse - Fedora 用户必须先启用 RPM Fusion 非自由源:
sudo dnf install https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm - Deepin V23 默认不带 32 位支持,
apt install steam即使成功,首次启动也会报libGL error: failed to load driver: swrast——这不是显卡问题,是缺libc6:i386等基础库
dpkg -i steam_latest.deb 启动闪退:依赖未修复或沙箱冲突
从官网下载 steam_latest.deb 安装后双击图标无响应,或终端运行 steam 报 error while loading shared libraries,常见于:
-
sudo dpkg -i后没跟sudo apt --fix-broken install——dpkg不自动处理依赖,只报错不补全 - 麒麟OS 或某些内核加固发行版会拦截
seccomp沙箱,必须加--no-sandbox启动:steam --no-sandbox - 部分系统(如纯 64 位 Arch 或 Void)根本没预装
libgl1-mesa-glx:i386,需手动装:sudo apt install libgl1-mesa-glx:i386 libc6:i386 libstdc++6:i386
免安装模式(tar.gz)运行失败:权限 + 库路径没设对
解压 steam-launcher.tar.gz 到 ~/steam 后,chmod +x ~/steam/steam.sh 是必须的,但仅此不够:
-
./steam.sh报cannot execute binary file: Exec format error?说明你下的是 x86_64 包,却在 ARM64 设备(如鲲鹏服务器)上运行 —— Valve 官方不提供 ARM 版本 - 启动时提示
Failed to load steamui.so,大概率是当前 shell 没继承LD_LIBRARY_PATH,需先运行:export LD_LIBRARY_PATH="$HOME/steam/ubuntu12_32:$LD_LIBRARY_PATH" - 部分国产系统(如统信UOS)禁用
~/.local/share/Steam写入,需改用STEAMROOT环境变量指定路径:STEAMROOT="$HOME/steam" ./steam.sh
Flatpak 方式最稳但字体乱码:GTK 主题和字体要单独配
用 flatpak install flathub com.valvesoftware.Steam 能绕过大部分系统级依赖问题,但首次启动常出现中文方块、按钮错位:
- 必须装微软核心字体:
sudo apt install fonts-microsoft-core,再fc-cache -fv - Flatpak 应用默认不读系统 GTK 主题,需手动绑定:
flatpak override --filesystem=xdg-config/gtk-3.0 com.valvesoftware.Steam - Deepin/V23 用户还需装主题桥接包:
flatpak install flathub org.gtk.Gtk3theme.deepin,否则界面灰白失真
steam 进程起来了但窗口不显示、或登录框弹出两秒就消失——这时候该查 journalctl -u steam(如果用 systemd 启动)或直接终端跑 steam --console 看实时日志。图形栈、SELinux/AppArmor 策略、Wayland 会话兼容性,每个都可能成为最后一道墙。











