LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Using Pipewire instead of Pulseaudio in Slackware 15 (https://www.linuxquestions.org/questions/slackware-14/using-pipewire-instead-of-pulseaudio-in-slackware-15-a-4175693980/)

Candelabrus 06-17-2021 11:18 AM

Yesterday I started implementing pipewire here on my system and apparently everything worked out. I would love to thank everyone involved on this.

I gave it a general read but basically followed what the OP posted with some basic differences:

1- I made the implementation using Alsa, Pulse, Jack and Pipewire

2- Compiled webrtc audio processing (pulseaudio and pipewire dependency), libldac and libopenaptx (for bluetooth compatible, pipewire dependency)

3- As I need to recompile pulseaudio due to Jack, i already took the opportunity and made the necessary modifications in the pulseaudio .slackbuild as:
Code:

sed -i 's/autospawn = yes/autospawn = no/g' $PKG/etc/pulse/client.conf
rm -rf $PKG/etc/xdg

4- I also recompiled the pipewire with the necessary modifications and also added ffmpeg in the compilation where it wasn't coming by default (I don't know how much it can improve or worsen)

Code:

    -Dffmpeg=enabled \
    -Dtests=disabled \

Code:

install -Dm644 $CWD/$PRGNAM.desktop $PKG/etc/xdg/autostart/$PRGNAM.desktop
install -Dm644 $CWD/$PRGNAM-pulse.desktop $PKG/etc/xdg/autostart/$PRGNAM-pulse.desktop
install -Dm644 $CWD/$PRGNAM-media-session.desktop $PKG/etc/xdg/autostart/$PRGNAM-media-session.desktop

# Pipewire will control jack use
pipewire-jack.conf content
Code:

/usr/lib64/pipewire-0.3/jack
Code:

install -Dm644 $CWD/pipewire-jack.conf -t $PKG/etc/ld.so.conf.d
# Enable mSBC for bluetooth
Code:

sed -i 's/#bluez5.msbc-support = false/bluez5.msbc-support = true/g' $PKG/usr/share/pipewire/media-session.d/bluez-monitor.conf
Apparently it's working using the commands that staff used during the topic
Code:

ldd /usr/bin/qjackctl | grep -i libjack
        libjack.so.0 => /usr/lib64/libjack.so.0 (0x00007f3d0dd42000)

Code:

eric@slackware ~ ps -ef | grep pipewire
eric      1377  1329  0 jun18 tty1    00:00:00 /usr/bin/daemon -frB --pidfiles=~/.run --name=pipewire-pulse /usr/bin/pipewire-pulse
eric      1381  1377  3 jun18 tty1    00:00:46 pipewire-pulse: /usr/bin/pipewire-pulse
eric      1391  1329  0 jun18 tty1    00:00:00 /usr/bin/daemon -frB --pidfiles=~/.run --name=pipewire /usr/bin/pipewire
eric      1395  1329  0 jun18 tty1    00:00:00 /usr/bin/daemon -frB --pidfiles=~/.run --name=pipewire-media-session /usr/bin/pipewire-media-session
eric      1398  1391  1 jun18 tty1    00:00:16 pipewire: /usr/bin/pipewire
eric      1407  1395  1 jun18 tty1    00:00:22 pipewire-media-session: /usr/bin/pipewire-media-session
eric      3461  3451  0 00:12 pts/0    00:00:00 grep pipewire

Code:

eric@slackware ~ inxi -F
System:
  Host: slackware.com Kernel: 5.12.11 x86_64 bits: 64
  Desktop: Cinnamon 4.8.6 Distro: Slackware 14.2
Machine:
  Type: Laptop System: ASUSTeK product: X510URR v: 1.0
  serial: <superuser required>
  Mobo: ASUSTeK model: X510URR v: 1.0 serial: <superuser required>
  UEFI: American Megatrends v: X510URR.309 date: 04/19/2019
Battery:
  ID-1: BAT0 charge: 28.8 Wh (100.0%) condition: 28.8/42.1 Wh (68.5%)
  volts: 11.5 min: 11.5
CPU:
  Info: Quad Core model: Intel Core i5-8250U bits: 64 type: MT MCP cache:
  L2: 6 MiB
  Speed: 800 MHz min/max: 400/3400 MHz Core speeds (MHz): 1: 800 2: 800
  3: 800 4: 800 5: 800 6: 800 7: 800 8: 800
Graphics:
  Device-1: Intel UHD Graphics 620 driver: i915 v: kernel
  Device-2: NVIDIA GM108M [GeForce 930MX] driver: N/A
  Device-3: IMC Networks USB2.0 VGA UVC WebCam type: USB driver: uvcvideo
  Display: server: X.Org 1.20.11 driver: loaded: modesetting unloaded: vesa
  resolution: 1920x1080~60Hz
  OpenGL: renderer: Mesa Intel UHD Graphics 620 (KBL GT2) v: 4.6 Mesa 21.1.2
Audio:
  Device-1: Intel Sunrise Point-LP HD Audio driver: snd_hda_intel
  Sound Server-1: ALSA v: k5.12.11 running: yes
  Sound Server-2: PipeWire v: 0.3.30 running: yes
Network:
  Device-1: Intel Wireless 7265 driver: iwlwifi
  IF: wlan0 state: up mac: xx:xx:xx:xx:xx:xx

After having performed all this procedure, i noticed two things that i would like to check with you if there is a solution

- I use startx to boot my system and after starting those 3 executables in xdg/autostart my X only goes up after about 10 seconds. Its normal?
- My Redmi AirDots bluetooth headset have a good quality but is only good when there is no crash/acceleration during playback and also when i enable the airdots MIC the quality drops immensely. (Fixed changing my connection to WiFi 5ghz)

enorbet 06-24-2021 01:21 AM

My apologies for being so late to the party but some may find this useful.....

https://venam.nixers.net/blog/unix/2...-the-hood.html

average_user 06-24-2021 02:48 AM

So you also read r/linux?

enorbet 06-24-2021 03:05 PM

Quote:

Originally Posted by average_user (Post 6261229)
So you also read r/linux?

That's a safe bet ;)

gargamel 07-02-2021 04:51 AM

Maybe I should have been able to extract the answer from this awesome thread, but here are three questions I have to understand a little better what the inclusion of PipeWire actually means for people like me, who are more or less pure end-users, loving and using Slackware for its stability and low maintenance effort:

In short:
1. Is Pipewire actually used, already, by default in a standard install?
2. What about latencies, if applications use PulseAudio APIs instead of native PipeWire APIs?
3. What applications are actually using PipeWire native APIs already?

In detail:
  1. As PipeWire is not part of a standard install in Slackware64-current, is it actually used by anything by default? I don't detect any traces of it in /etc/rc.d, which is probably because it is not a server in the same sense as pulseaudio is. Also, there are (of course) no desktop files. From that I would conclude that PipeWire is included with the distro in order to be prepared for applications that might use the native APIs. But PulseAudio is and will remain the default, for now. Is my (admittedly very superficial) understanding correct?
  2. Now, this brings me to my second question. If applications use pulseaudio APIs instead of native PipeWire APIs, doesn't the involved "translation" add latencies? I am asking, because one of the things PA has been criticised for and where PipeWire appears to be better, is too much latency in certain circumstances.
  3. Finally, just out of curiosity: What applications included with a Slackware64-current/15 standard install are using PipeWire natively, already?

Thanks!

gargamel

LuckyCyborg 07-02-2021 10:39 AM

Quote:

Originally Posted by gargamel (Post 6263204)
Maybe I should have been able to extract the answer from this awesome thread, but here are three questions I have to understand a little better what the inclusion of PipeWire actually means for people like me, who are more or less pure end-users, loving and using Slackware for its stability and low maintenance effort:

In short:
1. Is Pipewire actually used, already, by default in a standard install?
2. What about latencies, if applications use PulseAudio APIs instead of native PipeWire APIs?
3. What applications are actually using PipeWire native APIs already?

In detail:
  1. As PipeWire is not part of a standard install in Slackware64-current, is it actually used by anything by default? I don't detect any traces of it in /etc/rc.d, which is probably because it is not a server in the same sense as pulseaudio is. Also, there are (of course) no desktop files. From that I would conclude that PipeWire is included with the distro in order to be prepared for applications that might use the native APIs. But PulseAudio is and will remain the default, for now. Is my (admittedly very superficial) understanding correct?
  2. Now, this brings me to my second question. If applications use pulseaudio APIs instead of native PipeWire APIs, doesn't the involved "translation" add latencies? I am asking, because one of the things PA has been criticised for and where PipeWire appears to be better, is too much latency in certain circumstances.
  3. Finally, just out of curiosity: What applications included with a Slackware64-current/15 standard install are using PipeWire natively, already?

Thanks!

gargamel

The PipeWire native APIs are used by Wayland/Plasma5 for various features, starting from handling the taskbar thumbnails and ending with desktop sharing. The words "by default" are wrong, because PipeWire is closely integrated on Wayland/Plasma5.

