[Tutorial] Moonlight en la tv sin bandas negras. Como poner el formato 16:9

Se me ha ocurrido que con deck se puede retransmitir contenido a la TV sin cables. Pero forzando 16/9 de relación de aspecto para evitar bandas negras laterales o el famoso cuadro negro cuando los juegos sólo permitan resoluciones 16/9. Además, de poder reaprovechar el mando de deck que es muy bueno y necesitar un mando menos en caso de que quisiera jugar en pantalla partida.
Imagen

Para poder hacerlo necesitamos 3 cosas:
- Instalar sunshine en deck
- Instalar moonlight en la TV o donde deseemos. En mi caso también lo quiero instalar en el móvil para cuando salga fuera de casa.
- Hacer unos pasos en deck cada vez. Esto sé que se puede solucionar pero aún no sé cómo.

Instalar sunshine en deck y moonlight en la TV


Sunshine es el progama que va a trasmitir la imagen. Para instalarlo es tan sencillo cómo ir a discover y buscarlo. Si no sabes cómo hacerlo, éstos pasos sólo hay que hacerlos la primera vez:
-1- Cambiar al modo escritorio
-2- Abrir discover
-3- Buscar el programa Sunshine y darle al botón Install
Imagen
-4- Abrir el sunshine dándole a run o buscándolo en la lista de aplicaciones
-5- Se abrirá el navegador dando un aviso de que corremos riesgo si continuamos. Le damos al botón avanzados y aceptamos el riesgo. Dejamos la página abierta que luego la vamos a necesitar
Imagen
-6- Ahora nos pedirá que pongamos un usuario y una contraseña (confirmándola). Recomiendo poner algo simple ya que no sé por qué, en deck no se guarda el usuario/contraseña. En PC si, si alguien sabe como hacerlo que me lo confirme ya que me resulta raro.
-7- Instalar moonlight en el aparato que queramos jugar. Evidentemente, tiene que ser una smartTV, android o aparato que tenga en la tienda la aplicación moonlight.
-8- Al abrir moonlight, tenemos que darle a botón +.
-9- Nos pedirá la ip del ordenador. Nos vamos a deck, pinchamos abajo a la izquierda en el icono del Wifi y le damos a details. Escribimos el número que viene en Ipv4.
-10- Ahora, en moonlight, nos sale un "nuevo ordenador" llamado Steam deck con el símbolo de un candado. Lo abrimos y nos dirá que pongamos un pin XXXX en el ordenador. Nos vamos a deck a la web que teníamos abierta del paso 5 y arriba nos sale una pestaña que pone PIN. Pinchamos y ponemos el pin que nos sale en la pantalla de moonlight.
Imagen
Hasta ahora hemos hecho los pasos en común para jugar con moonlight, que es una alternativa mejor que steam link.
Moonlight junto con sunshine tienen la ventaja con respecto a SteamLink que se ven y funcionan mejor. Tienen menos lag y menos fallos en la retransmisión. Lamentablemente sólo funcionan en modo escritorio ya que si intentamos usarlo en modo juego obtendremos una pantalla en negro, aunque el sonido si funciona.

Por lo tanto, lo único que tendremos que hacer para hacerlo funcionar es ir al modo escritorio y abrir sunshine. Pero tendremos barras negras en los laterales y la imagen el el centro, como la imagen del principio. A continuación digo cómo solucionarlo.

Crear atajos para cambiar la resolución cómodamente

Para continuar,vamos a crear dos archivos que cambien la configuración automaticamente. Los archivos son estos dos:
- Para poner la resolución 720p:
#!/bin/bash

# Guardar la resolución actual y la rotación actual
current_resolution=$(xrandr | grep -Eo '[0-9]+x[0-9]+')
current_rotation=$(xrandr --verbose | grep "connected primary" | awk '{print $5}')

