bart1983 schrieb:
ich muss da mal nachfragen, da ich von qemu-3DFx jetzt gerade zum ersten Mal gehört habe:
Du emulierst eine 3Dfx-Karte also in deinem Hypervisor (zB. wie Proxmox)? Wie läuft das denn?
Kannte bisher nur dgVoodoo2 & eben PCEM/86box, die ihre Aufgabe eigentlich recht gut machen.
qemu-3dfx ist ein alter Fork von QEMU, der interessanterweise nur bedingt was mit 3Dfx zu tun hat.
Die Idee von dem Projekt ist Hardware beschleunigter Support für OpenGL, Direct3D und auch 3Dfx Glide in QEMU zu ermöglichen. Dafür braucht man zum einen eine QEMU-Version die Kompatibel ist mit qemu-3dfx, die Patches dazu und die ganzen Wrapper und Treiber.
Das Resultat ist sehr gute Kompabilität für alte Games mit auch ordentlicher Performance, da im Idealfall alle API-Calls vom Gast-System über die Virtualisierungsschickt an die Host 3D-API weiterleitet werden, z.b. Vulkan oder OpenGL.
Es ist daher ähnlich wie z.b. Proton, allerdings durch die Virtualisierung kommt eine weitere Abstraktionsschicht dazu - bzw. qemu-3dfx arbeitet wohl mit Tricks daran vorbei.
Klingt in der Theorie super, aber das Teil zum laufen zu bekommen ist ohne Hilfe vom Entwickler nicht möglich!
Warum? Weil das Projekt so aufgebaut ist, dass man für Direct3D speziell angepasste DLL's und Wrapper brauch, damit man auch D3D Hardware Support bekommt. Zusätzlich sind auch spezielle Treiber nötig, damit QEMU als VM mit Windows 98 oder XP überhaupt richtig funktioniert. Der Entwickler will Geld dafür, um einen speziellen Build für den "Kunden" anzufertigen - inkl. den ganzen Requirements, wie diese angepassten DLL's, Treiber und Wrapper.
Ohne diesen ganzen Kram funktioniert qemu-3dfx schlichtweg nicht!
Das Projekt ist daher
kein Open-Source, sondern schlichtweg kommerziell getarnt als Open-Source und ein Build kostete damals ~100$. Was preislich eigentlich fair ist, aber warum man das besser nicht bezahlen sollte, erläutere ich weiter unten.
Normalerweise sollte man aber das nicht brauchen und wenigstens OpenGL und 3Dfx nutzen können, aber ich habe Wochen damit verbracht und es nicht zum laufen bekommen - obwohl alles da war, Glide-Wrapper auf Host-Seite, Guest-Tools usw. Ich konnte die VM zwar starten und den VGA-Treiber hat es auch erkannt, aber das war es dann schon. Auch mit SoftGPU habe ich es nicht hinbekommen, da wollte der Git-Hash einfach nicht passen und der Treiber konnte noch installiert werden :-(
Dazu kommt noch eine Tatsache dass der Entwickler ziemlich asozial ist und andere Projekte wie z.b. PCem, 86Box schlechtredet und die Leute direkt beleidigt. Hauptgrund für mich diesem Menschen keinen Cent in den Rachen zu schieben - auch wenn das Projekt im Kern eine Tolle Idee ist.
Evtl. kann man heutzutage mittels LLM's das Ruder rumreißen, eigenen Fork erstellen und das Teil doch ohne die Hilfe vom Dev zum laufen zu bekommen.