theNizo / linux_rocksmith

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

JACK will not work with Rocksmith through Wine/Proton: "Unknown request" #4

Closed charlydelta closed 2 years ago

charlydelta commented 2 years ago

Hi and thank you so much for this summary.

I followed your guide for Debian (I am using Debian 11) using various versions of Proton (from 5.13.* to Experimental), however I always end up with the same error. I don't have any issues with REAPER with JACK however, everything works as expected and I can hear sound.

I thus wanted to ask whether you experienced something similar. Every time I try to start Rocksmith from within Steam, I get this error message and I will not be able to hear anything in Rocksmith, nor will my guitar be detected:

image

In QJackCtl I can see the following errors in the log pane:

Tue Apr  5 21:20:35 2022: Disconnecting 'REAPER:out1' from 'system:playback_1'
Tue Apr  5 21:20:35 2022: Disconnecting 'REAPER:out2' from 'system:playback_2'
Tue Apr  5 21:20:35 2022: Disconnecting 'system:capture_1' from 'REAPER:in1'
Tue Apr  5 21:20:35 2022: Client 'REAPER' with PID 74307 is out             # TO HERE I DISCONNECTED REAPER
Tue Apr  5 21:21:15 2022: ERROR: CheckSize error size = 81 Size() = 85      # FROM HERE I STARTED ROCKSMITH
Tue Apr  5 21:21:15 2022: ERROR: CheckRead error
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 1801678674
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 1953066355
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 825242216
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 52
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 2048
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 256
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 4294967040
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 511
Tue Apr  5 21:21:15 2022: ERROR: Cannot read socket fd = 85 err = No such file or directory
Tue Apr  5 21:21:15 2022: ERROR: CheckSize error size = 81 Size() = 85
Tue Apr  5 21:21:15 2022: ERROR: CheckRead error
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 1801678674
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 1953066355
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 825242216
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 52
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 2048
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 256
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 4294967040
Tue Apr  5 21:21:15 2022: ERROR: Unknown request 511
Tue Apr  5 21:21:15 2022: ERROR: Cannot read socket fd = 85 err = No such file or directory
Tue Apr  5 21:21:16 2022: ERROR: CheckSize error size = 81 Size() = 85
Tue Apr  5 21:21:16 2022: ERROR: CheckRead error
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 1801678674
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 1953066355
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 825242216
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 52
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 2048
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 256
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 4294967040
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 511
Tue Apr  5 21:21:16 2022: ERROR: Cannot read socket fd = 85 err = No such file or directory
Tue Apr  5 21:21:16 2022: ERROR: CheckSize error size = 81 Size() = 85
Tue Apr  5 21:21:16 2022: ERROR: CheckRead error
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 1801678674
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 1953066355
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 825242216
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 52
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 0
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 2048
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 256
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 4294967040
Tue Apr  5 21:21:16 2022: ERROR: Unknown request 511
Tue Apr  5 21:21:16 2022: ERROR: Cannot read socket fd = 85 err = No such file or directory

My configuration looks like this:

QJackCtl Graph:

image

QJackCtl Setup - Settings

image

QJackCtl Setup - Misc

image

Cadence - Tweaks

image

More Info

I would really appreciate any help :)

Thanks for reading and thanks again for this comprehensive guides.

theNizo commented 2 years ago

Hey there.

I thus wanted to ask whether you experienced something similar. Every time I try to start Rocksmith from within Steam, I get this error message

It means that RS_ASIO couldn't find WineASIO, which means that something in the chain from JACK to RS_ASIO is wrong. I know that this hardly narrows it down.

Assuming that you've set "WineASIO" in the correct places in the RS_ASIO.ini, we can remove that from the possible field of error.


Just judging by those linked issues, it sounds like you should try and start the game via a command, like you have to do on Arch-based distros (this is also what I first guessed). Please start JACK and try to run a command in this structure, before trying anything else:

