theNizo / linux_rocksmith

Guides to get Rocksmith 2014 running on Linux
https://thenizo.github.io/linux_rocksmith/
GNU General Public License v3.0
111 stars 10 forks source link

[ger] Problem mit regsvr auf Fedora #23

Closed theNizo closed 1 year ago

theNizo commented 2 years ago

(original: https://github.com/theNizo/linux_rocksmith/issues/21#issuecomment-1295776235)

eben, ich vermute das irgendwas mit dem regsvr nicht richtig tut. die dll wird ums verrecken nicht kopiert, und ich vermute, dass die deswegen auch nicht in dem winecfg erscheint. aber das sind alles nur mutmassungen, ich bin auch absolut kein wine-profi. habe mal einen thread im forum erstellt https://forum.winehq.org/viewtopic.php?t=37066 was vielleicht noch sein koennte, ich hab das wie in https://wiki.winehq.org/Fedora dokumentiert installiert, der guide ist fuer f36, ich hab aber f37... glaube jetzt nicht dass es daran liegt, aber ausschliessen mag ichs auch nicht.

[oli@DESKTOP-E83VF5L ~]$ regsvr32 "/home/oli/.local/share/Steam/steamapps/common/Proton 7.0/dist/lib/wine/i386-unix/wineasio.dll"
002c:fixme:winediag:LdrInitializeThunk wine-staging 7.12 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
regsvr32: DLL '/home/oli/.local/share/Steam/steamapps/common/Proton 7.0/dist/lib/wine/i386-unix/wineasio.dll' erfolgreich registriert
[oli@DESKTOP-E83VF5L ~]$ regsvr32 "/home/oli/.local/share/Steam/steamapps/common/Proton 7.0/dist/lib/wine/i386-unix/wineasio.dll.so"
002c:fixme:winediag:LdrInitializeThunk wine-staging 7.12 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
regsvr32: DLL '/home/oli/.local/share/Steam/steamapps/common/Proton 7.0/dist/lib/wine/i386-unix/wineasio.dll.so' erfolgreich registriert
[oli@DESKTOP-E83VF5L ~]$ find $WINEPREFIX -name "wineasio.dll"
[oli@DESKTOP-E83VF5L ~]$

hab es zu testzwecken umgestellt auf proton 7, ansonsten wäre noch experimentell verfügbar, aber ich glaub nicht dass es daran liegt. wine-devel waere auch noch verfuegbar ;)

_Originally posted by @damnms in https://github.com/theNizo/linux_rocksmith/issues/21#issuecomment-1295776235_

theNizo commented 2 years ago

@damnms Bitte korrigiere, was nicht stimmt.

theNizo commented 2 years ago

Sorry, ich hab drauf vergessen.


Also, ich habe grad nur Arch, aber das sollte wine selbst egal sein. Ich werde hier ein paar Sachen wiederholen, die ich schon auf englisch geschrieben habe.

Zum testen würd ich das hier mal vorschlagen. Dann haben wir den gleichen Output und es fällt mir leichter. Probier mal bitte mit reinem wine (= nicht Proton), weil Proton bissl schwierig ist.

Rocksmith ist ein 32-bit Programm und braucht dementsprechend die 32 Bit DLLs. Ich habe das ganze einfach mit WINEPREFIX=/path/to/pfx regsvr32 /usr/lib/wine/i386-unix/wineasio.dll gemacht. Was mir grad einfällt, es kann natürlich sein, dass die Struktur auf Fedora bissl anders ist, immerhin unterscheidet sie sich auch zwischen Debian und Arch. Heißt, der Pfad zur DLL könnte ev. ein anderer sein.

Mir ist es auch gerade aufgefallen, dass du auch mal versucht hast, die DLL aus dem Proton runner versucht hast, zu nehmen (/home/oli/.local/share/Steam/steamapps/common/Proton 7.0/dist/lib/wine/i386-unix/wineasio.dll). Das müsste theoretisch funktionieren, ich würde dich nur drum bitten, das nicht zu tun, einfach nur um potentielle Fehlerquellen zu reduzieren.

Der Befehl fügt die DLLs unter anderem in ein Verzeichnis im Prefix ein, weshalb man mit find $WINEPREFIX -name "wineasio.dll" überprüfen kann, ob es registriert wurde. Das ist jedoch keine Aufforderung, die Dateien manuell (z.B. durch Kopieren) im Prefix einzufügen.

Bei meinem funktionierenden Setup scheinen die DLLs auch nicht in winecfg auf, aber es funktioniert trotzdem. winecfg sollte dementsprechend kein Indiz sein, ob es funktioniert hat, oder nicht.

