Sunshine 三步搭好游戏串流完整教程
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
Sunshine 是一个开源的自托管游戏串流服务器:把它装在 PC 上,你的桌面和画面就能低延迟地输出到 Moonlight 客户端——电视盒子、手机、平板或另一台电脑都可以做客户端。它调用本机 GPU(AMD、Intel、NVIDIA)做硬件编码,没有硬件编解码器时也能退回软件编码。整套配置都通过浏览器里的 Web 管理页完成,不需要手写配置文件。
Sunshine 是什么、需要什么配置
Sunshine 扮演的是"串流服务器"角色,Moonlight 是"串流客户端"。主机端 Sunshine 负责截屏、编码、采集声音,客户端 Moonlight 负责解码、渲染和回传按键/手柄输入。两者之间走的是 Moonlight 私有协议,客户端覆盖 Windows、macOS、Linux、Android、iOS 和 Apple TV 等常见设备。
官方 README 给出的最低配置(官方注明该表还在完善中,不建议以此作为购机依据):
| 部件 | 最低要求 |
|---|---|
| GPU | AMD VCE 1.0+ / Intel(Linux 支持 VAAPI,Windows 需 Skylake+ 的 QuickSync)/ NVIDIA NVENC 卡 |
| CPU | AMD Ryzen 3 或 Intel i3 及以上 |
| 内存 | 4 GB |
| 网络 | 主机与客户端均建议 5GHz 802.11ac Wi-Fi 或有线 |
macOS 上的 Sunshine 目前仍是实验状态,且手柄不支持;FreeBSD 支持但功能比 Linux 少一些。
三步装好 Sunshine
第一步:获取安装包。官方推荐直接使用各版本发布页里的二进制包。Windows 有 MSI 安装程序(推荐)和 lite 精简包两种,后者功能受限、官方不推荐;Linux 官方维护 DEB/RPM 包,Arch 有预编译包(已包含 CUDA 支持),另有 Flatpak、AppImage、Alpine 包可选。macOS 提供 DMG。如果你要从源码构建,仓库地址是 https://gitcode.com/GitHub_Trending/su/Sunshine 。
第二步:按平台安装。
# Ubuntu/Debian:配置官方 stable 源后 sudo apt update sudo apt install sunshine # Fedora/openSUSE sudo dnf copr enable lizardbyte/stable sudo dnf install Sunshine # 注意包名大小写 # Flatpak(注意:Flatpak 不支持 KMS 捕获,有发行版专属包时优先用后者) flatpak install flathub dev.lizardbyte.app.SunshineWindows 上运行下载的 MSI 即可,安装时按提示勾选选项;也可以用winget install LizardByte.Sunshine。
第三步:启动服务。包安装通常会注册为后台服务(Linux 上是 systemd 用户服务)。手动启动一次:
# Linux:开机自启 systemctl --user --now enable app-dev.lizardbyte.app.Sunshine # 其他平台:直接运行 sunshinemacOS 首次启动会要求授予"屏幕录制"和"麦克风"权限;系统音频采集在 macOS 14+ 上把 Web 配置里的 Audio Sink 留空即可启用原生方式。各平台的完整步骤(含 macOS 的 Audio Sink 配置、Windows 的手柄驱动选择)见 官方安装文档。
打开 Web 管理台,配对 Moonlight 开始第一路串流
Sunshine 运行后,浏览器访问https://localhost:47990(也可换成主机内网 IP)。浏览器会提示"不安全",这是因为自签名证书,可以忽略。第一次登录时设置并记牢账号密码——忘了可以用sunshine --creds 新用户名 新密码重置(见 故障排除文档)。
第一次跑通的流程:
- 在应用管理页添加要串流的游戏或程序(默认有一个 "Desktop" 项,直接串整个桌面);
- 在 Moonlight 客户端里找到并添加这台主机(自动发现不到就手动填 IP);
- Moonlight 会请求 PIN 码:回到 Web 页面导航栏的 "PIN" 入口,输入该 PIN 并给设备命名,配对成功;
- 在 Moonlight 里选择刚才添加的应用,第一路串流就开始了。
所有设置项都支持在搜索框里直接搜,无需翻页翻找;遇到问题时 Web 页面的 Troubleshooting 标签会汇总当前告警和日志,是最先该看的地方。
日常使用:应用列表、快捷键与远程访问
串流内容以"应用"为单位管理。除了 Web 界面,也可以直接编辑apps.json(每个平台有默认模板,见 src_assets 目录),里面支持环境变量(如$(HOME))、env字段、detached/cmd两种启动方式等,具体写法参考 应用配置示例。要注意:应用退出后串流会随之结束,所以像 Steam 客户端这类进程要用detached方式启动。
串流进行中的几个实用快捷键(与 Moonlight 一致):
Ctrl+Alt+Shift+N:显示/隐藏鼠标指针(远程桌面场景有用);Ctrl+Alt+Shift+F1/F12:切换串流输出的显示器。
跨路由器远程访问有两种方式:在配置里启用 UPnP(upnp = enabled,见 配置参考)自动做端口映射,或在路由器里手动做端口转发。Linux 上如果鼠标/键盘/手柄无响应,把运行 Sunshine 的用户加入input组即可;Windows 侧手柄支持依赖虚拟手柄驱动,安装器默认提供 ViGEmBus(仅 Xbox 360 和 DS4,官方已标记为停止维护),更完整的手柄模拟需要可选付费的 Virtual HID 驱动,细节见 安装文档。
按你的显卡选编码器和捕获方式
编码端(把画面压成码流)Sunshine 支持多种后端,选择基本由 GPU 决定:
| 编码器 | 厂商 | Windows | Linux | macOS |
|---|---|---|---|---|
| NVENC | NVIDIA | ✅ | ✅ | — |
| AMF | AMD | ✅ | — | — |
| QuickSync | Intel | ✅ | — | — |
| VAAPI | AMD / Intel / NVIDIA | — | ✅ | — |
| VideoToolbox | Apple / Intel | — | — | ✅ |
| Vulkan Video | 多厂商 | — | 部分 | — |
| 软件编码 | 任意 | ✅ | ✅ | ✅ |
捕获方式(截屏)与编码器还有一层兼容性约束,Linux 上典型组合:NvFBC 捕获(仅 X11)只能配 NVENC 或走软件编码;KMS/DRM、Wayland、XDG Portal、KWin Screencast 捕获则基本兼容各编码器,完整对照表见 README 兼容矩阵。Windows 默认用 DXGI 桌面复制,它只能捕获接显示器的 GPU——如果你想在 eGPU 上编码,需要把显示器(或假负载 dongle)接到 eGPU 上并让游戏在该显示器运行。
两个官方明确提到的降延迟开关(见 性能调优文档):
- NVIDIA 卡:在 NVIDIA 控制面板开启 Fast Sync;
- AMD 卡(Windows):开启 Enhanced Sync,对 AMF 和 x264 编码各能省一帧延迟。
HDR 串流在 Windows 主机上是正式支持,Linux 主机为实验性(Linux 需要 KMS 捕获 + 支持 HEVC Main 10 / AV1 10-bit 的 Intel/AMD 核显,外加支持 HDR 的桌面合成器)。客户端侧记得同步打开 HDR 选项,否则会出现过曝的 SDR 画面。
常见问题与避坑清单
- 忘了 Web 控制台密码:运行
sunshine --creds 新用户 新密码重置。 - Web 控制台打不开:先查防火墙是否放行了 47990 端口。
- Linux 输入设备(键鼠/手柄)无反应:把用户加入
input组后重新登录。 - 网络到底够不够:官方推荐用 iperf3 做 60 秒 UDP 反向测试,关注丢包和抖动而不是峰值带宽——丢包最好低于 5%、抖动低于 1 ms(步骤见 故障排除文档)。
- 高码率下画面频繁卡顿:如果主机网卡(如 2.5G)明显快于客户端链路(如百兆/Wi-Fi),网络中间设备缓冲会被 16ms 一个的突发码流冲爆,表现为 Buffer overrun。简单做法是把主机网卡降速一档,或用 QoS/流量整形只限制 Sunshine 的流量。
- NVIDIA 用户自建包没有 CUDA:CUDA 支持在编译 Sunshine 时就已确定,装完 Sunshine 再补装 CUDA Toolkit 不会生效,必须重新编译;LizardByte 官方预编译包不受此限制。
- 别用 Flatpak/AppImage 做 KMS 捕获:这两种打包方式都不支持 KMS/DRM 捕获,需要时改用发行版专属包(DEB/RPM/AppImage 之外的官方包)。
- macOS 用户有心理预期:当前版本是实验性的,手柄不支持,只适合轻度使用。
- Windows 多实例:不建议同时跑多个 Sunshine,服务方式运行时尤其如此。
以上信息点大多对应官方文档:安装看 docs/getting_started.md,逐项配置看 docs/configuration.md,网络与系统调优看 docs/performance_tuning.md 和 docs/troubleshooting.md。把主机、客户端和路由器三端都理顺之后,剩下的就是挑一台 Moonlight 客户端开始玩了。
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考