motiviert durch diesen Thread auf Reddit wollte ich mal versuchen, alte Windows XP Era Spiele mit DirectSound3D unter WINE mit HRTF zum Laufen zu bekommen.
Angeblich sollte es ausreichen, eine Datei .alsoftrc im Homeverzeichnis anzulegen mit dem Inhalt
Code: Alles auswählen
stereo-mode = headphones
hrtf = true
Vorweg: hat nicht funktioniert.
Wenn ich mit Rightmark3DSound teste, bleibt HRTF deaktiviert (steht auch so im openal.log).
Nächster Schritt: ich benutze einen DSOUND/OPENAL Wrapper. Mit einem native override in winecfg wird Directsound3D nach openal übersetzt. Der Wrapper funktioniert (bietet unter WINE übrigens auch EAX 1 - 4, was Rightmark auch zeigt). Allerdings wird HRTF nach wie vor nicht genutzt.
Letzter Schritt: ich kopiere meine .alsoftrc als alsoft.ini (!) in das Verzeichnis der .exe. Siehe da, jetzt habe ich EAX und HRTF unter WINE !
Daher jetzt meine Frage: Wie genau funktioniert eigentlich die Audioarchitektur von WINE? Ich hatte ursprünglich gedacht, WINE nutzt immer openal(soft), aber das scheint ja nicht der Fall zu sein. Erst mit dem Wrapper (oder einem Spiel, das von Haus aus openal nutzt, z.B. UT2004), scheint WINE openal zu nutzen. WINE ignoriert aber die .alsoftrc und berücksichtigt erst eine alsoft.ini. Dann aber ist WINE wiederum in der Lage, die HRTF Fähigkeit des Linux Hosts zu nutzen...
Das WINE Wiki liefert leider keinen Hinweis. Google hat noch folgendes zu Tage befördert: http://kegel.com/wine/sound.pdf, aber das liest sich ja eher wie ein Entwurf und scheint nicht der Status Quo zu sein (ich dachte immer, WINE würde so funktionieren, wie das "Proposal: Wine Openal").
Aber wahrscheinlich geht WINE direkt an AALSA/pulse, bzw. bei Openal Programmen einen "Umweg" über Openal?
Wenn jemand da einen Einblick hat, wär das sehr interessant.
Danke und viele Grüße
PS: Nutze Debian Stable.