Schließlich wird im letzten Schritt meines Guides gesagt, Rocksmith NICHT von Steam aus zu starten. Stattdessen nimmst du den letzten Befehl aus meinem Guide und führst den aus. wineasio funktioniert komischerweise nicht, wenn du Proton über Steam startest. Das hab ich noch nicht herausgefunden warum, aber es funktioniert jedenfalls vom Terminal aus.

Was schlage ich vor, zu tun

Mach mal folgendes:

# den prefix kannst du danach wieder löschen, den sollten wir nicht mehr brauchen.
# ich hab jetzt angenommen, dass /usr/lib/wine/i386-unix/wineasio.dll richtig ist
WINEPREFIX=$HOME/test-pfx
wine regsvr32 /usr/lib/wine/i386-unix/wineasio.dll
wine /path/to/VBASIOTest32.exe

Im Programm das ASIO Device auswählen. Jetzt sollte ein fortlaufender Ton kommen. Falls nicht, bitte mir den Output im Programm schicken.

Wenn das funktioniert, probier bitte folgendes:

theNizo commented 2 years ago

Was mir noch eingefallen ist, JACK hast du installiert?

Für pipewire müsste das pipewire-plugin-jack sein.

Ohne pipewire (soweit ich sehe), jack-audio-connection-kit pulseaudio-plugin-jack cadence

damnms commented 2 years ago

Fedora nutzt pipewire, ja, glaub die waren so ziemlich die ersten, die das genutzt haben. Habe nun ein recht spezielles Verhalten:

[oli@DESKTOP-E83VF5L ~]$ wine regsvr32 /usr/lib/wine/i386-unix/wineasio.dll
002c:fixme:winediag:LdrInitializeThunk wine-staging 7.20 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
regsvr32: DLL '/usr/lib/wine/i386-unix/wineasio.dll' konnte nicht geladen werden
[oli@DESKTOP-E83VF5L ~]$ wine regsvr32 /usr/lib/wine/i386-unix/wineasio.dll.so
002c:fixme:winediag:LdrInitializeThunk wine-staging 7.20 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
regsvr32: DLL '/usr/lib/wine/i386-unix/wineasio.dll.so' erfolgreich registriert

Habe gerade mal geschaut... glaub das wineasio hab ich mit 7.12 gebaut (Fedora package), wohingegen ich jetzt 7.20 von winehq installiert hab (Fedora 36 Repo). Gut möglich, dass es dadurch kaputt ist. Werde versuchen das wineasio neu zu compilen, da scheitert es gerade nur leider ziemlich...

[root@DESKTOP-E83VF5L wineasio-1.1.0]# dnf install wine-devel
Letzte Prüfung auf abgelaufene Metadaten: vor 0:07:37 am Mi 09 Nov 2022 13:37:41 CET.
Fehler: 
 Problem: Problem mit installiertem Paket winehq-staging-1:7.20-1.1.x86_64
  - Paket winehq-staging-1:7.20-1.1.x86_64 steht im Konflikt mit wine-devel, das von wine-devel-7.12-3.fc37.i686 bereitgestellt wird
  - Paket winehq-staging-1:7.10-1.1.x86_64 steht im Konflikt mit wine-devel, das von wine-devel-7.12-3.fc37.i686 bereitgestellt wird
  - Paket winehq-staging-1:7.11-1.1.x86_64 steht im Konflikt mit wine-devel, das von wine-devel-7.12-3.fc37.i686 bereitgestellt wird
  - Paket winehq-staging-1:7.12-1.1.x86_64 steht im Konflikt mit wine-devel, das von wine-devel-7.12-3.fc37.i686 bereitgestellt wird
  - Paket winehq-staging-1:7.13-1.1.x86_64 steht im Konflikt mit wine-devel, das von wine-devel-7.12-3.fc37.i686 bereitgestellt wird

Muss mal gucken wie ich das jetzt behebe. Ist auch gut möglich, dass das so gar nicht geht weil das winehq Zeug fuer Fedora 36 ist, ich haber 37 hab.

damnms commented 2 years ago

ziemlicher shice mit fedora und dem winehq-repo. das winehq-repo kann nur wine in 64 bit oder (exklusiv) in 32 bit installieren. habe gerade alles mit wine rausgeworfen, wine in 32 bit installiert, die wineasio.dll neu gebaut, wieder alles raus mit wine, wine 64 bit von winehq installiert und versucht die zu registrieren:

