Sunshine 串流实战:把 PC 变成 Moonlight 串流服务器的完整手册
Sunshine 串流实战把 PC 变成 Moonlight 串流服务器的完整手册【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine客厅电视只连得了游戏机PC 上的 3A 大作全被隔在书房里Sunshine 就是拆掉这堵墙的——自托管的游戏串流主机跑在 Windows、Linux、macOS、FreeBSD 上画面经硬件编码推给 Moonlight 客户端开源免费、无订阅费。维度说明支持平台Windows / Linux / macOS(实验) / FreeBSD客户端任意设备上的 Moonlight硬件编码NVENC、QuickSync、AMF、VAAPI、VideoToolboxCPU 软编兜底管理入口浏览器https://localhost:47990默认端口47990(Web) / 47989(串流)授权开源免费无订阅零到一跑通第一次分 4 步走完安装、首次配置、配对、第一次串流。多平台命令按系统分组推荐路径加粗备选路径用也可以引出。1. 安装 Sunshine做什么装官方包。# Windows 推荐 winget winget install LizardByte.Sunshine # Linux 推荐 Flatpak flatpak install --system flathub dev.lizardbyte.app.Sunshine flatpak run --commandadditional-install.sh dev.lizardbyte.app.Sunshine # Linux 也可以走发行版包 sudo dpkg -i ./sunshine-ubuntu-24.04-amd64.deb # macOS brew tap LizardByte/homebrew brew install sunshine装完sunshine命令就能在终端调起。也可以直接 clone 仓库自行构建见 docs/getting_started.md 的 Build 章节。2. 启动服务并打开 Web UI做什么让 Sunshine 常驻并进入浏览器后台。# Linux 起用户服务 systemctl --user --now enable app-dev.lizardbyte.app.Sunshine # Windows 安装为服务 sunshinesvc install # 任意平台手动跑未装服务时 sunshine浏览器访问https://localhost:47990。首次会提示不安全网站直接点继续就行——这是自签名证书不影响使用。3. 首次设置创建账号做什么浏览器会要求你创建用户名和密码。当场记下来忘了进不去后台重置要用sunshine --creds {新用户名} {新密码}。4. 客户端配对做什么在 Moonlight 客户端里添加主机客户端会显示一个 PIN。打开 Sunshine Web UI 顶部导航的PIN页把客户端显示的 PIN 填进去给设备起个名字配对完成。Moonlight 端立刻能看到这台主机选 Desktop 即可开始第一次串流。原理拆解它是怎么工作的沿数据流讲 3 个核心机制。你不需要看懂全部实现但知道这些排障速度能快 3 倍。机制 1屏幕捕获一句话概括主机侧按你选的后端把画面抓出来。Linux 下可选 KMS / NvFBC / X11 / PortalWindows 下是 WGC。核心路径在 src/platform/linux/每个后端一个独立文件。Linux 无头主机走 NvFBCNVIDIA 显卡专用或 KMS有桌面环境优先 KMS能拿到最高刷新率。// src/platform/linux/kmsgrab.cpp 简化示意 // 通过 DRM 的 page-flip 回调逐帧拷贝 framebuffer // 每帧捕获后交给编码器机制 2硬件编码一句话概括把 RGB 画面转成 YUV 后塞进显卡的硬编单元省 CPU。核心路径在 src/nvenc/NVENC和 src/platform/linux/ 的vaapi.cpp、vulkan_encode.cppVAAPI / Vulkan Video。Web UI 的 AudioVideo 页签切的就是这几个后端。// src/nvenc/nvenc_config.h 简化示意 // 按 GPU 型号选择编码预设、速率控制模式、帧率上限机制 3输入虚拟化一句话概括Moonlight 端的手柄在主机侧被虚拟成同型号物理手柄传给游戏。核心路径在 src/platform/virtualhid_input.cpp底层驱动层是 third-party/libvirtualhid。Windows 需要装 Virtual HID DriverLinux 走 uinput。// src/platform/virtualhid_input.cpp 简化示意 // 收到客户端手柄事件 → 构造对应虚拟手柄的 HID 报告 → 投递给系统场景演练3 个真实用法场景 1客厅电视串流 Steam 大屏目标电视上的 Moonlight 直接进 Steam 大屏模式。前置Web UI 账号已建好Moonlight 端已配对。操作Web UI → Applications确认 Steam Big Picture 存在默认自带来自 src_assets/linux/assets/apps.json。AudioVideo 页签分辨率改成电视原生如 3840×2160码率参考 docs/performance_tuning.md。电视 Moonlight 里选 Steam Big Picture 启动。预期效果电视上直接进 Steam 大屏界面键鼠/手柄输入正常。场景 2无头主机远程串流目标主机不接显示器人在别处 SSH 拉起串流。前置主机已能 SSH 登录Sunshine 已装好。操作# 主机侧拉起来 ssh {user}{主机IP} export DISPLAY:0; sunshineNVIDIA 显卡走 NVFBC 捕获X11 下不接显示器可能需要 HDMI 欺骗器或 EDID 模拟器让显卡保持输出状态否则画面是黑的。预期效果客户端能看到桌面输入正常。场景 3串流前先量一次网络目标先确认带宽瓶颈再谈码率。前置主机和客户端都能跑iperf3。操作# 主机 iperf3 -s # 客户端 iperf3 -c {主机IP} -t 60 -u -R -b 50M看客户端输出里的丢包和抖动理想值丢包 5%、抖动 1ms。预期效果拿到一组基线数据后续卡顿能对照判断是网络还是编码。排坑速查⚠️ 现象忘了 Web UI 账号密码根因凭据只存在本地浏览器不缓存。 解法停掉 Sunshine跑sunshine --creds {新用户名} {新密码}。Flatpak 用flatpak run --commandsunshine dev.lizardbyte.app.Sunshine --creds {新用户名} {新密码}。详见 docs/troubleshooting.md。现象浏览器访问 47990 打不开根因47990 端口被防火墙拦或 Sunshine 根本没在跑。 解法先systemctl --user status app-dev.lizardbyte.app.SunshineLinux确认服务活着再查防火墙规则放行 47990 和 47989。现象画面卡顿、丢包根因Sunshine 每 16ms 突发一帧60fps串流路径上某一段比主机慢很多中间设备缓冲不够就丢数据。 解法先用场景 3 的 iPerf3 定位瓶颈确认是速率差就降速2.5G→1G或升级 Sunshine 到 0.23.1 之后。现象Linux 上连上后键鼠/手柄没反应根因运行 Sunshine 的用户没有 uinput 权限。 解法把该用户加进input组并重新登录。FreeBSD 用pw groupmod input -m $USER。现象主机开了 HDR串出来的画面发白过曝根因Moonlight 客户端侧没开 HDR流按 SDR 解码主机开 HDR 时过曝。 解法客户端设置里启用 HDR主机端确认 HDR 已激活必要时接 EDID 模拟器。Linux 上还要求 KMS 捕获后端NvFBC/X11 不支持 HDR。不确定是哪种情况先打开 Web UI 的 Troubleshooting 页看第一条 warning/error 点开的详情。延伸导航docs/getting_started.md各平台安装、首次设置、快捷键CtrlAltShiftN隐藏光标、CtrlAltShiftF1/F12切显示器docs/configuration.md全部配置项port、locale、编码器、音频设备…逐项说明docs/troubleshooting.md凭据重置、网络测试、丢包处理src/platform/各平台屏幕捕获与编码实现KMS、NvFBC、WGC、VAAPI…tests/单元测试与集成测试想了解内部行为从这里入手【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

