Continuing the jack/pipewire debate...

Discuss anything new and newsworthy! See http://planet.linuxaudio.org and https://libreav.org/news for more Linux Audio News!

Announcements of proprietary software may fit better in the Marketplace.


Moderators: raboof, MattKingUSA, khz

User avatar
Impostor
Established Member
Posts: 1392
Joined: Wed Aug 17, 2022 1:55 pm
Has thanked: 148 times
Been thanked: 366 times

Re: Continuing the jack/pipewire debate...

Post by Impostor »

Largos wrote: Sun Oct 29, 2023 12:40 pm

If you sit someone down who has never used Linux for audio before, they will have an easier time with Pipewire as it cuts a lot of the crap out...

As long as pipewire comes with jack and pulse "emulations" to get audio applications to work, one kind of crap seems to be replaced by another kind of crap, at least for now. I don't see this as particularly encouraging for new linux users. On the contrary: linux audio is currently even more obscure than before, imo.

matyas
Established Member
Posts: 66
Joined: Mon Jul 02, 2018 9:11 pm
Has thanked: 6 times
Been thanked: 21 times

Re: Continuing the jack/pipewire debate...

Post by matyas »

If your current system is working for you, cool. No need to switch. But eventually, you're probably going to want to upgrade, and the major distros are mostly adopting Pipewire. I came to Pipewire reluctantly. Ubuntu adopted it, and therefore I had it. I figured I would uninstall it and go back to ALSA/JACK, but I thought I'd try it first.

Largos wrote: Sun Oct 29, 2023 12:40 pm

If you've already learnt how to deal with these things then great but lets not pretend they are perfect and couldn't have been done better. If you sit someone down who has never used Linux for audio before, they will have an easier time with Pipewire as it cuts a lot of the crap out that either experienced users have got over or that caused people to uninstall and not bother. You don't have to have a way to switch JACK on, you don't have to run a script to connect pulse to JACK. Most people can't/don't want to deal with things like this and they will just go somewhere else. You don't have to care about that stuff at all with Pipewire.

Exactly. If you're the kind of person who likes installing and manually configuring a bunch of stuff by hand, cool. I am that kind of person as well, but I also understand the point of eliminating needless complexity. Think about the the steps that have typically been recommended/required to configure a Linux system for serious audio use:

  • Install a low-latency kernel
    Set up realtime permissions
    Install and configure JACK
    Either setup a JACK sink, or deal with the cumbersome process of switching audio servers, or just accept that you're not going to be able to watch YouTube on the same machine that you use for production

This is all pretty forbidding to someone starting out. From an outside perspective, this does indeed appear to be rather broken in that it is a rather manual process that involves some fairly arcane knowledge. I get it - people are used to it, and I did it myself for years, but it doesn't have to be that way. Pipewire eliminates the need for the last two items. Moden kernels and hardware are taking care of the first two. Of course there are some great distros that set most of that up for you (I used to use Ubuntu Studio myself), but not everyone starts out on a distro like that.

matyas
Established Member
Posts: 66
Joined: Mon Jul 02, 2018 9:11 pm
Has thanked: 6 times
Been thanked: 21 times

Re: Continuing the jack/pipewire debate...

Post by matyas »

Impostor wrote: Sun Oct 29, 2023 1:34 pm
Largos wrote: Sun Oct 29, 2023 12:40 pm

If you sit someone down who has never used Linux for audio before, they will have an easier time with Pipewire as it cuts a lot of the crap out...

As long as pipewire comes with jack and pulse "emulations" to get audio applications to work, one kind of crap seems to be replaced by another kind of crap, at least for now. I don't see this as particularly encouraging for new linux users. On the contrary: linux audio is currently even more obscure than before, imo.

From a developer's perspective, I agree. For now, emulating legacy APIs is necessary because that's what we've got. When properly set up, it's completely transparent to the user with no performance hit. You just have Pipewire doing its thing, apps think they're talking to PulseAudio or JACK, and an end user doesn't even have to know or care that ALSA/JACK/PulseAudio even exist.

glowrak guy
Established Member
Posts: 2329
Joined: Sat Jun 21, 2014 8:37 pm
Been thanked: 257 times

Re: Continuing the jack/pipewire debate...

Post by glowrak guy »

matyas wrote: Sun Oct 29, 2023 2:37 pm