[oli@DESKTOP-E83VF5L ~]$ wine regsvr32 /usr/lib/wine/i386-unix/wineasio.dll
wine: created the configuration directory '/home/oli/.wine'
002c:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.Windows.Common-Controls" (6.0.0.0)
002c:fixme:winediag:LdrInitializeThunk wine-staging 7.20 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
0048:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.Windows.Common-Controls" (6.0.0.0)
0050:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.Windows.Common-Controls" (6.0.0.0)
0050:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hr 0x80004002
0050:err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, hr 0x80004002
0050:err:ole:apartment_get_local_server_stream Failed: 0x80004002
0050:err:ole:start_rpcss Failed to open RpcSs service
0048:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hr 0x80004002
0048:err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, hr 0x80004002
0048:err:ole:apartment_get_local_server_stream Failed: 0x80004002
0048:fixme:imm:ImeSetActiveContext (000000000001002E, 0): stub
0048:fixme:imm:ImmReleaseContext (0000000000010020, 000000000001002E): stub
002c:fixme:imm:ImeSetActiveContext (000000000001005C, 1): stub
002c:fixme:imm:ImmReleaseContext (000000000001005A, 000000000001005C): stub
0078:err:winedevice:ServiceMain Failed to load L"C:\\windows\\system32\\win32k.sys"
0078:err:winedevice:ServiceMain Failed to load L"C:\\windows\\system32\\drivers\\dxgkrnl.sys"
0078:err:winedevice:ServiceMain Failed to load L"C:\\windows\\system32\\drivers\\dxgmms1.sys"
0094:fixme:file:NtLockFile I/O completion on lock not implemented yet
0094:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0094:err:mscoree:LoadLibraryShim error reading registry key for installroot
0094:err:mscoree:LoadLibraryShim error reading registry key for installroot
0094:err:mscoree:LoadLibraryShim error reading registry key for installroot
0094:err:mscoree:LoadLibraryShim error reading registry key for installroot
009c:fixme:file:NtLockFile I/O completion on lock not implemented yet
009c:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
009c:err:mscoree:LoadLibraryShim error reading registry key for installroot
009c:err:mscoree:LoadLibraryShim error reading registry key for installroot
009c:err:mscoree:LoadLibraryShim error reading registry key for installroot
009c:err:mscoree:LoadLibraryShim error reading registry key for installroot
00ac:fixme:imm:ImeSetActiveContext (00000000000100AE, 1): stub
00ac:fixme:imm:ImmReleaseContext (00000000000200A6, 00000000000100AE): stub
009c:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 5)
009c:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 5)
0094:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 1)
0094:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 1)
0108:fixme:msg:pack_message msg 14 (WM_ERASEBKGND) not supported yet
0134:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0134:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0134:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0134:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
wine: configuration in L"/home/oli/.wine" has been updated.
regsvr32: DLL '/usr/lib/wine/i386-unix/wineasio.dll' konnte nicht geladen werden
damnms commented 2 years ago

hab gerade erfahren, dass es wine 7.20 packages vom koji gibt (nightly builds vom fedora package system), werde testen und berichten

damnms commented 2 years ago

dnf install wine wine-devel && dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2022-ab78c7ff1f

damit werden die 7.20er pakete von koji auf fedora 37 installiert

theNizo commented 2 years ago

1. Kommentar

wine regsvr32 /usr/lib/wine/i386-unix/wineasio.dll

Der Pfad muss falsch sein. Da steht unix, anstatt windows. Also korrekt müsste /usr/lib/wine/i386-unix/wineasio.dll sein.

Nebenbei: Du führst den Befehl grad auch nicht so aus, wie ich es gefragt habe. Erneut, kann funktionieren, kann aber auch erneut eine potentielle unnötige Fehlerquelle sein.

Das ist meine Empfehlung: regsvr32 /usr/lib/wine/i386-windows/wineasio.dll

wine-devel

kann grad nicht genau beurteilen, was das package ist und ob dieses in wine-staging inkludiert ist, oder ob es durch ein package-update einen Konflikt verursacht.

2. Kommentar

das winehq-repo kann nur wine in 64 bit oder (exklusiv) in 32 bit installieren.

Die 32 Bit version ist für ein reines 32 Bit OS gedacht. Die 64 Bit sollte aber nicht exklusiv 64 Bit können, sondern z.b. 32 Bit prefixes auch unterstützen (solche kannst du mit der Flag WINEARCH=win32 erstellen (nicht auf einen bereits bestehenden Prefix anwenden!)). Ist eben das nicht der Fall, oder verstehe ich das Problem grad nicht?

damnms commented 2 years ago

"Da steht unix, anstatt windows. Also korrekt müsste /usr/lib/wine/i386-unix/wineasio.dll sein." Glaub du meintest "Also korrekt müsste /usr/lib/wine/i386-windows/wineasio.dll sein" Spielt aber eigentlich keine Rolle denke ich, denn ich habe das wineasio.dll gebaut. Ich hab es nur nach /usr/lib... kopiert. Die Datei existiert eigentlich gar nicht unter Fedora, es sei denn, man baut es selbst. Wenn man es selbst gebaut hat, liegt die wineasio.dll in wineasio-1.1.0/build32 (bzw build64 bei make 64) - ob die dann nach /usr/lib/wine/i386-unix oder i386-windows kopiert wird, macht denke ich keinen Unterschied. Ich vermute mal, die könnte auch einfach im Downloads Ordner liegen bleiben. AFAIK ist das /usr/lib/wine/.. dazu gedacht, via regsvr32 die dll ohne ganzen Pfad zu registrieren, damit sowas funzt wie: regsvr32 wineasio.dll anstatt regsvr32 /home/oli/Downloads/wineasio.../wineasio.dll

