Moonlight PC
Moonlight PC 是一个开源的PC客户端,用于NVIDIA GameStream和Sunshine。
你可以在我们的Discord服务器上关注开发进度,并在Weblate上帮助将Moonlight翻译成你的语言。
功能
- Windows、Mac和Linux上的硬件加速视频解码
- 支持H.264、HEVC和AV1编解码器(AV1需要Sunshine和支持的主机GPU)
- 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和Nintendo Switch(Ubuntu L4T)
特别鸣谢
Moonlight的Debian和L4T软件包仓库托管由Cloudsmith免费提供。
构建
Windows构建要求
- Qt 5.15 SDK或更高版本。Qt 6也支持x64和ARM64构建。
- Visual Studio 2022(社区版即可)
- 在Qt安装过程中选择MSVC选项。不支持MinGW。
- 7-Zip(仅在为非开发PC构建安装程序时需要)
macOS构建要求
- Qt 6.4 SDK或更高版本
- Xcode 13或更高版本
- 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 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
来创建Moonlight的调试构建。 - 你也可以使用Linux发行版的包管理器安装Qt SDK,只要软件包是Qt 5.9或更高版本。
- 这一步对于Steam Link构建不是必需的,因为Steam Link SDK包含Qt 5.14。
- 你可以在macOS上通过Homebrew安装Qt,但需要使用
- 在
moonlight-qt/
目录中运行git submodule update --init --recursive
- 在Qt Creator中打开项目,或在命令行中使用qmake构建。
- 要为非开发机器构建二进制文件,请使用
scripts
文件夹中的脚本。- 对于Windows构建,使用
scripts\build-arch.bat
和scripts\generate-bundle.bat
。在Qt命令提示符中从仓库根目录执行这些脚本。确保7-Zip二进制目录在你的%PATH%
中。 - 对于macOS构建,使用
scripts/generate-dmg.sh
。从仓库根目录执行此脚本,并确保Qt的bin
文件夹在你的$PATH
中。 - 对于Steam Link构建,从仓库根目录运行
scripts/build-steamlink-app.sh
。
- 对于Windows构建,使用
- 要在macOS或Linux上为开发使用从命令行构建,运行
qmake6 moonlight-qt.pro
,然后make debug
或make release
- 要为单一用途设备创建嵌入式构建,使用
qmake6 "CONFIG+=embedded" moonlight-qt.pro
并正常构建。- 这种构建将缺少窗口模式、Discord/帮助链接和其他在嵌入式设备上不适用的功能。
- 对于GPU性能较差的平台,添加
"CONFIG+=gpuslow"
以优先使用直接KMSDRM渲染而非GL/Vulkan渲染器。直接KMSDRM渲染可以使用专用的YUV/RGB转换和缩放硬件,而不是较慢的GPU着色器来执行这些操作。
- 要为非开发机器构建二进制文件,请使用
贡献
- Fork我们的项目
- 编写代码
- 发送Pull Requests
访问我们的网站获取项目链接和信息。