WINEPREFIX=$STEAMLIBRARY/steamapps/compatdata/221680/pfx $PROTON/bin/wine $STEAMLIBRARY/steamapps/common/Rocksmith2014/Rocksmith2014.exe

(In the past, you didn't need this on Debian-based distros, but it might have changed)


(btw, you sent me the same screenshot of qjackctl twice)

Here's what I would guess for now:

Something else: What devices have you chosen in qjackctl? Could you send me a screenshot of the "Advanced" tab?

charlydelta commented 2 years ago

Update

Everything works now, thank you very much!

I just had to start it from the command line instead of steam. Additionally, I had to change the settings to 256 frames/period and 4 periods/buffer in order to avoid distortion. Also (probably) I had to set it to "force 16 bit", but I am not sure anymore if this really solved the issue or was just a coincidence.

Old post

Hello and thank you so much for the quick and detailed help! First of all, I was able to get sound (somewhat) working with your help, but I will still address any of the points you rose:

Assuming that you've set "WineASIO" in the correct places in the RS_ASIO.ini, we can remove that from the possible field of error.

Yes I set everything accordingly. WneASIO seems to be found, but there are still some errors in the corresponding log file. Here they are for reference (I don't know if this is intended):

RS_ASIO.ini file contents ``` [Config] EnableWasapiOutputs=0 EnableWasapiInputs=0 EnableAsio=1 [Asio] ; available buffer size modes: ; driver - respect buffer size setting set in the driver ; host - use a buffer size as close as possible as that requested by the host application ; custom - use the buffer size specified in CustomBufferSize field BufferSizeMode=host CustomBufferSize= [Asio.Output] Driver=WineASIO BaseChannel=0 AltBaseChannel= EnableSoftwareEndpointVolumeControl=1 EnableSoftwareMasterVolumeControl=1 SoftwareMasterVolumePercent=100 [Asio.Input.0] Driver=WineASIO Channel=0 EnableSoftwareEndpointVolumeControl=1 EnableSoftwareMasterVolumeControl=1 SoftwareMasterVolumePercent=100 ;[Asio.Input.1] ;Driver= ;Channel=1 ;EnableSoftwareEndpointVolumeControl=1 ;EnableSoftwareMasterVolumeControl=1 ;SoftwareMasterVolumePercent=100 ; ;[Asio.Input.Mic] ;Driver= ;Channel=1 ;EnableSoftwareEndpointVolumeControl=1 ;EnableSoftwareMasterVolumeControl=1 ;SoftwareMasterVolumePercent=100 ```
RS_ASIO-log.txt file contents ``` 0.000 [INFO] - Wrapper DLL loaded (v0.5.7) 0.000 [INFO] PatchOriginalCode 0.410 [INFO] Patching CoCreateInstance 0.410 [INFO] Patch_CallAbsoluteAddress - num locations: 5 0.410 [INFO] Patching call at 01C5AA85 0.410 [INFO] Patching call at 01F03B6E 0.410 [INFO] Patching call at 01F5C681 0.410 [INFO] Patching call at 01FAEF75 0.410 [INFO] Patching call at 01FAF40D 0.410 [INFO] Patching PortAudio MarshalStreamComPointers 0.410 [INFO] Patch_CallRelativeAddress - num locations: 1 0.410 [INFO] Patching call at 01F03059 0.410 [INFO] Patching PortAudio UnmarshalStreamComPointers 0.410 [INFO] Patch_CallRelativeAddress - num locations: 1 0.410 [INFO] Patching call at 01F0310E 0.411 [INFO] Patched_CoCreateInstance called: IID_IMMDeviceEnumerator 0.411 [INFO] DebugDeviceEnum::GetDefaultAudioEndpoint - dataFlow: eRender - role: eMultimedia 0.411 [INFO] RSAggregatorDeviceEnum::UpdateAvailableDevices 0.411 [INFO] AsioHelpers::FindDrivers 0.415 [INFO] WineASIO 0.415 [INFO] RSAsioDeviceEnum::UpdateAvailableDevices - output requesting ASIO driver: WineASIO 0.415 [INFO] Creating AsioSharedHost - dll: wineasio.dll 0.444 [ERROR] ASIO Error: WineASIO does not return error messages 0.444 [INFO] Destroying AsioSharedHost - dll: wineasio.dll 0.444 [ERROR] RSAsioDeviceEnum::UpdateAvailableDevices - failed. 0.444 [INFO] RSAsioDeviceEnum::UpdateAvailableDevices - input[0] requesting ASIO driver: WineASIO 0.444 [INFO] Creating AsioSharedHost - dll: wineasio.dll 0.449 [ERROR] ASIO Error: WineASIO does not return error messages 0.449 [INFO] Destroying AsioSharedHost - dll: wineasio.dll 0.449 [ERROR] RSAsioDeviceEnum::UpdateAvailableDevices - failed. 0.449 [INFO] DebugDeviceEnum::UpdateAvailableDevices - 0 render devices, 0 capture devices 0.449 [INFO] hr: 80070490 0.449 [INFO] *ppEndpoint: 00000000 0.449 [INFO] DebugDeviceEnum::GetDefaultAudioEndpoint - dataFlow: eCapture - role: eMultimedia 0.449 [INFO] hr: 80070490 0.449 [INFO] *ppEndpoint: 00000000 0.449 [INFO] DebugDeviceEnum::EnumAudioEndpoints - dataFlow: eAll - dwStateMask: 1 0.449 [INFO] hr: S_OK 0.449 [INFO] *ppDevices: 1169C170 1.573 [INFO] Patched_CoCreateInstance called: IID_IMMDeviceEnumerator 1.573 [INFO] DebugDeviceEnum::GetDefaultAudioEndpoint - dataFlow: eRender - role: eMultimedia 1.573 [INFO] RSAggregatorDeviceEnum::UpdateAvailableDevices 1.573 [INFO] AsioHelpers::FindDrivers 1.573 [INFO] WineASIO 1.573 [INFO] RSAsioDeviceEnum::UpdateAvailableDevices - output requesting ASIO driver: WineASIO 1.573 [INFO] Creating AsioSharedHost - dll: wineasio.dll 1.579 [ERROR] ASIO Error: WineASIO does not return error messages 1.579 [INFO] Destroying AsioSharedHost - dll: wineasio.dll 1.580 [ERROR] RSAsioDeviceEnum::UpdateAvailableDevices - failed. 1.580 [INFO] RSAsioDeviceEnum::UpdateAvailableDevices - input[0] requesting ASIO driver: WineASIO 1.580 [INFO] Creating AsioSharedHost - dll: wineasio.dll 1.585 [ERROR] ASIO Error: WineASIO does not return error messages 1.585 [INFO] Destroying AsioSharedHost - dll: wineasio.dll 1.585 [ERROR] RSAsioDeviceEnum::UpdateAvailableDevices - failed. 1.585 [INFO] DebugDeviceEnum::UpdateAvailableDevices - 0 render devices, 0 capture devices 1.585 [INFO] hr: 80070490 1.585 [INFO] *ppEndpoint: 00000000 1.585 [INFO] DebugDeviceEnum::GetDefaultAudioEndpoint - dataFlow: eCapture - role: eMultimedia 1.585 [INFO] hr: 80070490 1.585 [INFO] *ppEndpoint: 00000000 1.585 [INFO] DebugDeviceEnum::EnumAudioEndpoints - dataFlow: eAll - dwStateMask: 1 1.585 [INFO] hr: S_OK 1.585 [INFO] *ppDevices: 1169FEF0 1.586 [INFO] DebugDeviceEnum::RegisterEndpointNotificationCallback 3.120 [INFO] DebugDeviceEnum::UnregisterEndpointNotificationCallback 3.289 [INFO] - Wrapper DLL unloaded ```

Just judging by those linked issues, it sounds like you should try and start the game via a command, like you have to do on Arch-based distros (this is also what I first guessed). Please start JACK and try to run a command in this structure, before trying anything else:

WINEPREFIX=$STEAMLIBRARY/steamapps/compatdata/221680/pfx $PROTON/bin/wine $STEAMLIBRARY/steamapps/common/Rocksmith2014/Rocksmith2014.exe

(In the past, you didn't need this on Debian-based distros, but it might have changed)

Indeed this helps! It fires up, but is heavily distorted. But at least I can now investigate further. Thank you so much! Probably I need to increase the buffer even further. Edit: Even with a buffer size of 1024 it doesn't seem to be any better... hmm...

(btw, you sent me the same screenshot of qjackctl twice)

Oh my bad! I fixed it in the OP

You used screenshots from qjackctl. You also start JACK from there, don't you?

Yes I started JACK from there.

Does Cadence say that you have realtime privileges? (in the main window)

Yes it does, here is a screenshot of Cadence:

image

You used the right installation of the .dlls and .sos according to the Proton version, right?

I am not entirely sure what you mean by that, but I followed your guide exactly. I.e. I did

cp /usr/lib/i386-linux-gnu/wine/wineasio.dll "$PROTON/lib/wine/i386-windows/wineasio.dll"
cp /usr/lib/i386-linux-gnu/wine/wineasio.dll.so "$PROTON/lib/wine/i386-unix/wineasio.dll.so"
cp /usr/lib/x86_64-linux-gnu/wine/wineasio.dll "$PROTON/lib64/wine/x86_64-windows/wineasio.dll"
cp /usr/lib/x86_64-linux-gnu/wine/wineasio.dll.so "$PROTON/lib64/wine/x86_64-unix/wineasio.dll.so"

as suggested here.

Something else: What devices have you chosen in qjackctl? Could you send me a screenshot of the "Advanced" tab?

Sure! Here it is:

image

"Adapter" here is the Rocksmith Real Tone Adapter. As for the output, the default device works for me, which is my headset. As I said, this works perfectly fine for REAPER.

Again, thank you very much for your quick and expedient help!

theNizo commented 2 years ago

Looking at the update, I don't think I have to address the troubleshooting part anymore than saying that you did everything correctly.


I was able to get sound (somewhat) working with your help

So, before I tried this, everyone started the game from Steam. I noticed that certain steps were not needed and cut them out of my guides, but now that this isn't even default behavior on debian-based distros, I might take another look at the dismissed steps.

You used the right installation of the .dlls and .sos according to the Proton version, right?

I am not entirely sure what you mean by that, but I followed your guide exactly. I.e. I did

I see, there's something missing in the debian guide that the arch guide has. I'll fix it.

Probably I need to increase the buffer even further. Edit: Even with a buffer size of 1024 it doesn't seem to be any better... hmm...

That's good info. Someone else reported having this, see my original guide. This person set the CPU governor to performance, which is something you can do, but shouldn't keep as default.

Some tests for this would be nice to mention this in the guide. Whoever reads this, feel free to test yourself and send me the results, otherwise I'll do it some time in the future.


If there's anything else you have, go ahaed and ask. Otherwise, if there's no interaction from your side, I'll close this issue in 2 days.

charlydelta commented 2 years ago

Hi theNizo,

thanks for the response!

I see, there's something missing in the debian guide that the arch guide has. I'll fix it.

I will also take a look at this guide then, thanks.

That's good info. Someone else reported having this, see my original guide. This person set the CPU governor to performance, which is something you can do, but shouldn't keep as default.

I read this guide and also stumbled across this. It didn't change anything for me. What solved it was either setting periods/buffer to 4 instead of 3 or fixing it to 16 bit. I can try later today or tomorrow.

Thanks again for your help. I will then just close this issue while I am at it :)