{"id":321535,"date":"2022-11-29T19:05:20","date_gmt":"2022-11-29T19:05:20","guid":{"rendered":"https:\/\/magazineoffice.com\/linux-en-apple-silicon-macs-ahora-es-lo-suficientemente-bueno-para-jugar\/"},"modified":"2022-11-29T19:05:22","modified_gmt":"2022-11-29T19:05:22","slug":"linux-en-apple-silicon-macs-ahora-es-lo-suficientemente-bueno-para-jugar","status":"publish","type":"post","link":"https:\/\/magazineoffice.com\/linux-en-apple-silicon-macs-ahora-es-lo-suficientemente-bueno-para-jugar\/","title":{"rendered":"Linux en Apple Silicon Macs ahora es lo suficientemente bueno para jugar"},"content":{"rendered":"


\n<\/p>\n

\n
Justin Duino \/ Geek de instrucciones<\/span><\/figcaption><\/figure>\n

Aunque los chips M1 y M2 de las Mac modernas se basan en dise\u00f1os de procesadores ARM, no son como ning\u00fan otro dise\u00f1o ARM. Eso ha hecho que la migraci\u00f3n de Linux a las nuevas Mac sea un desaf\u00edo dif\u00edcil, pero recientemente ha habido un progreso impresionante.<\/p>\n

Gran parte del trabajo relacionado con la migraci\u00f3n de Linux de escritorio a computadoras Mac Apple Silicon (M1 y M2) se ha realizado bajo el proyecto Asahi Linux, que ya ofrece una distribuci\u00f3n de escritorio que puede iniciarse de forma nativa en muchos modelos. Aunque Linux ha sido compatible con chips ARM durante a\u00f1os, en gran parte debido al uso de Linux por parte de Google para el kernel de Android y dispositivos como Raspberry Pi, hacer que todo funcione en Apple Silicon ha sido un desaf\u00edo.<\/p>\n

El sistema operativo central y la experiencia de escritorio han estado funcionando en Asahi Linux desde hace un tiempo, por lo que algunos desarrolladores se han trasladado al soporte de gr\u00e1ficos adecuado. Alyssa Rosenzweig ayud\u00f3 a aplicar ingenier\u00eda inversa a la GPU en el chip M1 para crear un controlador de espacio de usuario, basado en el trabajo de documentaci\u00f3n de Dougall Johnson. Sin embargo, todav\u00eda faltaba un controlador a nivel de kernel, una tarea asumida por VTuber Asahi Linya.<\/p>\n

Asahi Lina explic\u00f3 en una publicaci\u00f3n de blog, \u201cal igual que otras partes del chip M1, la GPU tiene un coprocesador llamado \u201cASC\u201d que ejecuta el firmware de Apple y administra la GPU. Este coprocesador es una CPU ARM64 completa que ejecuta un sistema operativo en tiempo real propiedad de Apple llamado RTKit… \u00a1y est\u00e1 a cargo de todo! Maneja la administraci\u00f3n de energ\u00eda, la programaci\u00f3n y preferencia de comandos, la recuperaci\u00f3n de fallas e incluso contadores de rendimiento, estad\u00edsticas y cosas como la medici\u00f3n de temperatura. De hecho, el controlador del kernel de macOS no se comunica en absoluto con el hardware de la GPU\u201d.<\/p>\n

\"imagen
El juego Xonotic ejecut\u00e1ndose en Linux, en la parte superior de una Mac M2 asahi linux<\/span><\/figcaption><\/figure>\n

A trav\u00e9s de muchas pruebas y errores, Asahi Lina desarroll\u00f3 un controlador de GPU M1 para el kernel de Linux, escrito en el lenguaje de programaci\u00f3n Rust. El mes pasado, se volvi\u00f3 lo suficientemente estable como para ejecutar el entorno de escritorio GNOME en el compositor de Wayland, y el trabajo en curso en el kernel y los controladores de usuario permite que funcionen algunos juegos, incluido el tirador cl\u00e1sico. Terremoto<\/em>. La publicaci\u00f3n del blog menciona, \u201cdado que la administraci\u00f3n de energ\u00eda de la GPU es manejada por el firmware, todo eso simplemente funciona. \u00a1Prob\u00e9 Xonotic a 1080p dentro de una sesi\u00f3n de GNOME, y el tiempo de ejecuci\u00f3n estimado de la bater\u00eda fue de m\u00e1s de 8 horas!<\/p>\n

Todav\u00eda pasar\u00e1n algunas semanas (o meses) antes de que cualquiera que pruebe Linux en una Mac M1 o M2 pueda acceder f\u00e1cilmente a los nuevos controladores de GPU, pero el trabajo est\u00e1 progresando a un ritmo impresionante, especialmente considerando que Apple no ha documentado la mayor parte de su CPU. y la arquitectura GPU en absoluto.<\/p>\n

Fuente: Asahi Linux<\/small><\/p>\n<\/div>\n