oder verstehe ich das Problem grad nicht?

Ja. Das hat nichts mit dem Prefix zu tun. Es geht hier um ein Packaging-Problem der Distribution.

Nach dem Installieren von 7.20 von koji kann ich wineasio nicht mehr bauen.

make[1]: Verzeichnis „/home/oli/Downloads/wineasio-1.1.0“ wird betreten
winegcc build32/asio.c.o build32/main.c.o build32/regsvr.c.o -shared -m32 -mnocygwin wineasio.dll.spec -L/usr/lib32/wine -L/usr/lib/wine -L/usr/lib/i386-linux-gnu/wine -L/usr/lib/i386-linux-gnu/wine-development -L/usr/lib/pipewire-0.3/jack -L/opt/wine-stable/lib -L/opt/wine-stable/lib/wine -L/opt/wine-stable/lib32 -L/opt/wine-stable/lib32/wine -L/opt/wine-staging/lib -L/opt/wine-staging/lib/wine -L/opt/wine-staging/lib32 -L/opt/wine-staging/lib32/wine -L/usr/lib64/pipewire-0.3/jack -ljack  \
    -lodbc32 -lole32 -lwinmm -luuid -o build32/wineasio.dll.so
/usr/bin/ld: cannot find -lodbc32: Datei oder Verzeichnis nicht gefunden
/usr/bin/ld: cannot find -lole32: Datei oder Verzeichnis nicht gefunden
/usr/bin/ld: cannot find -lwinmm: Datei oder Verzeichnis nicht gefunden
/usr/bin/ld: cannot find -luuid: Datei oder Verzeichnis nicht gefunden
/usr/bin/ld: cannot find -ladvapi32: Datei oder Verzeichnis nicht gefunden
/usr/bin/ld: cannot find -luser32: Datei oder Verzeichnis nicht gefunden
/usr/bin/ld: cannot find -lwinecrt0: Datei oder Verzeichnis nicht gefunden
/usr/bin/ld: cannot find -lkernel32: Datei oder Verzeichnis nicht gefunden
/usr/bin/ld: cannot find -lntdll: Datei oder Verzeichnis nicht gefunden
/usr/bin/ld: skipping incompatible /usr/lib64/libm.so when searching for -lm
/usr/bin/ld: skipping incompatible /usr/lib64/libc.so when searching for -lc
collect2: Fehler: ld gab 1 als Ende-Status zurück
winegcc: /usr/bin/gcc failed
make[1]: *** [Makefile.mk:112: build32/wineasio.dll.so] Fehler 2
make[1]: Verzeichnis „/home/oli/Downloads/wineasio-1.1.0“ wird verlassen
make: *** [Makefile:15: 32] Fehler 2

Muss glaub wieder das .mk anpassen, scheinbar sucht er am falschen Ort. Oder das package ist kaputt.

damnms commented 2 years ago

interessant, ich hatte die files aber hatte wine-devel.i686 nicht installiert. jetzt konnte ich wineasio compilen: [root@DESKTOP-E83VF5L wineasio-1.1.0]# ls build64/ asio.c.o main.c.o regsvr.c.o wineasio.dll wineasio.dll.so [root@DESKTOP-E83VF5L wineasio-1.1.0]# ls build32/ asio.c.o main.c.o regsvr.c.o wineasio.dll wineasio.dll.so

das verrückte ist, ich habe weiterhin das gleiche problem:

[oli@DESKTOP-E83VF5L ~]$ regsvr32 /home/oli/Downloads/wineasio-1.1.0/build32/wineasio.dll
002c:fixme:winediag:LdrInitializeThunk wine-staging 7.20 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
regsvr32: DLL '/home/oli/Downloads/wineasio-1.1.0/build32/wineasio.dll' konnte n
icht geladen werden
[oli@DESKTOP-E83VF5L ~]$ regsvr32 /home/oli/Downloads/wineasio-1.1.0/build32/wineasio.dll.so
002c:fixme:winediag:LdrInitializeThunk wine-staging 7.20 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
regsvr32: DLL '/home/oli/Downloads/wineasio-1.1.0/build32/wineasio.dll.so' erfolgreich registriert

Um auszuschliessen, dass etwas mit dem compilen falsch läuft, ... hab gerade gesehen es gibt noch ein wineasio.dll repo für fedora: https://discussion.fedoraproject.org/t/patrickl-pipewire-wineasio/31890

