El título es raro de cojones, lo sé.
La idea es que desde una Raspberry Pi podamos jugar a juegos que realmente corren en nuestro PC con gráfica Nvidia.
Por ejemplo podremos conectar la Raspberry Pi a la tele del comedor y disfrutar del catálogo de Steam en el sofá con el rendimiento del PC.
El caso es que funciona, y muy bien además, latencia inapreciable a 1080px60fps, con muchas opciones, soporte de periféricos y mucho más, y hay una cantidad muy decente de juegos compatibles.
SteamOS (Software) + Steam Box (Hardware) = Steam Machine
Primero los conceptos:
- ¿Qué es una Steam Box?
SteamBox es un concepto creado por Valve que consiste en un hardware para hacer funcionar SteamOS, el sistema operativo de Steam como si de una consola se tratase, esta conjunción tiene por nombre «Steam Machine» hoy en día existen muchas Steam Machines de diferentes fabricantes en el mercado, pero no bajan de los 500 dolares, ¡llevan un tarjetón ahí dentro!.
En nuestro caso no será realmente una SteamBox porque no ejecutaremos SteamOS en la Raspberry Pi sino que haremos streaming de un Steam que corre en un PC, la diferencia radica en el precio y en que necesitamos el PC con una tarjeta gráfica Nvidia compatible con GameStream accesible. - ¿Qué es una Raspberry Pi?
El famoso Raspberry Pi fue diseñado con fines educati… bla bla bla… es el mejor y más barato juguete que he podido trastear últimamente. Si aún no lo conoces, échale un ojo al artículo de la Wikipedia antes de continuar: http://es.wikipedia.org/wiki/Raspberry_Pi
Y ahora es su versión 2 Nueva Raspberry Pi 2 con más de todo.
- ¿Qué es GameStream de Nvidia?
La tecnología GameStream traslada los juegos de PC a tu dispositivo SHIELD (compatible con GameStream) con mínima latencia. GameStream aprovecha toda la potencia de las tarjetas gráficas GeForce GTX para transmitir en streaming, a través de tu red Wi-Fi, los juegos del PC al dispositivo SHIELD y permitirte disfrutar de ellos en cualquier lugar. - ¿Qué es moonlight?
Es la implementación Open Source del GameStream para los dispositivos SHIELD.
La gente de Nvidia sacó moonlight (antes limeLight) para que los fabricantes pudiesen compatibilizar su hardware con GameStream, más info en: http://moonlight-stream.com/
Partimos de la base de que dispones de una Raspberry Pi (yo lo he probado con la 2, la 1 la tengo ocupada) y que Raspbian está instalado y funcionando en red local con SSH activado. De forma que mediante, por ejemplu Putty, podemos conectarnos mediante SSH a nuestra RPi.
Miniguia de instalación de Raspbian: 1- Descarga Raspbian verión NOOBS. 2.- Descomprime. 3.- Copia Pega en una SD. 4.- Enciende la RPi con esa SD y sigue las instrucciones.
En cuanto al PC, GameStream es de Nvidia y solo es compatible con las GTX serie 6 o superior, puedes comprobar si tu tarjeta es compatible con GameStream en la imagen de arriba.
Necesitas instalar, si no lo tienes ya, NVIDIA GeForce Experience (GFE), que no es el driver.
Iniciamos GFE y vamos a la pestaña SHIELD, allí iniciamos sesión con una cuenta de nvidia.
Podemos comprobar el estado del servicio en la pestaña «Mi Equipo»:
Si no teníamos activado GameStream es muy recomendable reiniciar el PC después de activarlo, en mi caso no funcionó hasta reiniciarlo, aún estando todo en verde.
Iniciamos Steam y lo tenemos todo listo en el PC.
En cuanto a la Raspberry Pi, una vez conectados por SSH añadiremos una nueva fuente de repositorios, lanzando el siguiente comando abrimos el fichero /etc/apt/sources.list.
Tenemos que añadir la siguiente linea al fichero:
Para salir de nano pulsa Ctrl + X y luego confirma con Y.
Actualizamos nuestro apt-get:
Y instalamos moonlight:
Ahora emparejamos moonlight en la Raspberry con la tarjeta gráfica del PC:
Donde X.X.X.X es la dirección IP del PC, no de la RPi.
En el momento de lanzar el comando, en el PC, GFE mostrará una nueva ventana solicitando un código PIN, el código de debes introducir aparece en el terminal SSH en donde hemos lanzado el comando.
Una vez introducido el PIN correcto, tendremos emparejados los dos dispositivos y listos para la fiesta.
Para iniciar el stream tenemos que lanzar un comando SSH en el terminal de la RPi:
Donde X.X.X.X es la dirección IP del PC, no de la RPi.
Aquí un listado de las opciones disponibles:
-1080 Usar la resolución 1920x1080px
-width Resolución horizontal (por defecto 1200px)
-height Resolución vertical (por defecto 720px)
-30fps Usar 30fps
-60fps Usar 60fps [por defecto]
-bitrate Especifica el bitrate en Kbps
-packetsize Especifica el tamaño máximo de los paquetes en bytes.
-app Nombre de la aplicación para hacer stream
-nosops No permitir que GFE modifique los ajustes del juego
-input Usar como input. Puede usarse múltiples veces.
-mapping Usar como mapa de configuración de gamepad (previo uso de -input)
-audio Usar ALSA como salida de audio
-localaudio Reproducir el audio en local
Ahora para iniciar Steam únicamente, utilizaremos:
Donde X.X.X.X es la dirección IP del PC, no de la RPi.
Con esto ya deberías ver Steam allí donde hayas conectado la RPi.