PipeWire integration discussion?

Message
Author
User avatar
AVLinux
Posts: 3161
Joined: Wed Jul 15, 2020 1:15 am

Re: PipeWire integration discussion?

#71 Post by AVLinux »

Stevo wrote: Thu Oct 20, 2022 8:01 pm They appear to have made it into the test repo yesterday: :confused:

http://mxrepo.com/mx/testrepo/pool/test/p/pipewire/
Hmmm, weird, I ran sudo apt clean and refreshed the MX Test Repo a couple of times... :confused: I'm still only seeing 0.3.51 and no wireplumber...
shot-2022-10-20_20-10-35.jpg
I'm in Eastern time zone Canada..
You do not have the required permissions to view the files attached to this post.

User avatar
dolphin_oracle
Developer
Posts: 22668
Joined: Sun Dec 16, 2007 12:17 pm

Re: PipeWire integration discussion?

#72 Post by dolphin_oracle »

sure enough its not showing up...0.3.58 is what we are looking for.
http://www.youtube.com/runwiththedolphin
lenovo ThinkPad X1 Extreme Gen 4 - MX-23
FYI: mx "test" repo is not the same thing as debian testing repo.
Live system help document: https://mxlinux.org/wiki/help-antix-live-usb-system/

User avatar
dolphin_oracle
Developer
Posts: 22668
Joined: Sun Dec 16, 2007 12:17 pm

Re: PipeWire integration discussion?

#73 Post by dolphin_oracle »

@timkb4cq @Stevo the debs are up, but the Package lists still point to 0.3.51
http://www.youtube.com/runwiththedolphin
lenovo ThinkPad X1 Extreme Gen 4 - MX-23
FYI: mx "test" repo is not the same thing as debian testing repo.
Live system help document: https://mxlinux.org/wiki/help-antix-live-usb-system/

User avatar
timkb4cq
Developer
Posts: 3620
Joined: Wed Jul 12, 2006 4:05 pm

Re: PipeWire integration discussion?

#74 Post by timkb4cq »

Somehow the indexes didn't get updated on mxrepo.com. That's now fixed. The mirrors will take a bit to catch up.
HP Pavillion TP01, AMD Ryzen 3 5300G (quad core), Crucial 500GB SSD, Toshiba 6TB 7200rpm
Dell Inspiron 15, AMD Ryzen 7 2700u (quad core). Sabrent 500GB nvme, Seagate 1TB

User avatar
AVLinux
Posts: 3161
Joined: Wed Jul 15, 2020 1:15 am

Re: PipeWire integration discussion?

#75 Post by AVLinux »

timkb4cq wrote: Thu Oct 20, 2022 9:15 pm Somehow the indexes didn't get updated on mxrepo.com. That's now fixed. The mirrors will take a bit to catch up.
Thanks for the quick fix! :number1:

User avatar
markol
Posts: 416
Joined: Sat Jan 30, 2021 8:33 am

Re: PipeWire integration discussion?

#76 Post by markol »


User avatar
AVLinux
Posts: 3161
Joined: Wed Jul 15, 2020 1:15 am

Re: PipeWire integration discussion?

#77 Post by AVLinux »

@dolphin_oracle

First thanks so much for the mx-pipewire setup package, it is a great idea and even on a non-spec MX system with systemd things seem to 'just work' I have more testing to do with sysvinit. I'm wondering and hoping that when the mx-pipewire-setup is complete it can simply be one setup that works for those who want to replace PulseAudio but also include the stuff for those wanting to use JACK Audio since Pipewire potentially replaces both PulseAudio and JACK. If it is possible for MX and AV Linux to work from the same setup that would be a huge streamlining feature. AV Linux now differs greatly from MX in the default Audio setup and if we both end up adopting PipeWire it would be a shame to still be separated by 2 different PipeWire configs or require separate setup meta-packages. If your pipewire setup package was to also install the relatively tiny pipewire-jack and libspa-jack packages and include moving their configs then it would be one setup ready for all potential use cases, from general Desktop to Pro Audio and adding the pipewire-jack stuff shouldn't hinder those doing regular Desktop Audio things so I'm just asking if you would consider this. Haha I can already see the potential for an 'mx-pipewire' graphical config settings tool to appear in MX-Tools... :cool:

I'm copying a pretty concise post of a complete PipeWire Audio setup for both Pulseaudio and JACK from a User over at the Linuxmusicians forum I frequent, it seems pretty simple (relatively speaking)... And I don't think the pipewire-jack-specific configs will hurt anything for people not using pipewire-jack. If we test this stuff now when it's all optional then there should be no surprises once we are dealing with Pipewire-only in Debian 12/MX-23:
I configure my buffer settings through the pipewire configuration files. Just about everything that you can imagine can be configured in pipewire. The key locations for making the changes are in the following paths:

/usr/share/pipewire/pipewire.conf for the PipeWire daemon settings

/usr/share/pipewire/pipewire-pulse.conf for the PipeWire pulseaudio server

/usr/share/pipewire/client-rt.conf for the PipeWire native client settings

/usr/share/pipewire/jack.conf for the PipeWire JACK clients

In my particular case, I only use apps that support JACK for my audio work, so I keep everything default except for the jack.conf file. I copy the /usr/share/pipewire/jack.conf over to /etc/pipewire/

I then edit jack.conf in the new location and uncomment the following lines:

#default.clock.rate = 48000
#default.clock.allowed-rates = [ 48000 ]
#default.clock.quantum = 1024

I then set my settings to the desired amounts. "Quantum" = buffer size -- test and find the ideal setting for your personal system.

That's really all there is to it for me as far as pipewire configuration. Since there is currently no easy tool for changing the quantum, I go into this file and change the quantum when I want to change the buffer size. I can totally see this becoming simple once someone develops a GUI based tool to easily make these changes. At the moment, I don't know of such a tool yet, but editing this single file is very easy when I need to make a change.

---------------------

My ultimate goal is to document the easiest process possible for the majority of users to very easily start using Linux. Because of this, I've tried to keep things as simple as possible with my configuration. I don't use RT kernels. I use the standard generic vanilla kernel, but I use it with the threadirqs and preempt=full kernel parameters to make my system run as a real time machine.

Note that it is entirely possible to go much further with configurations to get even better performance at ultra low latencies. For example, the rtirq script can be used to prioritize the threads, but I'm purposely trying to avoid needing any settings other than what already comes in the default distro.

Aside from that, I just adjust the realtime priorities and the memlock limits:

Real-time priority limits are usually stored in /etc/security/limits.conf and /etc/security/limits.d/. The best option is to add a new file 95-pipewire.conf in /etc/security/limits.d/ with this content:

# Default limits for users of pipewire
@pipewire - rtprio 95
@pipewire - nice -19
@pipewire - memlock 4194304

Then add your user to the PipeWire group so that you can use these priorities.

That's really it. That's really all someone needs to get really usable low latencies. :)

EDIT: For more information and additional options, see the pipewire wiki's performance tuning page:

https://gitlab.freedesktop.org/pipewire ... nce-tuning

EDIT#2: I guess I should had that I run my CPU governor set at "Performance".
Last edited by AVLinux on Fri Oct 21, 2022 9:02 am, edited 3 times in total.

User avatar
dolphin_oracle
Developer
Posts: 22668
Joined: Sun Dec 16, 2007 12:17 pm

Re: PipeWire integration discussion?

#78 Post by dolphin_oracle »

while I have no intention of shipping with jack tools installed, but if the configs do not interfere with other packages or with the default audio server setup for our users, I'm not opposed to adding them to the setup package.
http://www.youtube.com/runwiththedolphin
lenovo ThinkPad X1 Extreme Gen 4 - MX-23
FYI: mx "test" repo is not the same thing as debian testing repo.
Live system help document: https://mxlinux.org/wiki/help-antix-live-usb-system/

User avatar
AVLinux
Posts: 3161
Joined: Wed Jul 15, 2020 1:15 am

Re: PipeWire integration discussion?

#79 Post by AVLinux »

dolphin_oracle wrote: Fri Oct 21, 2022 8:59 am while I have no intention of shipping with jack tools installed, but if the configs do not interfere with other packages or with the default audio server setup for our users, I'm not opposed to adding them to the setup package.
Of course! JACK applications would just come from the Repos as always, I'm only talking audio backends and conf files.. Please don't misunderstand, I'm trying to make suggestions to help me to get with YOUR program, not the other way around.. I'm hoping to diminish the need for so much specialization and eventually not even need a special Respin.

User avatar
alextone
Posts: 155
Joined: Wed May 26, 2021 1:51 am

Re: PipeWire integration discussion?

#80 Post by alextone »

AVLinux wrote: Fri Oct 21, 2022 9:05 am
dolphin_oracle wrote: Fri Oct 21, 2022 8:59 am while I have no intention of shipping with jack tools installed, but if the configs do not interfere with other packages or with the default audio server setup for our users, I'm not opposed to adding them to the setup package.
Of course! JACK applications would just come from the Repos as always, I'm only talking audio backends and conf files.. Please don't misunderstand, I'm trying to make suggestions to help me to get with YOUR program, not the other way around.. I'm hoping to diminish the need for so much specialization and eventually not even need a special Respin.
Can I assume that those apps that ask for jackd2 as a dependency will not "see" the pipewire alternative, if the dependency specifies jackd2, and not libjack (or libspa2-jack?)

I've been experimenting today, reading a lot, and discovered that if i remove jackd2 with the intention of replacing it with the pipewire alternative, a lot of jack based apps get uninstalled. (I'm keeping notes)

Also, when i try to compile apps against the pipewire supplied jack lib, they get.....irritated, and won't compile.

Still experimenting here, but i will add i removed pulseaudio, and pipewire worked fine without it. (woohoo) So halfway there.

Alex.

Post Reply

Return to “Package Requests - MX-21”