LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Home Forums Tutorials Articles Register
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 10-17-2023, 05:31 PM   #556
0XBF
Member
 
Registered: Nov 2018
Distribution: Slackware
Posts: 770

Rep: Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872

Quote:
Originally Posted by Pixxt View Post
Hi! Just tried out the pipewire-enable.sh and while I get sound in my Plasma session I do not get sound output or alsamixer does not work before I log in to X. I tried to reboot to see if that was a issue but it persists. Is there any way to enable sound in the console?

Also sometimes sound and graphics will freeze while changing the volume using requiring me to kill pipewire to get things back to normal. These problems do not exist using pulseaudio.
The issue is that pipewire does not manage its own daemons' starting/stopping (pulseaudio does, pipewire does not afaik). Pipewire expects something like the service manager side of systemd to do daemon management in the way its designed. You can start the daemons manually and background them at the console to get them to run, but they will not terminate at logout so you will have to do that manually yourself, use a bash_logout script, or use 'daemon'***.

***Slackware added the 'daemon' program to manage the pipewire daemons. This 'daemon' program is able to terminate any daemons it manages at session close by working with elogind. Basically you launch the pipewire daemons wrapped in 'daemon's syntax and the rest should be taken care of automatically. To see an example of this, read the /etc/xdg/autostart/pipewire*.desktop files' 'Exec' lines:
Code:
#grep '^Exec=' /etc/xdg/autostart/pipewire*
/etc/xdg/autostart/pipewire-media-session.desktop.sample:Exec=/usr/bin/daemon -rB --pidfiles=~/.run --name=pipewire-media-session /usr/bin/pipewire-media-session
/etc/xdg/autostart/pipewire-pulse.desktop.sample:Exec=/usr/bin/daemon -rB --pidfiles=~/.run --name=pipewire-pulse /usr/bin/pipewire-pulse
/etc/xdg/autostart/pipewire.desktop.sample:Exec=/usr/bin/daemon -rB --pidfiles=~/.run --name=pipewire /usr/bin/pipewire
The way Slackware is set up, it only runs the pipewire daemons from those xdg autostart files. This limits their use to xdg autostart compliant desktops, meaning pipewire will not start for console logins, or window manager's without xdg-autostart (though that can be added in with 'fbautostart').

FWIW, the pipewire daemons will still run properly from console and audio works fine when I've used it that way. It would be nice if the daemon management solution was more "universal" for the benefit of these other session types, but I guess the target users of pipewire are desktop users.
 
5 members found this post helpful.
Old 10-17-2023, 06:53 PM   #557
marav
LQ Sage
 
Registered: Sep 2018
Location: Gironde
Distribution: Slackware
Posts: 5,388

Rep: Reputation: 4109Reputation: 4109Reputation: 4109Reputation: 4109Reputation: 4109Reputation: 4109Reputation: 4109Reputation: 4109Reputation: 4109Reputation: 4109Reputation: 4109
Quote:
Originally Posted by 0XBF View Post
... I guess the target users of pipewire are desktop users.
Precisely. And especially -Slackware- Wayland users
Code:
PipeWire is a project that aims to greatly improve handling of audio and video under Linux. 
It provides a low-latency, graph-based processing engine on top of audio and video devices 
that can be used to support the use cases currently handled by both PulseAudio and JACK. 
PipeWire was designed with a powerful security model that makes interacting with audio and 
video devices from containerized applications easy, with support for Flatpak applications 
being the primary goal. Alongside Wayland and Flatpak, we expect PipeWire to provide a core 
building block for the future of Linux application development.
https://pipewire.org/
 
Old 10-17-2023, 08:54 PM   #558
fourtysixandtwo
Member
 
Registered: Jun 2021
Location: Alberta
Distribution: Slackware...mostly
Posts: 321

Rep: Reputation: 215Reputation: 215Reputation: 215
Quote:
Originally Posted by slackdruid View Post
I highly doubt I need a clean installation. However, I do think you are on to something when you spoke of hardware, that being not necessarily an incompatibility but more than likely something at the internal firmware level when handling certain types of media. What I am talking of actually happens after a base install, it's not bad it's just that I tend to be sensitive to even the slightest subtly of sound transition, my ears have been slowly trained over the years and it actually doesn't happen in my preferred DAW environments.

And! Just for a sanity check and for a wee bit of science sake, I just came back from Windows to test it with a certain number of things 'same issues', it's interface level, most likely the very design of the device, or even how certain applications are coded when it comes to audio. I rarely use Windows except for testing certain problems when in doubt.

I probably just started noticing the stuff this year and did not pay any attention to it before.

