Qpwgraph: Visualization of PipeWire and YOUR system

Moderator: Forum moderators

Post Reply
Clarity
Posts: 3845
Joined: Fri Jul 24, 2020 10:59 pm
Has thanked: 1633 times
Been thanked: 527 times

Qpwgraph: Visualization of PipeWire and YOUR system

Post by Clarity »

Using BKWP64 Menu>Setup>Synaptic, "qpwgraph" was installed and tests OK on the desktop. It lands in Menu>Multimedia>qpwgraph for your use.

qpwgraph_screenshot-1.jpg
qpwgraph_screenshot-1.jpg (20.44 KiB) Viewed 1719 times

Has any members checked this tool out for its reflective understanding of your systems?

Nice and clear, so far.

Should this tool be OOTB with BKWP64 releases? Or is there a better visual tool?
QPWgraph is found here

Your Thoughts
P.S. We need a WoofCE PUP version usage of what this video describes.

User avatar
rockedge
Site Admin
Posts: 6561
Joined: Mon Dec 02, 2019 1:38 am
Location: Connecticut,U.S.A.
Has thanked: 2766 times
Been thanked: 2643 times
Contact:

Re: Qpwgraph: Visualization of PipeWire and YOUR system

Post by rockedge »

qpwgraph is in the Void Linux repo's so is available for KLV variants.

I'll have to test it out.

geo_c
Posts: 2882
Joined: Fri Jul 31, 2020 3:37 am
Has thanked: 2208 times
Been thanked: 879 times

Re: Qpwgraph: Visualization of PipeWire and YOUR system

Post by geo_c »

Hmmm, just used to xbps-installl to look at this on KLV, an it pulls in Qt6. Not sure I want to do that, but I'll boot into one of my multi-instances of KLV and try it out.

EDIT:

Okay, just rebooted and installed, VERY NICE! Appears to be a pipewire version of qjackctrl. Just what I was about to look into as a matter of fact. I'll test it and start routing inputs and outputs to see how well it work in KLV-airedale-RT15.

Gotta shout out to @wiak for the multi-instance boot setup! Makes testing new stuff really easy, without having to bother saving changes as I go.

geo_c
Old School Hipster, and Such

geo_c
Posts: 2882
Joined: Fri Jul 31, 2020 3:37 am
Has thanked: 2208 times
Been thanked: 879 times

Re: Qpwgraph: Visualization of PipeWire and YOUR system

Post by geo_c »

Thanks @Clarity !

This is working great! Just routed audiio output from parole to my laptop speakers and a usb audio interface simultaneously. Everything shows up in pulse audio volume control, all functionng fast and smooth.

edit: Also pulse audio volume control shows up in qpwgraph, so there's full control of signal flow.

This is exactly what I needed.

KLV with pipewire, pulsesudio, and now my personal version has Ardour8, recently upgraded from v7.

Linux audio is getting really polished.

geo_c
Old School Hipster, and Such

geo_c
Posts: 2882
Joined: Fri Jul 31, 2020 3:37 am
Has thanked: 2208 times
Been thanked: 879 times

Re: Qpwgraph: Visualization of PipeWire and YOUR system

Post by geo_c »

Interesting though, that as soon as signal flow stops, connections disappear from the graph, so I assume in pipewire also.

In other words, if I play a music file using parole and open pavucontrol, both show up in qpwgraph, where choices can be made for what audio cards to use, as soon as the file is done playing, connections are dropped and disappear, even if parole is still open, and the output resets to default, I suppose the pavu fallback device.

"autoconnect" is not checked in the Patchbay menu, but "autopin" is and that may have an effect.

as with everything, there might be a slight learning curve to pipewire and qwgraph. But it's very nice so far.

EDIT: a little further toying shows that as long as pavucontrol remains open, the volume control output stays routed to the chosen devices. Once closed the connections reset. Also tested audio with video playing in LibreWolf, it works and shows up in qpwgraph.

It looks like saving a connection scheme is also supported.

My next tests will take place at my studio with a 16 channel digital mixer. I should be able to route ins and outs of every connection available on the mixing board.

geo_c
Old School Hipster, and Such

geo_c
Posts: 2882
Joined: Fri Jul 31, 2020 3:37 am
Has thanked: 2208 times
Been thanked: 879 times

Re: Qpwgraph: Visualization of PipeWire and YOUR system

Post by geo_c »

So I've been playing around with this qpwgraph, and it's very cool, except I'm a little baffled because it doesn't show all software outputs. For instance I'll get LibreWolf audio output showing up in the graph, but not Ardour. And this may be because the Ardour application isn't pipewire compatible enough, but I don't know. I'll have to do some reading about pipewire and various applications.

Further testing of pipewire in KLV-airdale and KLV-spectr will be forthcoming. I have lots of audio hardware to fiddle with.

Another thing I found not showing up is one of my midi devices, but I'll have to plug in a few more and see if they are visible in qpwgraph, when I get a chance, maybe tomorrow.

jack audio has always been very dependable, but it had quite a bit of a learning curve, and so I expect pipewire to be no less. I'm leaning toward making the complete jump to pipewire based distros because I think that's where we're headed.

geo_c
Old School Hipster, and Such

geo_c
Posts: 2882
Joined: Fri Jul 31, 2020 3:37 am
Has thanked: 2208 times
Been thanked: 879 times

Re: Qpwgraph: Visualization of PipeWire and YOUR system

Post by geo_c »

So @Clarity, how are you finding the best way to route midi and audio using this tool? I'm personally finding it a bit confusing, as it's not working with applications quite the way I'd hoped.

And the way it interacts with the default devices, or what pulse audio terms "fallback device," seems to be a bit of bugger.

geo_c
Old School Hipster, and Such

Clarity
Posts: 3845
Joined: Fri Jul 24, 2020 10:59 pm
Has thanked: 1633 times
Been thanked: 527 times

Re: Qpwgraph: Visualization of PipeWire and YOUR system

Post by Clarity »

Yes, I am also reading and trying to get up to speed as I play with the multiple forum distros featuring Pipewire.

I updated my earlier post on the forum, here, with a link that could prove useful with the KLs.

Separately this qpwgraph manual in markdown format attempts to give the impression of its ease of use. At the doc's bottom is another doc reference that expands more of qpwgraph.

Developers who want to include the ease of understanding and ease of use of Pipewire, I think, would want to include this or any other tools, OOTB, that helps us visualize our systems at this level.

Has any other member taken a look at this or any similar tools to gain understanding? Are we the only ones?

geo_c
Posts: 2882
Joined: Fri Jul 31, 2020 3:37 am
Has thanked: 2208 times
Been thanked: 879 times

Re: Qpwgraph: Visualization of PipeWire and YOUR system

Post by geo_c »

Clarity wrote: Fri Jan 12, 2024 4:43 am

Separately this qpwgraph manual in markdown format attempts to give the impression of its ease of use. At the doc's bottom is another doc reference that expands more of qpwgraph.

Well let me put it this way. qpwgraph is easy enough to use, as long as everything is there to begin with, but pipewire? What I've read so far over the past month is very complicated.

Take these kinds of ideas (taken from the github page) into consideration for instance:

  • PipeWire can be used as an audio server, similar to PulseAudio and JACK. It aims to replace both PulseAudio and JACK, by providing a PulseAudio-compatible server implementation and ABI-compatible libraries for JACK clients.

  • First, install pipewire-audio. Depending on the type of audio clients, you may also need to take some extra steps.

  • Install pipewire-alsa (and remove pulseaudio-alsa if it was installed) to route all applications using the ALSA API through PipeWire.

  • Install pipewire-pulse. It will replace pulseaudio and pulseaudio-bluetooth. Reboot, re-login or stop pulseaudio.service and start the pipewire-pulse.service user unit to see the effect.

  • Install pipewire-jack for JACK support. There is also lib32-pipewire-jack for multilib support. pw-jack(1) may be used to start JACK clients, but it is technically not required, as it only serves as a wrapper around the PIPEWIRE_REMOTE, PIPEWIRE_DEBUG and IPEWIRE_LATENCY environment variables.

So pipewire is supposedly a replacement for pulseaudio and jack, but it can run with jack as a client? Okay, I haven't even been able to get jack working on my own doing a fresh package manager install, so getting both to run is the job of system developer in my estimation.

But the only reaon I suppose I would want jack as a client to pipewire would be to run jack specific applications, but if applications are built to run on pipewire I definitely don't want both layers of complication. Still I don't know how to get under the hood of pipewire enough to know that I'm even able to see all my devices.

Of course I'm only scratching the surface at the moment.

So what I'm getting at here, is the fact qpwgraph is sort of a stripped down qjack-control as far as I can tell (it's only the patch tool.) Qjack-ontrol gives you the ability to set up all sample rates and audio cards as well midi configuration.

I have no clue how to accomplish any of these common jack and alsa tasks, and what I'm very confused about now, is if pulseaudio is present in KLVs with pipewire, or if it's simply the pipewire-pulse which seems a bit like the puppy apulse idea. I'm guessing pulseaudio is not installed on these systems, but I was confused there because pavucontrol is still functioning.

A lot of reading still to be done.

geo_c
Old School Hipster, and Such

geo_c
Posts: 2882
Joined: Fri Jul 31, 2020 3:37 am
Has thanked: 2208 times
Been thanked: 879 times

Re: Qpwgraph: Visualization of PipeWire and YOUR system

Post by geo_c »

This is the kind of thing I'm looking at with pipewire, will it run well the big audio apps like Ardour?

https://discourse.ardour.org/t/pipewire ... w/109287/3

https://fedoramagazine.org/pipewire-1-0 ... m-taymans/

edit: Basically what my reading is telling me so far, even though a lot of this information is 6 months old, is that pipewire is still a work in progress when it comes to tying together jack applications, consumer grade audio applications, and pulseaudio.

Basically, it looks like pipewire is trying to emulate mac coreaudio, but without the exclusive one-server framework, and that seems mighty messy to me, though admittedly, once one gets it working it's probably heaven.

For the regular user, browsing and playing music using the normal user applications, it works great. I'm having no troubles with audio from browsers and media players showing up in qpwgrap.

But right now on the latest Spectrwm and Airedale RTs with pipewire and Ardour running, I'm not getting Ardour to show up in qpwgraph at all, but it will play output through the default audio card, while audio interfaces that are listed in Ardour's audio setup can be chosen, but are NOT getting audio through those interfaces if not set as default in pavucontrol. I'm a little stumped at this juncture, but I'll keep testing and fiddling for awhile.

further edit: And what I'm still not quite getting about the goal of pipewire is the fact if I just want to do normal user audio tasks, pulseaudio works great for that. If I want to route audio streams, even browsers and application audio output through different applications and hardware, jack works extremely well for that also. So I'm not certain what the niche for pipewire ultimately is. It seems to me it needs to come up to speed to be a full replacement for ALSA, jack, and pulseaudio. But if they somehow set it up to integrate those three into their framework, more power to them. It may be that they're trying to deal with jack and pulse until all software developers are brought into the fold, and then the others can be done away with.

@Clarity since you are set up to do iso booting, you're in a good position to boot up various linuxes with pipewire installed OOTB, and try out qpwgraph with different hardware attached, and report the results.

geo_c
Old School Hipster, and Such

Clarity
Posts: 3845
Joined: Fri Jul 24, 2020 10:59 pm
Has thanked: 1633 times
Been thanked: 527 times

Re: Qpwgraph: Visualization of PipeWire and YOUR system

Post by Clarity »

Hi @geo_c
I will do so going forward.

BTW: Have you seen this video from the Pipewire Author on pipewire structure (architecture) and he provides examples.

geo_c
Posts: 2882
Joined: Fri Jul 31, 2020 3:37 am
Has thanked: 2208 times
Been thanked: 879 times

Re: Qpwgraph: Visualization of PipeWire and YOUR system

Post by geo_c »

Clarity wrote: Fri Jan 12, 2024 9:04 pm

Hi @geo_c
I will do so going forward.

BTW: Have you seen this video from the Pipewire Author on pipewire structure (architecture) and he provides examples.

That's a good step-through to the backend basically, in other words wireplumber. I mean I'd like to think I'll write a set of lua scripts to plugin into pipewire and configure my hardware, but that's a bit unrealistic for me at the moment. Nevertheless there are probably some basic wireplumber skills one needs to nurture in order to get the most out of pipewire.

qpwgraph can connect nodes, but if they aren't already created that has to be done with wireplumber. So it could be that there are now lua scripts available to plug into the config that find all the desired hardware and software automatically.

What we want is for wireplumber to search for everything and set up all the nodes so they appear in qpwgraph. I'm talking above my paygrade of course, but this is my understanding. When it comes to audio/midi, jack does that automatically and gives you a graph to manipulate. Basically any device or software input/output that's recognized by alsa shows up in jack.

It could be that a system setup with jack and pipewire that functions correctly would be the best case scenario at the moment. I expect pipewire is increasing capabilities swiftly, but I'll have to look for the latest tools available.

Last edited by geo_c on Sat Jan 13, 2024 4:31 pm, edited 2 times in total.

geo_c
Old School Hipster, and Such

User avatar
rockedge
Site Admin
Posts: 6561
Joined: Mon Dec 02, 2019 1:38 am
Location: Connecticut,U.S.A.
Has thanked: 2766 times
Been thanked: 2643 times
Contact:

Re: Qpwgraph: Visualization of PipeWire and YOUR system

Post by rockedge »

@geo_c I mentioned creating a version of KLV-Spectr (and Airedale) that includes JACK. To really get all of the audio stuff working at the highest levels I think we need to have JACK installed and running.

I have a big collection of audio workstation plugins that seem to need to see a JACK server.

geo_c
Posts: 2882
Joined: Fri Jul 31, 2020 3:37 am
Has thanked: 2208 times
Been thanked: 879 times

Re: Qpwgraph: Visualization of PipeWire and YOUR system

Post by geo_c »

rockedge wrote: Sat Jan 13, 2024 3:11 pm

@geo_c I mentioned creating a version of KLV-Spectr (and Airedale) that includes JACK. To really get all of the audio stuff working at the highest levels I think we need to have JACK installed and running.

I have a big collection of audio workstation plugins for the that seem to need to see a JACK server.

Yes I'm in the same camp. At the moment the only system I have running jack is jackalpup, and that's based on fossapup64_9.5 and is 4 years old. It's still running Ardour 6, and we are currently at Ardour 8. Project files are not reverse compatible unfortunately, so I moved on to 8 and I'm not booting jackalpup anymore.

I am running Ardour quite nicely in all the KLVs, but I don't have any real virtual instrument capability, because that's all jack based, and even in jackalpup I had to do some work installing sfizz to get all the virtual instruments in the Carla rack, which was a really NICE setup, and I have a ton of samples and multi-sample instruments.

edit, continued:

I've been doing some reading of threads on linux musician. Pipewire definitely has it's challenges, but it's got me thinking that the maybe the best way to try and tackle pipewire is do a FR of Fedora, since they are probably the most active distro working with pipewire. I seem to recall @wiak mentioning he did a first-rib of Fedora.

I personally would be happy with a good KLV running jack and pulse, but it may be that in a couple years that approach is too behind the curve.

I might just use one of my multi-instances of both KLV w/pipewire and KLV w/pulse to do some experiments trying to install jack and see what happens.

geo_c
Old School Hipster, and Such

geo_c
Posts: 2882
Joined: Fri Jul 31, 2020 3:37 am
Has thanked: 2208 times
Been thanked: 879 times

Re: Qpwgraph: Visualization of PipeWire and YOUR system

Post by geo_c »

@rockedge and @Clarity

I booted a fresh KLV-airdale-RT15-pipewire with the RT13 kernel (6.1.38) did a system update and installed my preferred packages and local configs (no configs audio related). Then I installed the following packages shown in the bottom half of the Octoxbps window:

python3-dbus-1.3.2_2
jack-1.9.22_1
jack-devel-1.9.22_1
python3-xdg-0.28_4
jack_mixer-17_3
libjack-pipewire-1.0.1_1
libspa-jack-1.0.1_1
mpg123-jack-1.32.3_1
qjackctl-0.9.9_1

Image

And as you can see below, jack is running and Ardour shows up there and is routed to my Presonus USB interface and seems to be working just fine

Image

qpwgraph on the other hand shows the Presonus interface but not the Ardour application:
Image

I had to delete a lot of what I initially said there because I hadn't used jack in about 6 months and forgot to go to jack setup and choose the audio interface to use. I did that and now everything shows up in jack and seems to be working. Next is to try this test on my 16 Channel board at the studio. I expect it should work also.

SO JACK IS WORKING, and it was all pretty painless. However, some applications like Ardour are perhaps not going to show up in qpwgraph. And my guess is it will simply be application specific.

Whatever ideas you have, like whether I need to add any other packages for added functionality, I have a couple multi-instance installs to play around with, where I could start with a fresh upper_changes each time.

geo_c
Old School Hipster, and Such

geo_c
Posts: 2882
Joined: Fri Jul 31, 2020 3:37 am
Has thanked: 2208 times
Been thanked: 879 times

Re: Qpwgraph: Visualization of PipeWire and YOUR system

Post by geo_c »

I just realized this post of @Clarity is in the BookwormPup section of the forum.

I don't mean to hi-jack this thread, @rockedge, maybe you can break off this jack discussion and put in the KLV section.

geo_c
Old School Hipster, and Such

mistfire
Posts: 718
Joined: Thu Jul 16, 2020 2:16 am
Location: CALABARZON, PH
Has thanked: 3 times
Been thanked: 173 times

Re: Qpwgraph: Visualization of PipeWire and YOUR system

Post by mistfire »

Note: Helvum is the GTK equivalent of Qpwgraph

Post Reply

Return to “BookwormPup”