三步跑起 Sunshine 游戏串流:低延迟家庭串流服务器快速指南
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
晚上十点,你在沙发上坐下,拿起一个普通的游戏手柄,电视屏幕亮起——那画面不是录播,而是你书房那台游戏本里正在跑的 3A 大作。点击、跳跃、转向,手柄的每次震动都来自几百米外的那台电脑。这就是自托管游戏串流的日常,而 Sunshine 就是让这一切成立的那台"串流服务器":它运行在你的 PC 上,负责把画面和声音用 GPU 硬件编码成视频流,再交给 Moonlight 家族的客户端在任何设备上解码播放。
一、先看清它能干什么
一句话说清:Sunshine 是一个开源的自托管游戏串流服务器(game stream host),专为 Moonlight 客户端设计,支持 AMD、Intel、NVIDIA 三家 GPU 的硬件编码,软件编码兜底。
不用背参数,先看这张能力清单:
| 维度 | 支持情况 |
|---|---|
| 宿主系统 | Windows 11+、Linux(Ubuntu 22.04+/Debian/Fedora 等)、macOS 14.2+、FreeBSD |
| 硬件编码 | NVENC、AMF、QuickSync、VAAPI、VideoToolbox、Vulkan Video,另有全平台软件编码 |
| 画面捕获 | Windows 的 DXGI/WGC;Linux 的 NvFBC、KMS/DRM、Wayland、X11、XDG Portal、KWin 投屏 |
| 客户端设备 | Windows、macOS、Linux、Android、iOS、智能电视(一切有 Moonlight 客户端的地方) |
| 手柄模拟 | Xbox 360/One/Series、DualShock 4、DualSense、Switch Pro、通用手柄(Linux/Windows 宿主全支持,macOS 宿主暂不支持) |
| 高级特性 | HDR(HEVC/AV1 10-bit)、AV1 编码、音频捕获与转发 |
新手最容易误解的一点:你不需要在电视或手机上装 Sunshine。它只装在"游戏跑在哪台电脑上"那一端;另一端装的是免费开源的 Moonlight 客户端。
二、Windows 下最省事的安装路径
三条最短路径,各平台选一条走:
winget install --id LizardByte.Sunshine这步在干什么:用 Windows 官方包管理器把 Sunshine 装好,装完直接进下一步。如果你更习惯图形界面,去 releases 页下载.msi安装包也行——注意安装器里的每个选项(比如是否装 ViGEmBus 手柄驱动)都值得看一眼再勾,别无脑全勾。
flatpak install flathub dev.lizardbyte.app.Sunshine这步在干什么:一行命令在 Linux 上装好 Sunshine。文档建议:发行版有官方 DEB/RPM 包时优先用它们(apt install sunshine/dnf install Sunshine),因为 Flatpak 这类沙盒包不支持 KMS 捕获,个别场景功能会少一块。
brew tap LizardByte/homebrew && brew install sunshine这步在干什么:macOS 上通过 Homebrew 安装。macOS 版本目前仍属实验性质,手柄模拟不可用,先当"能不能看串流"来体验。
装完之后三步走:
- 启动 Sunshine(Windows 装完即驻留在托盘区;Linux 用户可用
systemctl --user start app-dev.lizardbyte.app.Sunshine启动服务)。 - 打开浏览器访问
https://localhost:47990,出现欢迎页,设置用户名和密码——这就是整个 Sunshine 的管理入口,之后所有配置都在这里。 - 在客户端设备(电视、手机、平板)上装 Moonlight,输入宿主机 IP,用刚才的账号配对。配对成功后,你的游戏列表就出现在客户端上了。
进配置页后不用逐页翻,右上角有搜索框,想改什么直接搜:
在 "Applications" 页把你的 Steam 库或具体游戏加进来,客户端那边就能直接点了:
三、按你的用法选参数:客厅、笔记本、手机
客厅大屏:优先"稳",再谈"高"
电视串流最大的敌人不是画质,是网络波动。官方给出的参考线:
- 想跑4K:GPU 至少要 NVIDIA RTX 2000 系(或 GTX 1080)、AMD VCE 3.1+、Intel HD 510+;宿主机和客户端都建议CAT5e 有线连接。
- 想跑HDR:编码端需要 HEVC Main 10 或 AV1 10-bit 支持(NVIDIA Pascal 系即 GTX 10 系起、Intel HD 730+、AMD VCE 3.4+)。
- 码率参考(按 1080p/60fps 15–25 Mbps 起步,4K 往 40–60 Mbps 加),在 Moonlight 客户端里按分辨率+帧率档位选即可。
笔记本 / 办公室:把它当"远程第二块屏"
低配设备反而最适合当客户端:一台老旧笔记本、办公室的显示器,装个 Moonlight 就能把书房主机的游戏搬过来。这种场景建议把客户端分辨率压到 1080p、码率降到 15 Mbps 左右——带宽省下来,延迟更稳。
手机 / 平板:5GHz Wi-Fi 是底线
官方最低配置单里明确写了:宿主和客户端都建议5GHz 802.11ac。2.4GHz 频段在串流下基本不够用。在 Moonlight 里开启动态分辨率/码率自适应,弱信号时自动降档,比硬撑高清体验好得多。
四、调到手感顺:症状 → 怎么办
串流调参不用背编码器理论,按症状对症即可:
- 操作延迟高:先确认两端都在 5GHz 或有线上;再降一档分辨率或帧率(延迟和带宽需求同时下降);确认宿主机选的是硬件编码而非软件编码——软件编码比硬件多出的那几毫秒 CPU 处理,在竞技场景里是能感觉到的。
- 卡顿、掉帧:Linux 用户先查日志里有没有
CAP_SYS_NICE的警告——Flatpak、AppImage 这类沙盒包拿不到高优先级权限,EGL 编码会被限流。官方建议的解法是换Vulkan 编码,或改用发行版原生包安装。 - 丢包 / Buffer overrun:典型场景是宿主机 2.5G 有线、客户端只有 1G 或 Wi-Fi,数据在中间设备缓冲区里溢出。官方给出两个办法:把宿主网卡限速到与客户端匹配的档位,或用
tc对串流流量做整形(只限 Sunshine 的 UDP 47998 端口)。新版本(0.23.1+)的网络代码已改善此问题。 - 偶发整包丢丢:个别电视对 MTU 敏感,有用户把宿主网卡 MTU 从 1500 降到 1428 后丢包从 30–60% 归零。这是最后手段,前面都试过再碰。
- KMS 捕获在 NVIDIA 上不工作:故障排除文档有专门一节,本质是驱动与捕获后端的组合问题,换 NvFBC 或 Wayland 捕获通常能绕开。
- 高级编码器参数(NVENC 的预设、两遍编码、QP 上下限等)全部在 配置参考 里按字段检索,改之前先用客户端的延迟测试跑一遍基线,一次只动一个参数。
五、怎么验证串流到底够不够稳
不用猜,官方给了一个可量化的测试方法:在宿主跑iperf3 -s,客户端跑 60 秒 UDP 反向测试,丢包低于 5%、抖动低于 1 ms就算达标。注意关键指标是"稳定性"而不是峰值带宽——1Gbps 但抖满天的链路,不如 100Mbps 稳如直线的链路。
串流体验的上限可以粗略这样理解:画面路径是"捕获 → 硬件编码 → 网络 → 客户端解码",Sunshine 把前两步都压在 GPU 硬件里,后两步只要你的局域网过关,整体手感和本地游玩的差距就主要来自你那张网卡的稳定性。这也是它和"录屏再推流"这类方案体验断层的地方。
六、避坑速查
| 症状 | 先做什么 |
|---|---|
打不开47990配置页 | 查宿主防火墙,确认 47984–48010 端口放通 |
| 忘了配置页账号密码 | 看 故障排除 的 Forgotten Credentials 一节,按步骤重置 |
| 手柄在 Steam 里好使、进游戏没反应 | 把 Steam 的手柄支持项关掉,只留 Generic;或直接连的实体手柄先禁用 |
| Windows 检测不到手柄 | 装 ViGEmBus(免费,支持 Xbox 360/DS4)或付费的 Virtual HID Driver(支持更多型号) |
| Flatpak/AppImage 高负载掉帧 | 换发行版原生包,或切 Vulkan 编码 |
日志报h264_vaapi打不开 | Mesa 默认禁用了硬件编码,需重新编译启用(文档有具体参数) |
七、周边生态与下一步
- 客户端:Moonlight 官方客户端覆盖 Windows、macOS、Linux、Android、iOS、tvOS、Chromecast 和树莓派级设备;社区客户端生态也在持续增长。
- 文档:官方文档 是主入口,快速上手、配置参考、性能调优、API 参考 各管一摊,遇到问题基本都能查到。
- 版本节奏:稳定版之外有 pre-release(beta)渠道,新编码器、新捕获后端通常先在 beta 落地。AV1 编码已经可用(
av1_mode配置项),10-bit HDR 流也随之成为现实。 - 想从源码构建:clone 仓库 https://gitcode.com/GitHub_Trending/su/Sunshine 后按 构建文档 走即可。
八、现在就去点第一个游戏
打开https://localhost:47990,设好账号,把 Steam 库里那款你最想在大屏上玩的游戏加进应用列表——剩下的,交给你的手柄。
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考