##ctrlhtmlheadnotanoticia##
##ctrlheader##

Monitor Consolas y Videojuegos


Horizon Linux

Horizon Linux
Han parcheado el kernel de Linux ARM64 para ejecutar juegos de Switch

Publicación:18-08-2022
++--

Los juegos de Nintendo Switch en tu Macbook y PC con ARM.

La Nintendo Switch ha sido todo un éxito en ventas y ha gozado de una gran popularidad desde su lanzamiento en 2017. Sin embargo, su hardware, basado en una CPU Tegra X1, se ha quedado bastante desfasado con el tiempo. Ahora es posible ejecutar juegos de Nintendo Switch de forma nativa con Linux ARM64 bajo el proyecto Horizon Linux.

La consola portátil de Nintendo sorprende en cuanto a catálogo de videojuegos disponible y la calidad de estos. No solo esto, pues algunos de estos títulos tienen un apartado gráfico bastante bueno teniendo en cuenta las limitaciones de la consola. Es por ello, que la emulación de la Nintendo Switch empezó fuerte hace años y sigue siendo muy puntera. De hecho, puedes jugar a juegos nuevos en el mercado mejor que en la consola tras pasar unos días de optimizaciones. Pero ahora no hablamos de emulación, sino el poder ejecutar de forma nativa juegos de Nintendo Switch en Linux con hardware ARM64.

Han parcheado el kernel de Linux ARM64 para ejecutar juegos de Switch

Un usuario de Reddit, bajo el nombre de Kent J Hall, ha logrado parchear el kernel de Linux ARM64 queriendo unir este sistema operativo y el de Nintendo Switch en uno. De hecho, el nombre que decidió para su proyecto fue Horizon Linux, en honor al sistema operativo Horizon de Nintendo. Eso sí, asegura que este no tiene como objetivo correr dicho S.O, ni se puede ejecutar bajo hardware de Switch. Su principal uso es el anunciado, jugar a juegos de Switch en cualquier hardware ARM64 que soporte Linux. Eso sí, su camino no fue fácil, pues tuvo que buscar como conseguir ampliar el enfoque de su proyecto, logrando el mayor soporte posible.

##ctrlnotapublicidadparrafo##

Por ello, decidió escoger parchear el kernel de Linux ARM64, ya que ofrecía sus controladores de hardware de forma gratuita. Esto ha permitido que se pueda ejecutar de manera nativa (bare-metal) los juegos de Switch, incluso en hardware de gama baja, pues no es necesario emular la CPU. Adicionalmente, siempre podemos virtualizar Linux en sistemas operativos como Mac con chips Apple M1/M2 con arquitectura ARM para ejecutar juegos de Nintendo Switch.

Horizon Linux ha usado el emulador Yuzu como referencia

Según ha comentado Hall, el desarrollo de este proyecto denominado Horizon Linux ha sido posible en gran medida gracias al popular emulador de Switch, Yuzu. Este es de código abierto, permitiendo así poder usarlo en su mayoría para lograr ejecutar juegos de Nintendo Switch en Linux ARM64. De hecho, asegura que solo tuvo que eliminar las partes innecesarias del código, como la emulación de CPU y conservar la emulación de GPU que emplea en este. Adicionalmente, afirma que estuvo mucho tiempo haciendo que cada servicio del sistema se ejecutará de forma persistente en cada hilo.

Además, según Hall, el proyecto Horizon Linux para sistemas ARM64 está lejos de estar completo y podemos acceder a este en su GitHub. Aun así, ya dispone de algunas pruebas con juegos de Nintendo Switch, como Puyo Puyo Tetris, el cual ha sido primer título comercial jugable en Horizon Linux. Este ha sido ejecutado tanto en un MacBook Pro M1 Max como en una NVIDIA Jetson Nano con un Tegra X1 como el de la Switch. A pesar de esto, el dispositivo de NVIDIA debe pasar por la capa de emulación de GPU a pesar de usar el mismo hardware.

Faltaría probar dispositivos mucho más baratos y accesibles como las Raspberry Pi, que utilizan CPU ARM64. Aunque por muy optimizado que esté, es muy difícil que el hardware que tienen sea capaz de jugar a estos juegos. No obstante, en Android ya es posible emular Nintendo Switch, gracias al emulador Skyline desde hace bastantes meses. Uno de los desarrolladores de este emulador ya pidió colaborar con el autor de Horizon Linux, así que quizá veremos un avance en Android y ARM al respecto.



« Especial »
##ctrlfooter## ##ctrlhtmlbodyendnotanoticia##