Without the PipeWire daemons running on a Wayland/Plasma5 session, various issues appear starting with no taskbar thumbnails and ending with failures on Chrome/Chromium/Firefox desktop sharing over WebRTC and even TeamViewer or VNCs not working.

Unfortunately, there still missing a software to complete this stack for desktop sharing: xdg-desktop-portal which is frontend of already present xdg-desktop-portal-kde

Regarding the audio latencies, the PipeWire can work realtime, and in fact it was designed being a realtime Audio/Video server, capable to replace both PulseAudio and JACK.

BUT, there still missing a software for this to happen: RtKit, a little daemon invented by no one other than Mr. Poettering. Yeah, the very author of systemd and PulseAudio also written RtKit, which fortunately is a little software which can be installed stand-alone.

With a special note on "I don't detect any traces of it in /etc/rc.d, which is probably because it is not a server in the same sense as pulseaudio is. Also, there are (of course) no desktop files."

The PipeWire daemons aren't supposed to run system-wide, then there never will be something like a /etc/rc.d script for it.

There also are no desktop files on Slackware -current because the Slackware Team looks that considers PipeWire just a hard dependency of the Cinderella Wayland/Plasma5, which of course "is not ready yet for Prime Time" whichever meaning has this.

Yeah, being blunt: they just dumped the PipeWire package on the tree. From orbit. ;)

stormtracknole 07-06-2021 12:29 PM

Greetings!

So, something I just noticed that the desktop files are not set up to work with XFCE. You will need to add the following:
Code:

OnlyShowIn=XFCE;
to all 3 desktop files in:
Code:

/etc/xdg/autostart
I added mine at the very end of each file. Apologies if this was already mentioned.

tramtrist 07-06-2021 12:32 PM

xdg-desktop-portal would be a much welcomed addition for us non KDE wayland users :D

adcdam 07-06-2021 01:09 PM

About rtKit written by (i dont want to mention him) from pípewire 0.3.29 it say A new module-rt was added to acquire real-time scheduling priviledges without using RTKit.
you can see in releases https://gitlab.freedesktop.org/pipew...ire/-/releases

LuckyCyborg 07-06-2021 01:36 PM

Quote:

Originally Posted by stormtracknole (Post 6264432)
Greetings!

So, something I just noticed that the desktop files are not set up to work with XFCE. You will need to add the following:
Code:

OnlyShowIn=XFCE;
to all 3 desktop files in:
Code:

/etc/xdg/autostart
I added mine at the very end of each file. Apologies if this was already mentioned.

Adding "OnlyShowIn=XFCE" on the XDG autostart files will make them to be executed only on XFCE sessions.

So, they will not work anymore on Plasma5 no mater if Wayland or X11.

As they are today, they will be executed no matter what DE session will run. Also this is verified practically by myself.

LuckyCyborg 07-06-2021 01:56 PM

Quote:

Originally Posted by tramtrist (Post 6264434)
xdg-desktop-portal would be a much welcomed addition for us non KDE wayland users :D

Well, the addition of xdg-desktop-portal will solve certainly the stack for Plasma5, because there's already xdg-desktop-portal-kde

In practice, when an application wants to do screen recording on Wayland/Plasma5, the things works like this:

- the application asks xdg-desktop-portal for a video stream for screen recording
- the xdg-desktop-portal looks for a frontend, and finds running xdg-desktop-portal-kde, so asks it for the video stream
- the xdg-desktop-portal-kde show to user a confirmation dialog (if accepts or not) then asks KWin for the video stream.
- the Kwin setups a new PipeWire video stream and sends the handle to xdg-desktop-portal-kde
- the xdg-desktop-portal-kde sends the handle of video stream (and that information that the user accepted) to xdg-desktop-portal
- the xdg-desktop-portal sends the handle of video stream to application, which then do its job.

All communication is done via DBUS.

Even sounds complicated, this logic ensure that the applications talks always with xdg-desktop-portal no matter which desktop session and implementation runs on the desktop.

So, those who uses different desktop session on Wayland - non Plasma5, will need to run also particular implementations, like xdg-desktop-portal-wlr for WLROOTS based DEs or xdg-desktop-portal-gtk for Wayland/Gnome3.

stormtracknole 07-06-2021 01:58 PM

Quote:

Originally Posted by LuckyCyborg (Post 6264452)
Adding "OnlyShowIn=XFCE" on the XDG autostart files will make them to be executed only on XFCE sessions.

So, they will not work anymore on Plasma5 no mater if Wayland or X11.

As they are today, they will be executed no matter what DE session will run. Also this is verified practically by myself.

Interesting, I couldn't get pipewire to work in XFCE without using that in the desktop file.

tramtrist 07-06-2021 02:00 PM

Thanks @LuckyCyborg This is very interesting. Yes, -wlr is the drone I'm looking for. While I compiled and installed it manually I have virtually no idea how to properly set it up. :)
But I suppose we're getting off topic

LuckyCyborg 07-06-2021 02:01 PM

Quote:

Originally Posted by stormtracknole (Post 6264462)
Interesting, I couldn't get pipewire to work in XFCE without using that in the desktop file.

Then, maybe you should look on how XFCE handle those XDG autostart files. Could be even a (new) bug.

I am quite sure that, months ago, I had no issues to start the PipeWire daemons on XFCE with those stock XDG autostart files.

stormtracknole 07-06-2021 02:09 PM

Quote:

Originally Posted by LuckyCyborg (Post 6264465)
Then, maybe you should look on how XFCE handle those XDG autostart files. Could be even a (new) bug.

I am quite sure that, months ago, I had no issues to start the PipeWire daemons on XFCE with those stock XDG autostart files.

When I first tested this, I did so under KDE. So I can't say for sure if this was working at any point with XFCE.

LuckyCyborg 07-06-2021 02:30 PM

1 Attachment(s)
Quote:

Originally Posted by stormtracknole (Post 6264467)
When I first tested this, I did so under KDE. So I can't say for sure if this was working at any point with XFCE.

Well, I can confirm you that it works fine even today - with the stock XDG autostart files. I've just tested on full updated system.

LuckyCyborg 07-06-2021 02:41 PM

Quote:

Originally Posted by tramtrist (Post 6264464)
Thanks @LuckyCyborg This is very interesting. Yes, -wlr is the drone I'm looking for. While I compiled and installed it manually I have virtually no idea how to properly set it up. :)
But I suppose we're getting off topic

I have no idea how to setup xdg-desktop-portal-wlr on Slackware and your particular Wayland DE, BUT I am 100% certain that also xdg-desktop-portal is required.

stormtracknole 07-06-2021 02:46 PM

Quote:

Originally Posted by LuckyCyborg (Post 6264477)
Well, I can confirm you that it works fine even today - with the stock XDG autostart files. I've just tested on full updated system.

Well...I need to look at my set up again. I obviously missed something on that system. Thanks for checking your system.

stormtracknole 07-06-2021 07:39 PM

LuckyCybord,

Do you mind sharing one of your pipewire desktop files here? Just want to make sure I am not missing something. Thanks!

ZhaoLin1457 07-07-2021 05:27 AM

Quote:

Originally Posted by stormtracknole (Post 6264551)
LuckyCybord,

Do you mind sharing one of your pipewire desktop files here? Just want to make sure I am not missing something. Thanks!

Considering that he's the inventor of those XDG desktop files, probably he uses exactly the files described on this thread's first post.

Also myself I use them and if you want a second confirmation, I would like to inform you that the PipeWire daemons runs properly on XFCE also on my mini-PC MinisForum Z83-F.

I've tested this after upgrading to "Tue Jul 6 20:44:20 UTC 2021" updates.

stormtracknole 07-07-2021 06:18 AM

Quote:

Originally Posted by ZhaoLin1457 (Post 6264649)
Considering that he's the inventor of those XDG desktop files, probably he uses exactly the files described on this thread's first post.

Also myself I use them and if you want a second confirmation, I would like to inform you that the PipeWire daemons runs properly on XFCE also on my mini-PC MinisForum Z83-F.

I've tested this after upgrading to "Tue Jul 6 20:44:20 UTC 2021" updates.

Thanks ZhaoLin. This does help. I'm just perplexed as to why this wasn't working on this particular system. No big deal though. Thanks for chiming in.

LuckyCyborg 07-07-2021 10:51 AM

Quote:

Originally Posted by stormtracknole (Post 6264551)
LuckyCybord,

Do you mind sharing one of your pipewire desktop files here? Just want to make sure I am not missing something. Thanks!

As @ZhaoLin1457 already supposed, I use exactly the XDG autostart files described on this thread. There's one, for the sake of fulfilling your request.

/etc/xdg/autostart/pipewire.desktop
Code:

[Desktop Entry]
Version=1.0
Name=PipeWire Media System
Comment=Start the PipeWire Media System
Exec=/usr/bin/daemon -frB --pidfiles=~/.run --name=pipewire /usr/bin/pipewire
Terminal=false
Type=Application
X-GNOME-Autostart-Phase=Initialization
X-KDE-autostart-phase=1

Honestly, I believe that your issues are in fact related to how you configured your XFCE - how about to start the XFCE on a new created user, with its default options?

I for one, I suspect that you modified the options of starting services on xfce4-session

https://docs.xfce.org/xfce/xfce4-session/preferences

Let's say that you disabled both the startup of Gnome and KDE services for whatever reasons, because looks like that the XFCE uses "OnlyShowIn" to identify its own services on XDG autostart. ;)

stormtracknole 07-07-2021 11:46 AM

Quote:

Originally Posted by LuckyCyborg (Post 6264718)
As @ZhaoLin1457 already supposed, I use exactly the XDG autostart files described on this thread. There's one, for the sake of fulfilling your request.

/etc/xdg/autostart/pipewire.desktop
Code:

[Desktop Entry]
Version=1.0
Name=PipeWire Media System
Comment=Start the PipeWire Media System
Exec=/usr/bin/daemon -frB --pidfiles=~/.run --name=pipewire /usr/bin/pipewire
Terminal=false
Type=Application
X-GNOME-Autostart-Phase=Initialization
X-KDE-autostart-phase=1

Honestly, I believe that your issues are in fact related to how you configured your XFCE - how about to start the XFCE on a new created user, with its default options?

I for one, I suspect that you modified the options of starting services on xfce4-session

https://docs.xfce.org/xfce/xfce4-session/preferences

Let's say that you disabled both the startup of Gnome and KDE services for whatever reasons, because looks like that the XFCE uses "OnlyShowIn" to identify its own services on XDG autostart. ;)

I think you are on to something. This particular account that I am using is old and has seen many instances of xfce. I obviously have something messed up there. I probably should have looked more into that before I chimed here. :) Thank for your tips.

garpu 07-17-2021 04:16 PM

Another data point, but XFCE, pipewire, and SuperCollider started right up. Latency was kind of ass, but I haven't really tuned my laptop for latency. (That is, just default jackdrc, no kernel params yet.)

ETA: I'm not using wayland. Just X. :)

enorbet 07-18-2021 03:14 AM

I tried out Pipewire on one of my Test Current installs and thought it might have shown me a way to simplify and improve ALSA interaction with JACK in a Pulse environment. turned out to not work. :( I suppose it was likely just a case of Premature Jack Elation ;)

cwizardone 08-23-2021 08:40 AM

Quote:

Originally Posted by stormtracknole (Post 6243016)
Now that Pat has included the daemon package for what will become Slackware 15, I'll note here what is needed in order to use Pipewire instead of Pulseaudio. The original post is here and was provided by ZhaoLin1457. I'm just putting the details of that post here for better visibility........................


Quote:

Originally Posted by kingbeowulf (Post 6244321)
Shameless plug (Posted on Feb 03, 2021):

https://www.linuxgalaxy.org/bkoenig/...with-pipewire/

I've printed out both of these methods, followed the instructions step-by-step and can't get pipewire to work.
Has there been a change in the procedures?
Thanks.

fourtysixandtwo 08-23-2021 09:03 AM

Quote:

Originally Posted by cwizardone (Post 6277792)
I've printed out both of these methods, followed the instructions step-by-step and can't get pipewire to work.
Has there been a change in the procedures?
Thanks.

Here's my consolidated instructions that I went through the other day to fix up.

Code:

#pipewire setup

-edit /etc/pulse/client.conf to disable pulseaudio
autospawn = no
allow-autospawn-for-root = no  #not sure if this is needed but it seems likely

-add the following, this goes with xdg stuff

cat << EOF > /etc/daemon.conf.d/pipewire.conf
pipewire bind,respawn,pidfiles=~/.daemon
pipewire-pulse bind,respawn,pidfiles=~/.daemon
pipewire-media-session bind,respawn,pidfiles=~/.daemon
EOF

-need the following in /etc/xdg/autostart/

#disable pulseaudio
echo "Hidden=true" >> /etc/xdg/autostart/pulseaudio.desktop

cat << EOF > /etc/xdg/autostart/pipewire.desktop
[Desktop Entry]
Version=1.0
Name=PipeWire Media System
Comment=Start the PipeWire Media System
Exec=/usr/bin/daemon -f -n pipewire /usr/bin/pipewire
Terminal=false
Type=Application
X-GNOME-Autostart-Phase=Initialization
X-KDE-autostart-phase=1
EOF

cat << EOF > /etc/xdg/autostart/pipewire-pulse.desktop
[Desktop Entry]
Version=1.0
Name=PipeWire Pulse
Comment=Start the PipeWire Pulse
Exec=/usr/bin/daemon -f -n pipewire-pulse /usr/bin/pipewire-pulse
Terminal=false
Type=Application
X-GNOME-Autostart-Phase=Initialization
X-KDE-autostart-phase=1
EOF

cat << EOF > /etc/xdg/autostart/pipewire-media-session.desktop
[Desktop Entry]
Version=1.0
Name=PipeWire Media Session
Comment=Start the PipeWire Media Session
Exec=/usr/bin/daemon -f -n pipewire-media-session /usr/bin/pipewire-media-session
Terminal=false
Type=Application
X-GNOME-Autostart-Phase=Initialization
X-KDE-autostart-phase=1
EOF

#logout of plasma and startx again or reboot if needed


LuckyCyborg 08-23-2021 09:03 AM

Quote:

Originally Posted by cwizardone (Post 6277792)
I've printed out both of these methods, followed the instructions step-by-step and can't get pipewire to work.
Has there been a change in the procedures?
Thanks.

What does not work?

I use with no issues since beginning the "daemon" method of starting the PipeWire daemons from XDG autostart.

Please note that for debugging, you can even execute the commands described on the desktop files on different console tabs, then you can get the messages sent by the PipeWire daemons, which are rather regular programs, with no clues to daemonize themselves.

The proper order of launching their execution is: pipewire, pipewire-media-session, pipewire-pulse

BUT, you should ensure that the PulseAudio server is not (auto-)started.

And of course, you should NOT remove PulseAudio package, because its client libraries and tools are still needed, as usual.

marav 08-23-2021 09:09 AM

Quote:

Originally Posted by cwizardone (Post 6277792)
I've printed out both of these methods, followed the instructions step-by-step and can't get pipewire to work.
Has there been a change in the procedures?
Thanks.

I recently applied it on my new laptop, and no, obviously it hasn't changed
- The 3 pipewire .desktop files in /etc/xdg/autostart/
- autospawn = no in /etc/pulse/client.conf
And in /etc/xdg/autostart/
- mv pulseaudio.desktop pulseaudio.disabled

And everything works as expected

LuckyCyborg 08-23-2021 09:19 AM

Quote:

Originally Posted by marav (Post 6277797)
I recently applied it on my new laptop, and no, obviously it hasn't changed
- The 3 pipewire .desktop files in /etc/xdg/autostart/
- autospawn = no in /etc/pulse/client.conf
And in /etc/xdg/autostart/
- mv pulseaudio.desktop pulseaudio.disabled

And everything works as expected

Yep!

With the note that I remembered that I read somewhere that XFCE should be configured to load GNOME/KDE services otherwise it's very picky on executing the XDG files - it loads only those with the following
Code:

OnlyShowIn=XFCE;
So, unless the XFCE is configured according, probably we need added on the desktop files at least:
Code:

OnlyShowIn=KDE;XFCE;
https://specifications.freedesktop.o...atest/apb.html

With the note that OnlyShowIn is not needed on Plasma5 or XFCE with relaxed KDE/GNOME services loading.

fourtysixandtwo 08-23-2021 09:27 AM

Quote:

Originally Posted by marav (Post 6277797)
I recently applied it on my new laptop, and no, obviously it hasn't changed
- The 3 pipewire .desktop files in /etc/xdg/autostart/
- autospawn = no in /etc/pulse/client.conf
in /etc/xdg/autostart/
- mv pulseaudio.desktop pulseaudio.disabled

And everything works as expected

FYI pulseaudio.desktop will get reinstalled by the pulseaudo-15 package.

LuckyCyborg 08-23-2021 09:28 AM

Quote:

Originally Posted by fourtysixandtwo (Post 6277803)
FYI pulseaudio.desktop will get reinstalled by the pulseaudo-15 package.

We know. This is one of reasons why I suggested splitting the PulseAudio server in its own package.

But until now looks like my proposal wasn't accepted.

marav 08-23-2021 09:32 AM

Quote:

Originally Posted by fourtysixandtwo (Post 6277803)
FYI pulseaudio.desktop will get reinstalled by the pulseaudo-15 package.

Right
That's why you shouldn't forget to rename the .desktop after each update.
As long as pulseaudio will be the default sound server ...

fourtysixandtwo 08-23-2021 09:48 AM

Quote:

Originally Posted by LuckyCyborg (Post 6277804)
We know. This is one of reasons why I suggested splitting the PulseAudio server in its own package.

But until now looks like my proposal wasn't accepted.

Who is "we"? You may know, but I didn't see it stated clearly in this pipewire setup thread or the original.

marav 08-23-2021 10:12 AM

Quote:

Originally Posted by fourtysixandtwo (Post 6277809)
Who is "we"? You may know, but I didn't see it stated clearly in this pipewire setup thread or the original.

This is more a "slackware" thing than a specific pipewire/pulseaudio one

LuckyCyborg 08-23-2021 10:13 AM

Quote:

Originally Posted by fourtysixandtwo (Post 6277809)
Who is "we"? You may know, but I didn't see it stated clearly in this pipewire setup thread or the original.

Who is "we" ? Anybody who used on having interest on running PipeWire as audio-server.

Is obvious that that PulseAudio file for XDG autostart would be reinstalled on package upgrade, even is not stated "clearly" if you have a vague idea what PulseAudio package contains.

BrunoLafleur 08-23-2021 10:55 AM

Quote:

Originally Posted by LuckyCyborg (Post 6277816)
Who is "we" ? Anybody who used on having interest on running PipeWire as audio-server.

Is obvious that that PulseAudio file for XDG autostart would be reinstalled on package upgrade, even is not stated "clearly" if you have a vague idea what PulseAudio package contains.

Maybe those files could be considered as config files and so we could apply the ".new" stuff as is done for a lot of config files.

mumahendras3 08-23-2021 11:14 AM

Personally, regarding pulseaudio.desktop file, I just copied /etc/xdg/autostart/pulseaudio.desktop to ~/.config/autostart/pulseaudio.desktop then added "Hidden=true" to it. That way, I don't have to remember editing /etc/xdg/autostart/pulseaudio.desktop after upgrading the pulseaudio package. Seems to be working so far for a couple of months here on my system.

LuckyCyborg 08-23-2021 11:16 AM

Quote:

Originally Posted by BrunoLafleur (Post 6277825)
Maybe those files could be considered as config files and so we could apply the ".new" stuff as is done for a lot of config files.

How we can do this? To use the PipeWire as audio server, you should disable the PulseAudio server auto-start - and this means also to move away the file /etc/xdg/autostart/pulseaudio.desktop so nothing is on place of it.

Like I said many times, probably the best way is to have the PulseAudio server (and its related files) put in a split package, which can be eventually uninstalled or blacklisted.

fourtysixandtwo 08-23-2021 11:17 AM

Quote:

Originally Posted by marav (Post 6277814)
This is more a "slackware" thing than a specific pipewire/pulseaudio one

It is specific to someone using pipewire on slackware and why we are in this thread. It is also an easy detail to overlook/forget about when updating the system until/if it's a default option.

fourtysixandtwo 08-23-2021 11:54 AM

Quote:

Originally Posted by LuckyCyborg (Post 6277816)
Who is "we" ? Anybody who used on having interest on running PipeWire as audio-server.

Is obvious that that PulseAudio file for XDG autostart would be reinstalled on package upgrade, even is not stated "clearly" if you have a vague idea what PulseAudio package contains.

Obvious if you remember, but very easy to overlook and forget about and anybody new to trying out pipewire on slackware needs to be aware of even if it's just a reminder until pipewire "is" a default configurable option.

Your use of "we" is very contradictory in this case. Remember that not everyone lives and breathes this stuff to the same level/intensity that you appear to do.

cwizardone 08-23-2021 02:53 PM

Quote:

Originally Posted by fourtysixandtwo (Post 6277851)
Obvious if you remember, but very easy to overlook and forget about and anybody new to trying out pipewire on slackware needs to be aware of even if it's just a reminder until pipewire "is" a default configurable option.

Your use of "we" is very contradictory in this case. Remember that not everyone lives and breathes this stuff to the same level/intensity that you appear to do.

That maybe my problem.
I spent a couple hours two weeks ago working on this project, another two or three hours again yesterday and all this morning today and pipewire does not work. There must be something so fundamental that it is obvious to others with more knowledge and experience, but I don't see it.
Are they there any dependencies that are not included with -current?
:scratch:

marav 08-23-2021 03:00 PM

Quote:

Originally Posted by cwizardone (Post 6277907)
That maybe my problem.
I spent a couple hours two weeks ago working on this project, another two or three hours again yesterday and all this morning today and pipewire does not work. There must be something so fundamental that it is obvious to others with more knowledge and experience, but I don't see it.
Are they there any dependencies that are not included with -current?
:scratch:

Do you have something in your : ~/.run ?

This is where pipewire puts its .pid files

LuckyCyborg 08-23-2021 03:21 PM

Quote:

Originally Posted by marav (Post 6277910)
Do you have something in your : ~/.run ?

This is where pipewire puts its .pid files

Just to be clear...

The PipeWire "daemons" are just ordinary programs, which has no ideas regarding PID files and other daemon-like things. They do not put PID files anywhere.

The one which puts PID files there is our daemon supervisor - the little program which controls the PipeWire "daemons" and executes/stops them as instructed.

However, even for the daemon supervisor those PipeWire daemons are just ordinary programs too and it has nothing to do with PipeWire itself.

It's a generic daemon supervisor, capable to supervise things even on init system - in fact for this purpose it was created years ago.

For example, I have a friend who uses the daemon supervisor to automatically start and stop a VPN client executed on user side.

cwizardone 08-23-2021 04:30 PM

Quote:

Originally Posted by marav (Post 6277910)
Do you have something in your : ~/.run ?

This is where pipewire puts its .pid files

No such directory.

LuckyCyborg 08-23-2021 04:37 PM

Quote:

Originally Posted by cwizardone (Post 6277942)
No such directory.

Great Wizard, the biggest question is: what desktop environment you use?

And IF you use the solution described on OP of this thread and the XFCE as I suspect, did you read my comments regarding XFCE and running its desktop services?

fourtysixandtwo 08-23-2021 04:47 PM

Quote:

Originally Posted by cwizardone (Post 6277907)
That maybe my problem.
I spent a couple hours two weeks ago working on this project, another two or three hours again yesterday and all this morning today and pipewire does not work. There must be something so fundamental that it is obvious to others with more knowledge and experience, but I don't see it.
Are they there any dependencies that are not included with -current?
:scratch:

I just set it up on another -current machine without issue.

You should see the following processes and files in ~/.daemon or ~/.run (depending on pidfile location specified)
Code:

# ps -eaf|egrep "pipew|pulse|jack"
test      3337    1  0 15:14 ?        00:00:00 /usr/bin/daemon -f -n pipewire-pulse /usr/bin/pipewire-pulse
test      3340  3337  0 15:14 ?        00:00:00 pipewire-pulse: /usr/bin/pipewire-pulse
test      3341    1  0 15:14 ?        00:00:00 /usr/bin/daemon -f -n pipewire /usr/bin/pipewire
test      3345  3341  0 15:14 ?        00:00:00 pipewire: /usr/bin/pipewire
test      3352    1  0 15:14 ?        00:00:00 /usr/bin/daemon -f -n pipewire-media-session /usr/bin/pipewire-media-session
test      3357  3352  0 15:14 ?        00:00:00 pipewire-media-session: /usr/bin/pipewire-media-session
root      3466  1347  0 15:16 pts/0    00:00:00 grep -E pipew|pulse|jack

# ls -l ~test/.daemon/
total 24
-rw-r--r-- 1 test users 5 Aug 23 15:14 pipewire-media-session.clientpid
-rw-r--r-- 1 test users 5 Aug 23 15:14 pipewire-media-session.pid
-rw-r--r-- 1 test users 5 Aug 23 15:14 pipewire-pulse.clientpid
-rw-r--r-- 1 test users 5 Aug 23 15:14 pipewire-pulse.pid
-rw-r--r-- 1 test users 5 Aug 23 15:14 pipewire.clientpid
-rw-r--r-- 1 test users 5 Aug 23 15:14 pipewire.pid

On my main desktop, which is using digital out, I may have had to configure that output from the Audio control panel again.

Does your audio work without pipewire configured? I had to reinstall alsa-lib and pulseaudio-15 after a recent update (if you haven't been following that recent audio not working thread).

cwizardone 08-23-2021 05:02 PM

Quote:

Originally Posted by fourtysixandtwo (Post 6277951)
I just set it up on another -current machine without issue.

You should see the following processes and files in ~/.daemon or ~/.run (depending on pidfile location specified)............

Neither directory exists on this system.
Pulseaudio works just fine.

fourtysixandtwo 08-23-2021 05:42 PM

Quote:

Originally Posted by cwizardone (Post 6277958)
Neither directory exists on this system.
Pulseaudio works just fine.

That will happen if pidfiles isn't specified in either the /etc/daemon.conf.d/pipewire.conf from my example or the "Exec" line in the pipewire*.desktop files from the OG post of this thread. I still got sound but daemon is unable to kill the processes after logging out from that shell.

You did see the 6 daemon/pipewire processes running?

marav 08-23-2021 05:48 PM

Quote:

Originally Posted by mumahendras3 (Post 6277835)
Personally, regarding pulseaudio.desktop file, I just copied /etc/xdg/autostart/pulseaudio.desktop to ~/.config/autostart/pulseaudio.desktop then added "Hidden=true" to it. That way, I don't have to remember editing /etc/xdg/autostart/pulseaudio.desktop after upgrading the pulseaudio package. Seems to be working so far for a couple of months here on my system.

Certainly the best way


All times are GMT -5. The time now is 08:16 PM.