# Agregar la resolución 1280x720 a 60Hz
xrandr --newmode "1280x720_60.00" 74.50 1280 1344 1472 1664 720 723 728 748 -hsync +vsync
xrandr --addmode eDP 1280x720_60.00

# Cambiar a la nueva resolución
xrandr --output eDP --mode 1280x720_60.00

# Poner la rotación normal (0 grados)
xrandr --output eDP --rotate normal

# Restaurar la resolución y la rotación original después de 10 segundos
sleep 10
xrandr --output eDP --mode "$current_resolution"
xrandr --output eDP --rotate "$current_rotation"


- Para volver a la resolución original de la deck:
#!/bin/bash

# Restablecer la resolución y frecuencia de actualización originales
xrandr --output eDP --mode 800x1280 --rate 60.00

# Rotar la pantalla a la izquierda (right)
xrandr --output eDP --rotate right

# Notificar que la configuración ha sido restablecida
echo "La resolución y frecuencia de actualización han sido restablecidas a 800x1280 @ 60.00Hz, con rotación a la izquierda"


-1-Creamos un archivo de texto para cada uno. Copiamos el interior. Cada uno de ellos a un archivo de texto diferente.
-2- Les cambiamos el nombre newtexfile.txt a 720p.sh y original.sh Respectivamente. Vamos a Propeties>permissions y marcamos "is executable"
Imagen

Pasos a seguir cada vez que queramos jugar en moonlight con 16:9

-1- Ejecutamos sunshine en deck
-2- Ejecutamos moonlight en la TV y nos conectamos
-3- Ahora tenemos en la TV el escritorio de la deck con dos barras negras en los laterales. Ejecutamos 720p.sh
-4- LISTO, a jugar! Pero antes de terminar, ejecuta original.sh. Esto devolverá la deck a su estado original. Si no lo haces, por distintos motivos como que se te ha olvidado o alguna otra razón continua en la siguiente sección.


Cómo volver a la versión original sin la pantalla de la TV


Si por alguna razón te has quedado sin pantalla externa, la pantalla de la deck se ve "gris". Pues para volver a dejarla original, lo unico que tienes que hacer es:
-1- Pulsar el boton de Encendido/Apagado de la deck durante 10 segundos seguidos. Hasta que el led blanco se encienda (durante medio segundo aprox) y se apague. Esto hará que la deck se apague.
-2- Volver a pulsar el botón de encendido. Nos llevará al modo juego.
-3- Ir al modo escritorio.
-4- En el modo escritorio nos encontraremos la pantalla rotada. Tenemos 2 opciones:
+A) Podemos ejecutar el archivo original.sh
+B) Darle al botón de configuración>Display and Monitor. Aqui, seleccionar la rotación de la derecha, darle a apply y keep changes.
Imagen


Resolucón de problemas


- Resolver tirones. Notaba tirones en cualquier dispositivo android, y es que viene marcado por defecto la opción "equilibrado" en "Ritmo de cuadros por segundo en vídeo". He marcado "Preferir mayor fluidez de vídeo (puede incrementar significamente la latencia)". No he notado incremento de latencia en mi red WiFi a 5ghz.

- Calidad de imagen borrosa o de baja calidad. Lo he arreglado cambiando la configuración en sunshine a calidad en vez de en rendimiento. No le encuentro la lógica a esto pero me ha fucionado. En sunshine: Configuration> NVIDIA NVENC Encoder . No he notado pérdida de fotogramas ni nada. Se ve perfecto. Es posible que en juegos mucho más exigentes haya que cambiar a rendimiento.
Imagen


Ventajas/Desventajas con respecto a usar un dock


Pues en realidad son casi todo desventajas. De hecho, las únicas ventajas que tiene es que podremos aprovechar la deck para jugar y no depender de un cable/dock si quisiéramos jugar con la deck. Yo he utilizado un cable HDMI largo con el adaptador y he "atrapado" el cable al soporte para que no se moviera. Pero, cualquier pequeño movimiento puede hacer que se desconecte de la tv momentaneamente. A parte de de trasmitir la sensación de que se va a romper el cable, el soporte o lo que es peor, el USB-C de la deck.

