Desde Linux Darkcrizt  

Asahi Linux ya cuenta con compatibilidad para OpenGL 3.1

Asahi Linux

Asahi Linux es liderada por Héctor Martin quien sumamente conocido por su experiencia en ports

Aquí en el blog ya hemos hablado sobre Asahi Linux la cual es una distribucion de Linux que se desarrolla bajo un proyecto y una comunidad con el objetivo de migrar Linux a los nuevos chips Apple Silicon Macs.

Asahi Linux actualmente se considera software alfa, ya que aún hay una gran cantidad de características por portar, de las características con las que ya cuenta está una interfaz gráfica de usuario y tiene soporte inicial para la aceleración de gráficos, con controladores OpenGL iniciales implementados para todas las GPU en los chips de la serie M de Apple.

Para los que desconocen de Asahi Linux, deben saber que esta distribucion se basa en la base del paquete Arch Linux, incluye un paquete de software tradicional y viene con el escritorio KDE Plasma. La distribución se crea utilizando los repositorios regulares de Arch Linux, y todos los cambios específicos, como el kernel, el instalador, el cargador de arranque, los scripts auxiliares y la configuración del entorno, se mueven a un repositorio separado.

Sobre el tema de los controladores hace poco los desarrolladores del proyecto Asahi dieron a conocer la nueva actualización de distribución de junio del sistema y junto con ello publicaron un informe sobre la implementación del soporte OpenGL 3.1 en la distribución.

Se menciona que para admitir las GPU AGX de los chips Apple M1 y M2, se están desarrollando dos controladores que funcionan en conjunto: el controlador DRM (Direct Rendering Manager) drm -asahi para el kernel de Linux, escrito en Rust, y el controlador asahi para Mesa, escrito en C.

El controlador a nivel de kernel se desarrolla inicialmente teniendo en cuenta el soporte futuro para la API de Vulkan, y la interfaz de programación del espacio del usuario está diseñada teniendo en cuenta la UAPI proporcionada por el nuevo controlador Intel Xe. Dado que los chips M1/M2 de Apple utilizan su propia GPU, que ejecuta firmware patentado y utiliza estructuras de datos compartidas bastante complejas, el desarrollo de controladores independientes utiliza la ingeniería inversa de los controladores de macOS.

Si bien OpenGL ES 3.0 es una mejora con respecto a ES 2.0, aún no hemos terminado. En mi rama de trabajo en progreso, la compatibilidad con OpenGL ES 3.1 está casi terminada, lo que desbloqueará los sombreadores de cómputo.

El objetivo final es un controlador Vulkan que ejecute juegos modernos. Estamos lejos, pero los requisitos básicos de Vulkan 1.0 son paralelos a OpenGL ES 3.1, por lo que nuestro trabajo se traduce en Vulkan. Por ejemplo, los pases del compilador de muestreo múltiple descritos anteriormente son código común entre los controladores. Los probamos con OpenGL y ahora están listos para usar Vulkan.

El controlador de Mesa proporciona soporte de espacio de usuario para OpenGL y ahora pasa con éxito las pruebas de compatibilidad con OpenGL ES 3.0 y OpenGL 3.1 (OpenGL ES 2.0 y OpenGL 2.1 fueron compatibles en diciembre), lo que amplía la gama de juegos y programas de gráficos que se pueden ejecutar en el entorno.

Como antes, estos controladores son experimentales y aún no cumplen con las especificaciones de OpenGL u OpenGL ES. Por ahora, deberá ejecutar nuestros -edgepaquetes para optar por los controladores de trabajo en progreso, entendiendo que puede haber errores. Consulte nuestra publicación anterior que explica cómo instalar los controladores y cómo informar errores para ayudarnos a mejorar.

Con ese descargo de responsabilidad fuera del camino, hay MUCHAS funciones nuevas incluidas en OpenGL 3.0, 3.1 y OpenGL ES 3.0 para hacer este lanzamiento. Los puntos destacados incluyen:

Múltiples objetivos de renderizado
multimuestreo
Transformar comentarios
Objetos de búfer de textura
..y más.

Se menciona que en un futuro cercano Asah Linux se planea completar el trabajo para brindar soporte para OpenGL ES 3.1 y sombreadores de cómputo. El objetivo final del proyecto, que permitirá ejecutar juegos modernos, es crear un controlador para la API de gráficos Vulkan, en el que planean usar parte del código de muestra ya probado que se usa en los controladores para OpenGL.

Finalmente para los interesados en poder conocer más al respecto, pueden consultar los detalles en el siguiente enlace.

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.