Yuzu-Emulador de Switch
Este artículo fue actualizado el día 13/09/2024 por katatsumuri. |
Introducción
Yuzu fue un proyecto para desarrollar un emulador libre y de código abierto en C++ de Nintendo Switch. Se anunció que Yuzu estaría en desarrollo el 14 de enero de 2018, pocos meses después del lanzamiento de Nintendo Switch. El emulador fue cerrado por Nintendo pero su código siguió en desarrollo a través de Sudachi y Suyu, dos proyectos en paralelo que agarraron el código fuente del emulador para continuar mejorando el emulador.
El emulador estaba escrito por los desarrolladores del emulador de Nintendo 3DS Citra, también cerrado, con un código significativo compartido entre los proyectos. Originalmente, Yuzu solo admitía programas de prueba y homebrew, pero a partir de julio de 2019, algunos juegos funcionaban sin problemas. El emulador fue cerrado por una demanda de Nintendo el 4 de marzo de 2024.
En octubre de 2018, Kotaku publicó un artículo en el que señalaba que era posible jugar a Super Mario Odyssey. El autor del artículo expresó su preocupación por la capacidad de Yuzu para emular juegos que estaban disponibles comercialmente en ese momento.
PC Gamer notó que el emulador podía ejecutar Pokémon Let's Go, Pikachu! y Let's Go, Eevee! poco después del lanzamiento de los juegos, aunque con problemas de audio.6
En octubre de 2019, Gizmodo publicó un artículo en el que señalaba que Yuzu pudo emular algunos juegos a una velocidad de fotogramas aproximadamente a la par con el hardware real de la consola.
Dos días después del cierre del emulador Yuzu, en Gitlab empezó a circular el desarrollo de un nuevo emulador por parte la comunidad para Switch también de código abierto llamado Suyu, a diferencia de su antecesor este emulador no permite ninguna clase de monetización, ni el acceso a juegos, guías o keys que son propiedad de Nintendo para preservar el proyecto. Suyu está en desarrollo y es utilizable, aunque en un principio no se proporcionaba compilado más tarde si se proporcionó la versión ejecutable, este emulador es una versión modificada de yuzu, por lo tanto en principio debería compartir la compatibilidad con los juegos que tenía este. Tiempo después de haberse eliminado de Github, a la fecha marzo de 2024 su compilado está presente en git.
A su misma vez apareció Sudachi, otra rama del emulador en desarrollo, actualmente Suyu y Sudachi siguen brindando soporte al legado de Yuzu para compatibilizar todos aquellos juegos exclusivos que vayan saliendo nuevos en la plataforma.
Contenido |
Interfaz gráfica de Sudachi, interfaz de usuario.
Requisitos de Hardware y Software
Sudachi es compatible con una amplia variedad de hardware incluyendo hardware antiguo, hablo de que un procesador xeon x5650 (2010) junto a una GTX 970 (2014) 8GB DDR3 movían algunos juegos a 4K con 30fps asegurados e incluso algunos juegos llegaban a los 60fps.
- SISTEMA OPERATIVO: Un sistema operativo de 64 bits ( windows - linux - mac os).
- CPU: Sudachi se ejecuta bajo una amplia variedad de CPUs, muchas con arquitecturas de más de una década, aunque es recomendable que tengan un buen IPC y una frecuencia alta, cuanto más actual sea la arquitectura de la CPU más estable será la emulación.
- RAM: Al menos 8GB de RAM, aunque con 6GB muchos juegos pueden ser funcionales, pero no es lo recomendable.
- GPU: Una tarjeta de video/GPU compatible con OpenGL 4.5 o superior, o Vulkan (Nvidia GPU GeForce GTX 770 / AMD GPU Radeon R9 290 para arriba).
Compatibilidad con juegos y homebrew
Cuando Yuzu estaba activo el sitio web oficial mantenía una lista de juegos que eran compatibles con el emulador, ahora ese rastro se ha perdido para Sudachi. En principio el emulador es capaz de ejecutar todos los juegos exclusivos de la plataforma con un gran rendimiento, incluyendo los nuevos títulos que van saliendo y que se van actualizando desde Sudachi, la nueva rama del emulador.
Lista de todos los juegos exclusivos de Nintendo Switch Esta lista permite echar un vistazo a todos los juegos exclusivos de la consola que simplemente pueden jugarse en Nintendo Switch, aunque hay bastantes más interesantes que no están en esa lista y que vienen de Wii U, o de incluso consolas antiguas de Nintendo, como el port de Zelda: Skyward Sword.
Entre los más conocidos están:
- Super Mario Odyssey
- Super Smash Bros. Ultimate
- Luigi's Mansion 3
- Bowser's Fury
- Animal Crossing: New Horizons
- Metroid Dread
- The Legend of Zelda: Skyward Sword HD
- Super Mario Maker 2
- Xenoblade Chronicles 2 y 3
- Zelda Breath of the Wild
- Bayonetta 3
- Splatoon 2 y 3
- The Legend of Zelda: Link's Awakening REMAKE
- Pokémon Sword and Shield
- Pokémon: Let's Go, Pikachu! and Let's Go, Eevee! REMAKE
- Pokémon Scarlet and Violet
- Pokémon Legends: Arceus
- Kirby and the Forgotten Land
- Astral Chain
Yuzu ejecutando Zelda Tears of the Kingdom a 4K 60 FPS en PC.
ANDROID
Actualmente el port para ARM64 (Linux o android) solo funciona en dispositivos Qualcomm últimos con GPU adreno 650 o superior recomendando algo superior como un qualcomm gen 2 o una placa de desarrollo Nvidia xavier , nvidia orin de 8GB mínimo.
Esto es debido a que el renderizado Vulkan requiere unas extensiones reciente de los últimos años para funcionar a continuación pondre los requisitos críticos sobre vulkan en builds actuales.
Descargas
Para hablar de Yuzu en Android está este otro hilo: https://www.elotrolado.net/hilo_hilo-yuzu-emulador-de-nintendo-switch-en-android_2482401
Instalación del emulador
Al descargar el emulador nos vamos a encontrar un archivo comprimido que tenemos que descomprimir, una vez descomprimido nos aparecerá una carpeta y dentro de esta estará nuestro emulador. Ahora solo tenemos que ejecutar el archivo ejecutable Sudachi.exe para abrir el emulador. Imagen de la interfaz gráfica de Yuzu ya puesto en marcha y funcional para ejecutar juegos
A la vez que ejecutamos ese archivo, si estamos en Windows, automáticamente se generará la raíz de carpetas del sistema del emulador en el siguiente directorio de nuestro sistema operativo Windows: C:\Users\usuario\AppData\Roaming\Sudachi
Tiene la misma estructura de carpetas que la de una Nintendo Switch original. Es ahí donde se guardarán nuestras partidas, donde instalaremos el firmware del sistema, donde pondremos mods de juegos, donde estarán los shaders de los juegos, las partidas guardadas y donde pondremos las prod.keys.
Podemos acceder directamente a esa carpeta desde la interfaz del emulador yendo a la palomita de "File" --> "Open Sudachi Folder".
Instalación del Firmware y prod.keys
Tanto la instalación del firmware como el archivo de las prod keys son necesarios para que Sudachi sea funcional y pueda ejecutar juegos.
1)FIRMWARE: Una vez ejecutado el emulador lo primero que deberemos hacer para poder ejecutar juegos es instalar el firmware oficial del sistema de la consola. Si queremos jugar a los últimos juegos deberemos instalar el firmware más reciente, de hecho deberemos actualizarlo reinstalándolo cada vez que salga un juego nuevo, pues es muy probable que con cada juego nuevo de Nintendo haya una actualización nueva de firmware que nos obligue a estar en la última versión.
Descarga Firmwares Oficiales de Nintendo Switch
Una vez descargado el firmware más reciente del sistema hay que ir a la palomita del emulador donde pone "Tools" --> "Install Firmware" ahora le damos "Install a firmware from XCI or ZIP", seleccionamos el archivo del firmware y esperamos a que se instale.
2)PROD.KEYS: Una vez instalado el firmware deberemos conseguir las prod keys que son las llaves del sistema y de los juegos que verifican que estos son originales, las prod keys son necesarias igual que el firmware para poder ejecutar los juegos, realmente es un archivo llamado prod.keys que deberemos colocar en la carpeta keys de sudachi C:\Users\usuario\AppData\Roaming\sudachi\keys
También las podemos instalar a través de la palomita "Tools" y luego "Install Decrytion Keys", luego seleccionamos el fichero .prod y se instalará automáticamente en la carpeta de keys de sudachi.
Desafortunadamente por motivos de copyright no puedo facilitar ese archivo, así que está en vuestras manos conseguirlo.
Las prod keys también se actualizan a cada juego que sale, por lo que si queréis jugar a un juego nuevo necesitaréis un archivo actualizado de las prod keys que incluya la key de ese nuevo juego que acaba de salir.
El archivo de las prod keys se puede exportar desde vuestra misma Nintendo Switch hackeada, deberéis buscar un tutorial de como hacerlo.
Creo que ya no es necesario un archivo llamado title.keys que contiene las llaves de los juegos, creo que las últimas versiones de los emuladores, tanto de sudachi como de ryujinx, generan esas llaves de forma automática a partir de las prod.keys, por lo que ya no es necesario ese archivo, solo sería necesario el archivo prod.keys
Estos archivos de keys se pueden abrir con un bloc de notas, no son más que id's con números y letras en cadena que representan una llave cifrada que ha sido desencriptada gracias a que Nintendo Switch fue hackeada.
Configuración básica del emulador
Parches - DLC's - Saves
Muchos juegos requieren de parches y también hay la opción de instalar DLC's, para ello solo deberemos clicar en File y luego "install files to NAND", los parches y DLCs se instalarán en la carpeta de sistema del juego, actualmente no hay la opción de que funcionen como addons y que se ejecuten al vuelo como hacen los juegos.
Si clicamos con el botón derecho sobre un juego veremos:
- OPEN OPEN SAVE LOCATION: nos llevará directamente al directorio del juego en cuestión donde se encuentran sus saves, con lo que podremos hacer un backup de ellos o llevarlos a otro sistema como una Nintendo Switch original, Ryujinx o hacer un backup. Cada juego tendrá sus saves en su propia carpeta, y todas estas carpetas estarán dentro del siguiente directorio C:\Users\tuusuario\AppData\Roaming\sudachi\nand\user\save\0000000000000000\863B8AF1FE83817C5FB7C0CE7BD7EFC6 Por lo que si queremos exportar los saves de todos los juegos para hacer un backup simplemente tendremos que hacer una copia de esa carpeta donde se encuentran todos los saves de los juegos.
- PROPERTIES: podremos crear una configuración específica para cada juego en concreto.
MODS para juegos de Nintendo Switch
Hay una amplia variedad de mods dentro de la SCENE de Nintendo Switch de la cual se beneficia tanto la consola como los emuladores, puedes encontrar los mods de los juegos que busques en la web https://gamebanana.com:
Buscador de mods en gamebanana
También hay un hilo en EOL con la recopilación de los mejores mods para Nintendo Switch
https://github.com/yuzu-mirror/yuzu-mod-archive
Para añadir mods solo le daremos click derecho al juego y accederemos a "mod data location", allí colocaremos los mods que queramos instalar.
En properties podemos activar o desactivar mods usando un sistema de casillas, marcamos o desmarcamos si queremos que el juego se inicie o no con ellos.
Multijugador Local
Actualmente Sudachi ofrece soporte multijugador a través de Internet a través de la emulación LDN/Local, puedes configurar dos emuladores en una red local para ejecutar partidas con amigos o familiares que tengan otro PC.
Preguntas Frecuentes
P: ¿Que mandos están soportados? | |
R: Yo he probado con el de XBOX ONE y funciona, así que supongo que no habrá problemas con otros mandos, aunque hay que tener en mente que los mandos de Nintendo Switch (Joy-Cons y mando Pro) tiene gyro y acelerómetro como un mando dualshock 4, y panel táctil en la pantalla, algunos de sus juegos hacen uso de esas funciones para cosas tan básicas como mover la cámara, por lo que es recomendable el uso de un mando original de Nintendo Switch o un mando de playstation para poder jugar a juegos como Splatoon 3. |
P: ¿Tengo que instalar los juegos para jugarlos? | |
R: No hay que instalar los juegos, simplemente seleccionar el directorio donde se encuentran estos desde la configuración del emulador y este reconocerá los juegos, incluso si los juegos están dentro de carpetas. |
P: ¿Dónde están mis partidas guardadas? | |
R: Las partidas guardadas se encuentran en la carpeta del sistema del emulador C:\Users\tuusuario\AppData\Roaming\sudachi\nand\user\save\0000000000000000\863B8AF1FE83817C5FB7C0CE7BD7EFC6 y sirven tanto para yuzu como para la Switch original |
P: ¿Sirven las partidas guardadas de mi Nintendo Switch original en este emulador y viceversa? | |
R: Si, puedes exportar perfectamente los saves de la Nintendo Switch si tienes jailbreak y usarlas en el emulador. |
P: ¿Qué he de hacer para actualizar el emulador? | |
R: Antes el emulador se actualizaba desde el mismo programa pero actualmente debes bajarte cada nueva build de sudachi cada vez que quieras una nueva versión, la carpeta de sistema se mantendrá intacta, solo ejecuta sudachi.exe y todo estará como en la anterior build sin importar el directorio desde donde ejecutes la nueva build" |
P: ¿Qué APIs gráficas soporta? | |
R: Soporta OpenGL y Vulkan, es recomendable usar Vulkan |
P: ¿Puedo renderizar los juegos a resolución 4K? | |
R: Si tu hardware lo permite si puedes, incluso a más resolución. |
P: Un juego no me funciona en Sudachi ¿Qué hago? | |
R: Prueba a ejecutarlo en su emulador hermano Ryujinx u otro sucedáneo de Yuzu Hilo de Ryujinx, hay veces que los juegos van mejor dependiendo del emulador, puede que los fallos que tiene determinado juego en un emulador no los tenga en otro, por ejemplo, en splatoon 2 en yuzu tiene un bug que cuando vas por la tinta estás pegado al suelo como si te hiciesen daño y no puedes saltar, lo que hace al juego nada funcional, jugando con Ryujinx se soluciona. Si los juegos acaban de salir al mercado es normal que al principio la emulación del juego no sea perfecta y existan problemas como mal rendimiento, cuelgues, bugs, etc... |
Enlaces de interés
Actualmente no hay enlaces de interés debido al estado del emulador.
Referencias
Requisitos Drivers Vulkan
Estos requisitos son para cualquier arquitectura (x86-64 o arm64) se esté ejecutando el emulador
A fecha dia 1-6-2023 las extensiones críticas para ejecutar vulkan son . :
VK_EXT_ROBUSTNESS_2
VK_EXT_VERTEX_ATTRIBUTE_DIVISOR
VK_KHR_DRIVER_PROPERTIES
VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE
VK_KHR_SHADER_FLOAT_CONTROL
VK_EXT_subgroup_size_control
VK_KHR_16bit_storage
VK_KHR_8bit_storage
VK_KHR_shader_atomic_int64
VK_KHR_shader_draw_parameters
VK_KHR_shader_float16_int8
VK_EXT_shader_demote_to_helper_invocation
VK_KHR__uniform_buffer_standard_layout
VK_KHR_variable_pointers
VK_EXT_host_query_reset
VK_EXT_sampler_filter_minmax
VK_EXT_SHADER_STENCIL_EXPORT
VK_SHADER_VIEWPORT_INDEX_LAYER
VK_KHR_EXTERNAL_MEMORY_FD
Extensiones que se recomienda tenerlas para un rendimiento óptimo ya sea porque ayudan a la emulación más precisa en los gráficos o porque dan un rendimiento extra haciendo que se gane una mejor experiencia final en la emulación :
VK_EXT_CONSERVATIVE_RASTERIZATION
VK_EXT_DEPTH_RANGE_UNRESTRICTED
VK_EXT_extended_dynamic_state
VK_EXT_extended_dynamic_state2
VK_EXT_extended_dynamic_state3
VK_EXT_line_rasterization
VK_NV_GEOMETRY_SHADER_PASSTHROUGH
VK_NV_VIEWPORT_ARRAY2
VK_NV_VIEWPORT_SWIZZLE
VK_EXT_index_type_uint8
VK_EXT_primitive_topology_list_restart
VK_EXT_provoking_vertex
VK_EXT_vertex_input_dynamic_state
VK_KHR_timeline_semaphore - Esta extensión timeline_semaphore se puede soportar mediante layer por software https://github.com/KhronosGroup/Vulkan-ExtensionLayer instalado en el sistema
En caso de móviles bajo Android es probable que os encontréis que no soporte algunas técnicas como depthClamp , geometry shaders , wideLines , tessellation , dualsource , multiDrawIndirect , 16bit/8bits_storage como no soportadas si el driver es muy antiguo muy común en móviles que la rom se actualiza pero el binario gráfico no y en el peor de los casos es por limitación física en el HW.
En la actualidad se recomienda un Snapdragon gen 2 con drivers actualizado con 8GB mínimo
También puede funcionar si el driver está actualizado en un snapdragon con GPU adreno 650 y superior y si la ram acompaña 6-8GB.
Menos de 8GB puede funcionar pero según que juego puede cerrarse o tener fallas anómalas debido que no todos los juegos exigen la misma ram para funcionar y lo primero que hará el sistema operativo es cerrar la aplicación que más consume en otras palabras no es lo mismo ejecutar mario odyssey que ejecutar un juego indie 2D.
En el fúturo no a corto plazo tienen en mente que se pueda ejecutar en otras gpus y reducir los requisitos para que pueda ejecutarse en GPU mali y otro hw dentro de las posibilidades de cada hw.