Nintendo Switch: desenvolvedor quer rodar jogos do console nativamente no Linux

O Nintendo Switch, assim como outros dispositivos móveis, usa um processador do tipo Arm, sendo este o Nvidia Tegra X1. Agora, um desenvolvedor começou um projeto para criar um kernel capaz de executar jogos do videogame de forma nativa no Linux para processadores Arm.

O projeto, batizado de Horizon Linux, está sendo realizado pelo desenvolvedor Kent J Hall, que fez uma publicação no Reddit dizendo que tudo começou quando ele queria rodar jogos do Nintendo Switch em seu Macbook, que também conta com um processador com arquitetura arm64.

Imagem: Erik Mclean/Unsplash

Já para tornar este plano possível, ele explica que é necessário adaptar diversas chamadas de sistema do console da Nintendo para recursos do Linux, que envolve gerenciamento de memória, sincronização e outros itens.

Devido a estar usando um kernel Linux, o desenvolvedor ainda explica que existe um amplo suporte de drivers para hardwares diferentes. Assim, além da virtualização ser feita em Macs, outros hardwares mais fracos também seriam capazes de rodar os códigos do Nintendo Switch com mais facilidade, uma vez que a CPU não está sendo emulada.

[–quebra–]

Horizon Linux já roda pequenos jogos do Nintendo Switch

O Horizon Linux ainda é um projeto que está longe de ser finalizado, mas que neste momento já é capaz de rodar alguns homebrews e pequenos jogos. O primeiro título que foi executado no mesmo é o Puyo Puyo Tetris, um jogo com elementos 2D e que, em teoria, não é tão difícil de ser até mesmo emulado.

O jogo foi executado por Kent J Hall no Fedora Rawhide virtualizado em seu Macbook Pro M1 Max, mas que apresentou alguns glitches e bastante lentidão para ser executado. Isso se deve ao fato do OpenGL 4.6 não estar disponível para o MacOS, o que fez com que o jogo não rodasse a partir da GPU diretamente, mas via software, o que deixa tudo mais lento.

O desenvolvedor explica que já encomendou até mesmo um kit de desenvolvimento Jetson Nano, que possui o suporte ao OpenGL 4.6 para seguir com o projeto com o devido suporte a aceleração por GPU. O projeto Horizon OS tem o seu código-fonte disponível no GitHub.