theNizo commented 2 years ago

Glaub du meintest ...

Mein Fehler. Hast schon recht.

Spielt aber eigentlich keine Rolle denke ich

Hab grad was neues gelernt.

Wenn du die DLL registrieren wilst, ohne wineasio installiert zu haben (= die DLLs in die richtigen Verzeichnisse schieben), dann wird das so oder so nix. Wenn du wineasio jedoch schon installiert hast, dann erst kannst du theoretisch eine Kopie irgendwo liegen haben, die du nimmst (stellt sich mir zwar die Frage, wieso, wenn man eh weiß, wo die 100% richtige liegt, aber naja.)

An dieser Stelle versuche ich mal, höflich zu fragen, wie du drauf kommst, dass manche Schritte nur optional seien.

Die Datei existiert eigentlich gar nicht unter Fedora, es sei denn, man baut es selbst. [...] ob die dann nach /usr/lib/wine/i386-unix oder i386-windows kopiert wird, macht denke ich keinen Unterschied.

Die Dateien ins entsprechende Verzeichnis zu verschieben stellt die ganze Installation von wineasio auf deinem System dar.

Die Dateistruktur scheint die gleiche wie auf Arch zu sein. Probieren wir das mal.

Geh bitte in den Ordner, in dem das wineasio Projekt liegt. Der ordner, welcher build32 und build64 enthält. Öffne darin ein Terminal und führe folgende Befehle aus:

sudo cp build32/wineasio.dll /usr/lib32/wine/i386-windows/wineasio.dll
sudo cp build32/wineasio.dll.so /usr/lib32/wine/i386-unix/wineasio.dll.so
sudo cp build64/wineasio.dll /usr/lib64/wine/x86_64-windows/wineasio.dll
sudo cp build64/wineasio.dll.so /usr/lib64/wine/x86_64-unix/wineasio.dll.so

So, jetzt hast du wineasio installiert. Probier nochmal, die dll zu registrieren.

damnms commented 2 years ago

Musste den Befehl oben bisschen anpassen damit er bei mir läuft. Fedora hat die 32-bit Libs in /usr/lib/wine, nicht /usr/lib32/wine, denk da kocht jede Distri bisschen was eigenes.

Tatsache. Ich versteh es zwar nicht wieso es nun geklappt hat, weil... die "Installation" - ich mein... das ist nur ein kopieren in ein anderes Verzeichnis. Ich bin wine-Laie, aber für mich macht es gerade keinen Sinn.

[oli@DESKTOP-E83VF5L wineasio-1.1.0]$ regsvr32 wineasio.dll
002c:fixme:winediag:LdrInitializeThunk wine-staging 7.20 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
regsvr32: DLL 'wineasio.dll' konnte nicht geladen werden
[oli@DESKTOP-E83VF5L wineasio-1.1.0]$ regsvr32 /usr/lib/wine/i386-windows/wineasio.dll 
002c:fixme:winediag:LdrInitializeThunk wine-staging 7.20 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
regsvr32: DLL '/usr/lib/wine/i386-windows/wineasio.dll' erfolgreich registriert

Das Gute daran ist, das wird ein idiotensicheres Tutorial wenn ich das alles dokumentier :D

An dieser Stelle versuche ich mal, höflich zu fragen, wie du drauf kommst, dass manche Schritte nur optional seien.

Naja... ich kenne die internen Abläufe von wine nicht, aber wenn ich sowieso den ganzen Pfad der dll angeben muss, ging ich jetzt davon aus, dass die quasi "standalone" ist, und dann sollte doch eigentlich egal sein wo die liegt. So war das bis jetzt jedenfalls meine Annahme.

Ich mach mal weiter mit der VB exe und gib Rückmeldung, weis aber nicht ob ich heute noch dazu komme! Danke auf jeden Fall schonmal!

damnms commented 2 years ago

Habe mal wieder bisschen Zeit... also, ich hab folgendes versucht:


[oli@DESKTOP-E83VF5L VBAsioTest_1012]$ regsvr32 /usr/lib/wine/i386-windows/wineasio.dll 
002c:fixme:winediag:LdrInitializeThunk wine-staging 7.20 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
regsvr32: DLL '/usr/lib/wine/i386-windows/wineasio.dll' erfolgreich registriert
[oli@DESKTOP-E83VF5L VBAsioTest_1012]$ winecfg 

Die wineasio.dll wurde nicht nach $HOME/.wine kopiert und ist auch nicht via winecfg verfügbar Ich habe dann wine VBASIOTest32.exe aufgerufen, bin auf Devices->ASIO: WineASIO gegangen und erhalte einen Fehler:

