El controlador Panfrost gratuito ahora es compatible con las GPU Mali Valhall

Collabora ha implementado la compatibilidad con las GPU de la serie Valhall (Mali-G57, Mali-G78) en el controlador gratuito Panfrost, que anteriormente se centraba en implementar la compatibilidad con los chips Midgard y Bifrost. Cabe señalar que los cambios preparados con la implementación inicial del controlador se enviaron para su inclusión en la composición principal de Mesa y se presentarán a los usuarios en una de las próximas versiones importantes.

La implementación se preparó después de 6 meses de ingeniería inversa de los controladores propietarios utilizados en un teléfono inteligente Android con una GPU Mali G78. El trabajo realizado se destaca en que el desarrollo se realizó en modo pasivo en ausencia de acceso root a un smartphone con el chip en estudio, i. los desarrolladores no pudieron reemplazar el controlador existente. Para probar el controlador y analizar el contenido de la memoria de video en el teléfono inteligente, usamos el modo desarrollador en Android y reemplazamos nuestro código usando LD_PRELOAD.

Los sombreadores compilados, las secuencias de instrucciones de GPU y las estructuras de datos que controlan el estado de las primitivas gráficas, como las texturas, se recuperaron de la memoria, después de lo cual se realizaron cambios individuales en estos sombreadores y estructuras y se analizó el resultado. Como resultado, preparamos nuestro propio compilador de sombreadores para la GPU Valhall, que hizo posible generar objetos binarios similares, así como un prototipo de controlador para Mesa. En enero de este año, un Chromebook basado en un chip MediaTek MT8192 con una GPU Valhall G57 cayó en manos de los desarrolladores, con la ayuda de los cuales se realizó una verificación final en equipos reales y se puso en funcionamiento el controlador resultante.

Fuente: opennet.ru

Añadir un comentario