From: Sawyer B. <saw...@gm...> - 2021-11-02 23:48:59
|
Hi All, I'm trying to get linuxsampler running on top of pipewire using pipewire-jack. When creating a channel in qsampler I get the following output from linuxsampler: ``` > LinuxSampler 2.2.0 > Copyright (C) 2003,2004 by Benno Senoner and Christian Schoenebeck > Copyright (C) 2005-2021 Christian Schoenebeck > Binary built: Jun 3 2021 > Detected features: MMX SSE SSE2 > Automatic Stacktrace: Off > Creating Sampler...OK > Registered sampler engines: 'GIG','SF2','SFZ' > Registered MIDI input drivers: ALSA,JACK > Registered audio output drivers: ALSA,JACK > Loading instrument editor plugins...OK > Registered instrument editors: 'gigedit' > Registered internal effect systems: LADSPA > Registered internal effects: 467 > Starting LSCP network server (0.0.0.0:8888)...Thread: WARNING, can't > mlockall() memory! > OK > LinuxSampler initialization completed. :-) > > LSCPServer: Client connection established on socket:8. > LSCPServer: Client connection established on socket:9. > Cannot connect to server socket err = No such file or directory > Cannot connect to server request channel > Automatic start of JACK server is disabled at configure time > jack server is not running or cannot be started > JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping > unlock > JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping > unlock > Cannot connect to server socket err = No such file or directory > Cannot connect to server request channel > Automatic start of JACK server is disabled at configure time > jack server is not running or cannot be started > JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping > unlock > JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping > unlock > Seems Jack server is not running. > Thread: WARNING, can't assign realtime scheduling to thread! > Thread: WARNING, can't mlockall() memory! > No audio output device connected to sampler channel ``` Some other jack applications (ardour, qjackctl) all seem to happily run here so I'm pretty sure pipewire-jack is at least running properly. Are there any workarounds known of for this? Thanks in advance for any info, let me know if any further output would be helpful. --Sawyer |
From: Christian S. <sch...@li...> - 2021-11-04 14:59:09
|
On Mittwoch, 3. November 2021 00:48:40 CET Sawyer Bergeron wrote: > Hi All, > > I'm trying to get linuxsampler running on top of pipewire using > pipewire-jack. When creating a channel in qsampler I get the following > output from linuxsampler: > > ``` > > > LinuxSampler 2.2.0 > > Copyright (C) 2003,2004 by Benno Senoner and Christian Schoenebeck > > Copyright (C) 2005-2021 Christian Schoenebeck > > Binary built: Jun 3 2021 > > Detected features: MMX SSE SSE2 > > Automatic Stacktrace: Off > > Creating Sampler...OK > > Registered sampler engines: 'GIG','SF2','SFZ' > > Registered MIDI input drivers: ALSA,JACK > > Registered audio output drivers: ALSA,JACK > > Loading instrument editor plugins...OK > > Registered instrument editors: 'gigedit' > > Registered internal effect systems: LADSPA > > Registered internal effects: 467 > > Starting LSCP network server (0.0.0.0:8888)...Thread: WARNING, can't > > mlockall() memory! > > OK > > LinuxSampler initialization completed. :-) > > > > LSCPServer: Client connection established on socket:8. > > LSCPServer: Client connection established on socket:9. > > Cannot connect to server socket err = No such file or directory > > Cannot connect to server request channel > > Automatic start of JACK server is disabled at configure time > > jack server is not running or cannot be started > > JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping > > unlock > > JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping > > unlock > > Cannot connect to server socket err = No such file or directory > > Cannot connect to server request channel > > Automatic start of JACK server is disabled at configure time > > jack server is not running or cannot be started > > JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping > > unlock > > JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping > > unlock > > Seems Jack server is not running. > > Thread: WARNING, can't assign realtime scheduling to thread! > > Thread: WARNING, can't mlockall() memory! > > No audio output device connected to sampler channel > > ``` > > Some other jack applications (ardour, qjackctl) all seem to happily run > here so I'm pretty sure pipewire-jack is at least running properly. Are > there any workarounds known of for this? > > Thanks in advance for any info, let me know if any further output would be > helpful. > > --Sawyer Looks like this is about this topic: https://bb.linuxsampler.org/viewtopic.php?f=6&t=19964 So you are saying it does work with other JACK client apps, but it does not work with LS being a JACK client. Please check against which precise JACK libs those apps are linked to on your system, which you can easily do by using 'ldd'. Because from what I can see, it looks like the working ones are compiled against a pipewire jack client lib, whereas LS was maybe linked against the "real" / official JACK server's client lib. CU Christian |
From: Sawyer B. <saw...@gm...> - 2021-11-04 16:44:01
|
That does seem to be the case, ldd (which qjackctl) | grep jack > > libjack.so.0 => /usr/lib/pipewire-0.3/jack/libjack.so.0 > (0x00007f3af17ae000) > ldd (which linuxsampler) | grep jack > > libjack.so.0 => /usr/lib/libjack.so.0 (0x00007f603e3cc000) > This is rather strange. Those other applications aren't different from the ones that I ran directly on top of normal jack2, how is linuxsampler doing library discovery here? I'm reasonably confident there isn't any compile time pipewire-specific stuff, since when switching from jack to pipewire I didn't have to reinstall any of these packages. I'm using the pipewire-jack-dropin package that gives extra config args to ld: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=pipewire-dropin Thanks, Sawyer Bergeron saw...@gm... On Thu, Nov 4, 2021 at 10:59 AM Christian Schoenebeck < sch...@li...> wrote: > On Mittwoch, 3. November 2021 00:48:40 CET Sawyer Bergeron wrote: > > Hi All, > > > > I'm trying to get linuxsampler running on top of pipewire using > > pipewire-jack. When creating a channel in qsampler I get the following > > output from linuxsampler: > > > > ``` > > > > > LinuxSampler 2.2.0 > > > Copyright (C) 2003,2004 by Benno Senoner and Christian Schoenebeck > > > Copyright (C) 2005-2021 Christian Schoenebeck > > > Binary built: Jun 3 2021 > > > Detected features: MMX SSE SSE2 > > > Automatic Stacktrace: Off > > > Creating Sampler...OK > > > Registered sampler engines: 'GIG','SF2','SFZ' > > > Registered MIDI input drivers: ALSA,JACK > > > Registered audio output drivers: ALSA,JACK > > > Loading instrument editor plugins...OK > > > Registered instrument editors: 'gigedit' > > > Registered internal effect systems: LADSPA > > > Registered internal effects: 467 > > > Starting LSCP network server (0.0.0.0:8888)...Thread: WARNING, can't > > > mlockall() memory! > > > OK > > > LinuxSampler initialization completed. :-) > > > > > > LSCPServer: Client connection established on socket:8. > > > LSCPServer: Client connection established on socket:9. > > > Cannot connect to server socket err = No such file or directory > > > Cannot connect to server request channel > > > Automatic start of JACK server is disabled at configure time > > > jack server is not running or cannot be started > > > JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, > skipping > > > unlock > > > JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, > skipping > > > unlock > > > Cannot connect to server socket err = No such file or directory > > > Cannot connect to server request channel > > > Automatic start of JACK server is disabled at configure time > > > jack server is not running or cannot be started > > > JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, > skipping > > > unlock > > > JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, > skipping > > > unlock > > > Seems Jack server is not running. > > > Thread: WARNING, can't assign realtime scheduling to thread! > > > Thread: WARNING, can't mlockall() memory! > > > No audio output device connected to sampler channel > > > > ``` > > > > Some other jack applications (ardour, qjackctl) all seem to happily run > > here so I'm pretty sure pipewire-jack is at least running properly. Are > > there any workarounds known of for this? > > > > Thanks in advance for any info, let me know if any further output would > be > > helpful. > > > > --Sawyer > > Looks like this is about this topic: > https://bb.linuxsampler.org/viewtopic.php?f=6&t=19964 > > So you are saying it does work with other JACK client apps, but it does > not > work with LS being a JACK client. > > Please check against which precise JACK libs those apps are linked to on > your > system, which you can easily do by using 'ldd'. Because from what I can > see, > it looks like the working ones are compiled against a pipewire jack client > lib, whereas LS was maybe linked against the "real" / official JACK > server's > client lib. > > CU > Christian > > > > > _______________________________________________ > Linuxsampler-devel mailing list > Lin...@li... > https://lists.sourceforge.net/lists/listinfo/linuxsampler-devel > |
From: Christian S. <sch...@li...> - 2021-11-04 19:20:13
|
On Donnerstag, 4. November 2021 17:43:39 CET Sawyer Bergeron wrote: > That does seem to be the case, > > ldd (which qjackctl) | grep jack > > > > libjack.so.0 => /usr/lib/pipewire-0.3/jack/libjack.so.0 > > > > (0x00007f3af17ae000) > > ldd (which linuxsampler) | grep jack > > > > libjack.so.0 => /usr/lib/libjack.so.0 (0x00007f603e3cc000) > > This is rather strange. Those other applications aren't different from the > ones that I ran directly on top of normal jack2, how is linuxsampler doing > library discovery here? > I'm reasonably confident there isn't any compile time pipewire-specific > stuff, since when switching from jack to pipewire I didn't have to > reinstall any of these packages. I'm using the pipewire-jack-dropin package > that gives extra config args to ld: > https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=pipewire-dropin I haven't looked into pipewire before. But from what I see (not verified) they solved it like this: JACK client apps are supposed to link against the pipewire version of the JACK client lib (i.e. /usr/lib/pipewire-0.3/jack/ libjack.so.0) instead of the official JACK client lib (i.e. /usr/lib/ libjack.so.0). And yes, pipewire-jack-dropin apparently is intended to make this working for existing JACK clients as well without recompiling them, by installing a config file to /etc/ld.so.conf.d/ which in turn would override/remap the linker path to the JACK client lib. But your other apps are apparently not using that ld.so.conf.d mechanism which ldd output proofs. They are directly linked to pipewire's lib instead. So chances are that something with your pipewire-jack-dropin is incorrect. It may be a path has simply changed for instance (e.g. there is pipewire version number in the path). So you either figure out what's wrong with the ld.so.conf.d file, or you recompile LS and replace in configure.ac the line PKG_CHECK_MODULES(JACK, jack, have_jack=1, have_jack=0) to search and link against pipewire's lib directly at compile time instead. You might also check what other audio apps are doing at compile time. Probably they already changed their configure script to search for both, the official JACK and pipewire's JACK and pick automatically either one available at compile time. CU Christian |