Think about the the steps that have typically been recommended/required to configure a Linux system for serious audio use:

  • Install a low-latency kernel
    Set up realtime permissions
    Install and configure JACK
    Either setup a JACK sink, or deal with the cumbersome process of switching audio servers, or just accept that you're not going to be able to watch YouTube on the same machine that you use for production

It's been many years since that was true for a linux musician keeping current with whats available. (I remember Ubuntu Studio 8.06, blazing along with zynaddsubfx. :shock: ) Those who have not been watchful, or are new to computer based music in general, face similar or worse lists setting up a windows music system, and macs, if affordable for someone, face product management happy to denegrate the older systems to quasi doorstop status in the home music producer market. Refreshing the affordability decisions.

You also use the term 'upgrade', when sometimes, in the studio, upgrade can mean a costly side-grade, with the same end results musically.
Newer that is not individually tested first, can create a downgrade demanding an expensive redo, measured perhaps in valuable man-hours
Pipewire might be a great success. Time will tell, and time doesn't often hurry :wink:

glowrak guy
Established Member
Posts: 2329
Joined: Sat Jun 21, 2014 8:37 pm
Been thanked: 257 times

Re: Continuing the jack/pipewire debate...

Post by glowrak guy »

matyas wrote: Sun Oct 29, 2023 2:44 pm

When properly set up, it's completely transparent to the user with no performance hit. You just have Pipewire doing its thing, apps think they're talking to PulseAudio or JACK, and an end user doesn't even have to know or care that ALSA/JACK/PulseAudio even exist.

I sure hope that 'no performance hit' is not the goal. :roll: That's just spinning the wheels. :wink:

You mention 'when properly set up', which implies user configuration duties, as so many diverse systems exist.
We already have that feature, too.

The whole "know or care that ALSA/JACK/PulseAudio even exist." thing, is true already in most daily use cases. But in some cases,
I want or need to know those details for proper decision making. Not to mention hardware/software/midi interconnectivity.
I don't want a warm fuzzy windows-like audio blanket. I could be in the minority, but have walked that trail for many moons.
Pipewire may be great for most people. And I have backups of backups of backups, so a distro's future choices are no big deal.
Lindows 12 has a nice ring to it :wink:
Cheers
.
.
.
.
.
.
.
(my shrink hinted that forum 'discussions' might be good for my agoraphobia :D )

matyas
Established Member
Posts: 66
Joined: Mon Jul 02, 2018 9:11 pm
Has thanked: 6 times
Been thanked: 21 times

Re: Continuing the jack/pipewire debate...

Post by matyas »

glowrak guy wrote: Sun Oct 29, 2023 9:52 pm

I sure hope that 'no performance hit' is not the goal. :roll: That's just spinning the wheels. :wink:

You mention 'when properly set up', which implies user configuration duties, as so many diverse systems exist.
We already have that feature, too.

No, superior performance is the goal. Equivalent performance has already been achieved. But I think things are only going to get better.
As far as the "properly set up" bit goes, I think that in most cases that responsibility should fall on the distro. On Pop_OS!, and presumably other Ubuntu-like distros, very little configuration should be required. In my case, I enabled "Pro Audio Mode" and edited one line in a config file. The last step was more or less optional, and I agree that ideally it should be handled by a utility. I also find PWGraph to be a better routing utility than Carla.

The whole point isn't to replicate the Windows experience on Linux - I would argue that PulseAudio did a better job of approximating the mess that is WDM - and yes, configuring a Windows box for audio is at least as miserable an experience as anything in the Linux world.
The point is to make things transparent. Do you worry about your network or USB drivers? (I know that some people do, and that's fine.) Most people don't, and audio should be as painless as all that. If you want to go around tweaking config files and messing with daemons, cool, that's one reason why many people use Linux. (And I spent years doing it myself.) But the whole point of Pipewire is to provide great performance out of the box for those who don't.

User avatar
GMaq
Established Member
Posts: 2831
Joined: Fri Sep 25, 2009 1:42 pm
Has thanked: 530 times
Been thanked: 576 times

Re: Continuing the jack/pipewire debate...

Post by GMaq »

Largos wrote: Sun Oct 29, 2023 12:40 pm

If you sit someone down who has never used Linux for audio before, they will have an easier time with Pipewire as it cuts a lot of the crap out that either experienced users have got over or that caused people to uninstall and not bother. You don't have to have a way to switch JACK on, you don't have to run a script to connect pulse to JACK. Most people can't/don't want to deal with things like this and they will just go somewhere else. You don't have to care about that stuff at all with Pipewire.

Well, let's be honest, not really... PipeWire has some solid merits indeed but lets not put on rose-colored glasses..

Let's say your Distro comes with PipeWire in a good solid recent version, you are new to Linux and you want to try Ardour but your stems to import are all at 44.1Khz.. PipeWire's default is 48000Khz and Ardour is either going to blunt force convert the sample rate on import or it's going to accommodate on the fly which is a worse option so if you just want to get the system running at 44100Khz you're going to either have to bang open a terminal and incant some pipewire-metadata command which as a newbie you will neither want to open a terminal nor will probably have no idea what command to enter. Other than that unless your Distro ships a PipeWire metadata GUI (most don't yet) you're going to have to go into the system file tree with a text editor and then tell PipeWire you want 44100Khz in one of many obtusely named config files..

If you succeed in that the next launch of Ardour is still going to yell at you because your User doesn't have security limits permissions and as a new User you're going to have to figure out what that means, what 'groups' are and how to add yourself to a 'pipewire' group that Ardour's cryptic warning will not give you any clue of and you will not think of on your own..

Next you'll most likely want to screw down the latency which without a pre-installed GUI is also going to mean a trip to the terminal or a system-wide config mod at least at first.. Sure you can copy the configs to your Home folder but this again is not trivial for a new Linux User.

To be fair yes, perhaps a step or two less than configuring a JACK/Pulse system from scratch but a Ubuntu Studio or any other Production-ready OS will likely have most of that done.. As an example in AV Linux the base configuration of the ISO build is for everything to work and be fully routed as soon as the Audio device is selected.

PipeWire is capable of a lot of cool stuff, but please don't blow smoke that it's install-and-go for serious Audio work because it's just not..

User avatar
Largos
Established Member
Posts: 639
Joined: Mon Oct 05, 2020 12:21 pm
Has thanked: 72 times
Been thanked: 186 times

Re: Continuing the jack/pipewire debate...

Post by Largos »

@GMaq

If you use ALSA mode with Ardour, you can change the project sample rate to what you like in the setting. When switching between sessions with different sample rates, the audio settings dialogue comes up again, click start and the project loads. No need to go into config files. The same goes for buffer settings.

User avatar
GMaq
Established Member
Posts: 2831
Joined: Fri Sep 25, 2009 1:42 pm
Has thanked: 530 times
Been thanked: 576 times

Re: Continuing the jack/pipewire debate...

Post by GMaq »

Largos wrote: Mon Oct 30, 2023 1:42 am

@GMaq

If you use ALSA mode with Ardour, you can change the project sample rate to what you like in the setting. When switching between sessions with different sample rates, the audio settings dialogue comes up again, click start and the project loads. No need to go into config files. The same goes for buffer settings.

If you use ALSA mode without a special environment prepended launcher to tell Ardour to specifically use 'pipewire-alsa' (another thing a Linux newbie will have no clue about having to create) then indeed you can hook into the Audio hardware at the driver level and set your parameters (this is how I always use Ardour) but then you are circumventing PipeWire and are into the age old problem of Ardour hogging the Audio device and neutering PipeWire as effectively as it neuters PulseAudio in the same situation..

Look I'm not trying to go full curmudgeon mode here... I agree if Distributions did a better job of setting up PipeWire's defaults and included some commonly required GUI tools it would be unassailable... My bone to pick is your supposition about it's defaults for Pro Audio work in the hands of a completely new Linux Audio User. To a new User it doesn't offer a meaningfully better 'install and use' experience and a far worse experience than most common Audio Dists..

Kirtai
Established Member
Posts: 49
Joined: Mon Jul 10, 2017 8:56 am
Has thanked: 55 times
Been thanked: 7 times

Re: Continuing the jack/pipewire debate...

Post by Kirtai »

Just a reminder that Pipewire isn't just an audio system but is also intended to allow hard real time work with video too.

User avatar
GMaq
Established Member
Posts: 2831
Joined: Fri Sep 25, 2009 1:42 pm
Has thanked: 530 times
Been thanked: 576 times

Re: Continuing the jack/pipewire debate...

Post by GMaq »

Kirtai wrote: Mon Oct 30, 2023 9:27 am

Just a reminder that Pipewire isn't just an audio system but is also intended to allow hard real time work with video too.

I have read that but really don't fully comprehend what it means in daily use, As far as Audio playback through Media Players or Video Editors I've never had a sync issue and even recording a webcam with a screen capture program I've never had a sync issue, so I'm curious how people are using this function of PipeWire and how it is noticeably better..?

Is this for things like Zoom or Skype etc..?

User avatar
Largos
Established Member
Posts: 639
Joined: Mon Oct 05, 2020 12:21 pm
Has thanked: 72 times
Been thanked: 186 times

Re: Continuing the jack/pipewire debate...

Post by Largos »

GMaq wrote: Mon Oct 30, 2023 2:57 am

If you use ALSA mode without a special environment prepended launcher to tell Ardour to specifically use 'pipewire-alsa' (another thing a Linux newbie will have no clue about having to create) then indeed you can hook into the Audio hardware at the driver level and set your parameters (this is how I always use Ardour) but then you are circumventing PipeWire and are into the age old problem of Ardour hogging the Audio device and neutering PipeWire as effectively as it neuters PulseAudio in the same situation..

Look I'm not trying to go full curmudgeon mode here... I agree if Distributions did a better job of setting up PipeWire's defaults and included some commonly required GUI tools it would be unassailable... My bone to pick is your supposition about it's defaults for Pro Audio work in the hands of a completely new Linux Audio User. To a new User it doesn't offer a meaningfully better 'install and use' experience and a far worse experience than most common Audio Dists..

Well, I did not use the phrase "Install and use" and I didn't say anything about Distributions needing to do a better job with defaults. I am using OpenSuse Tumbleweed and it's set up fine. I don't think anything anywhere offers "install and use" you have to do some form of configuring. I was saying you don't need to do any steps just to turn the thing on in the first place. You reference some particular issue of sample rates that most people won't deal with, I don't see the point. Especially as most the problem is because JACK nukes a lot programs when you change settings, so you have to close everything and reload the server. Hence why you can't change the settings in the audio programs that would actually work in Pipewire.

At least you've tried it though, unlike 95% of people who I've seen moaning about Pipewire. :D

folderol
Established Member
Posts: 2083
Joined: Mon Sep 28, 2015 8:06 pm
Location: Here, of course!
Has thanked: 232 times
Been thanked: 400 times
Contact:

Re: Continuing the jack/pipewire debate...

Post by folderol »

Largos wrote: Mon Oct 30, 2023 1:24 pm

Especially as most the problem is because JACK nukes a lot programs when you change settings, so you have to close everything and reload the server. Hence why you can't change the settings in the audio programs that would actually work in Pipewire.

AFAIK it's not jack that's the problem, but programs that check setting once when they start, then assume they'll never change (and yes, Yoshimi is guilty of that when in standalone mode). I think pipewire fiddles the figures so programs think they've got the same setup - but don't quote me on that.

The Yoshimi guy {apparently now an 'elderly'}
User avatar
sysrqer
Established Member
Posts: 2527
Joined: Thu Nov 14, 2013 11:47 pm
Has thanked: 320 times
Been thanked: 153 times
Contact:

Re: Continuing the jack/pipewire debate...

Post by sysrqer »

folderol wrote: Mon Oct 30, 2023 2:53 pm

I think pipewire fiddles the figures so programs think they've got the same setup - but don't quote me on that.

I'm not sure about that, I know in Bitwig you can change the sample rate and block size in the program so it certainly doesn't think that it's running the same setup, and I think VCV can do this as well.

User avatar
Largos
Established Member
Posts: 639
Joined: Mon Oct 05, 2020 12:21 pm
Has thanked: 72 times
Been thanked: 186 times

Re: Continuing the jack/pipewire debate...

Post by Largos »

folderol wrote: Mon Oct 30, 2023 2:53 pm

AFAIK it's not jack that's the problem, but programs that check setting once when they start, then assume they'll never change (and yes, Yoshimi is guilty of that when in standalone mode). I think pipewire fiddles the figures so programs think they've got the same setup - but don't quote me on that.

From what I can see and this is not a technical assessment in any way, you start JACK and it connects to the hardware and remains connected so the settings can only be changed when JACK is turned off. With pipewire, when no applications are connected then the connection is automatically broken with the hardware. That's what it looks like anyway, when I have no audio programs active the LED on my firewire device shows not connected whilst with JACK it was permanently on with it.

Post Reply