V2EX 07月24日 10:14
[分享发现] 使用 Steam Headless 来搭建一个游戏串流专用服务器
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文介绍了一种利用零刻GTi 12 Ultra迷你主机,通过显卡坞直连4060 Ti显卡,并结合Steam Headless容器项目,搭建个性化游戏串流服务器的方案。该方案利用Docker的暂停/恢复功能,实现了游戏状态的快速保存与恢复,同时集成了Xfce、VNC、Steam客户端和Sunshine串流软件。通过编写脚本,该服务器可接入Home Assistant和HomeKit,实现移动端串流及便捷的暂停/恢复操作,且在暂停状态下能显著降低功耗。文章还详细阐述了该方案的优缺点、踩过的坑以及推荐的入门级游戏手柄。

💡 **灵活的GPU共享与串流方案**:该方案不依赖显卡原生vGPU特性,允许Linux Host与串流服务器共享GPU资源,理论上可支持多人同时使用。通过Docker容器化管理Steam游戏串流,配合Sunshine软件,提供了高效且灵活的游戏体验,特别适合在非Windows环境下搭建专用游戏服务器。

⚡ **快速暂停/恢复与低功耗**:利用Docker的`pause`/`unpause`命令,该串流服务器能够实现比Windows VM的睡眠/唤醒更快的状态保存与恢复。在暂停状态下,显卡坞和整机功耗接近未运行容器时的水平,有效节省能源,同时游戏在Steam上的运行时间也不会被非正常记录。

⚠️ **Linux游戏生态的局限性**:尽管方案在性能和便捷性上表现出色,但在Linux环境下,游戏兼容性(如Proton的DLSS支持)和串流生态(如HDR支持、虚拟显示器/手柄生态)相比Windows仍存在不足,需要用户有一定技术能力和接受能力。

🛠️ **硬件直通与欺骗器选择**:文章强调了使用PCIe直连显卡坞的重要性,并指出雷电显卡坞直通可能导致PVE Host不稳定。在显示器模拟方面,作者发现Steam Headless自带的虚拟显示器存在问题,最终采用了“欺骗器”方案以获得更稳定的运行效果。

🎮 **高性价比游戏手柄推荐**:在手柄方面,作者推荐了“小鸡X5Lite”拉伸手柄,因其较低的价格、轻便的重量以及可定制的3D打印握把,提供了优于其价格的握持体验。但需注意其在iOS串流时Home键功能受限的问题。

前段时间网上冲浪时,发现有人已经成功解锁了 30/40 系显卡的 vGPU ,但是相关驱动和方案尚未公开,在搜索细节的时候又偶遇了 Steam Headless 这个容器项目,集成了 Xfce 、VNC 、Steam 客户端和 Sunshine ,简单折腾一番,搭了一个能够随时保存状态和恢复,方便自己玩独立游戏的专用游戏串流服务器。

我的软硬件环境:零刻 GTi 12 Ultra + 显卡坞( PCIe 直连,非雷电或者 Oculink ),4060 Ti 透传 Debian 12 VM 。

在 Debian VM 里面启动 Steam Headless 容器并配置好 Steam 与 Sunshine ,编写了一个脚本能够 使用 docker pause/unpause 快速冻结/恢复容器服务,接入到 Home Assistant 和 HomeKit ,最终实现效果如下面两个视频:

演示移动端串流以及快速暂停/恢复串流服务: https://www.bilibili.com/video/BV1j6gWzzEMn

演示脚本与暂停之后的功耗: https://www.bilibili.com/video/BV1GegLzrEke


这套方案的一些优点:

一些缺点:

踩的一些坑:


我编写的容器启动脚本(里面暂停之前会杀掉 Sunshine 释放资源): https://gist.github.com/ihainan/16f8089dcbe18061c5b22b38d975517c

我使用的容器 .env 文件: https://gist.github.com/ihainan/791bdf1980c2d89fba7156e81c80bb04

我使用的 Home Assistant 配置:

command_line:  - switch:      name: 串流开关      command_on: >-        ssh -i /config/.ssh/id_ed25519        -o UserKnownHostsFile=/config/.ssh/known_hosts        -o StrictHostKeyChecking=yes        ihainan@192.168.100.129        'bash /home/ihainan/extend/docker/Steam/docker-compose-manager.sh unpause'      command_off: >-        ssh -i /config/.ssh/id_ed25519        -o UserKnownHostsFile=/config/.ssh/known_hosts        -o StrictHostKeyChecking=yes        ihainan@192.168.100.129        'bash /home/ihainan/extend/docker/Steam/docker-compose-manager.sh pause'      command_state: >-        ssh -i /config/.ssh/id_ed25519        -o UserKnownHostsFile=/config/.ssh/known_hosts        -o StrictHostKeyChecking=yes        ihainan@192.168.100.129        'bash /home/ihainan/extend/docker/Steam/docker-compose-manager.sh check'      value_template: "{{ value.strip() == 'No' }}"

最后再推荐我正在用的一个拉伸手柄,小鸡 X5Lite ,虽然相比中高端拉伸手柄(同品牌的 G8/G8+,雷蛇骑仕系列等),它的做工很一般,但是抖音常年 60 不到的价格(天天裸手柄扔背包里面不心疼),极其极其轻的重量,以及最重要的,闲鱼有人卖 3D 打印握把( 20 元左右),能够极大程度提升手柄的握持体验,让它反倒成为诸多使用过的拉伸手柄里面,我最喜欢的一个。

唯一不能忍的缺点,连接 iOS 并进行串流,Home 按钮不能映射为 Guide Button ( Xbox/PS Button ),很多 Steam 手柄快捷键无法使用。Android 则没有这个问题。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

游戏串流 Steam Headless Docker Linux GPU直通
相关文章