Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[SOLVED] JACK protocol mismatch (8 vs 9)
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Multimedia
View previous topic :: View next topic  
Author Message
Lynix48
n00b
n00b


Joined: 14 Jun 2020
Posts: 36

PostPosted: Fri Sep 29, 2023 7:32 pm    Post subject: [SOLVED] JACK protocol mismatch (8 vs 9) Reply with quote

Hello,
I've installed jack2 version 1.9.22 via portage.
After that, I manually compiled wineasio (https://github.com/wineasio/wineasio) into a 32bit lib.

Once I started the jackd using qjackctl, I tried to use the wine application that uses wineasio.
Unfortunately, the jack server seems to reject any communication and throws the error:
JACK protocol mismatch (8 vs 9) where the 8 is referring to the clients jack protocol version and the 9 to the servers.

Jacks protocol version was bumped from 8 to 9 when version 1.9.19 was released (https://jackaudio.org/news/2021/07/16/jack2-v1919-release.html)

I thought that this meant that the library used to compile jackd and the one that wineasio uses must be different versions.

Code:

ldd wineasio.dll.so:
 linux-gate.so.1 (0xf7f75000)
 libjack.so.0 => /usr/lib/libjack.so.0 (0xf7ecb000)
 libm.so.6 => /lib/libm.so.6 (0xf7dfd000)
 libc.so.6 => /lib/libc.so.6 (0xf7a00000)
 libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/13/32/libstdc++.so.6 (0xf7600000)
 libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/13/32/libgcc_s.so.1 (0xf7dd4000)
  /lib/ld-linux.so.2 (0xf7f77000)

Code:

ldd /usr/bin/jackd:
linux-vdso.so.1 (0x00007fff281f1000)
libjackserver.so.0 => /usr/lib64/libjackserver.so.0 (0x00007fa8d1d39000)
libdbus-1.so.3 => /usr/lib64/libdbus-1.so.3 (0x00007fa8d1cec000)
libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/13/libstdc++.so.6 (0x00007fa8d1a00000)
libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/13/libgcc_s.so.1 (0x00007fa8d1cc8000)
libc.so.6 => /lib64/libc.so.6 (0x00007fa8d182e000)
libm.so.6 => /lib64/libm.so.6 (0x00007fa8d1756000)
/lib64/ld-linux-x86-64.so.2 (0x00007fa8d1e11000)

Inside `/usr/lib/` there is only one libjack.so and one libjackserver.so. The same is true for `/usr/lib64/`.
I can check the ownership of the so files using qfile:
Code:

qfile /usr/lib/libjack.so.0:
media-sound/jack2-1.9.22: /usr/lib/libjack.so.0 -> libjack.so.0.1.0

Code:

qfile -v /usr/lib64/libjackserver.so.0:
media-sound/jack2-1.9.22: /usr/lib64/libjackserver.so.0 -> libjackserver.so.0.1.0

As you can see, the librarys that are getting used are both provided by jack2-1.9.22 which should use jack protocol version 9.

I uninstalled jack2 to see if the makefile of wineasio was finding any other jacklib's, but this was not the case. When jack2 is uninstalled the compilation fails. (The makefile is using pkg-config --libs jack)

It appears to be using the correct libraries. The only difference is that the client is using the 32bit jack lib and the server the 64bit jack lib but this shouldn't change the jack protocol version.


I appreciate any ideas on what I could be doing wrong.


Last edited by Lynix48 on Mon Oct 09, 2023 10:38 am; edited 1 time in total
Back to top
View user's profile Send private message
audiodef
Watchman
Watchman


Joined: 06 Jul 2005
Posts: 6639
Location: The soundosphere

PostPosted: Sat Sep 30, 2023 9:26 pm    Post subject: Reply with quote

As far as I know, JACK can't be used with WINE. I know this was a flat rule years ago, but since I have never followed up on that, maybe things are changing.

Stop by #jack on Libera to ask this question, you might get a better answer there... oh, I see you've done just that. I'm curious about this, so I'll be waiting to see if someone there has an answer.
_________________
decibel Linux: https://decibellinux.org
Github: https://github.com/Gentoo-Music-and-Audio-Technology
Facebook: https://www.facebook.com/decibellinux
Discord: https://discord.gg/73XV24dNPN
Back to top
View user's profile Send private message
Lynix48
n00b
n00b


Joined: 14 Jun 2020
Posts: 36

PostPosted: Mon Oct 02, 2023 1:36 pm    Post subject: Reply with quote

audiodef wrote:
As far as I know, JACK can't be used with WINE. I know this was a flat rule years ago, but since I have never followed up on that, maybe things are changing.

Stop by #jack on Libera to ask this question, you might get a better answer there... oh, I see you've done just that. I'm curious about this, so I'll be waiting to see if someone there has an answer.


It's working when i compile an old jack2 version (and use jackd), that still uses protocol version 8, myself.
I'm not very satisfied with this approach since this means that i can't use portage to install software like qjackctl, guitarix or any other programm that depends on jack2 since the jack2 build page states:
Quote:

However, it is vitally important that you NEVER EVER have two versions of JACK installed on a machine at the same time. If you have an existing installation of JACK (for example, from a Linux distribution) then you must either
* remove it (this may not be possible)
* install the source version “on top” of the existing one Failure to do this will more or less guarantee that JACK will no longer work on your machine.

I guess i could try to install it "on top" of the existing one but i'd prefer to have the newest jack version anyways.

Unfortunately my irc client closed a few hours after asking my question. Is there any way to view the #jack history so that i can see if someone responed at a different time?

There are a few more things that i will try today, which might give more information on whats wrong.
Back to top
View user's profile Send private message
Lynix48
n00b
n00b


Joined: 14 Jun 2020
Posts: 36

PostPosted: Mon Oct 09, 2023 10:37 am    Post subject: Reply with quote

Alright so i got the issues resolved now.

It turns out that the steam runtime (which was used to run the wine application that used wineasio) overrides the system libraries.
The jacklib provided by the steam runtime was compiled for an older jack version than the one on my system.

This can be solved by either running the application outside of the steam runtime environment and setting WINEDLLOVERRIDES="wineasio=n,b;"
or by replacing the libraries in the steam runtime path (not without risk).
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Multimedia All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum