用户可通过该项目在 PC 上远程串流游戏,支持 NVIDIA GameStream 和 Sunshine。具备硬件加速解码、多 codec 支持、HDR 及 7.1 环绕声,支持游戏手柄与多点触控,兼顾游戏与远程桌面场景。【此简介由AI生成】
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 |
以下内容由 AI 翻译,如有问题请 点此提交 issue 反馈
Moonlight PC
Moonlight PC 是一款专为 NVIDIA GameStream 和 Sunshine 设计的开源 PC 客户端。
Moonlight 还提供移动端版本,支持 Android 和 iOS。
您可以通过我们的 Discord 服务器 关注开发动态,或在 Weblate 上协助将 Moonlight 翻译成您的语言。
功能特性
- Windows、Mac 和 Linux 平台的硬件加速视频解码
- 支持 H.264、HEVC 和 AV1 编解码器(AV1 需 Sunshine 及兼容的主机 GPU)
- YUV 4:4:4 支持(仅限 Sunshine)
- HDR 流媒体支持
- 7.1 环绕声音频支持
- 10 点触控支持(仅限 Sunshine)
- 游戏手柄支持,最多 16 名玩家的力反馈与体感控制
- 同时支持指针捕获(游戏场景)和直接鼠标控制(远程桌面场景)
- 可传递系统级键盘快捷键(如 Alt+Tab)至主机
下载
- Windows、macOS 及 Steam Link 版本
- Snap 包(适用于基于 Ubuntu 的 Linux 发行版)
- Flatpak 包(适用于其他 Linux 发行版)
- AppImage 包
- 树莓派 4 和 5 版本
- 通用 ARM 32/64 位 Debian 包(不适用于树莓派)
- 实验性 RISC-V Debian 包
- NVIDIA Jetson 和任天堂 Switch(Ubuntu L4T)版本
特别鸣谢
Moonlight 的 Debian 和 L4T 软件包仓库由 Cloudsmith 免费提供托管支持。
构建指南
Windows 构建要求
- Qt 6.7 SDK 或更高版本(早期版本可能兼容但不官方支持)
- Visual Studio 2022(社区版即可)
- 安装 Qt 时选择 MSVC 选项(不支持 MinGW)
- 7-Zip(仅限为非开发机构建安装包时需要)
- 图形工具(仅调试构建需要)
- 在 Windows 设置的"可选功能"页面安装"图形工具"
- 或运行
dism /online /add-capability /capabilityname:Tools.Graphics.DirectX~~~~0.0.1.0后重启
macOS 构建要求
- Qt 6.7 SDK 或更高版本
- Xcode 14 或更高版本
- create-dmg(仅限为非开发 Mac 构建 DMG 时需要)
Linux/Unix 构建要求
- 推荐 Qt 6,但 Qt 5.9 及以上版本也支持(使用 Qt 5 时将
qmake6替换为qmake) - GCC 或 Clang
- FFmpeg 4.0 或更高版本
- 安装依赖包:
- Debian/Ubuntu:
- 基础依赖:
libegl1-mesa-dev libgl1-mesa-dev libopus-dev libsdl2-dev libsdl2-ttf-dev libssl-dev libavcodec-dev libavformat-dev libswscale-dev libva-dev libvdpau-dev libxkbcommon-dev wayland-protocols libdrm-dev - Qt 6(推荐):
qt6-base-dev qt6-declarative-dev libqt6svg6-dev qml6-module-qtquick-controls qml6-module-qtquick-templates qml6-module-qtquick-layouts qml6-module-qtqml-workerscript qml6-module-qtquick-window qml6-module-qtquick - Qt 5:
qtbase5-dev qt5-qmake qtdeclarative5-dev qtquickcontrols2-5-dev qml-module-qtquick-controls2 qml-module-qtquick-layouts qml-module-qtquick-window2 qml-module-qtquick2 qtwayland5
- 基础依赖:
- RedHat/Fedora(需 RPM Fusion 仓库):
- 基础依赖:
openssl-devel SDL2-devel SDL2_ttf-devel ffmpeg-devel libva-devel libvdpau-devel opus-devel pulseaudio-libs-devel alsa-lib-devel libdrm-devel - Qt 6(推荐):
qt6-qtsvg-devel qt6-qtdeclarative-devel - Qt 5:
qt5-qtsvg-devel qt5-qtquickcontrols2-devel
- 基础依赖:
- Debian/Ubuntu:
- 构建 Vulkan 渲染器需
libplacebo-dev/libplacebo-devel版本不低于 v7.349.0 且 FFmpeg 6.1 或更高
Steam Link 构建要求
- 构建系统中已克隆 Steam Link SDK
- 设置 STEAMLINK_SDK_PATH 环境变量指向 Steam Link SDK 路径
构建步骤
- 从 https://www.qt.io/download 安装最新 Qt SDK(可选安装 Qt Creator IDE)
- macOS 可通过 Homebrew 安装 Qt,但需使用
brew install qt --with-debug以支持调试构建 - Linux 发行版若提供 Qt 5.9 及以上版本包,可直接使用系统包管理器安装
- Steam Link 构建无需此步骤,因其 SDK 已包含 Qt 5.14
- macOS 可通过 Homebrew 安装 Qt,但需使用
- 在
moonlight-qt/目录运行git submodule update --init --recursive - 使用 Qt Creator 打开项目或通过命令行 qmake 构建
- 为非开发机构建:使用
scripts文件夹中的脚本- Windows:在 Qt 命令行中执行
scripts\build-arch.bat和scripts\generate-bundle.bat,需确保 7-Zip 可执行目录在%PATH%中 - macOS:执行
scripts/generate-dmg.sh,确保 Qt 的bin目录在$PATH中 - Steam Link:执行根目录的
scripts/build-steamlink-app.sh
- Windows:在 Qt 命令行中执行
- macOS/Linux 开发构建:运行
qmake6 moonlight-qt.pro后执行make debug或make release - 嵌入式设备专用构建:使用
qmake6 "CONFIG+=embedded" moonlight-qt.pro后正常构建- 此构建将移除窗口模式、Discord/帮助链接等嵌入式设备不需要的功能
- GPU 性能较弱平台可添加
"CONFIG+=gpuslow"优先使用 KMSDRM 直接渲染(而非 GL/Vulkan 渲染器),利用专用 YUV/RGB 转换和缩放硬件加速
- 为非开发机构建:使用
贡献指南
- 复刻项目
- 编写代码
- 提交合并请求
访问我们的官方网站获取项目链接与详细信息。