Linux Adictos Darkcrizt  

Panthor, el controlador de Collabora para GPU Arm Mali de 10° Generación

Panthor

Panthor un controlador del kernel de GPU de código abierto para la GPU Arm Valhall

Collabora dio a conocer mediante una publicación de blog uno de los hitos más recientes dentro de sus trabajos presentados, y es que ha anunciado la tan esperada fusión del controlador del kernel que agrega soporte para las GPU Arm Mali de décima generación en drm-misc. Este controlador mejor conocido como «Panthor», es un controlador de código abierto diseñado específicamente para la GPU Mali de décima generación (G310, G510, G710).

Se menciona que la fusión del controlador representa un el trabajo y esfuerzo colaborativo de dos años entre varios desarrolladores y empresas, Collabora destaca la importancia de la colaboración en el desarrollo de tecnologías avanzadas.

La participación de Arm en este proceso ha sido crucial, no solo proporcionando acceso a documentación clave, sino también participando activamente en la revisión y co-mantenimiento del controlador del kernel.

Al principio, el desarrollo del nuevo controlador se llevó a cabo mediante ingeniería inversa, pero luego ARM se unió al proyecto, proporcionó acceso a la documentación y participó en la revisión del código. Dos empleados de ARM han sido ascendidos al estado de co-mantenedores de controladores para el kernel de Linux. En el futuro, una vez que el controlador OpenGL esté listo, el trabajo se centrará en implementar un controlador Vulkan para las nuevas GPU de Mali y actualizar el controlador Vulkan existente para las GPU de Mali más antiguas.

Este controlador utiliza la tecnología CSF (Command Stream Frontend) para transferir algunas funciones del controlador al lado del firmware, lo que ayuda a reducir la carga en la CPU y proporciona un nuevo modelo de organización del trabajo en la GPU. El controlador DRM (Direct Rendering Manager) Panthor ha sido aceptado en la rama drm-misc y se espera que se incluya en el kernel de Linux 6.10. Mesa también ha adoptado cambios para admitir el nuevo controlador, que se incluirán en el controlador Panfrost Gallium para GPU de Mali.

En la nueva generación de GPU Mali, el planificador de Job Manager se sustituye por una interfaz CSF, que utiliza un modelo basado en flujo de comandos con programación de la cola de flujo de comandos en el lado del firmware en lugar de un modelo basado en el envío de una cadena de trabajos. Esto implica la integración de un microcontrolador Cortex-M7 separado en la GPU y una unidad de ejecución de comandos especial para ejecutar instrucciones CSF. Estas funciones requieren una organización fundamentalmente diferente para transferir el trabajo a la GPU desde el espacio del usuario.

Inicialmente, se intentó implementar soporte para GPU Mali basadas en CSF en el controlador Panfrost DRM, pero los desarrolladores concluyeron que esto complicaría demasiado el controlador existente. Por lo tanto, para CSF, fue más óptimo crear un nuevo controlador con una arquitectura diferente. El controlador Panthor implementa una uAPI completamente nueva, una nueva lógica de programación de trabajos y una nueva lógica de control MMU/GPU-VA. Se basa en el código del controlador DRM existente de Panfrost, del cual toma patrones típicos de inicialización del controlador, control de frecuencia y administración de energía.

Además de ello, se menciona que el controlador del kernel, se ha fusionado la solicitud de fusión de mesa que extiende el controlador Gallium existente para admitir las nuevas GPU Arm Mali de décima generación. Collabora también ha trabajado para asegurar que las placas basadas en Rockchip RK3588 se puedan cargar utilizando una pila de software completamente abierta. Para Rockchip RK3588, se ha preparado una imagen del sistema basada en Debian y un gestor de arranque abierto para reemplazar los componentes propietarios BL31 (etapa 3.1 del cargador de arranque). Esto es especialmente significativo para las plataformas RK3588 de Rockchip, donde se espera un rendimiento y una eficiencia mejorados gracias a estas actualizaciones.

El trabajo en el controlador Gallium no solo implica habilitar el soporte para nuevas GPU, sino también optimizar el rendimiento y la compatibilidad con las API gráficas modernas. Esta extensión del controlador es parte de un esfuerzo continuo para ofrecer una experiencia gráfica excepcional en una variedad de dispositivos y escenarios de uso.

Si estás interesado en poder conocer más al respecto, puedes 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.