Otra desventaja de utilizar éste método con respecto a un dock es que si se desconecta de la tv, nos quedamos sin ver nada en la deck y tocará reiniciar para volver a usar la pantalla o conectar de nuevo a la TV.

Sin embargo, esto lo hago para poder llevar de vacaciones un mando menos en la mochila. Conectar el teléfono en modo escritorio a la deck (con zona wifi si hace falta) y jugar en cualquier lugar en la TV, y sobre todo poder jugar en modo pantalla dividida ahorrándome llevar un mando extra. Lamentablemente, me ha decepcionado que muchos juegos que van bien en modo un jugador, en pantalla dividida se vuelven injugables debido a la baja tasa de fotogramas. Igual capando a 30 fps se arreglaría pero tengo que probarlo. Total, es una TV y los que juegan conmigo no se van a enterar de que están jugando a tan pocos fps jejeje

En desarrollo...
Fotos subidas, scripts agregados, me falta:
- Tengo que averiguar cómo automatizar el proceso. Supongo que al ser un ordenador se puede hacer, pero no tengo ni idea de linux, comandos ni nada, todo lo busco por ahí. Algún archivo que cambie la resolución y el modo pantalla. Y que sunshine lo ejecute según nos conectamos con moonlight

TUTO antiguo, mas engorroso.

Pasos a seguir cada vez que queramos usar el formato 16:9


Sé que se pueden crear atajos, pero de momento no sé cómo se hace y el método que tengo es éste, en cuanto sepa edito y aviso
-1- Abrir sunshine y conectar moodeck (si no lo habías hecho ya).
-2- Abrir Konsole, pegar los siguientes comandos y darle a Intro. Pegar uno, darle a intro, pegar el otro y darle a intro. Yo me los he copiado en un .txt de momento. Dejo el de la resolución 720p ya que a 1080 va bastante peor. Pero, si queréis os dejo los comandos para ponerlo a 1080. Aunque en cualquier caso se pueden poner los 4 comandos en konsole y que los proveis vosotros mismos para ver si os gusta u os van bien.
720p
xrandr --newmode "1280x720_60.00"   74.50  1280 1344 1472 1664  720 723 728 748 -hsync +vsync

xrandr --addmode eDP "1280x720_60.00"


1080p
xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync

xrandr --addmode eDP "1280x720_60.00"

Debería quedar asi:
Imagen
-4- Abrir settings e ir a Display and Monitor. Seleccionar nuestra nueva resolución y poner la rotacion horizontal. Al darle a aplicar se dejará de ver la pantalla en deck pero seguiremos viendo en la tv.
Imagen
-5- En la tv, nos habrá salido una ventana y tendremos que pulsar sobre el botón "keep changes". Si le damos a cancelar o tardamos más de 15 segundos en darle, volverá a la configuración de pantalla anterior.
-6- A partir de aquí, ya se puede jugar. Yo abro big picture para que sea más cómodo todo.
¡ATENCIÓN!
Es importante volver a seleccionar la resolución 1280x800 y la pantalla vertical invertida para tener la deck cómo la teníamos antes. Si por lo que sea no hemos podido hacerlo habrá que reiniciar (manteniendo pulsado el botón de apagado). Cuando hayamos reiniciado, es posible que los colores se vean raros. Hay que ir al modo escritorio y poner la rotacion de la pantalla en vertical invertida (se hace facil con la pantalla táctil)
Muy completo, sería bueno ejemplos visuales y en el título el lema de [Tutorial]
No consigo averiguar cómo automatizar el proceso en están deck. En PC es muy fácil con el programa QRes.exe, alguno sabe alternativa y dónde encontrar info?

De PC a Steam deck da gusto que se hace todo automáticamente. Aquí no he conseguido que ejecute los scripts el entrar/salir en Moonlight
2 respuestas