linuxserver/steamosLinuxServer.io 团队推出的容器具有以下核心优势:
SteamOS 是 Valve 基于 Arch Linux 开发的操作系统。本容器为原生 Arch 系统,添加了 Steam 软件仓库支持,仅适用于搭载现代 AMD/Intel GPU 的 Linux 物理主机。
通过 Docker 清单实现多平台支持,拉取 lscr.io/linuxserver/steamos:latest 即可自动匹配对应架构。具体支持情况如下:
| 架构 | 支持状态 | 标签格式 |
|---|---|---|
| x86-64 | ✅ 支持 | amd64-<version tag> |
| arm64 | ❌ 不支持 | - |
| armhf | ❌ 不支持 | - |
当前容器处于 Beta 阶段,功能可能频繁更新,可能存在崩溃或兼容性问题(尤其是 Steam 远程播放与 KasmVNC 帧捕获混合使用时)。
SteamOS 针对特定 AMD 硬件设计,仅在搭载现代 AMD GPU 或 Intel ARC/iGPU 的主机上可完全运行。
STARTUP=BIGPICTURE(大屏模式)容器集成 Arch 官方驱动,推荐使用支持 DRI3 框架的显卡(NVIDIA 不支持 DRI3)。现代 RDNA AMD 显卡或 Intel ARC 显卡体验最佳,低端 GPU 可能支持部分游戏。兼容性与 Steam Deck 一致,Deck 认证游戏基本可正常运行。
需为游戏添加启动选项(仅支持 OpenGL 游戏):
bashLIBGL_KOPPER_DRI2=1 MESA_LOADER_DRIVER_OVERRIDE=zink GALLIUM_DRIVER=zink %command%
同时需在 Docker 运行参数中添加 --gpus all --runtime nvidia。
容器启动后,通过以下地址访问:
Steam 网络发现依赖广播包,跨子网时可能受限。推荐以下网络模式:
本地远程播放需转发以下端口(可选,仅 LAN 环境需要):
Steam Desktop Mode 切换创建 docker-compose.yml 文件:
yaml--- services: steamos: image: lscr.io/linuxserver/steamos:latest container_name: steamos hostname: 自定义主机名 #可选 cap_add: - NET_ADMIN security_opt: - seccomp:unconfined - apparmor:unconfined #可选(Debian/Ubuntu 主机需开启) environment: - PUID=1000 #用户ID,通过 `id 用户名` 查看 - PGID=1000 #组ID,同上 - TZ=Asia/Shanghai #时区,如 Asia/Shanghai - DRINODE=/dev/dri/renderD128 #GPU 渲染设备路径 - HOST_IP=192.168.1.100 #主机IP,LAN 远程播放需设置 - STARTUP=KDE #启动模式:KDE(桌面)或 BIGPICTURE(大屏) - RESOLUTION=1920x1080 #大屏模式分辨率 volumes: - /path/to/config:/config #数据持久化目录(替换为实际路径) - /dev/input:/dev/input #可选,手柄支持(仅 Steam 远程播放生效) - /run/udev/data:/run/udev/data #可选,手柄支持 ports: - 3000:3000 #Web 界面 HTTP - 3001:3001 #Web 界面 HTTPS - 27031-27036:27031-27036/udp #可选,Steam 远程播放 UDP - 27031-27036:27031-27036 #可选,Steam 远程播放 TCP - 47984-47990:47984-47990 #可选,Sunshine TCP - 48010:48010 #可选,Sunshine TCP - 47998-48000:47998-48000/udp #可选,Sunshine UDP devices: - /dev/dri:/dev/dri #显卡直通 shm_size: "1gb" #Steam 浏览器运行所需共享内存 restart: unless-stopped
启动容器:
bashdocker-compose up -d
直接运行命令:
bashdocker run -d \ --name=steamos \ --hostname=自定义主机名 `#可选` \ --cap-add=NET_ADMIN \ --security-opt seccomp=unconfined \ --security-opt apparmor=unconfined `#可选` \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Asia/Shanghai \ -e DRINODE=/dev/dri/renderD128 \ -e HOST_IP=192.168.1.100 `#可选` \ -e STARTUP=KDE `#可选` \ -e RESOLUTION=1920x1080 `#可选` \ -p 3000:3000 \ -p 3001:3001 \ -p 27031-27036:27031-27036/udp `#可选` \ -p 27031-27036:27031-27036 `#可选` \ -p 47984-47990:47984-47990 `#可选` \ -p 48010:48010 `#可选` \ -p 47998-48000:47998-48000/udp `#可选` \ -v /path/to/config:/config \ -v /dev/input:/dev/input `#可选` \ -v /run/udev/data:/run/udev/data `#可选` \ --device /dev/dri:/dev/dri \ --shm-size="1gb" \ --restart unless-stopped \ lscr.io/linuxserver/steamos:latest
| 参数 | 功能说明 |
|---|---|
--hostname= | 自定义主机名,用于识别和持久化配置 |
-p 3000:3000 | Web 界面 HTTP 端口 |
-p 3001:3001 | Web 界面 HTTPS 端口 |
-e PUID/PGID | 用户/组 ID,避免权限问题(通过 id 用户名 获取) |
-e TZ | 时区设置(如 Asia/Shanghai) |
-e DRINODE | GPU 渲染设备路径(如 /dev/dri/renderD128) |
-e HOST_IP | 主机 IP,LAN 远程播放需配置 |
-e STARTUP | 启动模式:KDE(桌面)或 BIGPICTURE(大屏) |
-e RESOLUTION | 大屏模式分辨率(如 1920x1080) |
-v /config | 数据持久化目录,存储用户文件和游戏 |
--device /dev/dri | 显卡直通,必须配置 |
--shm-size="1gb" | 共享内存大小,Steam 浏览器运行必需 |
--security-opt | 安全选项:seccomp=unconfined(允许 Steam 系统调用)、apparmor=unconfined(Debian/Ubuntu 主机) |
docker exec -it steamos /bin/bashdocker logs -f steamosdocker inspect -f '{{ index .Config.Labels "build_version" }}' steamosbash# 拉取最新镜像 docker-compose pull steamos # 重启容器 docker-compose up -d steamos # 清理旧镜像 docker image prune
bash# 拉取最新镜像 docker pull lscr.io/linuxserver/steamos:latest # 停止并删除旧容器 docker stop steamos && docker rm steamos # 用原参数启动新容器(数据通过 /config 卷保留) docker run [原参数] lscr.io/linuxserver/steamos:latest
注意:Portainer 可能不兼容
cap_add或sysctl设置,建议通过 Docker Compose 或 CLI 部署。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务