news 2026/9/20 18:52:16

3 步把游戏 PC 变成 Moonlight 串流主机:Sunshine 完整上手指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
3 步把游戏 PC 变成 Moonlight 串流主机:Sunshine 完整上手指南

3 步把游戏 PC 变成 Moonlight 串流主机:Sunshine 完整上手指南

【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine

想在客厅电视、平板甚至手机上玩 PC 游戏?游戏主机连得上,PC 游戏却玩不了?Sunshine 就是为此而生:一个跑在游戏 PC 上的自托管游戏串流主机,负责抓取画面、压缩并推送出去;接收端的 Moonlight 客户端(装在电视、平板、手机上)负责显示画面、回传输入。开源免费、无订阅,硬件门槛只要求主机 PC 能跑游戏。

一句话定位:Sunshine = 跑在 PC 上的自托管游戏串流主机 + 浏览器管理面板。

要点速览:

  • 主机平台:Windows、Linux、macOS(实验性)、FreeBSD
  • 客户端:任意设备上的 Moonlight 客户端
  • 编码:NVIDIA / AMD / Intel / Apple 硬件编码,CPU 软编兜底
  • 管理面板:内置 Web UI,默认端口47990
  • 成本:开源免费,无订阅费

快速上手:从安装到第一次串流只要 3 步

从零到看到第一帧串流画面,10 分钟以内。

第 1 步:安装 Sunshine。按平台任选一条通道:

winget install LizardByte.Sunshine flatpak install --system flathub dev.lizardbyte.app.Sunshine brew install sunshine

Flatpak 装完还要再跑一次flatpak run --command=additional-install.sh dev.lizardbyte.app.Sunshine,否则虚拟输入权限不生效。验证信号:终端执行sunshine --help能打出版本信息。

第 2 步:启动并打开管理面板。Linux 上直接开用户级服务:

systemctl --user --now enable app-dev.lizardbyte.app.Sunshine

没装成服务就直接在终端敲sunshine。启动后浏览器打开默认地址https://localhost:47990。浏览器提示"不安全"只是自签名证书,忽略即可。

⚠️ 首次启动会让你创建用户名和密码——当场抄下来,忘了只能靠命令行重置凭据。

第 3 步:配对 Moonlight 客户端。在 Moonlight 里添加这台主机,客户端会显示一个 PIN;把它填进 Sunshine 顶部导航的 "PIN" 页面,给设备起个名字,配对即完成。随后选 "Desktop" 启动——电视或平板上出现主机桌面的那一刻,就代表全部配好了。

核心能力:先看懂一条数据流,再谈它能干什么

先看主线流程,能力点就串起来了。Sunshine 先用捕获后端(Linux 上是 KMS、X11、Wayland portal,Windows 上是 WGC)把画面下来,再交给硬件编码器(在 GPU 上压缩画面,几乎不占 CPU)实时压成视频流发到网络上;Moonlight 客户端解码播放。输入则反向走——你在客户端侧的键鼠、手柄,会在主机上被虚拟成真实设备,游戏里"看到"的就是插在本机上的那个控制器。

配置全在浏览器里,不碰配置文件

能干什么:选编码器、分辨率、码率、音频设备,管理应用列表、查日志,全在浏览器完成。 怎么用:登录 Web UI 后,侧边栏按 AudioVideo / Applications / Advanced / Network 分标签;顶部有搜索框,直接输参数名就能跳转,不用一页页翻。 坑在哪:界面语言在 General 标签里改locale,改完刷新页面才生效。

给每个游戏一个一键启动入口

能干什么:每个游戏/应用建一个条目,在 Moonlight 里点它就直接启动并开串流。 怎么用:Applications 标签点 "Add New",填名称、可执行文件路径、工作目录,还可以加prep-cmd(启动前执行的命令)。默认条目定义在 src_assets/linux/assets/apps.json(桌面、Steam 大屏两个)。

坑在哪:三条固定规则——点新应用会先结束当前正在串流的那个;任何前置命令执行失败就放弃启动;被拉起的应用退出,串流也随之结束。

怎么挑编码器

能干什么:用 GPU 压画面,把延迟和 CPU 占用都压下来。 怎么用:AudioVideo 标签里选与你显卡匹配的 API,Sunshine 会自动探测,默认选择一般就是对的。支持矩阵(摘自 README):

编码 API适用显卡LinuxWindowsmacOS
NVENCNVIDIA支持支持
QuickSyncIntel支持
AMFAMD支持
Vulkan VideoAMD / Intel支持(部分)
VAAPIAMD / Intel支持
VideoToolboxApple支持
软编(CPU)任意支持支持支持

坑在哪:没有独显时,1080p 软编会让 CPU 占用明显上升,能硬编就别硬扛;Linux 上 NvFBC 捕获只能搭配 NVENC,捕获方式和编码器要成对挑,README 里有"捕获→编码兼容性"对照表。

客户端的手柄"变"成主机的手柄

