Actualización del driver GPU de Apple M1/M2
- El driver gráfico del kernel para las GPU Apple M1 y M2 está escrito en Rust, y ha llamado la atención por lograr conformidad con varios estándares gráficos.
- En la X.Org Developers Conference (XDC) 2024, Alyssa Rosenzweig presentó una actualización sobre el estado del driver y los tipos de juegos que puede soportar.
- Rosenzweig mantiene desde 2019 la tradición de dar su presentación en la XDC vestida de bruja.
Actualizaciones y teselación
- En la XDC del año pasado se informó que el driver había alcanzado conformidad con OpenGL ES 3.1.
- Actualmente, el driver ya alcanzó conformidad con OpenGL 4.6, y la conversación siguió con los shaders de teselación.
- El teselador por hardware de las GPU de Apple carece de funciones para implementar por completo los estándares OpenGL, Vulkan y Direct3D, por lo que resulta difícil de usar.
- El driver implementa la teselación por software, usando código del teselador de referencia de Microsoft convertido a OpenCL C.
Vulkan y juegos
- El driver Honeykrisp para GPU M1/M2 alcanzó conformidad con Vulkan 1.3.
- Para compatibilidad con DirectX, Windows y CPU x86, se usa el driver DXVK y Wine para traducir a Vulkan.
- Se usa FEX-Emu para traducir de x86 a Arm64, y se emplea una máquina virtual para resolver las diferencias en el tamaño de página.
Rendimiento y ejecución de juegos
- El driver puede ejecutar varios juegos, y aunque el rendimiento queda un poco por debajo de la aceleración por hardware, sigue siendo práctico.
- Los juegos de altos requisitos necesitan 16 GB de RAM o más, aunque algunos también pueden correr en sistemas con 8 GB.
- El soporte de ray tracing no es una prioridad por ahora, y planean comenzar el trabajo para las GPU M3.
Resumen de GN⁺
- El driver GPU de Apple M1/M2 está escrito en Rust y ofrece alta estabilidad y buen rendimiento.
- El driver es compatible con varios estándares gráficos, y resulta interesante su implementación de la teselación usando OpenCL.
- Gracias a la compatibilidad con Vulkan y DirectX, puede ejecutar diversos juegos, y es original la forma en que resuelve el problema del tamaño de página usando una máquina virtual.
- Este artículo es útil para entender los desafíos y las soluciones del desarrollo moderno de drivers GPU, y se recomiendan proyectos similares como DXVK y Wine.
1 comentarios
Comentarios de Hacker News
/SubscriberLink/.tessellator.cles el archivo más confuso de su carrera.