[oli@DESKTOP-E83VF5L VBAsioTest_1012]$ wine VBASIOTest32.exe 
002c:fixme:winediag:LdrInitializeThunk wine-staging 7.20 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
010c:fixme:heap:RtlSetHeapInformation handle 00000000, info_class 1, info 00000000, size 0 stub!
006c:fixme:imm:ImeSetActiveContext (0000000000010026, 0): stub
006c:fixme:imm:ImmReleaseContext (0000000000010020, 0000000000010026): stub
010c:fixme:imm:ImeSetActiveContext (0001006C, 1): stub
010c:fixme:imm:ImmReleaseContext (00010066, 0001006C): stub
010c:err:ole:apartment_add_dll couldn't load in-process dll L"wineasio.dll"
010c:err:ole:com_get_class_object no class object {48d0c522-bfcc-45cc-8b84-17f25f33e6e8} could be created for context 0x1

Ich habe als prefix nichts angegeben, weil ich kill $HOME/.wine immer wieder, von demher passt das denke ich als test-prefix.

theNizo commented 2 years ago

Ich habe als prefix nichts angegeben, weil ich kill $HOME/.wine immer wieder, von demher passt das denke ich als test-prefix.

Meinetwegen


Oida...

Das VBASIOTest Dings hat einen Output. Der hätte mich interessiert. (Wird aber wohl gescheitert sein, so wie bei meinem replizierten Szenario.)

Die wineasio.dll wurde nicht nach $HOME/.wine kopiert und ist auch nicht via winecfg verfügbar

  1. Winecfg ist immer noch kein Indiz, ob's funktioniert hat, oder nicht.
  2. Damit ich mir sicher bin: find $HOME/.wine -name "wineasio.dll" gibt nichts aus? Das wäre dann ein Punkt, den ich nicht erlebt hätte und jetzt würde ich probieren, die Dateien nachdem du die DLL registriert hast an den entsprechenden Stellen einzufügen:
cp /usr/lib/wine/i386-windows/wineasio.dll $HOME/.wine/drive_c/windows/syswow64/wineasio.dll
cp /usr/lib64/wine/x86_64-windows/wineasio.dll $HOME/.wine/drive_c/windows/system32/wineasio.dll

