10 分钟把闲置主机变成私人云游戏机:Sunshine 自托管串流入门指南
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
Sunshine 是一个免费开源的自托管游戏串流服务端,跑在你自己的电脑上,再配合 Moonlight 客户端,就能把客厅电视、平板或旧笔记本变成一台随时可玩的"云端游戏机"——画面、声音和手柄输入全部走你自己的网络。不想付订阅费、也不想等别人机房排队的话,这就是目前最顺手的方案,本质上等于 GeForce Now 的开源替代,只是服务器是你自己的那台主机。
🎮 它到底能帮你干什么
先说清楚 Sunshine 的分工:它只负责服务端那一半。主机上的 Sunshine 负责抓屏、编码视频、回传输入;播放端则是 Moonlight 客户端,覆盖 Windows、macOS、Linux、Android、iOS、tvOS,连树莓派都能跑。两者通过局域网或公网对接,组成完整的局域网游戏串流链路。
具体能力上:
- 串流对象任意:默认自带"桌面串流"入口(整块屏幕搬过去)和 Steam Big Picture 入口,也能把任意本地游戏、命令行程序加进应用列表;
- 编码交给 GPU:NVIDIA 走 NVENC、AMD 在 Windows 走 AMF / Linux 走 VAAPI、Intel 走 QuickSync,兜底还有纯 CPU 的软件编码。硬件编码下 CPU 几乎不参与压缩,老主机也不会跑满;
- 手柄模拟:能把客户端的手柄"翻译"成主机上真实存在的手柄设备(Xbox 360/One/Series、DS4/DS5、Switch Pro 都能模拟),游戏侧感知不到中间有串流环节;
- 全程浏览器管理:装完不用碰配置文件,所有设置都在 Web 界面里改。
✅ 动手前,先核对这台主机够不够格
不用逐条背,按目标画质对号入座即可。数据来自仓库的系统要求表(官方标注仍在完善中,别据此掏钱买硬件):
| 配置项 | 最低可用 | 想跑 4K 串流 | 想开 HDR 串流 |
|---|---|---|---|
| CPU | Core i3 / Ryzen 3 起 | Core i5 / Ryzen 5 起 | Core i5 / Ryzen 5 起 |
| 内存 | 4GB 起 | 8GB 起 | 8GB 起 |
| NVIDIA 显卡 | 带 NVENC 的卡 | 桌面端 GTX 1080 起;Linux 端 RTX 2000 系起 | Pascal(GTX 10 系)及以上 |
| AMD 显卡 | VCE 1.0 起 | VCE 3.1 起 | VCE 3.4 起 |
| Intel 显卡 | Windows 端 Skylake 以上(QuickSync);Linux 端 VAAPI 兼容 | HD Graphics 510 起 | HD Graphics 730 起 |
| 网络 | 主机与客户端都建议 5GHz 802.11ac | 千兆有线(CAT5e) | 千兆有线(CAT5e) |
一句话:显卡能不能硬编码,决定了串流体验的上限;软件编码虽然全平台兜底,但吃 CPU,只适合尝鲜。
各平台支持的编码接口一览:
| 编码接口 | 适配显卡 | Windows | Linux | macOS |
|---|---|---|---|---|
| NVENC | NVIDIA | ✅ | ✅ | ➖ |
| AMF | AMD | ✅ | ➖ | ➖ |
| QuickSync | Intel | ✅ | ➖ | ➖ |
| VAAPI | AMD / Intel / NVIDIA | ➖ | ✅ | ➖ |
| Vulkan Video | AMD / Intel / NVIDIA | ➖ | ✅/🟡 | ➖ |
| Video Toolbox | Apple / Intel | ➖ | ➖ | ✅ |
| 软件编码 | 任意 CPU | ✅ | ✅ | ✅ |
注意同一张卡在两个系统走不同路线:AMD 卡在 Windows 用 AMF,换到 Linux 就是 VAAPI;NVIDIA 在 Linux 上 NVENC 和 VAAPI 都可用。
🚀 最短路径:从安装到第一次串流成功
第一步:按系统装好 Sunshine
Windows(推荐 MSI 安装器,会注册为后台服务):
winget install LizardByte.SunshineLinux(以 Ubuntu/Debian 为例,装对应系统的 .deb 包):
sudo dpkg -i ./sunshine-ubuntu-24.04-amd64.deb # 装成 systemd 用户服务并开机自启 systemctl --user --now enable app-dev.lizardbyte.app.SunshineArch 用户从 AUR 装sunshine,NVIDIA 卡建议顺带装上cuda,AMD 卡装上libva-mesa-driver以获得硬件编码。
macOS(官方标注实验性平台,手柄暂不可用):
brew tap LizardByte/homebrew brew install sunshine源码编译党也可以git clone https://gitcode.com/GitHub_Trending/su/Sunshine后按 构建文档 操作。装完后如果没自动运行,直接敲sunshine启动即可。
第二步:打开 Web 界面,建账号
浏览器访问https://localhost:47990(把 localhost 换成主机内网 IP 也行)。首次打开会要求设置 Web 界面的用户名密码——记牢这组凭证。页面提示证书不安全属正常现象,因为是自签名的,继续访问就行。
第三步:确认应用列表
进 Applications 页面。默认已有 Desktop(整屏串流)和 Steam Big Picture 两个条目;要串其他游戏就点添加,填命令和工作目录即可。先用 Desktop 走通流程最省事。
第四步:Moonlight 客户端配对(PIN 码)
在电视/平板/手机上打开 Moonlight:
- 若自动发现不到主机,手动输入主机 IP 添加;
- 客户端弹出配对请求,屏幕显示一串 PIN 码;
- 回到 Sunshine Web 界面顶部的PIN标签,输入 PIN 并回车,顺手给这台设备起个名字;
- 显示成功即完成绑定,Moonlight 里就能看到 Sunshine 上的应用列表了。
第五步:点开播,验证链路
在 Moonlight 里选"Desktop",看到主机桌面且能敲字移动鼠标,就算全线打通。之后两个快捷键值得记住(都和 Moonlight 默认一致,前缀Ctrl+Alt+Shift):
N:隐藏/显示鼠标指针,远程桌面模式下好用;F1~F12:多显示器主机上切换要串流的那块屏。
🎛️ 跑通之后,怎么调得更顺
所有设置都在 Web 界面里搜
进 Configuration 页,每个参数都能直接改,还能在搜索框里输关键词直达——比如搜upnp就能找到自动端口转发开关。
习惯改文件的人也可以直接编辑~/.config/sunshine/sunshine.conf(Windows 在%ProgramFiles%\Sunshine\config下),效果等价:
# 让 Sunshine 自动在路由器上开串流端口 upnp = enabled # 串流基础端口,其余端口按它偏移,被占用时可整体挪 port = 47989改完重启 Sunshine 生效。
画质与 HDR
Windows 主机已正式支持 HDR 串流(Intel/AMD/NVIDIA 均可,前提是该卡能编 HEVC Main 10 或 AV1 10-bit);Linux 上属于实验性支持,需要 KMS 捕获后端加支持 HDR 合成的桌面(如 Gamescope 或 KDE Plasma 6)。两个坑必须避开:主机系统本身要开 HDR,Moonlight 客户端也要开 HDR 选项,漏一个画面就会偏色或过曝。
手柄模拟的平台差异
| 模拟手柄类型 | Windows | Linux | macOS |
|---|---|---|---|
| Xbox 360 / One / Series | ✅ | ✅ | ❌ |
| PS4 DS4 / PS5 DualSense | ✅ | ✅ | ❌ |
| Switch Pro / 通用手柄 | ✅ | ✅ | ❌ |
Windows 上要拿满全套手柄功能,需单独装Virtual HID Driver(替代旧 ViGEmBus 方案),安装入口就在 Web 界面的 Troubleshooting 页,装完建议重启一次电脑。
Linux 主机则要把运行 Sunshine 的用户加进input组,否则创建不出虚拟输入设备(键鼠、手柄都会失灵):
sudo usermod -aG input $USER # 执行后注销重新登录macOS 目前官方标注手柄不可用,属于实验性平台,想串流先有心理预期。
🩺 出问题了,按这张表对
卡住时第一站是 Web 界面 Troubleshooting 页的日志——错误按级别着色,还能搜索,大部分问题日志里直接点名。
| 现象 | 常见原因 | 处理办法 |
|---|---|---|
| 浏览器提示连接不安全 | 自签 SSL 证书 | 正常现象,直接继续访问 |
| 编码器相关报错 | 编码接口和显卡/驱动不匹配 | 到 Configuration 换编码接口,或先更新显卡驱动 |
| 卡顿、马赛克 | 带宽不够或编码过载 | 降分辨率/帧率/码率,尽量走有线 |
| 键鼠、手柄没反应 | 无虚拟输入权限 | Linux 按上文加input组并重新登录 |
| 手柄识别不到 | 缺虚拟手柄驱动 | Windows 在 Troubleshooting 页装驱动后重启 |
| HDR 画面发白过曝 | 客户端没开 HDR | Moonlight 设置里打开 HDR 选项 |
更多深入内容可以翻仓库里的 性能调优文档 和 配置参数参考。
写在最后
第一次跑通后,建议从 1080p + 中等码率起步,每次只动一个参数(先帧率、再分辨率、最后码率),用你自己那台路由器实测出稳定甜点值,比照抄别人的配置可靠得多。若之后想跨出局域网,把upnp打开或手动做端口转发,再给 Moonlight 换个固定 IP,整套自托管串流方案就完整了。
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考