OneUptime 状态页品牌定制与自定义域名配置完全指南

OneUptime 状态页品牌定制与自定义域名配置完全指南

OneUptime 状态页品牌定制与自定义域名配置完全指南 【免费下载链接】oneuptime Complete open-source monitoring and observability platform. 项目地址: https://gitcode.com/GitHub_Trending/on/oneuptime 状态页是 OneUptime 中客户真正会反复查看的唯一对外界面&a…

2026/9/21 22:58:49 阅读更多 →
10分钟语音克隆:RVC WebUI 实操记录

10分钟语音克隆:RVC WebUI 实操记录

10分钟语音克隆&#xff1a;RVC WebUI 实操记录 【免费下载链接】Retrieval-based-Voice-Conversion-WebUI Easily train a good VC model with voice data < 10 mins! 项目地址: https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI 在…

2026/9/20 21:02:23 阅读更多 →
供应链断裂与重构测度:基于网络分析的Python量化实战

供应链断裂与重构测度:基于网络分析的Python量化实战

简介&#xff1a;一份面向经济学研究者、供应链分析人员及数据科学初学者的Python代码包&#xff0c;用于复现丁浩员等发表于《经济研究》2024年第8期的跨国供应链断裂与重构变量测度方法。包体以FactSet Revere全球供应链数据库为数据源&#xff0c;完整覆盖断裂&#xff08;B…

2026/9/20 21:01:22 阅读更多 →

最新新闻

什么是以太网新手避坑3个坑让代码跑通

什么是以太网新手避坑3个坑让代码跑通

什么是以太网新手避坑3个坑让代码跑通 复制来的代码跑不通,是不是让你抓狂?明明照着文档敲,环境也装好了,结果一执行就报 Connection refused 或者 Timeout…

2026/9/21 23:45:33 阅读更多 →
简谱怎么看保姆级教程:源码级拆解让你看懂核心逻辑

简谱怎么看保姆级教程:源码级拆解让你看懂核心逻辑

简谱怎么看保姆级教程:源码级拆解让你看懂核心逻辑 看了一堆简谱教程,为什么一到实战就懵?很多人抱怨学了很多理论,写项目或者扒谱时还是抓瞎。其实问题不在你不够聪明,而在那些教程只教你“认音符”,没教你“读逻辑”。今天这篇保姆级教程,不整虚的,…

