LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 09-25-2021, 01:01 PM   #121
pakcjo
LQ Newbie
 
Registered: Oct 2018
Posts: 5

Rep: Reputation: Disabled

Can the pipewire version shipped with Slackware 15 have jack support? pretty please?
 
Old 09-25-2021, 01:06 PM   #122
marav
Senior Member
 
Registered: Sep 2018
Location: Villenave d’Ornon
Distribution: Slackware
Posts: 2,865

Rep: Reputation: 1896Reputation: 1896Reputation: 1896Reputation: 1896Reputation: 1896Reputation: 1896Reputation: 1896Reputation: 1896Reputation: 1896Reputation: 1896Reputation: 1896
Quote:
Originally Posted by pakcjo View Post
Can the pipewire version shipped with Slackware 15 have jack support? pretty please?
Just in case

https://slack.conraid.net/repository...pipewire-jack/
 
2 members found this post helpful.
Old 09-25-2021, 02:26 PM   #123
adcdam
Member
 
Registered: Aug 2020
Location: Berisso, Argentina
Distribution: Slackware
Posts: 198

Rep: Reputation: 158Reputation: 158
Quote:
Originally Posted by Tonus View Post
Hi all

I read the whole thread twice, tested and miserably failed to adapt to i3wm.

What I did : basically replaced the xdg desktop files with execution of their commands at startup in i3wm config file. Everything else same.

Then I couldn't have sound and no frontend : alsamixer or pavucontrol were failing.

Thought as I was writing : shouldn't i also take care of what launches pulseaudio ? (Session start) Have to look at that...
Hi, im using bspwm (a exotic wm as one Lucky not man not robot user told me) a tilling windows similar to I3wm, i was having problems when launching pipewire from the bswpm config, so i used dex-autostart (alternatives to dex are dapper, fbautostart, or sandsmark-xdg-autostart-launcher)
https://www.mankier.com/1/dex-autostart you can find it here https://pkgs.org/search/?q=dex-autostart donwload it and convert to Slackware with rpm2tgz and the package name install it with installpkg

i created three .desktop files inside /home/myhomename/.config/autostart directory



pipewire.desktop

Code:
[Desktop Entry]
Version=1.0
Name=PipeWire Media System
Comment=Start the PipeWire Media System
Exec=/usr/bin/pipewire
Terminal=false
Type=Application
pipewire-pulse.desktop

Code:
[Desktop Entry]
Version=1.0
Name=PipeWire Pulse
Comment=Start the PipeWire Pulse
Exec=/usr/bin/pipewire-pulse
Terminal=false
Type=Application


pipewire-media-session.desktop

Code:
[Desktop Entry]
Version=1.0
Name=PipeWire Media Session
Comment=Start the PipeWire Media Session
Exec=/usr/bin/pipewire-media-session
Terminal=false
Type=Application
inside my bspwm config file i have
dex-autostart -as /home/(myhome)/.config/autostart/
you can have this autostart directory in /etc if you want.
https://www.youtube.com/watch?v=zlITNLRcXZQ
two nice articles to read one about sound in Linux and Bsd the other about pipewire:
https://venam.nixers.net/blog/unix/2...dio-stack.html
https://venam.nixers.net/blog/unix/2...-the-hood.html

Last edited by adcdam; 09-25-2021 at 03:01 PM.
 
3 members found this post helpful.
Old 09-25-2021, 06:16 PM   #124
Tonus
Senior Member
 
Registered: Jan 2007
Location: Paris, France
Distribution: Slackware-15.0
Posts: 1,234
Blog Entries: 3

Rep: Reputation: 410Reputation: 410Reputation: 410Reputation: 410Reputation: 410
Thanks abcdam, already seen that but doesn't seem to be the culprit : checked multiple times that pulseaudio wasn't running.

I tried what LuckyCyborg suggested and launch the 3 commands in terminal. I've got pipewire-media-session failing. Looks like it would be Dbus related ?
 
Old 09-25-2021, 07:45 PM   #125
adcdam
Member
 
