===== Sunshine =====
Sunshine es un **servidor de streaming de juegos y escritorio de código abierto**. Permite transmitir en **tiempo real** juegos y aplicaciones desde un PC a otros dispositivos de la red, como smartphones, tablets, otros PCs o Smart TVs.
Sunshine se combina habitualmente con el cliente **[[moonlight|Moonlight]]**, que recibe el stream y envía la entrada de usuario (teclado, ratón, //gamepad//) de vuelta al servidor.
* [[https://github.com/LizardByte/Sunshine|Repositorio de código]]
* [[https://app.lizardbyte.dev/Sunshine/?lng=en|Sitio web]]
===== Características principales =====
* **Open Source y gratuito**: Licencia MIT/GPL, código disponible en GitHub.
* **Compatibilidad multiplataforma**: Linux (principal), Windows y macOS (limitado).
* **Compatibilidad con GPUs**: NVIDIA y AMD, usando codificación por hardware (H.264/HEVC).
* **Baja latencia**: Optimizado para streaming en LAN con mínima demora en controles.
* **Soporte de múltiples juegos y aplicaciones**: Se pueden añadir ejecutables de juegos, emuladores o aplicaciones de escritorio.
* **Soporte para Wayland y X11** en Linux.
* **Configuración de red flexible**: Ajuste de resolución, FPS, bitrate y codec.
* **Seguridad y emparejamiento**: PIN de conexión para autenticar clientes.
* **Integración con Moonlight**: Cliente compatible en Android, iOS, Windows, Linux, macOS y Raspberry Pi.
===== Casos de uso =====
* **Gaming en dispositivos móviles**: Jugar a juegos de PC desde un smartphone o tablet Android/iOS mediante Moonlight.
* **Streaming de escritorio completo**: Usar aplicaciones de Linux o Windows desde otro dispositivo dentro de la red LAN.
* **Home cloud gaming**: Transformar un PC potente en un servidor de juegos para toda la familia o compañeros de cuarto.
* **Pruebas y desarrollo de aplicaciones**: Ejecutar software gráfico desde un entorno centralizado y controlarlo remotamente.
* **Experiencias multiusuario** (combinado con proyectos como Games on Whales): Varios usuarios acceden a sesiones de juegos independientes desde un mismo servidor.
===== Sunshine + Moonlight =====
Diagrama de conexión y flujo entre Sunshine (servidor) y Moonlight (cliente) desde un PC hacia un terminal Android:
+----------------------+ +----------------------+
| | | |
| PC con Arch Linux | | Android (15) |
| + Sunshine | | + Moonlight |
| - Juegos instalados| | |
| - GPU/CPU codifica | | |
| | | |
+----------+-----------+ +-----------+----------+
| ^
| Video / Audio Stream (H.264 / HEVC) |
v |
+---------------------------------------------------------------+
| Red LAN |
| - Ethernet o Wi-Fi 5GHz |
| - Baja latencia |
+---------------------------------------------------------------+
^ |
| Controles / Entrada (teclado, ratón, gamepad) |
| v
+----------------------+ +----------------------+
| | | |
| PC con Arch Linux | | Android (15) |
| + Sunshine | | + Moonlight |
| | | |
+----------------------+ +----------------------+
===== Instalación =====
==== Arch Linux ====
Instalo desde AUR el paquete ''sunshine-bin'', pero al arrancarlo obtengo el siguiente error:
sunshine: error while loading shared libraries: libicuuc.so.76: cannot open shared object file: No such file or directory
Instalo entonces, también desde AUR, el paquete ''icu76''. Ahora ya funciona.
===== Uso =====
Una vez iniciado Sunshine, abrimos el navegador y nos dirigimos a ''%%https://localhost:47990/%%''
Lo primero es establecer una contraseña para acceder a la interfaz de administración de Sunshine.
Después de identificarnos, podemos ...
===== Recursos =====
* [[moonlight|Moonlight]]: cliente open source de Sunshine.