Moonlight PC est un client PC open source pour NVIDIA GameStream et Sunshine.
Moonlight propose également des versions mobiles pour Android et iOS.
Vous pouvez suivre le développement sur notre serveur Discord et aider à traduire Moonlight dans votre langue sur Weblate.
Décodage vidéo accéléré matériellement sur Windows, Mac et Linux
Prise en charge des codecs H.264, HEVC et AV1 (AV1 nécessite Sunshine et un GPU hôte pris en charge)
Prise en charge YUV 4:4:4 (Sunshine uniquement)
Prise en charge du streaming HDR
Prise en charge du son surround 7.1
Prise en charge multitouch 10 points (Sunshine uniquement)
Prise en charge des manettes de jeu avec retour de force et commandes de mouvement pour jusqu'à 16 joueurs
Prise en charge de la capture du pointeur (pour les jeux) et du contrôle direct de la souris (pour le bureau à distance)
Prise en charge de la transmission de raccourcis clavier à l'échelle du système, comme Alt+Tab, à l'hôte
Windows, macOS et Steam Link
Snap (pour les distributions Linux basées sur Ubuntu)
Flatpak (pour les autres distributions Linux)
AppImage
Framboise Pi 4 et 5
Packages Debian ARM 32 bits et 64 bits génériques (pas pour Raspberry Pi)
Paquets expérimentaux RISC-V Debian
NVIDIA Jetson et Nintendo Switch (Ubuntu L4T)
L'hébergement des référentiels de packages Debian et L4T de Moonlight est gracieusement fourni gratuitement par Cloudsmith.
SDK Qt 6.7 ou version ultérieure (les versions antérieures peuvent fonctionner mais ne sont pas officiellement prises en charge)
Visual Studio 2022 (l'édition communautaire convient)
Sélectionnez l'option MSVC lors de l'installation de Qt. MinGW n'est pas pris en charge.
7-Zip (uniquement si vous créez des installateurs pour des PC non destinés au développement)
Outils graphiques (uniquement si vous exécutez des versions de débogage)
Installez « Outils graphiques » sur la page Fonctionnalités facultatives de l'application Paramètres Windows.
Vous pouvez également exécuter dism /online /add-capability /capabilityname:Tools.Graphics.DirectX~~~~0.0.1.0
et redémarrer.
SDK Qt 6.7 ou version ultérieure (les versions antérieures peuvent fonctionner mais ne sont pas officiellement prises en charge)
Xcode 14 ou version ultérieure (les versions antérieures peuvent fonctionner mais ne sont pas officiellement prises en charge)
create-dmg (uniquement si vous créez des DMG pour une utilisation sur des Mac non développés)
Qt 6 est recommandé, mais Qt 5.9 ou version ultérieure est également pris en charge (remplacez qmake6
par qmake
lorsque vous utilisez Qt 5).
GCC ou Clang
FFmpeg 4.0 ou version ultérieure
Installez les packages requis :
Exigences de base : 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 (recommandé) : qt6-qtsvg-devel qt6-qtdeclarative-devel
Qt 5 : qt5-qtsvg-devel qt5-qtquickcontrols2-devel
Exigences de base : 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 (Recommandé) : 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
Debian/Ubuntu :
RedHat/Fedora (dépôt RPM Fusion requis) :
La construction du moteur de rendu Vulkan nécessite une version libplacebo-dev
/ libplacebo-devel
d'au moins v7.349.0 et FFmpeg 6.1 ou version ultérieure.
Steam Link SDK cloné sur votre système de build
Variable d'environnement STEAMLINK_SDK_PATH définie sur le chemin du SDK Steam Link
Installez le dernier SDK Qt (et éventuellement l'IDE Qt Creator) à partir de https://www.qt.io/download
Vous pouvez installer Qt via Homebrew sur macOS, mais vous devrez utiliser brew install qt --with-debug
pour pouvoir créer des versions de débogage de Moonlight.
Vous pouvez également utiliser le gestionnaire de packages de votre distribution Linux pour le SDK Qt tant que les packages sont Qt 5.9 ou version ultérieure.
Cette étape n'est pas requise pour la construction sur Steam Link, car le SDK Steam Link inclut Qt 5.14.
Exécutez git submodule update --init --recursive
depuis moonlight-qt/
Ouvrez le projet dans Qt Creator ou créez à partir de qmake sur la ligne de commande.
Cette version manquera de mode fenêtré, de liens Discord/Aide et d'autres fonctionnalités qui n'ont pas de sens sur un appareil intégré.
Pour les plates-formes avec des performances GPU médiocres, ajoutez "CONFIG+=gpuslow"
pour préférer le rendu KMSDRM direct aux moteurs de rendu GL/Vulkan. Le rendu KMSDRM direct peut utiliser un matériel de conversion et de mise à l'échelle YUV/RVB dédié plutôt que des shaders GPU plus lents pour ces opérations.
Pour les versions Windows, utilisez scriptsbuild-arch.bat
et scriptsgenerate-bundle.bat
. Exécutez ces scripts à partir de la racine du référentiel dans une invite de commande Qt. Assurez-vous que le répertoire binaire 7-Zip se trouve sur votre %PATH%
.
Pour les versions macOS, utilisez scripts/generate-dmg.sh
. Exécutez ce script à partir de la racine du référentiel et assurez-vous que le dossier bin
de Qt se trouve dans votre $PATH
.
Pour les versions Steam Link, exécutez scripts/build-steamlink-app.sh
à partir de la racine du référentiel.
Pour créer un binaire à utiliser sur des machines non destinées au développement, utilisez les scripts du dossier scripts
.
Pour créer à partir de la ligne de commande à des fins de développement sur macOS ou Linux, exécutez qmake6 moonlight-qt.pro
puis make debug
ou make release
Pour créer une version intégrée pour un périphérique à usage unique, utilisez qmake6 "CONFIG+=embedded" moonlight-qt.pro
et construisez normalement.
Fourchette-nous
Écrire du code
Envoyer des demandes de tirage
Consultez notre site Web pour obtenir des liens et des informations sur les projets.