Photon schrieb:
@dh9 Weil ein Entwickler im Alleingang in relativ kurzer Zeit einen Grafiktreiber für die M2-GPU geschrieben hat, während das noveau-Team seit Jahren nur rudimentäre Unterstützung von nVidia-GPUs zustande bringt?
Es sind mehrere Teile die entwickelt werden und es gibt MASSIVE Unterschiede bei der Situation zwischen Nvidia und Apple. Naja und sind ein paar mehr Entwickler·innen.
Zu aller erst ist Apples GPU immer noch sehr stark mit PowerVR verwandt und für PowerVR gab es vor nicht all zu langer Zeit das Komplettpaket FOSS Treiber, nachdem PowerVR lange Zeit noch zugenagelter war als Nvidia[1]. Zudem ist der ganze Mesa-Stack mittlerweile einfach gut, es muss sich "nur noch"[2] um Anpassungen und Abstraktion gekümmert werden. Was zudem auch extrem wichtig ist, Vieles was Treiber normalerweise machen, steckt bei Apple in der Firmware. Diese Firmware kann Asahi aus dem existierendem MacOS Image extrahieren und nutzen. Bei Nvidia ist die Firmware für die meisten Karten außer Reichweite.
[1] Das war mein Eindruck.
[2] Das ist immer noch richtig viel, anspruchsvolle Arbeit. Es ist aber eben auch nicht mehr so, dass man da zehntausende Arbeitsstunden drin versenken muss.
umask007 schrieb:
Also interessant finde ich, dass der Treiber in Python geschrieben ist. Hätte eher etwas Hardwarenahes wie C erwartet. Von dem Python Code habe ich keine Zeile verstanden
Ziemlich cool auch wenn ich persönlich keine Hardware von Apple verwende.
Der Proof of Concept (PoC) Treiber für den Kernelspace ist in Python "fix" runtergehackt. Der richtige Kerneltreiber wird in Rust geschrieben und ist einer der aller ersten in Rust geschriebenen Kernelkomponenten. Der PoC ist extrem langsam und läuft über ein extrem merkwürdiges Konstrukt auf einem anderen Rechner, der via seriellem Interface über USB irgendwie die API auf dem eigentlichem Apple SI Rechner zur Verfügung stellt.
Ein übler Hack, der seine Gründe hat und unglaublich schnelles Prototyping erlaubte. Das Ding wurde von Hector Martin angefangen und in dessen Livestreams habe ich mich für richtig dämlich gehalten.
Tenferenzu schrieb:
Wie ist die Leistung von den M-Geräten unter Linux? Besser oder schlechter als unter MacOS? Ich würde lachen, wenn Linux um einiges besser läuft als MacOS.
Die GPU-Treiber brauchen noch Arbeit, da sind einige niedrig hängende Früchte, um die Leistung zu optimieren. Entsprechend ist an der Stelle MacOS noch deutlich schneller.
Die USB3-3Treiber für AppleSi erlauben unter Linux bereits jetzt bessere Durchsatzraten als unter MacOS. Was aber hauptsächlich damit zu tun hat, dass MacOS wohl den "alternative Mode" immer aktiv hat und Linux dies nicht tut. Das Apple dies so tut hat aber auch Gründe.
Quelle:
https://social.treehouse.systems/@sven/109387061451424724
PS: Mastodon hat auf einigen Instanzen ein recht kuschliges Nerdlevel erreicht
ghecko schrieb:
Mal eben in ein paar Monaten nen kompletten GPU-Treiber in Rust geschrieben, allein und per reverse engineering. Ich würde ja lachen, wenn damit auch Vulkan auf der M1/2 Grafik läuft.
Alyssa Rosenzweig -> Mesa Stack
Hector Martin, später "Lina" -> Kerneltreiber
Reverseengineering mit der dicken Hilfe von Foss PowerVR Treibern!
ghecko schrieb:
Und in der Zwischenzeit bei Intel ARC: ......
Für Intel fällt an: DirectX in mehreren Versionen, OpenGL mit vielen Erweiterungen, Metal, OpenCL, OneApi, numa Speichermodell, + Firmware und noch viel mehr
Das Intel GPU-Ökosystem unterstützt eine ganze Menge mehr als der aktuelle Stand der FOSS AppleSi-Treiber und ohne die Entwicklung des Mesa Stacks (da hat Intel auch kräftig geholfen), wäre Asahi auch lange nicht so weit. Da sollte man fair bleiben, auch wenn die Entwickler·innen um Asahi selbstverständlich richtig rocken!
Edit: Und was ich in dem Post auch schon erwähnt habe. Die Firmware der GPU macht bei Apple viel, was sonst Treiber machen. Die Firmware wird von Asahi mit genutzt. Die Zuarbeit erfolgt also quasi auch durch Apple und deren Entwickler.