(Nein, system32 und syswow64 ist nicht verdreht, die Befehle stimmen. Beschwer' dich bei Microsoft für die depperte Benennung.)

damnms commented 2 years ago

Nein, find $HOME/.wine -name "wineasio.dll" gibt nichts aus. Das meinte ich mit "wird nicht kopiert".

[oli@DESKTOP-E83VF5L ~]$ find $HOME/.wine -name "wineasio.dll"
[oli@DESKTOP-E83VF5L ~]$ cp /usr/lib/wine/i386-windows/wineasio.dll $HOME/.wine/drive_c/windows/syswow64/wineasio.dll
cp /usr/lib64/wine/x86_64-windows/wineasio.dll $HOME/.wine/drive_c/windows/system32/wineasio.dll
[oli@DESKTOP-E83VF5L ~]$ cd Downloads/VBAsioTest_1012/
[oli@DESKTOP-E83VF5L VBAsioTest_1012]$ wine VBASIOTest32.exe 
002c:fixme:winediag:LdrInitializeThunk wine-staging 7.20 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
010c:fixme:heap:RtlSetHeapInformation handle 00000000, info_class 1, info 00000000, size 0 stub!
0074:fixme:imm:ImeSetActiveContext (0000000000010026, 0): stub
0074:fixme:imm:ImmReleaseContext (0000000000010020, 0000000000010026): stub
010c:fixme:imm:ImeSetActiveContext (0001006C, 1): stub
010c:fixme:imm:ImmReleaseContext (00010066, 0001006C): stub
010c:err:virtual:try_map_free_area mmap() error Die Ressource ist zur Zeit nicht verfügbar, range 0x46b50000-0x46be0000, unix_prot 0x3.
010c:err:virtual:try_map_free_area mmap() error Die Ressource ist zur Zeit nicht verfügbar, range 0x62900000-0x62990000, unix_prot 0x3.
010c:err:virtual:try_map_free_area mmap() error Die Ressource ist zur Zeit nicht verfügbar, range 0x630b0000-0x63140000, unix_prot 0x3.
010c:err:virtual:try_map_free_area mmap() error Die Ressource ist zur Zeit nicht verfügbar, range 0x63ec0000-0x63f50000, unix_prot 0x3.
010c:err:virtual:try_map_free_area mmap() error Die Ressource ist zur Zeit nicht verfügbar, range 0x648d0000-0x64960000, unix_prot 0x3.
010c:err:virtual:try_map_free_area mmap() error Die Ressource ist zur Zeit nicht verfügbar, range 0x64ae0000-0x64b70000, unix_prot 0x3.
010c:err:virtual:try_map_free_area mmap() error Die Ressource ist zur Zeit nicht verfügbar, range 0x65360000-0x653f0000, unix_prot 0x3.
010c:err:virtual:try_map_free_area mmap() error Die Ressource ist zur Zeit nicht verfügbar, range 0x65910000-0x659a0000, unix_prot 0x3.
010c:err:virtual:try_map_free_area mmap() error Die Ressource ist zur Zeit nicht verfügbar, range 0x660f0000-0x66180000, unix_prot 0x3.
010c:err:virtual:try_map_free_area mmap() error Die Ressource ist zur Zeit nicht verfügbar, range 0x66660000-0x666f0000, unix_prot 0x3.
010c:err:virtual:try_map_free_area mmap() error Die Ressource ist zur Zeit nicht verfügbar, range 0x67560000-0x675f0000, unix_prot 0x3.
010c:err:virtual:try_map_free_area mmap() error Die Ressource ist zur Zeit nicht verfügbar, range 0x67ce0000-0x67d70000, unix_prot 0x3.
010c:err:virtual:try_map_free_area mmap() error Die Ressource ist zur Zeit nicht verfügbar, range 0x68610000-0x686a0000, unix_prot 0x3.
010c:err:virtual:try_map_free_area mmap() error Die Ressource ist zur Zeit nicht verfügbar, range 0x68d90000-0x68e20000, unix_prot 0x3.
010c:err:virtual:try_map_free_area mmap() error Die Ressource ist zur Zeit nicht verfügbar, range 0x69940000-0x699d0000, unix_prot 0x3.
010c:err:virtual:try_map_free_area mmap() error Die Ressource ist zur Zeit nicht verfügbar, range 0x6adb0000-0x6ae40000, unix_prot 0x3.
010c:err:virtual:try_map_free_area mmap() error Die Ressource ist zur Zeit nicht verfügbar, range 0x6b070000-0x6b100000, unix_prot 0x3.
010c:err:virtual:try_map_free_area mmap() error Die Ressource ist zur Zeit nicht verfügbar, range 0x6bc60000-0x6bcf0000, unix_prot 0x3.
010c:err:virtual:try_map_free_area mmap() error Die Ressource ist zur Zeit nicht verfügbar, range 0x6dcb0000-0x6dd40000, unix_prot 0x3.
010c:err:virtual:try_map_free_area mmap() error Die Ressource ist zur Zeit nicht verfügbar, range 0x6f3d0000-0x6f460000, unix_prot 0x3.
010c:err:virtual:try_map_free_area mmap() error Die Ressource ist zur Zeit nicht verfügbar, range 0x70e30000-0x70ec0000, unix_prot 0x3.
010c:err:virtual:try_map_free_area mmap() error Die Ressource ist zur Zeit nicht verfügbar, range 0x7b520000-0x7b5b0000, unix_prot 0x3.
010c:err:virtual:try_map_free_area mmap() error Die Ressource ist zur Zeit nicht verfügbar, range 0x7b760000-0x7b7f0000, unix_prot 0x3.
010c:err:virtual:try_map_free_area mmap() error Die Ressource ist zur Zeit nicht verfügbar, range 0x7bed0000-0x7bf60000, unix_prot 0x3.
010c:err:virtual:alloc_area_in_reserved_or_between_callback Could not map in reserved area.
li\Downloads\VBAsioTest_1012\VBASIOTest32.exe: dlls/ntdll/unix/virtual.c:1467: create_view: Zusicherung »!((UINT_PTR)base & page_mask)« nicht erfüllt.
wine: Assertion failed at address F7F4E559 (thread 010c), starting debugger...
theNizo commented 2 years ago

Das VBASIOTest Dings hat einen Output. Der hätte mich interessiert.

Screenshot_2022-11-10_15-24-54_792x713

Was wird hier bei dir angezeigt?

damnms commented 2 years ago

Nichts, siehe Log, der Prozess wurde gekilled - also auch das UI, sobald ich auf Devices->ASIO; WineASIO klicke das ist quasi der segfault unter wine

ich werd versuchen den patrickl zu kontaktieren, der bietet auch eine wineasio.dll an, leider kann ich die nicht installieren weil das repo irgendwie tot ist. meine derzeitige vermutung, aber nur vermutung, dass die dll "kaputt" ist, im sinne von: ist zwar vorhanden, aber was zusammengelinkt wurde, ist nicht wie erwartet

edit: wow verrückt, ich habs jetzt 3 mal gestartet (es ist 3 mal segfaultet), und nun kommt ein ton, wtf...?!

#0001 ------------------------------------------------------
#0002 (32Bits) TEST ASIO DEVICE: WineASIO
#0003 PREPARE DEVICE: sr:48000 Hz / buffer: 1024 smp / in: 16 / out: 16
#0004 Latency: in:1536 smp / buffer: 1024 smp / out: 1152 smp / total: 77.33 ms
#0005 Must Call ASIOOutputReady(): NO
#0006 -----------------------------------------------------------
#0007  ASIO Buffer 0 / Input / type:19 / ASIOSTFloat32LSB (in_1)
#0008  ASIO Buffer 1 / Input / type:19 / ASIOSTFloat32LSB (in_2)
#0009  ASIO Buffer 2 / Input / type:19 / ASIOSTFloat32LSB (in_3)
#0010  ASIO Buffer 3 / Input / type:19 / ASIOSTFloat32LSB (in_4)
#0011  ASIO Buffer 4 / Input / type:19 / ASIOSTFloat32LSB (in_5)
#0012  ASIO Buffer 5 / Input / type:19 / ASIOSTFloat32LSB (in_6)
#0013  ASIO Buffer 6 / Input / type:19 / ASIOSTFloat32LSB (in_7)
#0014  ASIO Buffer 7 / Input / type:19 / ASIOSTFloat32LSB (in_8)
#0015  ASIO Buffer 8 / Input / type:19 / ASIOSTFloat32LSB (in_9)
#0016  ASIO Buffer 9 / Input / type:19 / ASIOSTFloat32LSB (in_10)
#0017  ASIO Buffer 10 / Input / type:19 / ASIOSTFloat32LSB (in_11)
#0018  ASIO Buffer 11 / Input / type:19 / ASIOSTFloat32LSB (in_12)
#0019  ASIO Buffer 12 / Input / type:19 / ASIOSTFloat32LSB (in_13)
#0020  ASIO Buffer 13 / Input / type:19 / ASIOSTFloat32LSB (in_14)
#0021  ASIO Buffer 14 / Input / type:19 / ASIOSTFloat32LSB (in_15)
#0022  ASIO Buffer 15 / Input / type:19 / ASIOSTFloat32LSB (in_16)
#0023  ASIO Buffer 16 / Output / type:19 / ASIOSTFloat32LSB (out_1)
#0024  ASIO Buffer 17 / Output / type:19 / ASIOSTFloat32LSB (out_2)
#0025  ASIO Buffer 18 / Output / type:19 / ASIOSTFloat32LSB (out_3)
#0026  ASIO Buffer 19 / Output / type:19 / ASIOSTFloat32LSB (out_4)
#0027  ASIO Buffer 20 / Output / type:19 / ASIOSTFloat32LSB (out_5)
#0028  ASIO Buffer 21 / Output / type:19 / ASIOSTFloat32LSB (out_6)
#0029  ASIO Buffer 22 / Output / type:19 / ASIOSTFloat32LSB (out_7)
#0030  ASIO Buffer 23 / Output / type:19 / ASIOSTFloat32LSB (out_8)
#0031  ASIO Buffer 24 / Output / type:19 / ASIOSTFloat32LSB (out_9)
#0032  ASIO Buffer 25 / Output / type:19 / ASIOSTFloat32LSB (out_10)
#0033  ASIO Buffer 26 / Output / type:19 / ASIOSTFloat32LSB (out_11)
#0034  ASIO Buffer 27 / Output / type:19 / ASIOSTFloat32LSB (out_12)
#0035  ASIO Buffer 28 / Output / type:19 / ASIOSTFloat32LSB (out_13)
#0036  ASIO Buffer 29 / Output / type:19 / ASIOSTFloat32LSB (out_14)
#0037  ASIO Buffer 30 / Output / type:19 / ASIOSTFloat32LSB (out_15)
#0038  ASIO Buffer 31 / Output / type:19 / ASIOSTFloat32LSB (out_16)
#0039 -----------------------------------------------------------
#0040           Performance Counter Frequency: +10.000.000
#0041      Performance Counter for one buffer: +213.333 (21.3 ms)
#0042             Performance Counter for 10%: +21.333
#0043 -----------------------------------------------------------
#0044 GENERATE SINUS: 440 Hz -10 dBfs
#0045 DSP LOAD: nothing
#0046    INFO: callback thread priority: 0
#0047 START ASIO DEVICE: Running

und nun crashed es wieder dauernd :( irgendwas ist da absolut kaputt

theNizo commented 2 years ago

Aso, es hat ursprünglich gar nicht funktioniert. Okay.

und nun kommt ein ton

Es rennt.

irgendwas ist da absolut kaputt

Wahrscheinlich schon und jetzt weiß ich nicht mehr weiter.

damnms commented 2 years ago

Ja ich glaub das ist jetzt schon hardcore technisch, ich werd mal im irc bei den winehq Leuten nachfragen und ggf. bei wineasio, wenn ich es hinkriege, werd ich auf jeden Fall berichten - trotzdem vielen Dank für deine Zeit und Mühe ;)

theNizo commented 1 year ago

Guide existiert jetzt. Darf ich ein "wontfix" hier anfügen?

damnms commented 1 year ago

klar!