• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

directX in Linux einbinden

Napstack

Newbie
Ist es nicht (teoretisch) irgendwie möglich DirectX direkt in Linux einzubinden und nicht nur zu emulieren :?:
 

spoensche

Moderator
Teammitglied
Nein, das ist nicht möglich. Es sei denn jemand migriert den Quellcode, damit dieser für Linux übersetzt werden kann. Dafür gibt es die OpenGL Bibliotheken. Was willst du unter Linux mit DirectX??? :?:
 

derMani

Hacker
nein, es ist nicht möglich

Code:
DirectX ist eine Sammlung von COM-basierten Programmierschnittstellen (englisch: Application Programming Interface, kurz API) für multimedia-intensive Anwendungen (besonders Spiele) auf der Windows-Plattform und kommt auch auf der Spielekonsole Xbox zum Einsatz.

Die Implementierung dieser API gibt es nur für die Windows-Plattform. Da die Entwicklung von Directx (microsofttypisch) geschlossen ist, weiß niemand außer Microsoft wie das ganze eigentlich intern aufgebaut ist. Es wird also dementsprechend wohl nie spezielle Implementierung für Unix-/Linuxplattformen geben.

Wine selbst emuliert auch nichts, die jungs bauen die windows-api nach. Hier werden dann z.B. direct3d-aufrufe an opengl weitergeleitet. Dass das nicht so schnell ist, wie native opengl-aufrufe, kann man sich sicher vorstellen ;-)

Gruß
Mani
 
OP
N

Napstack

Newbie
kann man den die API direkt einbinden?

@spoensche
Ich glaube es würden eine menge leute auf linux umsteigen wenn sie für 0 alle windows anwendungen in echtzeit abspielen könnten.
 

derMani

Hacker
Wie willst du die API direkt einbinden, wenn nur entsprechende Windows-Bibliotheken gibt und eh nur fertige Binärpakete zur Verfügung stehen oO.

Das geht natürlich nicht und wird auch wohl nie gehen, es sei denn Microsoft erbarmt sich und bringt ne directx version für linux heraus. Ich denke wir wissen hier alle, dass das nie passieren wird.

Übrigens werden alle Windows-Programme, die man mit Wine startet, in "Echtzeit" ausgeführt.
Da wird nichts emuliert. Wie gesagt, die jungs bauen seit Jahren Stück für Stück die windows-APi per Reverse Engineering nach. Viele Anwendungen laufen schon schneller unter Wine als mit Windows. Ich habe mal einen Quake 3 Benchmark auf meinem System gemacht, das Wine-Ergebnis war hier deutlich besser als das von Windows-Vista.

Bei DirectX-Anwendungen sieht es aber noch anders aus.

Gruß
Mani
 

derMani

Hacker
Wow ich musste den Beitrag, obwohl er nur 2 Zeilen hatte, 3 mal lesen bevor ich ihn einigermaßen verstanden habe.
Bitte in Zukunft etwas auf die Rechtschreibung achten!
Wie gesagt, den satz hab ich entziffert, die Semantik dahinter such ich noch...

Ich versuchs mal:

Windows und Linux sind grundverschiedene Systeme. Weißt du eigentlich, was es technisch gesehen überhaupt für ein Akt ist, windows-programme innerhalb von Linux auszuführen?
Also ich weiß gar nicht was du dir hier vorstellst, denkst du man kopiert auf sein Linux ein paar *.dll und das ganze funktioniert?

Die Wine-Leute schreiben seit über 10 Jahren an ihrem "Windows-API-Ersatz". Mittlerweile hat das Projekt eine gewisse Qualität erreicht, so dass einige Software funktioniert. Um dir das nochmal zu verdeutlichen: Die untersuchen die Maschinensprache und wandeln das zurück in für menschen lesbaren code... eine wirklich undankbare aufgabe...

Die Leute die, wie du sagst, "zu dumm" sind um Wine zu installieren sollten lieber entsprechende Linux-Alternativen verwenden. Eigentlich sollten das sogar alle machen, es gibt eigentlich für fast jede Windows-Software ein gutes Linux-Pendant.

Ich finde es übrigens nicht schwierig im Paketmanager nach "wine" zu suchen, es anzuhaken um es anschließend zu installieren. Ein "wine dateiname.exe" ist auch nicht besonders kompliziert. Ich glaube bei Ubuntu wird der entsprechende Mime-Typ exe sogar mit Wine verknüpft, was ich aber persönlich nicht gut finde. Exe-Dateien sollten in der Linuxwelt grundsätzlich nicht ohne weiteres ausführbar sein (allein um den Unterschied zwischen Linux und Windows zu verdeutlichen)
Sonst hat man ganz schnell das Problem, dass sich die Leute selbst auf Linuxsystemen *.exe Versionen für Windows verwenden, anstatt entsprechende native Software über den Paketmanager zu installieren.
 
Oben