25 puntos por GN⁺ 2025-08-28 | 4 comentarios | Compartir por WhatsApp
  • El proyecto Asahi Linux permite ejecutar Linux en Macs con Apple M1 y M2, y ya completó el soporte para la mayor parte del hardware, incluyendo conectividad inalámbrica, audio y aceleración gráfica
  • El proyecto comenzó en diciembre de 2020 por Hector Martin, y Alyssa Rosenzweig se sumó realizando ingeniería inversa del conjunto de instrucciones de shaders de la GPU M1
  • En diciembre de 2022, Asahi Linux implementó la aceleración gráfica combinando un driver OpenGL con un driver del kernel, haciendo posible ejecutar juegos 3D
  • Entre 2023 y 2024, Rosenzweig desarrolló drivers que cumplen con OpenGL 4.6 y Vulkan 1.4, con soporte para ejecutar juegos de Windows mediante Proton
  • Este proyecto de código abierto fue más allá de los drivers no estandarizados de Apple y logró alcanzar estándares de la industria, además de abrir el camino para llevar Vulkan a macOS

Importancia y ventajas de un proyecto de código abierto

  • Asahi Linux es un proyecto de código abierto que permite ejecutar Linux en chips Apple M1 y M2, ofreciendo soporte completo de hardware sin depender de software propietario
  • Mientras que los drivers propietarios de Apple no cumplen con las especificaciones de OpenGL y Vulkan, Asahi Linux apunta al cumplimiento de estándares de la industria, lo que mejora la confiabilidad y la compatibilidad
  • En comparación con otros proyectos de drivers gráficos de código abierto como Panfrost, Asahi Linux avanzó rápidamente mediante ingeniería inversa y se diferenció por optimizar el rendimiento en gaming usando Proton

Inicio del proyecto y trabajo inicial

  • En diciembre de 2020, Hector Martin puso en marcha Asahi Linux e impulsó la ingeniería inversa de la GPU Apple M1
    • Alyssa Rosenzweig se integró mientras trabajaba en Collabora en Panfrost (driver de código abierto para GPUs Arm Mali)
    • Al principio pensaba aportar consejos simples, pero terminó comprando una M1 Mac y comenzó a analizar las instrucciones de shaders
  • A inicios de 2021, Rosenzweig logró renderizar un triángulo en cuestión de semanas, sentando la base de los gráficos 3D
    • Renderizar un triángulo es el punto de partida de todo en gráficos 3D, y luego permite implementar gráficos más complejos
  • Después desarrolló un compilador de shaders y, tras sus exámenes de fin de semestre, implementó el driver OpenGL para demostrar engranes girando

Desarrollo del driver y logros

  • Entre 2021 y 2022, Rosenzweig continuó con la ingeniería inversa y mejoró el driver OpenGL, hasta hacer posible ejecutar juegos 3D
    • Asahi Lina escribió el driver del kernel para la GPU de Apple, que se combinó con el driver OpenGL en espacio de usuario
    • En diciembre de 2022, Asahi Linux ya soportaba aceleración gráfica, completando toda la pila gráfica
  • En 2023, Rosenzweig cursó su último semestre de Ciencias de la Computación en la Universidad de Toronto mientras seguía desarrollando el driver
    • Tras el éxito del proyecto Panfrost, tomó el driver de la GPU M1 como un nuevo reto
    • Objetivo: soporte para OpenGL 4.6, Vulkan y gaming con Proton

Cumplimiento de OpenGL y Vulkan

  • En 2023, implementó OpenGL 3.1 y obtuvo la certificación de conformidad con OpenGL ES 3.1
    • OpenGL ES 3.2 requiere geometry shaders, pero como el hardware de Apple no los soporta, fueron emulados con compute shaders
    • Aprovechó código compartido de los drivers Mesa para acelerar el desarrollo e implementar la emulación de geometry/tessellation
  • En enero de 2024, obtuvo la certificación de conformidad de OpenGL 4.6, superando a los drivers no estandarizados de Apple
  • El desarrollo del driver Vulkan consiguió la certificación de Vulkan 1.3 en apenas unos meses
    • La emulación de geometry/tessellation se integró en Vulkan, habilitando soporte para juegos de Direct3D y Proton
    • El mismo día en que se anunció la especificación Vulkan 1.4, se implementó la certificación de conformidad y se distribuyó de inmediato
  • Karol Herbst obtuvo la certificación de OpenCL 3.0, utilizando el compilador de Rosenzweig y el frontend rusticl
  • Se añadió soporte para texturas dispersas, permitiendo ejecutar juegos avanzados mediante Direct3D 12 y Proton

Resultados e impacto del proyecto

  • Asahi Linux soporta OpenGL 4.6, OpenGL ES 3.2, OpenCL 3.0 y Vulkan 1.4, cumpliendo todos sus objetivos
    • Los drivers quedaron totalmente integrados en Mesa y se completó la optimización de rendimiento
    • Gracias al gaming con Proton, los juegos de Windows pueden ejecutarse fluidamente en Linux aprovechando tecnología del Steam Deck
  • El proyecto desmontó la idea errónea de que Vulkan no era adecuado para hardware de Apple, y llevó Vulkan a macOS mediante el proyecto KosmicKrisp de LunarG
  • Tras el éxito del proyecto, Rosenzweig dejó el ecosistema de Apple, mientras el equipo de Asahi Linux continúa el trabajo
    • Como próximo desafío, planea pasar a la arquitectura Xe HPG de Intel

Conclusión

  • Asahi Linux desarrolló con éxito drivers gráficos de código abierto mediante ingeniería inversa de la GPU Apple M1
  • El cumplimiento de estándares de la industria y el soporte para Proton ampliaron las posibilidades del gaming en Linux sobre hardware de Apple
  • Este proyecto demuestra el poder de la colaboración en la comunidad de código abierto y de las técnicas de ingeniería inversa, además de ofrecer una alternativa frente a los sistemas propietarios