2026/9/21 23:45:33 阅读更多 →
Win7吧实战项目踩坑:3个API变更让你少加班

Win7吧实战项目踩坑:3个API变更让你少加班

Win7吧实战项目踩坑:3个API变更让你少加班 版本升级后 API 全变了,这是无数老程序员在接手 Win7 吧相关 实战项目 时的第一反应。很多人觉得 Win7 都停服好几年了,怎么还有这么多坑?别急,金融、工控、政务内网里,Win7…

2026/9/21 23:45:33 阅读更多 →
3天搞定陈康肃公尧咨善射最佳实践,面试官不吐不快

3天搞定陈康肃公尧咨善射最佳实践,面试官不吐不快

3天搞定陈康肃公尧咨善射最佳实践,面试官不吐不快 看了一堆教程还是不会写项目?别急着焦虑,我带你在大厂面试里摸爬滚打5年,见过太多候选人卡在这一步。你背了八股文,写了Demo,但一到真实业务场景就露怯,根本原因不是你不够聪明,而是没抓住【陈…

2026/9/21 23:45:33 阅读更多 →
Win10原版系统实战项目:3步解决开发环境崩溃报错

Win10原版系统实战项目:3步解决开发环境崩溃报错

Win10原版系统实战项目:3步解决开发环境崩溃报错 屏幕一黑,控制台刷出满屏红色 StackTrace,那种绝望感每个开发者都懂。刚配好的 Win10…

2026/9/21 23:45:33 阅读更多 →
2026最新框架图片加载全解析:5个坑让项目不崩

2026最新框架图片加载全解析:5个坑让项目不崩

2026最新框架图片加载全解析:5个坑让项目不崩 刚学完语法,面对空荡荡的项目目录是不是心里发毛?很多人卡在“代码能跑,但项目搭不起来”这一步,尤其是涉及静态资源时。2026最新的开发环境对性能要求更严,图片加载看似简单,实则是前端工程化的…

2026/9/21 23:44:33 阅读更多 →

日新闻

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析&#xff1a;从项目检测到 AGENTS.md 规则生成的 16 步判定流程 【免费下载链接】agentic-awesome-skills AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and …

2026/9/21 0:00:01 阅读更多 →
gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南&#xff1a;src/utils 复用规范与源码级解析 【免费下载链接】gin-vue-admin &#x1f680;ViteVue3Gin拥有AI辅助的基础开发平台&#xff0c;企业级业务AI开发解决方案&#xff0c;内置mcp辅助服务&#xff0c;内置skills管理&#xff0c;…

2026/9/21 0:00:01 阅读更多 →
Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

桌面应用AI 应用插件系统 【免费下载链接】Wox A cross-platform launcher that simply works 项目地址&#xff1a; https://gitcode.com/gh_mirrors/wo/Wox 点击查看 免费下载 全功能插件&#xff08;Full-featured Plugin&#xff09;是 Wox 三类插件实现方式中能力最完整的…

2026/9/21 0:00:01 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事&#xff1a;用Flutter给OpenHarmony做一款游戏集合类的App&#xff0c;说白了就是把若干小游戏塞进一个壳里&#xff0c;用统一入口分发。这个方向本身不算新鲜&#xff0c;真正让我花了不少心思的&#xff0c;是首页那堆游戏卡…

2026/9/21 3:13:20 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档&#xff0c;最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事&#xff1a;今天在表后面多加了两个空白行&#xff0c;明天给客户交稿前发现整个章节的编号全部错位&#xff0c;光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/21 2:19:36 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年&#xff0c;说实话&#xff0c;第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年&#xff0c;流量惨淡、功能臃肿、代码自己都懒得看第二遍之后&#xff0c;我才慢慢琢磨明白一个道理&#xff1a;第一个网站是练手&…

2026/9/21 4:51:05 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践&#xff1a;原型怎样变成可用功能分类&#xff1a;[AI/大模型]细分主题&#xff1a;AI 增强型 CI/CD 流水线自动化与 GitOps 实践&#xff1a;Agent 工作流、工具调用与任务拆解&#xff1a;从原型到生产的验收清单很多团队在尝试用大…

2026/9/21 15:36:51 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战&#xff1a;复盘记录怎样真正派上用场分类&#xff1a;[工程技术]细分主题&#xff1a;Kubernetes 生产环境运维与排障实战&#xff1a;可复制的项目复盘模板与决策记录大部分团队的事故复盘报告&#xff0c;最后都变成了躺在 Confluence 或钉…

2026/9/21 15:36:51 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理&#xff1a;核心链路应该先拆哪一步分类&#xff1a;[工程技术]细分主题&#xff1a;Docker 容器化技术与镜像安全管理&#xff1a;核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用&#xff08;包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →