Re: [LAD] pipewire

2022-01-18 Thread Will Godfrey
On Tue, 18 Jan 2022 19:16:39 +0100
Wim Taymans  wrote:

>Hi Fons,
>
>As a bare minimum you would need pipewire (the daemon) and
>pipewire-jack (the libjack.so client implementation). With a custom
>config file you can make this work exactly like jack (see below).

Thanks for this info :)

-- 
Will J Godfrey
https://willgodfrey.bandcamp.com/
http://yoshimi.github.io
Say you have a poem and I have a tune.
Exchange them and we can both have a poem, a tune, and a song.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
https://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] pipewire

2022-01-18 Thread Wim Taymans
On Tue, 18 Jan 2022 at 17:15, Will Godfrey  wrote:

> >and of course systemd. I do not think it will run without.

It does run fine without systemd.

>
> If it *requires* systemd then that is a non-starter for me :(
>
It doesn't require systemd.

You can compile with systemd support and then you have the capability
of having systemd socket activate the server and all components. If
you don't compile it in, you'll have to start things some other way.

Wim
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
https://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] pipewire

2022-01-18 Thread Wim Taymans
On Mon, 17 Jan 2022 at 16:03, Lorenzo Sutton  wrote:
>


> My problem with that set-up is that it seemed that something like Ardour
> would need to be explicitly run via pw-jack so e.g.
>
> pw-jack ardour
>

You distro probably also has a package that puts the pipewire
libjack.so in LD_LIBRARY path and then you don't have to type pw-jack
anymore.

> But then setting the samplerate (I have projects at different
> samplerates), wasn't trivial.

switch to fixed sample rate (on the fly):

  pw-metadata -n settings 0 clock.force-rate 

switch back to dynamic control

  pw-metadata -n settings 0 clock.force-rate 0

Same for buffersize (quantum) :

  pw-metadata -n settings 0 clock.force-quantum 

and back to dynamic:

  pw-metadata -n settings 0 clock.force-quantum 0

Wim
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
https://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] pipewire

2022-01-18 Thread Wim Taymans
Hi Fons,

As a bare minimum you would need pipewire (the daemon) and
pipewire-jack (the libjack.so client implementation). With a custom
config file you can make this work exactly like jack (see below).

The way PipeWire normally works is that when starting the daemon,
nothing is in the graph. Devices are usually loaded into the graph
(using udev for ALSA, bluez5 for bluetooth, avahi for network devices,
...) by a session manager. We have a basic pipewire-media-session and
a more complete WirePlumber session manager. All the system
integration (dbus, systemd and the automatic stuff) happens in the
session manager. You don't need to run this.

For pulseaudio compatibility, you can also install and run a separate
server (pipewire-pulse). This basically just translates pulse protocol
to pipewire protocol and makes pipewire clients for streams. You don't
need to run this either.

You'll need the pipewire git version to run a minimal setup with only
pipewire using this config:
https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/src/daemon/minimal.conf.in
You can change the source and sink ALSA devices, set up the channels
and format and then use pipewire -c 
It should be enough to run all JACK apps to test things.

pw-top is interesting, pw-profiler works like the jack2 profiler,
pw-dump for a JSON dump of the object tree, pw-link (like jack_lsp,
jack_connect), etc...

Wim


On Mon, 17 Jan 2022 at 14:56, Fons Adriaensen  wrote:
>
> Hello all,
>
> I'd like to test pipewire as a replacement for Jack (on Arch),
> and have been reading most (I think) of the available docs.
>
> What is clear is that I will need to install the pipewire
> and pipewire-jack packages.
>
> And then ?
>
> How do I tell pipewire to use e.g. hw:3,0 and make all of
> its 64 channels appear as capture/playback ports in qjackctl ?
>
> Note: I do not have anything PulseAudio (like pavucontrol)
> installed and don't want to either. If that would be a
> requirement then I'll just forget about using pipewire.
>
> TIA,
>
> --
> FA
>
> ___
> Linux-audio-dev mailing list
> Linux-audio-dev@lists.linuxaudio.org
> https://lists.linuxaudio.org/listinfo/linux-audio-dev
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
https://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] pipewire

2022-01-18 Thread Len Ovens

On Tue, 18 Jan 2022, Will Godfrey wrote:


On Tue, 18 Jan 2022 08:08:56 -0800 (PST)

Len Ovens  wrote:
Pipewire does use all the system bits that puleaudio does, such as dbus 
and of course systemd. I do not think it will run without.


If it *requires* systemd then that is a non-starter for me :(


I have not tried running it without and so have no hard knowledge on that. 
But do remember the source. It comes from the RH ecosystem.


However, if you are running without systemd and presumably without pulse, 
why would you not just use jack? With the right device, jack is very 
stable. Pipewire is trying to emulate jack and in general not improve on 
jack.


--
Len Ovens
www.ovenwerks.net
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
https://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] pipewire

2022-01-18 Thread Will Godfrey
On Tue, 18 Jan 2022 08:08:56 -0800 (PST)

Len Ovens  wrote:
>Pipewire does use all the system bits that puleaudio does, such as dbus 
>and of course systemd. I do not think it will run without.

If it *requires* systemd then that is a non-starter for me :(

-- 
Will J Godfrey
https://willgodfrey.bandcamp.com/
http://yoshimi.github.io
Say you have a poem and I have a tune.
Exchange them and we can both have a poem, a tune, and a song.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
https://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] pipewire

2022-01-18 Thread Len Ovens

On Mon, 17 Jan 2022, Fons Adriaensen wrote:


I'd like to test pipewire as a replacement for Jack (on Arch),



How do I tell pipewire to use e.g. hw:3,0 and make all of
its 64 channels appear as capture/playback ports in qjackctl ?

Note: I do not have anything PulseAudio (like pavucontrol)
installed and don't want to either. If that would be a
requirement then I'll just forget about using pipewire.


It depends on the reason for not using "anything" pulseaudio. Pipewire is 
a replacement for jack and pulseaudio. So the "JACK" graph will show all 
devices, none of which will be named system:* and some of which will go 
through some sort of SRC. I think it is possible to designate one device 
as master with direct sync and specified latency but the reality is that 
if you wish your one device to be separate from any internal, hdmi, 
webcam, etc. that will not happen. It is possible to select a device 
profile of "Off" for these devices but that would mean any desktop 
application will automatically use you multi channel device "as best it 
can" (ie. connect it's output to all device outs). With PW it is not 
possible to run two audio servers separately, one for desktop and one for 
audio production. (well you can still run JACK separately... and I guess 
for now it is possible to run pulse separately too, but that will go away) 
Pipewire does use all the system bits that puleaudio does, such as dbus 
and of course systemd. I do not think it will run without.


Of course because it is a replacement for pulseaudio, even though it may 
not use any of the pulseaudio code, it's interface to the desktop 
applications uses much the same interface as pulseaudio. Hopefully in a 
better way.


One other thing to be aware of, PW does not load any other backend besides 
ALSA. I think it does have an auto dummy device though.


--
Len Ovens
www.ovenwerks.net
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
https://lists.linuxaudio.org/listinfo/linux-audio-dev