4 comentarios

 
engcreed 2025-08-31

Estoy suscrito a Asahi Lina, así que alguna vez vi en una transmisión cómo hacía ingeniería inversa de la GPU del M1 y desarrollaba el kernel, pero ahora no se ve, quizá porque quedó archivado…

 
reagea0 2025-08-28

Guau.....................................................................................................................................es un monstruo

 
GN⁺ 2025-08-28
Comentarios en Hacker News
  • Este logro es enormemente significativo no solo por su profundidad técnica, sino también por su valor simbólico. El trabajo de Alyssa es realmente inspirador; al llevar gráficos de código abierto a Apple Silicon mediante una profunda comprensión técnica y años de dedicación, les dio un gran impulso a quienes hacen ingeniería inversa y a los desarrolladores de código abierto. Le mostró a una nueva generación que la curiosidad y la perseverancia pueden romper barreras. Ha sido un verdadero placer ver cómo evolucionó todo esto en los últimos años. Mi más profundo respeto para ella y para todas las personas que hicieron posible este proyecto, y también le deseo lo mejor en su nuevo desafío en Intel.

    • De verdad se siente como el fin de una era. Es impresionante pensar que empezó este viaje a los 18 años y lo terminó en solo 5 años. No mucha gente creía que sería posible hacer funcionar la GPU en Asahi Linux. Me pregunto a qué se refiere con ese próximo desafío del enlace “Onto the next challenge!”. Tal vez vaya a trabajar en Intel Xe-HPG.

      • Sí, en su currículum también dice que desde este mes empezó a trabajar en drivers gráficos de código abierto en Intel.

      • Empezar con “dibujar un triángulo” y ahora haber llevado Vulkan upstream en M1 es realmente impresionante. En la práctica, gracias a esto ahora es posible la ruta Venus/virtio en entornos guest de Apple Silicon, y mucha gente necesita justamente esa función.

  • "Formo parte del comité que supervisa los gráficos en Linux, y la mitad somos personas transgénero. Si lo único que te importa es Linux, entonces debes resistir los ataques contra las personas transgénero. Si tienes aunque sea un poco de conciencia, creo que debes luchar contra eso" (enlace al blog)

    • Lo pregunto desde la pura curiosidad, pero da la impresión de que hay proporcionalmente muchísimos programadores transgénero con un talento increíble. La población transgénero representa una fracción muy pequeña del total, así que es realmente raro que la mitad de un grupo lo sea. Además están memes como el de los “programmer socks”, y yo mismo conozco personalmente a varios programadores transgénero muy capaces.

    • No entiendo muy bien cuál es el contexto de este comentario. Aunque sea del mismo autor, no parece tener ninguna relación directa con la GPU del M1.

  • Me impacta mucho cómo la autora implementó rápidamente APIs gráficas modernas en un hardware “imposible” y luego simplemente se fue sin apego alguno. Fue un auténtico mic drop.

    • Pasarse a GPUs de Intel no es irse, sino aceptar un nuevo reto.
    1. Estudiante de la Universidad de Toronto
  1. Rol de liderazgo en Collabora
  2. Un proyecto de hobby ambicioso y sumamente exitoso
    De verdad me pregunto cómo pudo hacer esas tres cosas al mismo tiempo. A mí apenas me cuesta sacar adelante una sola.
  • Creo que simplemente es una de esas pocas personas con capacidades realmente excepcionales. Claro, también ayuda que no desperdicia tiempo en esfuerzos sin sentido mientras trabaja y que además recibe una compensación suficiente, así que se dan las condiciones para este tipo de resultados. Un nivel así de autocontrol y orientación a objetivos es realmente raro. Supongo que quizá casi no tenga familia, vida social ni otros hobbies.

  • Suena como la historia legendaria del ingeniero con productividad de 10x.

  • Me parece un logro realmente genial. Lo que ella consiguió a los 23 años es más de lo que yo he construido en más de diez años trabajando en la industria. De verdad es una ingeniera con muchísimo talento.

    • No sé exactamente quién es, pero siendo totalmente honesto, ya ha logrado más en su vida de lo que yo probablemente podría lograr jamás. Yo también llevo décadas en la industria y no creo estar a ese nivel.
  • Quiero agradecer muchísimo al equipo de Asahi, especialmente por el trabajo en la GPU. Retomar el desarrollo de OpenGL algún día estaba en mi lista de deseos, y desde que empecé a usar fedora-asahi remix como mi máquina diaria siento de verdad que vuelvo a poseer mi computadora como algo mío. Su trabajo me inspira a seguir intentando con mi código de Zig para PinePhone, aunque no tenga la capacidad de llevar una GPU más allá de un framebuffer manipulado a mano. La lista de APIs compatibles en Asahi es realmente abrumadora, y lo que lograron en tan poco tiempo es difícil de creer. Una vez más, gracias, y mucha suerte en Intel.

  • Empezó a trabajar en Intel en agosto, y en solo unos meses ya logró resultados que a la mayoría les tomarían un año. Es impresionante (enlace al currículum).

  • No tengo mucho más que decir, solo quiero felicitarla de verdad con un “¡bien hecho!”, y me da curiosidad ver en qué trabajará después.

  • Alyssa es una persona realmente inspiradora. Me alegra que haya podido trabajar en algo que le parecía interesante.

 
aciddust 2025-08-28

Parece una historia demasiado dramática para pensar que la hizo una sola persona, y es impresionante.
También entré al blog y leí su resume; es un monstruo.
Su vida entera es básicamente un driver gráfico;;