Nein, es ist kein Unsinn. Der Thread zieht sich nun über viele Jahre hin und die oben von dir zitierten Aussagen stammen halt noch aus einer Zeit, als amd64 weitgehend irrelevant war. Das 64-Bit Zeitalter für die breite Masse ist vielleicht ein bis zwei Jahre alt, halt so alt wie der Beginn der dritten DRAM-Krise nun zurückliegt. Die vorher 64-Bit nutzten waren leistungshungrige Freaks wie ich, den Mund mit RAM nicht vollbekamen.
Gehen wir einmal ins Jahr 2001 zurück. Damals war mit IA64 Intels eigene 64-Bit Architektur schon einige Jahre verfügbar, konnte sich aber aus verschiedenen Gründen nicht durchsetzen. AMD hatte gerade mit großem Pam-Pam ihren HAMMER angekündigt, der später zu amd64 werden sollte. FreeBSD lief zu jener zeit auf lediglich zwei Plattformen. Dem Intel i386 und kompatibel, sowie dem Alpha. Aber das Ende des Alpha war absehbar, ebenso das sich eine der beiden oben genannten 64-Bit Architekturen durchsetzen würde. Also portiere man FreeBSD auf beide. amd64 war dabei ein Blind-Port, man portierte nach Spezifikationen, da es noch keine CPUs gab. Gleichzeitig befand sich der Kernel im Rahmen von SMPng im größten Umbruch seiner Geschichte. Tatsächlich hatte FreeBSD Unterstützung für amd64, bevor man im freien Handel die erste CPU bekam.
Das führte dazu, dass FreeBSD/amd64 sich von FreeBSD/i386 teils deutlich unterschied. Technisch gesehen war der amd64-Port eine eigene Plattform, mit eigenem Interface. Keine Portierung im eigentlichen Sinne. Besonders deutlich wurde das für Endanwender zum Beispiel mit Wine, der unter FreeBSD/amd64 schlicht versagte, obwohl das gleiche Programmabbild unter FreeBSD/i386 perfekt tat. Dies störte lange keinen, denn nur wenige nutzten amd64 überhaupt. FreeBSD 6.0 hatte zum Beispiel ungefähr 3% seiner Download in Richtung dieser Architektur. Mit 7.0 waren es schon etwa 15%. Erst FreeBSD 8.0 könnte zum ersten Mal mehr amd64-Images verteilen als i386-Images. Und mit der steigenden Popularität von amd64 wurde das Interesse größer, dies auch komplett kompatibel zu i386 haben. Erst FreeBSD 8.0 hat nun ein gleiches Interface zwischen allen Plattformen, soweit es möglich ist. Auch wenn es noch viele, viele Jahre Unterstützung für i386 geben wird, gibt es für 9.0 den Plan, allen amd64-kompatiblen CPUs einen 64-Bit Kern zu verpassen, egal ob das Userland nun 32-Bit oder 64-Bit ist.
Für nVidia bedeutet dies, dass man zwar einen FreeBSD/amd64 Blob hätte schreiben können. Aber zu welchen Preis? Es wäre kein simples Neuübersetzen gewesen, stattdessen faktisch ein eigenständiger Port. So wie Linux und Solaris. Am Ende war die Nutzerbasis zu klein, dies zu rechtfertigen und außerdem, es wäre eine minderwertige Lösung gewesen. Nur nVidia ist ein kommerzielles Unternehmen und die recht guten Treiber sind ein großer Teil ihres Vermögens. Wieso den Ruf die besten Grafiktreiber zu haben riskieren, indem man einigen tausend Freaks einen minderwertigen Blob baut? Gleiches gilt in gewisser Weise auch für FreeBSD/i386, wo es auch einen jahrelangen Stillstand gab.
nVidia stellte daher irgendwann gegen Ende 2005 oder so besagte vier Forderungen. "Baut dieses ein, es ist sinnvoll". Die FreeBSDler und Sturköpfe wie ich sahen das nicht ein, ergo gab es nie einen Blob. Aber dann wurde amd64 immer beliebter. Robert Noland deutete mal an, dass diese Dinge eh mittelfristig sehr sinnvoll sein, auch gerade für DRI/DRM und das kommende Gallium3D. Am Ende ergriffen die PC-BSD Jungs die Initiative, John Baldwin und Alan Cox übernahmen, führten die Arbeit im Dialog mit nVidia zu Ende. FreeBSD 8.0 und das kommende 7.3 bieten daher als erste FreeBSDs überhaupt das von nVidia gewünschte Interface. Und erst damit ist der Weg zum Blob überhaupt erst frei.
Nun gibt nVidia natürlich keinen Termin, aber wieso sollten sie? Wenn wir eines aus den letzten Jahren, aus Duke Nukem Forever, aus Windows Vista und vielen anderen gelernt haben ist es, einen Termin gibt es erst, wenn man weiß, dass man ihn halten kann. Sonst verpasst man ihn entweder und die Leute motzen, oder man liefert halbfertige Software ab. Selbst große Firmen wie Microsoft, Oracle, SAP und Apple folgen inzwischen diesem Prinzip. Wenn Zander schreibt, dass es einen Renderstack für FreebSD/amd64 gibt und dieser funktioniert, dann glaube ich es ihm. Wieso sollte er Lügen? Wenn er noch nicht bereit zur Veröffentlichung ist, dann ist er es eben nicht. Warte ich halt noch ein wenig, darauf kommt es nun auch nicht an.
Und Geld, wie oben steht. Es geht nicht immer nur ums Geld. nVidia hat ja auch ein Interesse daran, gerade vor dem Hintergrund, dass die Quadros und nicht die GeForces das große Geld bringen, einen möglichst breiten Kreis an Plattformen zu unterstützen. Läuft der Blob erst einmal auf einer, dürfte die Wartung eher wenig aufwendig sein. Zumindest solange sich an der Plattform oder am Blob nichts grundlegendes ändert.
Ich bleibe dabei. Wenn ein Blob kommt, wird die nächste Graka wieder eine nVidia, allein schon um Neverwinter Nights wieder spielen zu können. Bis dahin bleibt aber die ATi im Rechner.
