installing Jack?

I’ve installed jack, & qjackctl, using zypper. That appeared to work, as I could start the jack server with qjackctl, however when I installed qsynth it gave me error messages:*fluidsynth: warning: Requested audio-channels to high. Limiting this setting to audio-groups.
*
*Cannot lock down 88442396 byte memory area (Cannot allocate memory)
*
*Cannot use real-time scheduling (RR/5) (1: Operation not permitted)
*
JackClient::AcquireSelfRealTime error

I went back to check jack’s messages to see that it was running correctly but have errors there:*Cannot create RT messagebuffer thread: Operation not permitted (1)
*

The installed kernel (uname -a) includes “SMP PREEMPT” so I assumed it was preemptive. I guess not.

I can’t see a wiki page on installing Jack and configuring it, so is it not the way to go with Tumbleweed? If it’s ok to use Jack how do you get real time kernel enabled for it? Thanks for any help

Hello,

See this page openSUSE:Pipewire - openSUSE Wiki as a possible solution. Installing pipewire requires to deinstall pulseAudio and jack.
I have pipewire installed and it works for pulseAudio but I don’t test it with jack.
Take in account that for tumbleweed you need replace **pipewire-media-session.service **by **wireplumber.service

**Regards
Philippe

Thanks for the pipewire info. As I only installed a fresh system at the weekend I decided I’d start from scratch and install pipewire and pipewire-tools from a fresh install.

You mentioned the wireplumber service on Tumbleweed but it’s not being found:
sudo systemctl enable wireplumber.service
Failed to enable unit: Unit file wireplumber.service does not exist.

Which is strange as it’s in the filesystem but maybe it’s not being installed to the correct location?
sudo find / -name ".service" | grep wire
/usr/lib/systemd/user/wireplumber.service
/usr/lib/systemd/user/wireplumber@.service
/usr/lib/systemd/user/pipewire.service
/etc/systemd/user/pipewire-session-manager.service
/etc/systemd/user/pipewire.service.wants/wireplumber.service
*

pipewire, pipewire-pulse and wireplumber are user services and must be enabled/started with your user (not via root) via

$ systemctl enable --user wireplumber
$ systemctl start --user wireplumber

if you have multiple users you must do the enable/start for each user in the user session

Here the status on my system

philippe@hpprol2:~> systemctl status --user wireplumber
● wireplumber.service - Multimedia Service Session Manager
     Loaded: loaded (/usr/lib/systemd/user/wireplumber.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2022-02-09 08:29:15 CET; 9h ago
   Main PID: 2092 (wireplumber)
      Tasks: 4 (limit: 4915)
     Memory: 11.7M
        CPU: 982ms
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/wireplumber.service
             └─2092 /usr/bin/wireplumber

févr. 09 08:29:15 hpprol2 systemd[2082]: Started Multimedia Service Session Manager.
philippe@hpprol2:~> systemctl status --user pipewire.service
● pipewire.service - PipeWire Multimedia Service
     Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; vendor preset: disabled)
     Active: active (running) since Wed 2022-02-09 08:29:15 CET; 9h ago
TriggeredBy: ● pipewire.socket
   Main PID: 2090 (pipewire)
      Tasks: 2 (limit: 4915)
     Memory: 10.4M
        CPU: 11min 30.053s
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
             └─2090 /usr/bin/pipewire
             └─2090 /usr/bin/pipewire

févr. 09 08:29:15 hpprol2 systemd[2082]: Started PipeWire Multimedia Service.
philippe@hpprol2:~> systemctl status --user pipewire-pulse
● pipewire-pulse.service - PipeWire PulseAudio
     Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.service; enabled; vendor preset: disabled)
     Active: active (running) since Wed 2022-02-09 08:29:15 CET; 9h ago
TriggeredBy: ● pipewire-pulse.socket
   Main PID: 2091 (pipewire-pulse)
      Tasks: 2 (limit: 4915)
     Memory: 27.0M
        CPU: 22min 55.909s
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire-pulse.service
             └─2091 /usr/bin/pipewire-pulse

févr. 09 08:29:15 hpprol2 systemd[2082]: Started PipeWire PulseAudio.

If you need jack for a specific program I suppose that you need to enable and start pipewire-jack also with the “–user” parameter
Also don’t forget to enable/start the socket and the service for pipewire and pipewire-pulse

Regards
Philippe

Thanks again for all your help Philippe. I’m up and running and have sounds but I am still missing something and that’s the routing of signals, Audio and MIDI.

When Jack was working I’d use qjackctl and see what ports are available. I’m writing a MIDI sequencer, so I’d like to connect the MIDI Output from the sequencer to the MIDI input of a synth, qsynth for example. Like I say that was qjackctl, but I can’t seem to see what that is in pipewire. pw-dot looked possible, but don’t think so.

Anybody who can point me in the right direction, be very grateful

with google I found with “pipewire vs qjackctl”
https://www.reddit.com/r/Fedora/comments/nlqp1o/qjackctl_and_pipewire_demo_and_tutorial_now_with/
https://www.reddit.com/r/linuxaudio/comments/rezd86/pipewire_is_amazing_but/
https://www.reddit.com/r/linuxaudio/comments/qqvg3s/pipewire_in_kubuntu_2110/

You can maybe found therein some useful info
Good luck
Philippe

After installing qjackctl on top of pipewire it kinda works but qsynth is still complaining about the lack of a realtime kernel, which it appears is not an option in Tumbleweed so I’ll have to move distro :frowning:

Got it! Think I’d been chasing packages and my install was a bit of a mess so reinstalled from scratch with PipeWire and I have the right list of packages now and everything just works. Thinks a million for all the help!