Moonshine:Linux 无头 PC 串流新神器
Moonshine: Lets you stream games from your PC to any device running Moonlight
想在 Linux 服务器上实现无头游戏串流?Moonshine 用 Rust 打造,让 Moonlight 客户端能连接你的 PC 并远程畅玩。它最大的亮点是每个串流会话都运行在独立的合成器中,完全隔离于桌面环境,这意味着你在串流时主机依然可用,甚至无需连接显示器或 HDMI 欺骗器。支持 H.264、H.265 和 AV1 硬件编码,以及 HDR 和完整输入设备支持。虽然目前仅限 Linux 且依赖 systemd,但配合 AUR 安装极其便捷。相比 Sunshine,Moonshine 更专注于 Linux 下的隔离体验,是游戏串流爱好者的新选择。
Moonshine 让每个串流会话运行在独立的合成器中,完全独立于你的桌面环境,这样你的主机在串流时依然可以用于其他任务。
HN 评论区
150- PalmPilotProMax
那么,总结一下:
首先有 Nvidia Gamestream,它是专有的,后来被 Nvidia 自己弃用了。
然后出现了 Sunshine 和 Moonlight,它们是该协议的开源服务器和客户端实现,为所有平台提供低延迟串流。
与此同时,Game on Whales 项目开始了,它允许多席位串流以及虚拟显示,这样当前登录的用户会话不会受到影响。基本上,这是一个完整的“自建 Stadia/Geforce Now”解决方案。但不是以现有用户身份运行已设置好的应用程序,而是运行这些精心制作的 Steam、Firefox 等容器。
然后有人将 Sunshine 和 Moonlight 分叉为 Apollo 和 Artemis,使虚拟显示串流变得开箱即用、简单易行。遗憾的是,Apollo 的虚拟显示功能实际上仅限 Windows。
然后就是这个 Moonshine,在某种程度上实现了 Apollo 带来的功能,但针对 Linux 服务器。
哦,顺便说一句,有人将 Apollo 分叉为 Vibepollo,一个几乎完全由 vibe 编码的“增强版”。我个人不会碰那个。
我有没有漏掉什么?
- hgaiser
啊,原来这就是活动涌入的原因。
你好,我是 Moonshine 的创建者。
我在这里尝试回答一些常见问题,而不是到处重复同样的话:
它是什么?
从核心上讲,它类似于 Sunshine,但有一个重要区别:Moonshine 创建自己的合成器,不依赖现有的桌面环境。优点:
- 你不需要运行桌面环境:它可以无头运行。
- 合成器可以以任何分辨率和任何刷新率创建,无需虚拟插头。
- 因为 Moonshine 控制合成器,它开箱即用地支持 HDR,即使你的显示器不支持 HDR(开发中,在我测试的游戏中有效)。
- 如果你确实有运行中的桌面环境,你可以在串流游戏的同时继续使用它。
在更技术层面上:我喜欢 Moonshine 的专注范围。只有一个编码器(Vulkan),只支持一个操作系统(Linux),没有 GUI,不兼容旧的 Moonlight 客户端。代码库故意保持“精简”。当然这也有缺点,比如需要较新的 GPU 和驱动,只适用于 Linux 和更新的 Moonlight 客户端,但我可以接受。
为什么创建它?
简短回答:一个懒惰的女朋友和一个固执的 Linux 用户。
长回答:Moonshine 是一个业余项目,我已经做了几年(第一次提交可以追溯到 2022 年)。它过去(现在也是)一个有趣的练习,帮助我学到了很多,如果它不再有趣……
- BLKNSLVR
Sunshine/Moonlight 组合让我能够将模拟的、升级分辨率的 SSX Tricky(PS2 游戏)从我的桌面流畅地串流到一个(至少 7 年旧的)Android 串流盒子上,如丝般顺滑。
唯一的缺点是游戏必须可见地运行在桌面屏幕上,这意味着桌面无法用于其他任何事情——例如,如果别人想在我在桌面上工作时玩游戏。
这似乎解决了这个问题。Sunshine/Moonlight 已经是一块蛋糕,上面还有一层糖霜。这是在上面撒上蜜饯樱桃。我喜欢蜜饯樱桃。
- aliasxneo
我使用 moonlight/apollo。
1. 将我的 Dualsense 控制器连接到我的 MacBook
2. 在我的 MacBook 上打开 Moonlight
3. 以全屏模式连接到我的游戏台式机
4. 在 Steam 上启动我的 3A 游戏
5. 搞定
在 Wi-Fi 7 下,我基本上感觉不到延迟,这让我第一次尝试时感到疯狂。我还有一个 Minisforum 连接到我的大屏幕电视,过程相同,只是我在 Dualsense 控制器上按不同的组合键来连接到 Minisforum。因为 Apollo 保存设置,我可以无缝地在两者之间切换,基本上没有问题。
- hankbond
> Moonshine 在各自独立的环境中运行每个串流会话,与你的桌面分离。这意味着你的主机在串流时保持可用,并且无需活动桌面会话即可工作。
所以这是创建了一个虚拟桌面吗?这是如何工作的?这只是一个单独的“屏幕”,还是更像一个完全独立的合成器实例(如果这是正确的术语)?
- esperent
我花了相当多的时间尝试使用 Sunshine/Moonlight 设置从我的笔记本电脑到手机的串流。尽管按照教程应该很容易,但我从未获得理想的结果。
游戏是我放松的方式,最终我决定不值得,因为我花了有限休息时间的一周来折腾编解码器、延迟、Wi-Fi 设置、尝试不同的应用程序等,却没有得到任何可用的结果。
我想那是大约三年前。从那以后情况有所改善吗?
- NDlurker
这就是人们在 Wii U 和 3DS 上玩 Switch 游戏的方式。在 PC 上模拟,并在旧系统上串流。
- Helmut10001
我对 Moonlight/Sunshine 组合非常满意。它在我 RTX 4000 Pro GPU 服务器上运行良好。我唯一缺少的是根据连接的客户端自动调整分辨率,但我能够通过 Home Assistant Windows 客户端编写脚本实现这一点。