1 Punkte von GN⁺ 2024-11-01 | 1 Kommentare | Auf WhatsApp teilen

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

 
GN⁺ 2024-11-01
Hacker-News-Kommentare
  • Es gibt die Meinung, dass sie betont, eine Zauberin zu sein.
  • Es gibt die Meinung, dass es überraschend sei, wie viel in der Hardware fehlt und wie stark auf Emulation zurückgegriffen wird.
  • Es gibt die Meinung, man sei darauf trainiert worden, bei so etwas Artikel wie "eingestellt und übernommen" zu erwarten.
  • Es gibt die Meinung, dass man sich fragt, ob M3/M4 einen völlig anderen Treiber benötigen werden.
  • Es gibt die Meinung, dass man sich fragt, ob es unethisch ist, einen /SubscriberLink/-Link zu teilen.
  • Es gibt die Meinung, dass es lustig wäre, auf Französisch anzufangen, und dass es wirklich beeindruckend sei.
    • Es gibt die Meinung, dass die Datei tessellator.cl die verwirrendste Datei der eigenen Laufbahn sei.
    • Es gibt die Meinung, dass es überraschend sei, dass die Vortragende 23 Jahre alt ist, und dass die Verwirrung in der Laufbahn mit der Zeit nicht abnimmt.
    • Es gibt die Meinung, dass ihre Arbeit sehr beeindruckend sei und dass man auf ihre Aussage achten sollte, wonach 2.000 Zeilen C++-Code obskur seien.
  • Es gibt die Meinung, dass die Arbeit von Alyssa R und Asahi Lina großartig ist.
    • Es gibt die Meinung, dass es viele Stellen gibt, die schwer zu verstehen sind, wenn man nicht vertraut mit Treibercode umgeht.
    • Es gibt die Meinung, dass Hardware-Arbeit sehr spezifisch ist und man hofft, dass sie sich leichter schreiben lässt.
    • Es gibt die Meinung, dass man altmodischen Spaß wie Hexenkostüme genießt.
  • Es gibt die Meinung, dass Alyssa eine erstaunliche Person ist und man den ersten Artikel darüber in Erinnerung hat, dass sie mit 17 anfing, an GPUs zu arbeiten.
    • Es gibt die Meinung, dass es erstaunlich ist, dass es Menschen gibt, die so etwas leisten können.
  • Es gibt die Meinung, dass nach einem Link dazu gefragt wird, dass der Treiber in Rust geschrieben wurde.