Registered: Aug 2020
Location: Berisso, Argentina
Distribution: Slackware
Posts: 198

Rep: Reputation: 158Reputation: 158
Quote:
Originally Posted by Tonus View Post
Thanks abcdam, already seen that but doesn't seem to be the culprit : checked multiple times that pulseaudio wasn't running.

I tried what LuckyCyborg suggested and launch the 3 commands in terminal. I've got pipewire-media-session failing. Looks like it would be Dbus related ?
very probably, what do you have in your .xinitrc file?
 
1 members found this post helpful.
Old 09-25-2021, 08:03 PM   #126
ZhaoLin1457
Member
 
Registered: Jan 2018
Posts: 836

Rep: Reputation: 969Reputation: 969Reputation: 969Reputation: 969Reputation: 969Reputation: 969Reputation: 969Reputation: 969
Quote:
Originally Posted by Tonus View Post
Thanks abcdam, already seen that but doesn't seem to be the culprit : checked multiple times that pulseaudio wasn't running.

I tried what LuckyCyborg suggested and launch the 3 commands in terminal. I've got pipewire-media-session failing. Looks like it would be Dbus related ?
You are kind to post the output of pipewire-media-session ?
 
1 members found this post helpful.
Old 09-25-2021, 08:51 PM   #127
ZhaoLin1457
Member
 
Registered: Jan 2018
Posts: 836

Rep: Reputation: 969Reputation: 969Reputation: 969Reputation: 969Reputation: 969Reputation: 969Reputation: 969Reputation: 969
Quote:
Originally Posted by adcdam View Post
Hi, im using bspwm (a exotic wm as one Lucky not man not robot user told me) a tilling windows similar to I3wm, i was having problems when launching pipewire from the bswpm config, so i used dex-autostart (alternatives to dex are dapper, fbautostart, or sandsmark-xdg-autostart-launcher)
https://www.mankier.com/1/dex-autostart you can find it here https://pkgs.org/search/?q=dex-autostart donwload it and convert to Slackware with rpm2tgz and the package name install it with installpkg
Revengeful much?

In English (and Russian or Chinese) the word "cyborg" means "a technological enhanced human", then even someone wearing glasses to correct his/her eye-sighting (like me) could be defined as "cyborg"

However, I understand that according your high stacks this "someone wearing glasses" is "not a man" ?

WOW! I wonder if you advocate also that those "cyborgs" to be stripped by their human rights and citizenship, as non-human beings as they are...

Quote:
Originally Posted by adcdam View Post
i created three .desktop files inside /home/myhomename/.config/autostart directory



pipewire.desktop

Code:
[Desktop Entry]
Version=1.0
Name=PipeWire Media System
Comment=Start the PipeWire Media System
Exec=/usr/bin/pipewire
Terminal=false
Type=Application
pipewire-pulse.desktop

Code:
[Desktop Entry]
Version=1.0
Name=PipeWire Pulse
Comment=Start the PipeWire Pulse
Exec=/usr/bin/pipewire-pulse
Terminal=false
Type=Application


pipewire-media-session.desktop

Code:
[Desktop Entry]
Version=1.0
Name=PipeWire Media Session
Comment=Start the PipeWire Media Session
Exec=/usr/bin/pipewire-media-session
Terminal=false
Type=Application
inside my bspwm config file i have
dex-autostart -as /home/(myhome)/.config/autostart/
you can have this autostart directory in /etc if you want.
Yes, we know about this type of PipeWire daemons setup. Honestly, this is with what I started to, too...

We arrived at conclusion that we need a conveniently modified daemon supervisor to better control the PipeWire daemons, to ensure that they auto-quit on user logout and a single instance of them is started.

Something like your desktop files will work also on Plasma5 or XFCE (as I tested myself too in the past) but with big caveats: the PipeWire daemons will continue running after you are leaving your desktop and on second starting of it, another set of PipeWire daemons will be started, with disasterful effects (usually no sound)

If you wish, I can explain you with luxurious details several usual use cases where this PipeWire daemons setup (without daemon supervisor) will fail.

Last edited by ZhaoLin1457; 09-25-2021 at 09:07 PM.
 
2 members found this post helpful.
Old 09-26-2021, 11:03 AM   #128
Tonus
Senior Member
 
Registered: Jan 2007
Location: Paris, France
Distribution: Slackware-15.0
Posts: 1,234
Blog Entries: 3

Rep: Reputation: 410Reputation: 410Reputation: 410Reputation: 410Reputation: 410
Hi all

Thanks for interest in my atempts. Here are the errors I've got :

Code:
$ pipewire
[W][00861.381033][	 context.c:  484 pw_context_new()] context0x562ab6cff440: no modules loaded from context.modules

$ pipewire-media-session
[W][00874.748401][  module-rtkit.c:  200 translate_error()] RTKit error: org.freedesktop.DBus.Error.ServiceUnknown
[W][00874.748458][  module-rtkit.c:  460 set_nice()] could not set nice-level to -11: Aucun fichier ou dossier de ce type
[W][00874.748626][  module-rtkit.c:  200 translate_error()] RTKit error: org.freedesktop.DBus.Error.ServiceUnknown
[W][00874.749355][  module-rtkit.c:  200 translate_error()] RTKit error: org.freedesktop.DBus.Error.ServiceUnknown
[W][00874.749523][  module-rtkit.c:  200 translate_error()] RTKit error: org.freedesktop.DBus.Error.ServiceUnknown
[W][00874.749531][  module-rtkit.c:  633 impl_acquire_rt()] could not make thread realtime: Aucun fichier ou dossier de ce type
[E][00874.749662][ media-session.c: 2115 start_session()] can't start monitor: L'hôte cible est arrêté ou en panne


$ pipewire-pulse
[W][00881.133129][  module-rtkit.c:  200 translate_error()] RTKit error: org.freedesktop.DBus.Error.ServiceUnknown
[W][00881.133201][  module-rtkit.c:  460 set_nice()] could not set nice-level to -11: Aucun fichier ou dossier de ce type
[W][00881.133439][  module-rtkit.c:  200 translate_error()] RTKit error: org.freedesktop.DBus.Error.ServiceUnknown
[W][00881.137409][  module-rtkit.c:  200 translate_error()] RTKit error: org.freedesktop.DBus.Error.ServiceUnknown
[W][00881.137617][  module-rtkit.c:  200 translate_error()] RTKit error: org.freedesktop.DBus.Error.ServiceUnknown
[W][00881.137627][  module-rtkit.c:  633 impl_acquire_rt()] could not make thread realtime: Aucun fichier ou dossier de ce type
[E][00887.640565][  pulse-server.c:  884 do_set_client_name()] pulse-server 0x55ad196c5470: failed to connect client: L'hôte cible est arrêté ou en panne
And the .xinitrc
Code:
#!/bin/sh

userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap

# Merge in defaults and keymaps
[ -f $sysresources ] && /usr/bin/xrdb -merge $sysresources
[ -f $sysmodmap ] && /usr/bin/xmodmap $sysmodmap
[ -f $userresources ] && /usr/bin/xrdb -merge $userresources
[ -f $usermodmap ] && /usr/bin/xmodmap $usermodmap

# Start i3
QT_QPA_PLATFORMTHEME="qt5ct"
if [ -z "$DESKTOP_SESSION" -a -x /usr/bin/ck-launch-session ]; then
    export QT_QPA_PLATFORMTHEME && exec ck-launch-session dbus-launch --exit-with-session /usr/bin/i3
else
    export QT_QPA_PLATFORMTHEME && exec /usr/bin/i3
fi
Sorry, errors are in french.
 
Old 09-26-2021, 11:38 AM   #129
LuckyCyborg
Senior Member
 
Registered: Mar 2010
Posts: 2,479

Rep: Reputation: 2224Reputation: 2224Reputation: 2224Reputation: 2224Reputation: 2224Reputation: 2224Reputation: 2224Reputation: 2224Reputation: 2224Reputation: 2224Reputation: 2224
Quote:
Originally Posted by Tonus View Post
Hi all

