Update zu Apple-M1/M2-GPU-Treibern
- Der Kernel-Grafiktreiber für Apple-M1- und -M2-GPUs ist in Rust geschrieben und hat Aufmerksamkeit dafür erhalten, dass er Konformität mit verschiedenen Grafikstandards erreicht hat.
- Auf der X.Org Developers Conference (XDC) 2024 präsentierte Alyssa Rosenzweig ein Update zum Stand des Treibers und zu den unterstützten Spieltypen.
- Rosenzweig setzt damit eine Tradition fort, seit 2019 auf der XDC in Hexenkostüm zu präsentieren.
Updates und Tessellation
- Auf der XDC im vergangenen Jahr wurde berichtet, dass der Treiber OpenGL ES 3.1-Konformität erreicht hat.
- Inzwischen hat der Treiber OpenGL 4.6-Konformität erreicht; anschließend wurde über Tessellation-Shader gesprochen.
- Der Hardware-Tessellator der Apple-GPUs ist funktional unzureichend, um die Standards von OpenGL, Vulkan und Direct3D umzusetzen, weshalb er schwer nutzbar ist.
- Der Treiber implementiert Tessellation in Software und verwendet dafür Microsofts Referenzcode für Tessellation, der nach OpenCL C konvertiert wurde.
Vulkan und Spiele
- Der Honeykrisp-M1/M2-GPU-Treiber hat Vulkan 1.3-Konformität erreicht.
- Für die Kompatibilität mit DirectX, Windows und x86-CPUs wird mit dem DXVK-Treiber und Wine nach Vulkan übersetzt.
- Mit FEX-Emu wird von x86 nach Arm64 übersetzt; um Unterschiede bei der Seitengröße zu lösen, wird eine virtuelle Maschine verwendet.
Leistung und Spielausführung
- Der Treiber kann verschiedene Spiele ausführen; die Leistung liegt etwas unter der Hardwarebeschleunigung, ist aber praktisch nutzbar.
- Anspruchsvolle Spiele benötigen 16 GB RAM oder mehr, einige Spiele laufen jedoch auch auf Systemen mit 8 GB.
- Unterstützung für Raytracing hat derzeit eine niedrige Priorität, und es ist geplant, die Arbeit an M3-GPUs zu beginnen.
Zusammenfassung von GN⁺
- Der Apple-M1/M2-GPU-Treiber ist in Rust geschrieben und bietet hohe Stabilität und Leistung.
- Der Treiber ist für verschiedene Grafikstandards geeignet, und die Tessellation-Implementierung mit OpenCL ist interessant.
- Durch Vulkan- und DirectX-Kompatibilität können verschiedene Spiele ausgeführt werden, und die Lösung des Problems mit der Seitengröße mithilfe einer virtuellen Maschine ist originell.
- Dieser Artikel ist nützlich, um die Herausforderungen und Lösungen bei der Entwicklung moderner GPU-Treiber zu verstehen; als Projekte mit ähnlicher Funktionalität werden DXVK und Wine empfohlen.
1 Kommentare
Hacker-News-Kommentare
tessellator.cldie verwirrendste Datei der eigenen Laufbahn sei.