136 lines
7.2 KiB
Markdown
136 lines
7.2 KiB
Markdown
---
|
|
title: Sunshine
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, gaming, game-streaming, moonlight, cloud-gaming, cpp, nvidia, amd, intel]
|
|
confidence: high
|
|
contested: false
|
|
sources:
|
|
- https://selfh.st/apps/?tag=Gaming
|
|
- https://github.com/LizardByte/Sunshine
|
|
- https://app.lizardbyte.dev/Sunshine/
|
|
---
|
|
|
|
# ☀️ Sunshine
|
|
|
|
> Game stream server open source, successeur communautaire de NVIDIA GameStream — transforme n'importe quel PC en machine de cloud gaming personnelle accessible via le client Moonlight.
|
|
|
|
| Métadonnée | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | https://app.lizardbyte.dev/Sunshine/ |
|
|
| **GitHub** | https://github.com/LizardByte/Sunshine |
|
|
| **License** | GPL-3.0 |
|
|
| **Langage** | C++ |
|
|
| **Étoiles** | 1 973 ⭐ |
|
|
| **Dernière MAJ** | 2026-05-30 |
|
|
| **Catégorie** | [[cat-gaming\|Gaming]] |
|
|
|
|
## Description
|
|
|
|
Sunshine est la **référence open source** du game streaming self-hosted. Le serveur s'installe sur le PC de jeu (le « host ») et expose un service compatible avec le protocole **Moonlight** (le client, disponible sur Windows, macOS, Linux, Android, iOS, tvOS, Steam Deck, etc.). Le flux combine capture d'écran GPU (NVENC sur NVIDIA, AMF sur AMD, QuickSync sur Intel), encodage H.264/H.265/AV1, transport UDP faible latence, et remontée des inputs (clavier/souris/manette) depuis le client. C'est l'alternative open source de référence à **NVIDIA GameStream** (abandonné en 2019), **Steam Remote Play**, **Parsec** (propriétaire) et **Rainway** (propriétaire).
|
|
|
|
Le modèle d'usage typique : on a une tour de jeu à la cave avec une RTX 4080, et on veut jouer à Cyberpunk 2077 en 4K/120fps depuis le canapé sur une Nvidia Shield TV, depuis un MacBook en déplacement, ou depuis un iPad dans le train. Le réseau local Gigabit est l'idéal ; au-delà (4G, hôtel), la latence augmente mais reste jouable pour la plupart des jeux solo. L'UI web permet d'ajouter des « applications » (un .exe ou un jeu Steam/Epic), de configurer la résolution/bitrate par client, et de gérer plusieurs utilisateurs.
|
|
|
|
Les points différenciants : support natif **HDR/HDR10**, **HDR vers SDR fallback**, **7.1 surround**, encodage **AV1** (sur RTX 40+), **virtual gamepads** (Sunshine traduit un clavier en gamepad XInput pour les jeux qui refusent de démarrer sans manette), chiffrement TLS optionnel, et intégration native **Tailscale** pour le streaming à distance via WireGuard.
|
|
|
|
## Installation
|
|
|
|
### Docker Compose
|
|
|
|
```yaml
|
|
# docker-compose.yml
|
|
version: '3.8'
|
|
|
|
services:
|
|
sunshine:
|
|
image: lizardbyte/sunshine:latest
|
|
container_name: sunshine
|
|
restart: unless-stopped
|
|
network_mode: host
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=Europe/Paris
|
|
- SUNSHINE_USER=[email protected]
|
|
- SUNSHINE_PASSWORD=ChangeM3_SUNSHINE
|
|
volumes:
|
|
- ./config:/config
|
|
- /etc/localtime:/etc/localtime:ro
|
|
devices:
|
|
- /dev/dri:/dev/dri # Intel/AMD GPU
|
|
# Pour NVIDIA, décommenter :
|
|
# runtime: nvidia
|
|
# environment:
|
|
# - NVIDIA_VISIBLE_DEVICES=all
|
|
```
|
|
|
|
> ⚠️ **Note GPU** : Sunshine a besoin d'un accès direct au GPU (`/dev/dri` pour Intel/AMD, NVIDIA runtime pour NVIDIA). Avec un GPU dédié, Sunshine tourne en natif (Linux/Windows) avec de meilleures performances que dans Docker.
|
|
|
|
### Installation native (recommandé pour performances)
|
|
|
|
- **Windows** : télécharger l'installateur `.exe` sur le site LizardByte, double-clic, terminé.
|
|
- **Linux (Debian/Ubuntu)** : ajouter le PPA `lizardbyte/stable` puis `sudo apt install sunshine`. Sinon AppImage/Snap.
|
|
- **macOS** : `brew install --cask lizardbyte/homebrew/sunshine`.
|
|
- L'UI web est accessible sur `https://localhost:47990` au premier lancement.
|
|
|
|
### Côté client (Moonlight)
|
|
|
|
Installer [Moonlight](https://moonlight-stream.org/) sur le client (Android, iOS, Windows, macOS, Linux, Steam Deck, etc.), ajouter manuellement le PC en saisissant l'IP de Sunshine, entrer le PIN affiché à l'écran.
|
|
|
|
## Configuration
|
|
|
|
- **Premier lancement** : créer le compte admin via l'UI web (`https://host:47990`).
|
|
- **Applications** : ajouter un .exe ou un jeu (Steam ID, Epic URI). Sunshine crée un raccourci sur le client.
|
|
- **Bitrate / résolution** : par défaut 1080p@60fps@20 Mbps. Ajuster selon la qualité réseau.
|
|
- **Codec** : H.264 (compat max), H.265 (meilleure qualité/CPU), AV1 (RTX 40+ et Intel Arc).
|
|
- **HDR** : cocher « Enable HDR » si écran compatible.
|
|
- **Audio** : PCM stéréo par défaut, surround 5.1/7.1 sélectionnable.
|
|
- **Virtual gamepad** : activer si on stream depuis un client sans manette physique.
|
|
- **Tailscale** : onglet dédié, simplifie énormément le streaming à distance.
|
|
|
|
## Alternatives
|
|
|
|
### Open Source
|
|
- [[app-games-on-whales]] — Wrapper Docker autour de Sunshine + audio/pulse + intégration fine avec conteneurs.
|
|
- **Apollo** — Alternative à Sunshine, en Go, plus simple mais moins riche.
|
|
- **Steam Link** (Valve) — Solution officielle Valve, plus simple, ne stream que des jeux Steam.
|
|
- **Wolf** — Émulateur Moonlight natif pour Switch hackée.
|
|
- **Artemis / GameStream alternative forks** — Autres forks de NVIDIA GameStream.
|
|
|
|
### Propriétaires
|
|
- **NVIDIA GameStream** (abandonné 2019) — L'original dont Sunshine est le successeur.
|
|
- **Steam Remote Play** — Officiel Valve, natif Steam uniquement.
|
|
- **Parsec** — Propriétaire, excellent mais freemium (et ferme pour les usages pro en 2024).
|
|
- **Rainway** — Propriétaire, B2B (gaming pour opérateurs).
|
|
- **GeForce NOW** (NVIDIA) — Cloud gaming SaaS, pas self-hosted.
|
|
- **Xbox Cloud Gaming**, **Amazon Luna**, **Stadia** (mort) — SaaS.
|
|
|
|
## Sécurité
|
|
|
|
- **PIN pairing** : à la première connexion client, un PIN s'affiche à l'écran du host. **Ne pas le désactiver**.
|
|
- **HTTPS** : l'UI web est en HTTPS auto-signé. Remplacer le cert si exposé sur Internet.
|
|
- **Streaming distant** : exposer Sunshine sur Internet = ouvrir UDP 47984, 47989, 47990, 48010. **Recommandé** : utiliser **Tailscale** ou **WireGuard** plutôt que d'ouvrir ces ports, le chiffrement est intégré et la surface d'attaque minimale.
|
|
- **Auth UI** : compte admin obligatoire (depuis v0.18). Ne pas laisser le mot de passe par défaut.
|
|
- **Fail2ban** : peu pertinent car le port n'est pas HTTP/S classique. S'appuyer sur le rate-limiting Sunshine + firewall.
|
|
- **Mises à jour** : LizardByte publie régulièrement (mensuel), suivre le GitHub Releases.
|
|
- **GPU driver** : Sunshine s'appuie sur NVENC/AMF/QSV, un driver GPU à jour est indispensable pour la sécurité (CVE récentes sur les encodeurs).
|
|
|
|
## Ressources
|
|
|
|
- [Site officiel LizardByte](https://app.lizardbyte.dev/Sunshine/)
|
|
- [Repository GitHub](https://github.com/LizardByte/Sunshine)
|
|
- [Wiki](https://github.com/LizardByte/Sunshine/wiki)
|
|
- [Client Moonlight](https://moonlight-stream.org/)
|
|
- [Discord LizardByte](https://discord.gg/lizardbyte)
|
|
- [Comparatif codecs et latence](https://docs.lizardbyte.dev/projects/sunshine/en/latest/about/performance.html)
|
|
|
|
## Pages Liées
|
|
- [[cat-gaming]] — Catégorie parente
|
|
- [[app-games-on-whales]] — Wrapper Docker de Sunshine
|
|
- [[app-traefik]] — Reverse proxy HTTPS
|
|
- [[app-vpn]] — VPN pour streaming distant sécurisé
|
|
- [[app-steam-headless]] — Steam dans conteneur
|
|
- [[recettes-docker-compose]] — Templates
|
|
- [[securisation-home-lab]] — Exposition Sunshine
|