能干什么:手柄插在客户端设备上,主机自动虚拟出同款控制器传给游戏。 怎么用:插上手柄 → 配对 → 启动游戏即可。Linux 依赖 uinput;Windows 需另装虚拟 HID 驱动,装完建议重启。 坑在哪:macOS 主机暂不支持手柄;驱动激活状态在 Web UI 的 Troubleshooting 页和系统托盘里都能查。

实战用法:两个最值得试的典型玩法

玩法一:把整台 PC 当远程桌面

  • 目标:在平板或手机上操作整台 PC,远程办公或当第二台显示器
  • 准备:无,"Desktop" 条目默认自带
  • 操作:Moonlight 里选 "Desktop" 启动串流,它不拉起任何程序,直接串桌面
  • 验证结果:客户端看到主机桌面;按Ctrl+Alt+Shift+N隐藏鼠标指针,F1/F12 变体快捷键可以切换串流显示器

玩法二:用客户端手柄打游戏

  • 目标:DualSense 插在手机上,游戏里直接用真手柄玩
  • 准备:Linux 把用户加入input组后重新登录;Windows 装好虚拟 HID 驱动并重启
  • 操作:插入手柄,配对,启动目标游戏
  • 验证结果:主机生成了对应的虚拟手柄(Troubleshooting 页可查),游戏识别为该型号控制器,按键、震动都正常

常见问题:5 个高频问答

你踩到的坑,大概率在这五个问题里。

Q:后台密码忘了,怎么进去?凭据只存在本机。先停掉 Sunshine,然后执行:

sunshine --creds 新用户名 新密码

再用新凭据登录。

Q:浏览器打开 47990 端口没反应?多半是服务没跑起来或防火墙拦了。先看服务状态:

systemctl --user status app-dev.lizardbyte.app.Sunshine

没启动就把它拉起来;在跑着就放行防火墙的 47990 端口。

Q:画面频繁卡顿、丢包,是不是编码器选错了?八成不是编码器,是网络:Sunshine 的发送节奏是每 16ms 突出一帧数据(对应 60fps),路径上任何一段比主机慢,缓冲就会被冲爆。先用 iPerf3 测稳定性(主机iperf3 -s,客户端iperf3 -c {主机IP} -t 60 -u -R -b 50M),丢包低于 5%、抖动低于 1ms 才算合格;确属速率差导致的话,把主机网卡降速,或升级到 0.23.1 之后的版本(突发发送逻辑已优化)。

Q:Linux 上连上之后键鼠没反应?运行 Sunshine 的用户没有 uinput 权限:

sudo usermod -aG input $USER

重新登录生效。

Q:串出来的画面发白、过曝?主机开了 HDR 而客户端没开,流就按 SDR 解码了。在 Moonlight 设置里打开 HDR 选项,同时确认主机侧 HDR 真的处于激活状态(必要时接一块 HDR 显示器或 EDID 模拟器);Linux 上还要求 KMS 捕获后端,NvFBC / X11 捕获不支持 HDR。

拿不准就看 Troubleshooting 页,每条 warning/error 都能展开看细节:

进阶入口:想深入时看这里

  • docs/getting_started.md:官方安装指南,覆盖各平台渠道、快捷键、SSH 远程拉起,装完先读它
  • docs/configuration.md:全部配置项(portlocale、编码器、音频设备……)逐项说明,Web UI 不够用时查参数
  • docs/troubleshooting.md:排障手册,丢包、MTU 等网络问题和 Linux 捕获专项坑都在这
  • src/platform/:各平台捕获与编码实现源码(KMS、VAAPI、WGC 等),理解内部行为的主入口
  • tests/:单元测试与集成测试,观察内部行为、验证改动的好窗口

【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/20 18:49:16

RevokeMsgPatcher 完整教程:PC微信QQ消息防撤回一次讲清

RevokeMsgPatcher 完整教程:PC微信QQ消息防撤回一次讲清 【免费下载链接】react-grab Copy any UI element for your agent 项目地址: https://gitcode.com/GitHub_Trending/re/react-grab RevokeMsgPatcher 是一款面向 Windows 的 PC 端即时通讯软件辅助工具…

作者头像 李华
网站建设 2026/9/20 18:48:13

高速铁路轴承外圈淬火压床设计:核心原理与工程实践解析

简介:一份关于高速铁路轴承外圈淬火压床开发设计的毕业论文文档,面向机械设计、材料热处理及轴承制造相关专业的学生和工程技术人员,旨在解决高铁轴承国产化进程中淬火工艺装备设计的关键问题。文档从铁路货车轴承的发展现状切入,…

作者头像 李华
网站建设 2026/9/20 18:46:52

Windows快捷键冲突排查全攻略:从原理到工具实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/20 18:41:58

开放研究实操指南:从数据公开到可复现工作流

1. 为什么“开放”正在成为研究者的硬需求先说个我自己的经历。几年前我参与一个跨团队的数据分析项目,对方博士发来一套实验数据,压缩包名字叫“final_final_v2.zip”,里面躺着七个版本的Excel表格,没有一份带说明文档。我花了整…

作者头像 李华