Issue on my end solved.
The point is moot now, but I didn't mean a reinstall if that's how you understood it. Anyway, the more important point was the first one about making sure alienbob's pipewire-jack matches the version of pipewire you are using.
 
Old 10-18-2023, 09:43 AM   #559
slackdruid
LQ Newbie
 
Registered: Sep 2023
Location: United States
Distribution: Slackware
Posts: 28

Rep: Reputation: 28
Quote:
Originally Posted by fourtysixandtwo View Post
The point is moot now, but I didn't mean a reinstall if that's how you understood it. Anyway, the more important point was the first one about making sure alienbob's pipewire-jack matches the version of pipewire you are using.
What you actually said is a good practice concerning packages, I see where you were coming from on the other bit. I don't have pipewire-jack installed on current though, cause it allows me to start jackdbus aka jack2 without it. As a default sound server I have no complaints, it just works. Here is something really entertaining about it, in System Shock Enhanced Edition in lutris with jack not started I am still able to start a fluildsynth server and connect it to wine midi for that game and get the midi music going, which is notorious for not working by default, I alt+tab out to do it in the qjackctl connection graph. Pretty interesting. With pulseaudio you can't do that and have a clean exit without it hanging.

The real aim is for it to replace all of it though jack2 included, I am sure you already know that, was mentioned again above.

Last edited by slackdruid; 10-18-2023 at 10:18 AM.
 
1 members found this post helpful.
Old 10-18-2023, 11:21 AM   #560
fourtysixandtwo
Member
 
Registered: Jun 2021
Location: Alberta
Distribution: Slackware...mostly
Posts: 321

Rep: Reputation: 215Reputation: 215Reputation: 215
Quote:
Originally Posted by slackdruid View Post
What you actually said is a good practice concerning packages, I see where you were coming from on the other bit. I don't have pipewire-jack installed on current though, cause it allows me to start jackdbus aka jack2 without it. As a default sound server I have no complaints, it just works. Here is something really entertaining about it, in System Shock Enhanced Edition in lutris with jack not started I am still able to start a fluildsynth server and connect it to wine midi for that game and get the midi music going, which is notorious for not working by default, I alt+tab out to do it in the qjackctl connection graph. Pretty interesting. With pulseaudio you can't do that and have a clean exit without it hanging.

The real aim is for it to replace all of it though jack2 included, I am sure you already know that, was mentioned again above.
I think that's the great thing about pipewire, is that generally it just works and it also plays well with others. Works well with different clock rates, which is my main ask of it...for some higher bitrate flacs over spdif to my stereo.
 
1 members found this post helpful.
Old 10-20-2023, 05:34 AM   #561
Pixxt
Member
 
Registered: May 2008
Distribution: Slackware, Debian,
Posts: 288

Rep: Reputation: 186Reputation: 186
Quote:
Originally Posted by 0XBF View Post
The issue is that pipewire does not manage its own daemons' starting/stopping (pulseaudio does, pipewire does not afaik). Pipewire expects something like the service manager side of systemd to do daemon management in the way its designed. You can start the daemons manually and background them at the console to get them to run, but they will not terminate at logout so you will have to do that manually yourself, use a bash_logout script, or use 'daemon'***.

***Slackware added the 'daemon' program to manage the pipewire daemons. This 'daemon' program is able to terminate any daemons it manages at session close by working with elogind. Basically you launch the pipewire daemons wrapped in 'daemon's syntax and the rest should be taken care of automatically. To see an example of this, read the /etc/xdg/autostart/pipewire*.desktop files' 'Exec' lines:
Code:
#grep '^Exec=' /etc/xdg/autostart/pipewire*
/etc/xdg/autostart/pipewire-media-session.desktop.sample:Exec=/usr/bin/daemon -rB --pidfiles=~/.run --name=pipewire-media-session /usr/bin/pipewire-media-session
/etc/xdg/autostart/pipewire-pulse.desktop.sample:Exec=/usr/bin/daemon -rB --pidfiles=~/.run --name=pipewire-pulse /usr/bin/pipewire-pulse
/etc/xdg/autostart/pipewire.desktop.sample:Exec=/usr/bin/daemon -rB --pidfiles=~/.run --name=pipewire /usr/bin/pipewire
The way Slackware is set up, it only runs the pipewire daemons from those xdg autostart files. This limits their use to xdg autostart compliant desktops, meaning pipewire will not start for console logins, or window manager's without xdg-autostart (though that can be added in with 'fbautostart').

FWIW, the pipewire daemons will still run properly from console and audio works fine when I've used it that way. It would be nice if the daemon management solution was more "universal" for the benefit of these other session types, but I guess the target users of pipewire are desktop users.
Thank you much for the info and tips!
 
Old 11-26-2023, 03:02 PM   #562
bl0tt0
Member
 
Registered: Aug 2005
Location: The Glorious People's Republic of Austin
Posts: 178

Rep: Reputation: 62
Sorry to necro-bump this thread, but as it pertains to using PipeWire with Slackware, has anyone had any luck getting screensharing to work on Wayland in -current? I have PipeWire enabled according to the instructions at the beginning of this thread, and audio is working as expected with PipeWire, but any time I try to load the screenshare from the Mozilla WebRTC test page, I get the following error:

Code:
xdp-kde-screencast: zkde_screencast_unstable_v1 does not seem to be available
Also relevant, I can see this error in the wayland-session.log right at startup:

Code:
(/usr/libexec/xdg-desktop-portal:3120): xdg-desktop-portal-WARNING **: 14:05:26.017: Failed connect to PipeWire: Couldn't connect to PipeWire
As I mentioned, audio still works fine, and alsamixer displays PipeWire as the default output, so it seems to work for everything but screenshare. That makes me think that PipeWire needs to start before xdg-desktop-portal-kde is loaded, but I am not sure how best to achieve that, since the current method of loading PipeWire on Slackware involves leveraging xdg-autostart.

Has anyone gotten screensharing working on -current? If so, how?
 
Old 11-26-2023, 04:00 PM   #563
0XBF
Member
 
Registered: Nov 2018
Distribution: Slackware
Posts: 770

Rep: Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872
Quote:
Originally Posted by bl0tt0 View Post
Has anyone gotten screensharing working on -current? If so, how?
I just checked and the screen sharing test at https://mozilla.github.io/webrtc-landing/gum_test.html works for the "Plasma (Full Wayland)", but not the "Plasma (Wayland)" session.

When running a "full wayland session", a KDE popup will appear after allowing permission to screen share. Once a window or screen is selected, the test shows the screen properly.

With the other type of plasma wayland session, nothing appears after granting permission.

I'm not sure what the differences are between "wayland" and "full wayland", but the problem seems to be there with plasma/wayland/pipewire/portal screen sharing.

Most of the time I run gnome on slackware, which also has working screen sharing on -current with pipewire and wayland. Maybe one of the kde gurus will be able to shed some light on what the difference with wayland and full wayland are.

Last edited by 0XBF; 11-26-2023 at 04:03 PM.
 
1 members found this post helpful.
Old 11-26-2023, 08:46 PM   #564
ZhaoLin1457
Senior Member
 
Registered: Jan 2018
Posts: 1,025

Rep: Reputation: 1214Reputation: 1214Reputation: 1214Reputation: 1214Reputation: 1214Reputation: 1214Reputation: 1214Reputation: 1214Reputation: 1214
Quote:
Originally Posted by 0XBF View Post
I'm not sure what the differences are between "wayland" and "full wayland", but the problem seems to be there with plasma/wayland/pipewire/portal screen sharing.

Most of the time I run gnome on slackware, which also has working screen sharing on -current with pipewire and wayland. Maybe one of the kde gurus will be able to shed some light on what the difference with wayland and full wayland are.
It is a method to build Qt5 and KDE Frameworks packages, borrowed by LuckyCyborg from openSUSE.

Practically, by default the Qt5 library lets programs choose whether to use the X11 platform via XWayland or the native Wayland platform.

This is Plasma5's standard Wayland session. While "Full Wayland" forces the use of the native Wayland platform for all programs.

I think that letting the programs choose whether to use the X11 platform via XWayland or the native Wayland platform is a sensible choice, considering when it was introduced, a few years ago. In the end, Firefox did not get Wayland support by default until Firefox 120, which is not yet part of Slackware, neither -stable nor -current. And the examples could go on.

I think everyone should use the Wayland session version that suits them better. In the end, the Full Wayland sessions forces these environment variables bellow
Code:
GDK_BACKEND=wayland 
QT_QPA_PLATFORM=wayland

Last edited by ZhaoLin1457; 11-26-2023 at 09:22 PM.
 
Old 11-26-2023, 11:51 PM   #565
bl0tt0
Member
 
Registered: Aug 2005
Location: The Glorious People's Republic of Austin
Posts: 178

Rep: Reputation: 62
Quote:
Originally Posted by 0XBF View Post
I just checked and the screen sharing test at https://mozilla.github.io/webrtc-landing/gum_test.html works for the "Plasma (Full Wayland)", but not the "Plasma (Wayland)" session.
This hit the nail on the head. After a little testing, adding 'QT_QPA_PLATFORM=wayland' to the .desktop file in /usr/share/wayland-sessions got screensharing working here. It's a little weird, because I am pretty sure it also gets exported when Plasma initializes. I guess it just needs to be a little earlier...
 
Old 11-27-2023, 04:09 AM   #566
ZhaoLin1457
Senior Member
 
Registered: Jan 2018
Posts: 1,025

Rep: Reputation: 1214Reputation: 1214Reputation: 1214Reputation: 1214Reputation: 1214Reputation: 1214Reputation: 1214Reputation: 1214Reputation: 1214
Quote:
Originally Posted by bl0tt0 View Post
This hit the nail on the head. After a little testing, adding 'QT_QPA_PLATFORM=wayland' to the .desktop file in /usr/share/wayland-sessions got screensharing working here. It's a little weird, because I am pretty sure it also gets exported when Plasma initializes. I guess it just needs to be a little earlier...
In fact, the Firefox distributed by Slackware uses X11 via XWayland, unless instructed otherwise. Probably you want GDK_BACKEND=wayland
 
1 members found this post helpful.
Old 11-27-2023, 08:58 AM   #567
bl0tt0
Member
 
Registered: Aug 2005
Location: The Glorious People's Republic of Austin
Posts: 178

Rep: Reputation: 62
Quote:
Originally Posted by ZhaoLin1457 View Post
In fact, the Firefox distributed by Slackware uses X11 via XWayland, unless instructed otherwise. Probably you want GDK_BACKEND=wayland
I have MOZ_ENABLE_WAYLAND=1 set in my .bash_profile for my wayland sessions, which loads both firefox and thunderbird in Wayland instead of XWayland:

Code:
if [ "$XDG_SESSION_TYPE" = "wayland" ]; then
    export MOZ_ENABLE_WAYLAND=1
fi
In any case, per my last update, just setting 'env QT_QPA_PLATFORM=wayland' in the Exec line of /usr/share/wayland-sessions/plasmawayland.desktop is sufficient to get screensharing working. I might do some more testing with the Full Wayland session type later, but GTK still feels iffy on Wayland, despite the recent leaps forward.
 
Old 01-04-2024, 12:58 PM   #568
marav
LQ Sage
 
Registered: Sep 2018
Location: Gironde
Distribution: Slackware
Posts: 5,388

Rep: Reputation: 4109Reputation: 4109Reputation: 4109Reputation: 4109Reputation: 4109Reputation: 4109Reputation: 4109Reputation: 4109Reputation: 4109Reputation: 4109Reputation: 4109
FYI

Wireplumber 0.4.81
Code:
This is a preliminary release of WirePlumber 0.5.0, which is made available
for testing purposes. Please test it and report feedback (merge requests are
also welcome 😉). This is not API/ABI stable yet and there is still pending
work to do before the final 0.5.0 release, both in the codebase and the
documentation.
https://gitlab.freedesktop.org/pipew...eleases/0.4.81
 
Old 01-15-2024, 12:29 PM   #569
lancsuk
Member
 
Registered: Jul 2019
Location: Burnley / UK
Distribution: Slackware current
Posts: 226

Rep: Reputation: 204Reputation: 204Reputation: 204
Quote:
Originally Posted by marav View Post
FYI

Wireplumber 0.4.81
Code:
This is a preliminary release of WirePlumber 0.5.0, which is made available
for testing purposes. Please test it and report feedback (merge requests are
also welcome 😉). This is not API/ABI stable yet and there is still pending
work to do before the final 0.5.0 release, both in the codebase and the
documentation.
https://gitlab.freedesktop.org/pipew...eleases/0.4.81
I need some help to configure Wireplumber for my DWL with obs-studio and wlrobs.
What I have done so far:

Enabled Pipewire and Wireplumber
Code:
# /usr/sbin/reboot-enable.sh
# /usr/sbin/wireplumber-enable.sh
The Alsamixer and pactl info said

Code:
# Connection refused
wpctl status didn't find any audio devices.

Question: Can coexist wireplumber with Pulseaudio?

Where am I going wrong?
 
Old 01-15-2024, 03:09 PM   #570
marav
LQ Sage
 
Registered: Sep 2018
Location: Gironde
Distribution: Slackware
Posts: 5,388

Rep: Reputation: 4109Reputation: 4109Reputation: 4109Reputation: 4109Reputation: 4109Reputation: 4109Reputation: 4109Reputation: 4109Reputation: 4109Reputation: 4109Reputation: 4109
Quote:
Originally Posted by lancsuk View Post
Code:
# /usr/sbin/reboot-enable.sh
This kind of script could be both weird and funny, you should ask Pat to include it
 
  


Reply

Tags
pipewire, pulseaudio



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 04:19 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