从GameStream到Sunshine:AMD显卡游戏串流部署与调优指南
1. GameStream 落幕之后:Sunshine 凭什么接住这盘棋
1.1 一个躺着被删的“官方功能”
如果你只用 NVIDIA 的 GeForce Experience 做过驱动更新,大概很难理解 GameStream 被砍时,真正靠它串流玩游戏的用户是什么心情。2023 年 2 月,NVIDIA 在更新 GeForce Experience 时直接移除了 GameStream,官方说法是要聚焦于 NVIDIA App 这套新整合客户端。问题在于,以前你只要在显卡驱动的“盾牌”图标里点一下开启,局域网里的 Moonlight 客户端就能整个 PC 游戏流跑起来,这套流程依赖 NVIDIA 自家的配对和发现机制。服务一关,客户端就算装好了也找不到主机。
这事对大多数人是“少了个鸡肋功能”,但对想在客厅电视、平板、掌机上打 PC 游戏的人来说,等于把门直接焊死了。你剩的选择很有限:要么在寝室里放台主机搬来搬去,要么用商业串流软件订阅付费,要么就把希望寄托在自建方案上——这也正是 Sunshine 从一个小众逆向项目冲上 4 万颗 Star 的直接背景。
1.2 为什么是 Sunshine 而不是别的项目
Sunshine 本质上是早年间 Moonlight 生态里“服务端”部分的重写和进化。Moonlight 本来就是第三方开源客户端,最初靠逆向 GameStream 协议实现对 NVIDIA 显卡串流,后来干脆把客户端抽象成一套通用协议。Sunshine 做的是另一端的事:它不再依赖 NVIDIA 服务器,而是自己充当主机服务端,向上兼容 Moonlight 客户端。所以很多老玩家第一次接触 Sunshine 会有一个很直观的体感——这和当年用 GameStream 串流几乎一模一样,因为客户端还是那个 Moonlight。
GitHub 上类似项目不是没有,但只有 Sunshine 做到了跨平台编码支持完整、Web 管理界面顺手、社区更新频繁。Intel、AMD、NVIDIA 显卡都能跑,Windows、Linux、macOS 都能装,编码器从 H.264 一路覆盖到 HEVC、AV1,这些条件叠加起来,让它在 GameStream 关闭后的真空期里几乎成了唯一答案。说句实话:它不是多炫的项目,而是把自托管云游戏该有的功能都做齐了,并且还坚持维护到了今天。
2. Sunshine 核心机制拆解:编码器、虚拟显示器和配对链路
2.1 编码器:硬件压制的“翻译官”
游戏串流要跑起来,第一步是把显卡渲染出来的画面压缩成视频流。Sunshine 本身不负责渲染,它只负责“抓屏 + 编码 + 推送”,编码器就是整个链路里最吃硬件也最关键的角色。
Sunshine 支持四类编码路径:
| 编码器 | 硬件来源 | 适用平台 | 备注 |
|---|---|---|---|
| NVENC | NVIDIA 独立显卡/部分 GTX 系列 | Windows / Linux | 老牌强项,低延迟优化最好 |
| AMF | AMD 独显及 APU 核显 | Windows | 需要 Adrenalin 驱动完整安装 |
| QuickSync | Intel 核显 / Arc 独显 | Windows / Linux | 适合无独显的 Intel 平台 |
| VAAPI | AMD/Intel 显卡(Linux 方案) | Linux | 依赖 mesa 驱动和桌面会话 |
| x264/软件编码 | CPU | 全平台 | 画质上限高但有明显编码延迟,一般只用来兜底 |
如果你用的是 AMD 显卡,在 Windows 下编码器那栏选 AMF 即可。AMF 的全称是 Advanced Media Framework,驱动装上之后 Sunshine 能直接调用显卡硬件编码单元。这里有个容易被忽略的点:AMF 对驱动版本的依赖比 NVENC 更敏感,很多“串流一会儿画面就糊一下”的问题,最后查下来不是网速,而是驱动里的 AMF 组件没装全或者被精简过。后面我在排错部分会细说。
编码格式方面,H.264 兼容性最广,几乎所有客户端都能硬解码;HEVC 同等码率下画质更好;AV1 则是这代才铺开的能力,需要 RTX 40 系、RX 7000 系或 Intel Arc 这类新硬件。给 AMD 用户的建议是:先确认手里的卡是不是 RDNA3(RX 7000 系),是的话可以直接上 AV1 试试;老一点的 RDNA2 用 HEVC 就够了。