开发者生态
morning
Moonshine:让您可以将游戏从 PC 传输到任何运行 Moonlight 的设备
2026-07-20
1 阅读
约9分钟阅读
wertyk
字号:
Moonshine 🌙 Moonshine 可让您将游戏从 PC 流式传输到任何运行 Moonlight 的设备。您的键盘、鼠标和控制器输入会发送回主机,以便您可以远程玩游戏,就像坐在主机前面一样。功能 独立的流会话:每个流都在自己的合成器中运行,完全独立于您的桌面环境。在您进行流式传输时,您的主机 PC 仍然可以用于其他用途。无需显示器:适用于无头服务器 — 无需 HDMI 虚拟插头。硬件视频编码:使用GPU进行H.264、H.265和AV1编码。 ⚠️ AV1 警告:AV1 编码是实验性的,在 NVIDIA GPU 上存在问题,导致帧大小随着时间的推移而增长(请参阅问题)。此问题应在驱动程序版本 595.44.3.0 中修复。在此之前,请坚持使用 H.264 或 H.265。 HDR 支持:支持游戏的真正 10 位 HDR 流。完整的输入支持:鼠标、键盘和游戏手柄(包括动作、触摸板和触觉)。音频流:具有低延迟 Opus 编码的立体声和环绕声 (5.1/7.1)。要求仅限 Linux。在 Arch Linux 上进行了测试,但据报道它也可以在其他 Linux 发行版上运行。系统。启动和管理应用程序进程所需的。几乎所有现代 Linux 发行版都默认包含它。具有 Vulkan 视频编码功能的 GPU。 NVIDIA RTX、AMD RDNA2+ 或英特尔 Arc。月光 v6.0.0 或更高版本。不保证与旧版本或非官方端口的兼容性。安装 Arch 最简单的方法是通过 AUR 安装,使用: yay -S Moonshine 要为您的用户运行 Moonshine: 启用用户延迟: sudo loginctl enable-linger $USER 这允许 Moonshine 即使在用户未登录时也可以在用户会话中运行应用程序。如果您想要进行流式传输时,您的用户始终处于登录状态,则可以跳过此步骤。使服务在启动时启动并立即运行: sudo systemctl enable --now Moonshine@ $USER Source 需要构建以下依赖项: sudo pacman -S \ clang \ cmake \ gcc-libs \ glibc \ libc++ \ libevdev \ libpulse \ libxkbcommon \ make \ mesa \ opus \ pkg-config \ rust \ shaderc \ vulkan-headers \ wayland 然后编译并运行: Cargo run --release -- /path/to/config.toml 配置 如果您提供的路径不存在,则会自动创建配置文件。使用 AUR 包时,默认为 $XDG_CONFIG_HOME/moonshine/config.toml 。与客户端配对 当您第一次连接 Moonlight 时,它将显示 PIN。主机上会出现一条通知,您可以单击打开配对页面,也可以通过 http://localhost:47989/pin 手动访问。您还可以从命令行配对:curl -X POST " http://localhost:47989/submit-pin " -d " uniqueid=0123456789ABCDEF&pin= " 添加应用程序 每个应用程序都在其自己的隔离流会话中运行。将它们添加到 config.toml 中,如下所示: [[ application ]] title = " Steam " boxart = " /path/to/steam.png " # 可选命令 = [ " /usr/bin/steam " , " steam://open/bigpicture " ] title :月光中显示的名称。 boxart(可选):封面图像的路径。命令:要运行的命令。第一个条目是可执行文件,其余的是参数。 pre_command(可选):启动应用程序之前运行的命令。每个条目都是一个单独的命令,按顺序执行。同步运行 - 会话等待所有操作完成。 post_command(可选):流会话结束后运行的命令。每个条目都是一个单独的命令,按顺序执行。同步运行 - 服务器等待所有操作完成。示例: [[ application ]] title = " Steam " command = [ " /usr/bin/steam " , " steam://open/bigpicture " ] pre_command = [ [ " /usr/bin/systemctl " , " stop " , "conflicing.service " ], [ " /usr/bin/nvidia-smi " , " pstate " , " 50 " ], ] post_command = [ [ " /usr/bin/nvidia-smi " , " pstate " , " Performance " ], ] 应用程序扫描程序 扫描程序会自动检测已安装的应用程序,因此您无需手动添加它们。 Steam 扫描仪 — 查找所有已安装的 Steam 游戏: [[ application_scanner ]] type = " steam " 库 = " $HOME/.local/share/Steam " command = [ " /usr/bin/steam " , " -bigpicture " , " steam://rungameid/{game_id} " ] 桌面扫描仪 — 从 .desktop 文件中查找应用程序: [[ application_scanner ]] type = " Desktop " 目录 = [ " $HOME/.local/share/applications " , " /usr/share/applications ",] include_terminal = false resolve_icons = true 常见问题解答 这与 Sunshine 相比如何? Sunshine 支持更多平台,整体功能也更多。 Moonshine 仅限 Linux。 Moonshine 在其自己的隔离环境中运行每个流会话,与您的桌面分开。这意味着您的主机 PC 在您进行流式传输时保持可用,并且无需活动桌面会话即可工作。安全 Moonshine 并非设计用于公共网络。底层 GameStream 协议存在局限性,这意味着流量在应用程序级别并未完全加密。如果您需要流式传输
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