Asahi Linux presume la ejecución de juegos AAA de Windows
Tal parece que todas las maravillas que pintaban sobre el proyecto de «Asahi Linux» no serán simples palabras, ya que los desarrolladores de la distribucion han estado trabajando arduamente desde el anuncio del proyecto para llevar a esta distribución de Linux a otro nivel.
Asahi Linux tiene poco más de tres años de desarrollo y en tan poco tiempo se ha logrado diferenciar de otras distribuciones, no solo por su característica de ejecutarse en equipos con el chip Apple M1, ProM1, MaxM2, M2, ProM2, Max y M2 ultra, sino también por lograr grandes avances en el apartado de gráficos en Linux.
Y es que hace poco el equipo de desarrollo de Asahi Linux, ha presentado un conjunto de herramientas que permite ejecutar juegos AAA en equipos con el chip Apple M1 y se menciona que uno de los desafíos técnicos principales era la diferencia en el tamaño de las páginas de memoria, ya que los programas compilados para la arquitectura x86 están diseñados para usar páginas de 4K, mientras que los sistemas Apple emplean páginas de 16K.
Para resolver esta discrepancia, se implementó un segundo kernel de Linux en un entorno virtual, ensamblado específicamente para manejar diferentes tamaños de páginas de memoria. Esto se logra gracias a las herramientas muvm que permiten ejecutar juegos en máquinas virtuales independientes, cada una con su propio kernel.
Hay un problema: el tamaño de la página. Los sistemas operativos asignan memoria en “páginas” de tamaño fijo. Si una aplicación espera páginas más pequeñas que las que utiliza el sistema, dejarán de funcionar debido a una alineación insuficiente de las asignaciones. Eso es un problema: x86 espera páginas de 4K, pero los sistemas Apple usan páginas de 16K.
Si bien Linux no puede mezclar tamaños de página entre procesos, puede virtualizar otro kernel Arm Linux con un tamaño de página diferente. Por lo tanto, ejecutamos juegos dentro de una pequeña máquina virtual usando muvm , pasando por dispositivos como la GPU y los controladores de juegos. El hardware está feliz porque el sistema es de 16K, el juego está feliz porque la máquina virtual es de 4K y tú estás feliz porque puedes jugar Fallout 4 .
Las herramientas están diseñadas para soportar juegos AAA disponibles en Steam, originalmente compilados para la arquitectura x86_64. El kit de herramientas combina controladores desarrollados por Asahi Linux, que implementan las API Vulkan 1.3 y OpenCL 3.0, junto con componentes que emulan la arquitectura x86_64 y proporcionan compatibilidad con juegos de Windows.
En cuanto a los juegos más exigentes gráficamente, como The Witcher 3 y Ghostrunner, que dependen del uso de sombreadores de teselación y geometría, se recurre a la emulación de sombreadores computacionales para que funcionen correctamente.
Sin embargo, algunas características clave aún están en proceso de desarrollo. Por ejemplo, el controlador Honeykrisp ya soporta texturas dispersas, una función esencial para juegos que utilizan DX12, como Cyberpunk 2077, pero se están afinando detalles para mejorar su rendimiento. Además, se está trabajando en optimizaciones para garantizar que los juegos alcancen una fluidez de 60 FPS en estos entornos emulados.
Cabe mencionar que los paquetes necesarios para habilitar esta funcionalidad ya están disponibles en el repositorio estándar de la distribución Fedora Asahi Remix. Para ejecutar juegos, los usuarios solo necesitan actualizar los controladores utilizando el comando:
sudo dnf update --refresh
Después de ello pueden instalar Steam con
sudo dnf install steam
Y automáticamente instalará todas las dependencias requeridas.
Por último, también vale la pena mencionar que se incluye el controlador Vulkan Honeykrisp, el emulador FEX (que permite ejecutar aplicaciones x86 en sistemas ARM), el proyecto Wine y las capas DXVK y vkd3d-proton, que implementan la API DirectX sobre Vulkan.
Los desarrolladores mencionan que debido a la sobrecarga que introduce el proceso de emulación, se recomienda que los sistemas cuenten con al menos 16 GB de RAM y que también ya trabajan en emulación x86 de propósito general.
Finalmente, si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.