Thanks for interest in my atempts. Here are the errors I've got :

Code:
$ pipewire
[W][00861.381033][	 context.c:  484 pw_context_new()] context0x562ab6cff440: no modules loaded from context.modules

$ pipewire-media-session
[W][00874.748401][  module-rtkit.c:  200 translate_error()] RTKit error: org.freedesktop.DBus.Error.ServiceUnknown
[W][00874.748458][  module-rtkit.c:  460 set_nice()] could not set nice-level to -11: Aucun fichier ou dossier de ce type
[W][00874.748626][  module-rtkit.c:  200 translate_error()] RTKit error: org.freedesktop.DBus.Error.ServiceUnknown
[W][00874.749355][  module-rtkit.c:  200 translate_error()] RTKit error: org.freedesktop.DBus.Error.ServiceUnknown
[W][00874.749523][  module-rtkit.c:  200 translate_error()] RTKit error: org.freedesktop.DBus.Error.ServiceUnknown
[W][00874.749531][  module-rtkit.c:  633 impl_acquire_rt()] could not make thread realtime: Aucun fichier ou dossier de ce type
[E][00874.749662][ media-session.c: 2115 start_session()] can't start monitor: L'hôte cible est arrêté ou en panne


$ pipewire-pulse
[W][00881.133129][  module-rtkit.c:  200 translate_error()] RTKit error: org.freedesktop.DBus.Error.ServiceUnknown
[W][00881.133201][  module-rtkit.c:  460 set_nice()] could not set nice-level to -11: Aucun fichier ou dossier de ce type
[W][00881.133439][  module-rtkit.c:  200 translate_error()] RTKit error: org.freedesktop.DBus.Error.ServiceUnknown
[W][00881.137409][  module-rtkit.c:  200 translate_error()] RTKit error: org.freedesktop.DBus.Error.ServiceUnknown
[W][00881.137617][  module-rtkit.c:  200 translate_error()] RTKit error: org.freedesktop.DBus.Error.ServiceUnknown
[W][00881.137627][  module-rtkit.c:  633 impl_acquire_rt()] could not make thread realtime: Aucun fichier ou dossier de ce type
[E][00887.640565][  pulse-server.c:  884 do_set_client_name()] pulse-server 0x55ad196c5470: failed to connect client: L'hôte cible est arrêté ou en panne
And the .xinitrc
Code:
#!/bin/sh

userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap

# Merge in defaults and keymaps
[ -f $sysresources ] && /usr/bin/xrdb -merge $sysresources
[ -f $sysmodmap ] && /usr/bin/xmodmap $sysmodmap
[ -f $userresources ] && /usr/bin/xrdb -merge $userresources
[ -f $usermodmap ] && /usr/bin/xmodmap $usermodmap

# Start i3
QT_QPA_PLATFORMTHEME="qt5ct"
if [ -z "$DESKTOP_SESSION" -a -x /usr/bin/ck-launch-session ]; then
    export QT_QPA_PLATFORMTHEME && exec ck-launch-session dbus-launch --exit-with-session /usr/bin/i3
else
    export QT_QPA_PLATFORMTHEME && exec /usr/bin/i3
fi
Sorry, errors are in french.
Now imagine how meaningful they are for a Russian who also barely speaks English, as a second language...

And you do not shown the errors from pipewire-media-session as you said that it has issues.

Anyway, the idea of this test is to open 3 tabs on a terminal application, then to execute in this order: pipewire, pipewire-media-session, pipewire-pulse, each one on its tab, without closing the precedently started daemons.


Anyway, maybe this bug report may give you an idea:

https://gitlab.freedesktop.org/pipew...e/-/issues/539

Apparently, this is the issue:
Quote:
pipewire-media-session seems to be missing from pipewire.service status. Is it running? The format of pipewire configuration files changed, so you may want to check there are no old-format configs left over.
Long story short, remove every little file from /etc/pipewire if exists and reboot the system.

