theNizo / linux_rocksmith

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

Fedora 39 register wineasio additional steps #40

Open akamensky opened 10 months ago

akamensky commented 10 months ago

During the "install wineasio" steps:

  1. After make 32 && make 64 I needed to cd gui && sudo make install to get wineasio-settings gui installed
  2. After I copied libraries to all locations I needed to env WINEPREFIX=$STEAMLIBRARY/steamapps/compatdata/221680/pfx wineasio-settings -> OK (which updates wineprefix settings). Optionally can also edit number of devices in the driver device (I changed from default 16 -> 2 for simplicity). Without this step Steam installation of wine would not register the library
  3. After above all steps completed and I ran wineasio-register the library would still not show up, I needed to run env WINEPREFIX=$STEAMLIBRARY/steamapps/compatdata/221680/pfx regsvr32 wineasio.dll to actually register it, after which everything works.
  4. preload points to non-existent library (/usr/lib/libjack.so is for non-pipewire jack installation), correct command that worked for me was LD_PRELOAD=/usr/lib/pipewire-0.3/jack/libjack.so PIPEWIRE_LATENCY=256/48000 %command%
theNizo commented 10 months ago

Just to confirm, this means that running regsvr32 and not running wineasio-settings does not work.

Regarding step 4, I will adjust it.

akamensky commented 10 months ago

Just to confirm, this means that running regsvr32 and not running wineasio-settings does not work.

Running wineasio-register did not work. To successfully register library I needed to first run wineasio-settings (and close it with OK button, which does change something in the wineprefix, didn't check what it changed), and then run regsvr32.

I generally was fighting with the setup for 2 days, using settings Python script seems to be the key on recent Fedora. Without it even VB test wasn't working (it wasn't detecting any devices).

theNizo commented 10 months ago

Alright.

theNizo commented 4 months ago

I finally got to test the setup on Fedora 40 again.

wineasio-register as well as regsvr32 fails consistently. (Hope I did everything according to guide. At least the paths aren't entirely correct.)

theNizo commented 2 weeks ago

Okay, I really do not get it.

(bit of a rant incoming, but an honest request.)

Can you (or anyone else) please give me a step to step guide on how to even set up wineasio on the default wine prefix (non-Proton)?

On Arch Linux, I can just do

rm -rf ~/wine
./wineasio-register

and everything works fine.

On Debian, I can do the same.

On a freshly install of Fedora 41 + latest updates, it does not. Everything else I try does not.

What I tried so far: I was about to confirm this by running each again just to be sure, but suddenly my wine broke because... I was using or something. I didn't even do anything. I would try and get it to run again, but since I'm developing a passion for hating Fedora trying this, I'm not doing that myself. 1: Just running `./wineasio-register` 2: Running `rm -rf ~/.wine && ./wineasio-register` 3: ``` rm -rf ~/.wine wineasio-settings # press Ok to close again wineasio-register ``` 4: ``` rm -rf ~/.wine winecfg cp build32/wineasio32.dll ~/.wine/drive_c/windows/system32 cp build32/wineasio32.dll ~/.wine/drive_c/windows/syswow64 cp build64/wineasio64.dll ~/.wine/drive_c/windows/system32 wineasio-settings # press Ok to close again wineasio-register ``` 5: ``` rm -rf ~/.wine wineasio-settings # press Ok to close again regsvr32 wineasio.dll ``` 6: (manual copy bc maybe that's what @akamensky meant) ``` rm -rf ~/.wine winecfg cp build32/wineasio32.dll ~/.wine/drive_c/windows/system32 cp build32/wineasio32.dll ~/.wine/drive_c/windows/syswow64 cp build64/wineasio64.dll ~/.wine/drive_c/windows/system32 wineasio-settings # press Ok to close again regsvr32 wineasio.dll ``` 7: ``` rm -rf ~/.wine wineasio-settings # press Ok to close again regsvr32 wineasio.dll ``` 8: ``` rm -rf ~/.wine winecfg cp build32/wineasio32.dll ~/.wine/drive_c/windows/system32 cp build32/wineasio32.dll ~/.wine/drive_c/windows/syswow64 cp build64/wineasio64.dll ~/.wine/drive_c/windows/system32 wineasio-settings # press Ok to close again regsvr32 wineasio.dll ```

Any case that I tried resulted in wineasio not working.

Nothing I have touched in this distro shitshow until now works properly!

d0nk0tr0n commented 4 days ago

I was able to get this working on Fedora 41, thanks for the guide! The issue is that libjack.so isn't in /usr/lib. I ran ldd against /usr/lib/wine/i386-unix/wineasio32.dll.so then created the proper symlink. When I ran wineasio-register I no longer had any errors and was able to get this working. I think I also had to change the %command% path also at some point. Snippets below for reference:

$ ldd /usr/lib/wine/i386-unix/wineasio32.dll.so 
        linux-gate.so.1 (0xf7f9f000)
        libjack.so.0 => not found
        libm.so.6 => /lib/libm.so.6 (0xf7e7e000)
        libc.so.6 => /lib/libc.so.6 (0xf7c7f000)
        /lib/ld-linux.so.2 (0xf7fa1000)

$ sudo ln -s /usr/lib/pipewire-0.3/jack/libjack.so.0 /usr/lib/libjack.so.0

$ ldd /usr/lib/wine/i386-unix/wineasio32.dll.so 
        linux-gate.so.1 (0xf7fba000)
        libjack.so.0 => /lib/libjack.so.0 (0xf7f39000)
        libm.so.6 => /lib/libm.so.6 (0xf7e61000)
        libc.so.6 => /lib/libc.so.6 (0xf7c62000)
        libpipewire-0.3.so.0 => /lib/libpipewire-0.3.so.0 (0xf7bae000)
        /lib/ld-linux.so.2 (0xf7fbc000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xf7b78000)

Do the regserver / wineasio-register steps after linking the libjack.so and now it will work. Thanks again, hope this helps.

theNizo commented 3 days ago

If I create the symlink, I can only build wineasio with the lines in the makefile that I removed in cd176c9.

Yes, that works,

THANK YOU!

The perfect way would be to point it to the correct location in the first place, but since I barely understand anything about makefiles, that's good enough for me.

theNizo commented 3 days ago

And the pipewire-jack guide is working. Back to the original issue @akamensky

Referencing the list from the filsn message here.

Point number 4 is fixed.

Register works on my system without step 2 and 3.