Sunshine 游戏串流主机安装教程:5 分钟把 PC 变成低延迟串流机
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
主力机在书房,你却想在卧室的平板上玩它上面的 3A 大作。Sunshine是一款开源的自托管游戏串流主机:装在你自己的电脑上,由 GPU 负责硬件编码,再把画面经局域网串给任何装了 Moonlight 客户端的设备,不经过第三方云。想把自己 PC 变成串流服务器的人,看完这一篇就能跑起来。
🎯 Sunshine 是什么:先判断你能不能用
一句话定位:它是 Moonlight 串流生态的服务器端,把“本机画面 + 输入”打包推给你的客户端设备。
三个核心价值:
- 局域网低延迟:串流数据不出内网,实测延迟在几帧量级,接近本地手感
- GPU 硬件编码:NVIDIA、AMD、Intel 各有对应编码器,CPU 几乎零占用;没有硬编显卡时有软件编码兜底
- 自托管:谁可以访问由你定,无账号、无第三方服务器
硬件门槛(一句话版):4GB 内存、i3 或 Ryzen 3 起步即可跑;想稳 4K60,需要 NVIDIA GTX 1080 / RTX 20 系及以上、AMD VCE 3.1+、Intel HD 510 及以上的显卡,且两端建议 CAT5e 以上有线。
⚡ 最快路径:5 步完成 Sunshine 安装并首次串流
第 1 步|装主机端
做什么:把 Sunshine 装到被串流的 PC 上。怎么做:Windows 下官方 MSI 安装包一键完成(服务和防火墙规则自动配好);Linux 用发行版包或 Flatpak;macOS 拖拽 DMG 进 Applications。
sudo apt update && sudo apt install sunshine # 或通用 Flatpak(无发行版包时) flatpak install --user flathub dev.lizardbyte.app.Sunshine怎么确认成功:包管理器无报错,系统托盘出现 Sunshine 图标。
第 2 步|启动并设置开机自启
做什么:让 Sunshine 以常驻服务运行。怎么做:Linux 执行下面一条命令(Windows 安装包默认已注册为常驻服务,跳过此步):
systemctl --user enable --now app-dev.lizardbyte.app.Sunshine怎么确认成功:systemctl --user status app-dev.lizardbyte.app.Sunshine显示 active (running)。
第 3 步|登录 Web 界面并创建凭据
做什么:打开管理页面,创建唯一一组用户名和密码。怎么做:浏览器访问https://localhost:47990。提示“不安全连接”是因为自签名证书,继续访问即可。首次进入按提示创建账号密码——这是你唯一需要记住的凭据,记牢。
怎么确认成功:登录成功,进入 Sunshine 主界面。
第 4 步|添加第一个应用
做什么:告诉 Sunshine 串流时启动什么。怎么做:系统预置了桌面(Desktop)和 Steam 大屏模式(steam://open/bigpicture);自定义应用只需填三项——可执行文件路径、工作目录、启动参数。
怎么确认成功:应用出现在列表里并带缩略图。
第 5 步|配对 Moonlight 客户端
做什么:让客户端设备信任这台主机。怎么做:Moonlight 里添加这台主机,它会索要 PIN;打开 Web 界面的 PIN 页,把显示的 PIN 填进 Moonlight,给设备起个名字确认。怎么确认成功:页面出现成功提示,Moonlight 列表里主机状态变为可串流。
第 6 步|开始串流
做什么:在 Moonlight 里点开任意应用。怎么确认成功:几秒内客户端出现游戏画面,手柄一按就有响应——恭喜,链路全部打通。
各平台差异一览:
| 平台 | 安装方式 | 启动方式 |
|---|---|---|
| Windows | MSI 安装包(推荐) | 默认注册为服务,开机自启 |
| Linux | deb/rpm 包、AppImage 或 Flatpak | systemctl --user服务 |
| macOS | DMG 拖拽或 Homebrew | 首次启动授予屏幕录制等权限 |
🧩 先知道这 3 个核心能力,少踩 80% 的坑
硬件编码:按显卡自动选最合适的编码器
- 是什么:Sunshine 把编码压力放在 GPU 的专用编码单元上,CPU 占用趋近于零,这就是低延迟的来源。
- 为什么值得关注:编码器不对是串流卡顿、色彩异常的第一嫌疑;默认自动选型已覆盖绝大多数机器,多显卡系统才需要手动指定。
- 怎么开启:默认自动。多显卡时在 Configuration 页设置encoder参数,配合adapter_name指定编码用哪块 GPU。
| 显卡 | Windows | Linux |
|---|---|---|
| NVIDIA | NVENC | NVENC / VAAPI |
| AMD | AMF | VAAPI / Vulkan Video |
| Intel | QuickSync | VAAPI |
| 任意平台 | 软件编码(CPU) | 软件编码(CPU) |
macOS 用 Video Toolbox(官方标注实验性)。
虚拟手柄:让游戏里“长”出对应型号的手柄
- 是什么:Sunshine 在主机侧虚拟出手柄设备,游戏直接识别成对应型号,客户端什么都不用装。
- 为什么值得关注:不用折腾各平台的输入映射层,DS4 的扳机震动逻辑、Xbox 手柄的死区都按游戏期望的型号走。
- 怎么开启:Linux 走 uinput,开箱即用;Windows 需装 ViGEmBus(Xbox 360 / DS4)或更完整的 Virtual HID Broker(全型号);macOS 需另装 Virtual HID Broker 驱动。
| 平台 | 可虚拟型号 | 依赖 |
|---|---|---|
| Linux | Xbox 360/One/Series、DS4、DualSense、Switch Pro | uinput,开箱即用 |
| Windows | Xbox 360/DS4;装 Virtual HID Broker 后全型号 | ViGEmBus 或 Virtual HID Broker |
| macOS | 全型号(需授权) | Virtual HID Broker |
多方式屏幕抓取:黑屏问题的总开关
- 是什么:不同桌面环境需要不同的抓取通道,Sunshine 内置了全部主流方案。
- 为什么值得关注:黑屏、闪烁、抓不到画面,九成是抓取方式与桌面环境不匹配。
- 怎么开启:默认自动挑选,绝大多数环境开箱不黑屏;出问题就在 Configuration 页改capture参数,换一种再重启服务。
| 系统 | 可用抓取方式 |
|---|---|
| Windows | DXGI Desktop Duplication、Windows.Graphics.Capture |
| Linux | KMS/DRM、X11、Wayland(wlroots)、XDG Portal、NvFBC |
| macOS | ScreenCaptureKit |
📺 3 个真实场景:从卧室平板到客厅电视
目标:手机或平板在卧室玩,不必跑回书房。做法:主机与客户端接同一个 5GHz WiFi,Moonlight 里选 1080p60,任意蓝牙手柄配对。效果:延迟在几帧量级、接近本地;20Mbps 以上带宽画面稳定不卡。
目标:把旧电脑变成专用串流主机。做法:旧 PC 装 Sunshine,用核显开 VAAPI 硬件编码,1080p60 足够,设为服务开机自启。效果:主力机解放出来干活,旧电脑成为 7×24 小时私人游戏云,成本远低于买新设备。
目标:客厅电视 4K 大屏 3A。做法:两端走 CAT5e 以上有线,Moonlight 选 4K60,码率给到 50Mbps 以上(见下节设置清单)。效果:HDR 内容在 Windows 主机上也可稳定串出(Linux 主机为实验性支持)。
🔧 进阶设置清单与高频排障直答
最值得一调的 5 项设置
配置都在 Web 界面的 Configuration 页完成,搜索框可直接定位参数名:
- max_bitrate(Kbps):1080p60 给 20000~30000,4K60 给 50000~100000;上限别超过网络实际承受值
- capture:默认自动;出现黑屏或闪烁就按上表换抓取方式
- encoder:默认硬件编码;出现色带或编码器崩溃时切软件编码对比定位
- output_name:多显示器时指定抓取哪块屏幕,防止抓错输出
- 显示同步(系统级设置):开 NVIDIA Fast Sync 或 AMD Enhanced Sync,各能省约一帧延迟
高频问题:问题:直接答案
问题:客户端搜不到 Sunshine 主机。直接答案:查主机防火墙,放行 Web 端 47990 与串流端口(含 47989 及 UDP 媒体端口段);确认主机与客户端在同一局域网、同一 WiFi 频段。
问题:画面卡顿、丢包严重。直接答案:先两端跑iperf3测链路稳定性(丢包 <5%、抖动 <1ms 才算健康),或直接改有线;编码器报错与告警在 Web 界面 Troubleshooting 日志页逐条看。
问题:忘了 Web 界面密码。直接答案:停掉服务,执行sunshine --creds 新用户 新密码重置后重新登录。
📚 生态资源:客户端、文档与源码在哪看
Moonlight 客户端覆盖 Windows、macOS、Linux、Android、iOS 和各类电视盒子;Web 界面的 Featured Apps 页还整理了官方与社区推荐的客户端和工具。
文档入口:快速上手、配置参考、故障排查、性能调优。源码结构:核心逻辑在 src/,各平台抓取/编码实现按系统在 src/platform/,NVIDIA NVENC 编码器实现在 src/nvenc/;想编译或二次开发看 构建文档。
✅ 收尾:开工前记住 3 件事
- 硬件编码是默认项,低延迟不用额外折腾
- 串流数据全部留在局域网,不注册账号、不经过第三方服务器
- 配置、配对、排障日志都在 47990 的 Web 界面一个入口里完成
想自己编译或改它?取回源码直接构建:
git clone https://gitcode.com/GitHub_Trending/su/Sunshine下次想在沙发上玩书房主力机里的游戏时,不用起身——打开局域网里那个 47990 页面,答案就在那里。
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考