Last edited by LuckyCyborg; 09-26-2021 at 02:28 PM.
 
2 members found this post helpful.
Old 09-26-2021, 02:08 PM   #130
Tonus
Senior Member
 
Registered: Jan 2007
Location: Paris, France
Distribution: Slackware-15.0
Posts: 1,234
Blog Entries: 3

Rep: Reputation: 410Reputation: 410Reputation: 410Reputation: 410Reputation: 410
I was just trying for these 3 commands to change the error langage (there's indeed the error for the 3 in my previous post, despite in french) after
Code:
 rm -f /etc/pipewire/*
when noticed it has changed to show only warnings...

It works (even without rebooting) !

Thank you LC, I knew you would be the man for these questions about pipewire !

That did it :
Quote:
Originally Posted by LuckyCyborg View Post
Long story short, remove every little file from /etc/pipewire if exists and reboot the system.
 
Old 09-26-2021, 02:39 PM   #131
LuckyCyborg
Senior Member
 
Registered: Mar 2010
Posts: 2,479

Rep: Reputation: 2224Reputation: 2224Reputation: 2224Reputation: 2224Reputation: 2224Reputation: 2224Reputation: 2224Reputation: 2224Reputation: 2224Reputation: 2224Reputation: 2224
Quote:
Originally Posted by Tonus View Post
I was just trying for these 3 commands to change the error langage (there's indeed the error for the 3 in my previous post, despite in french) after
Code:
rm -f /etc/pipewire/*
when noticed it has changed to show only warnings...

It works (even without rebooting) !
IF you had files on /etc/pipewire, probably you had also some directories containing also files.

So, I suggest you strongly to ensure that this config directory is empty, issuing:
Code:
rm -rf /etc/pipewire/*
Please note than on the current PipeWire package the directory /etc/pipewire is empty.

Last edited by LuckyCyborg; 09-26-2021 at 02:55 PM.
 
Old 09-26-2021, 04:00 PM   #132
Tonus
Senior Member
 
Registered: Jan 2007
Location: Paris, France
Distribution: Slackware-15.0
Posts: 1,234
Blog Entries: 3

Rep: Reputation: 410Reputation: 410Reputation: 410Reputation: 410Reputation: 410
Quote:
Originally Posted by LuckyCyborg View Post
IF you had files on /etc/pipewire, probably you had also some directories containing also files.
Nope. I had checked and only had pipewire.conf and pipewire.conf.orig that might have been from previous atempt.

Anyway it works despite those rtc warnings. Enough for me for now. Till I rework my sound related scripts perhaps !

Thanks again.
 
Old 09-26-2021, 06:55 PM   #133
Tonus
Senior Member
 
Registered: Jan 2007
Location: Paris, France
Distribution: Slackware-15.0
Posts: 1,234
Blog Entries: 3

Rep: Reputation: 410Reputation: 410Reputation: 410Reputation: 410Reputation: 410
The daemon kills the 3 processes at real logout but seems to slow down system while exiting to runlevel 3. Shall I change my scripts for logging out or is there a smart way ?
 
Old 09-27-2021, 01:41 AM   #134
LuckyCyborg
Senior Member
 
Registered: Mar 2010
Posts: 2,479

Rep: Reputation: 2224Reputation: 2224Reputation: 2224Reputation: 2224Reputation: 2224Reputation: 2224Reputation: 2224Reputation: 2224Reputation: 2224Reputation: 2224Reputation: 2224
Quote:
Originally Posted by Tonus View Post
The daemon kills the 3 processes at real logout but seems to slow down system while exiting to runlevel 3. Shall I change my scripts for logging out or is there a smart way ?
If by "exiting to runlevel 3" I should understand the stage where you close your graphical desktop environment to return to console, I do not think that the daemon supervisor itself will/can introduce a slowdown.

Because on this stage, all it do is to watch for proper running of its client program instance and for the messages from elogind regarding the user's logout. Essentially, it does not interact with any other parts of system.

So, if you feel a slowdown, is probably because the way how the audio clients interacts with the PipeWire daemons - even those daemons themselves once started will run without changes even after you leave the DE and return on console, in fact they will be killed by the daemon supervisor only after user itself logouts.

Overall looking, there's a difference between the PipeWire daemons which are X11 agnostics and keeps running until the user logouts and the PulseAudio daemon which loads a series of X11 plugins, then I suppose that it quits when it loose the connection to X11 server, leaving also the PulseAudio clients without connection to the PulseAudio server, then they quitting probably early.

I for one, I do not seen serious noticeable slowdowns - probably also because I use SDDM for login on my DEs.

Last edited by LuckyCyborg; 09-27-2021 at 01:55 AM.
 
Old 10-17-2021, 09:46 AM   #135
0XBF
Member
 
Registered: Nov 2018
Distribution: Slackware
Posts: 558

Rep: Reputation: 544Reputation: 544Reputation: 544Reputation: 544Reputation: 544Reputation: 544
I think I've found the simplest way to configure pipewire for a user in Slackware. Note that pipewire is only meant to be run on a per user basis, there is no equivalent to a "system daemon", like was available for pulseaudio.

In my $HOME/.profile script, I have the following lines to start pipewire and friends:
Code:
# ~/.profile
# Start pipewire daemons and bind them to the elogind session:
/usr/bin/daemon --bind --pidfiles=$HOME/.pidfiles --name=pipewire --command=/usr/bin/pipewire
/usr/bin/daemon --bind --pidfiles=$HOME/.pidfiles --name=pipewire-media-session --command=/usr/bin/pipewire-media-session
/usr/bin/daemon --bind --pidfiles=$HOME/.pidfiles --name=pipewire-pulse --command=/usr/bin/pipewire-pulse
Some notes:
I'm using daemon, since Slackware includes it. The '--bind' option will cause pipewire to exit with the last logout so it cleans itself up (using elogind in the backend). The '--name' option tells daemon to use a lock file so daemon only starts one instance. I didn't bother with a '--respawn', but you could use it if you want automatic respawns if a daemon crashes.

Then in my $HOME/.bash_profile script I source the .profle script with the following:
Code:
# ~/.bash_profile: executed by bash(1) for login shells.

if [ -f $HOME/.profile ]; then
  source $HOME/.profile
fi
The reasoning for this setup is that .bash_profile gets sourced as soon as you login at a tty console, and it gets sourced when you login using 'sddm'. The 'xdm' display manager on the other hand skips sourcing .bash_profile, but will still source .profile, which is why I have the daemon's starting in .profile. The end result is that pipewire gets started at any login; a display manager or from the console.

This also has the benefit that you don't have to touch any of pulseaudio's config files to use pipewire. I.e. No need to disable autospawning of pulseaudio or messing with xdg autostart files. Pipewire will always start right after login, and always before pulseaudio. If you want to switch back to pulseaudio then you just remove or comment out the relevent lines in .profile and pulseaudio will take over again (you will have to logout/login). I've tested this for all WM's and DE's included in slackware, using startx/startkwayland/sddm/xdm and pipewire is used everywhere with this setup.

That's all.

Last edited by 0XBF; 10-17-2021 at 09:55 AM. Reason: typo corrections
 
6 members found this post helpful.
  


Reply

Tags
pipewire, pulseaudio


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Pipewire pulseaudio emulation without pulseaudio installed (works) adcdam Slackware 18 04-02-2021 01:34 AM
Plasma 5.20 Beta? It is rock solid, excluding the taskbar thumbnails on Wayland - or rather because Pipewire needs "per user" init scripts LuckyCyborg Slackware 3 09-21-2020 02:50 PM
LXer: This Week in Linux 94: Mesa 20, PipeWire, Linux Be Scary, MyPaint, GTK, Microsoft Defender LXer Syndicated Linux News 0 02-26-2020 07:23 PM
LXer: Improved multimedia support with Pipewire in Fedora 27 LXer Syndicated Linux News 0 09-20-2017 02:54 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 12:51 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration