LinuxQuestions.org
Help answer threads with 0 replies.
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 11-21-2021, 10:12 AM   #196
brobr
Member
 
Registered: Oct 2003
Location: uk
Distribution: Slackware
Posts: 974

Rep: Reputation: 239Reputation: 239Reputation: 239

Quote:
Originally Posted by nobodino View Post
..
Program python3 (sphinx, sphinx_rtd_theme, breathe, sphinx.ext.graphviz) found: NO modules: sphinx
..
../docs/meson.build:34:0: ERROR: Running ['/usr/bin/sphinx-build', '--version'] failed
----------------
Hi, the Sphinx setup expected by Wireplumber made me install more stuff than available on SBo, like breathe, docutils. Or did you use pip? Note that the most recent Sphinx version might not work with the most recent version of docutils. I have Sphinx-4.2.0 and that needed docutils 0.17.1 (not 0.18).

I do not think that Marav would notice this issue as his set-up does not attempt to build the documentation by lack of Sphinx.

Last edited by brobr; 11-21-2021 at 12:55 PM. Reason: typos
 
Old 11-21-2021, 10:44 AM   #197
marav
LQ Sage
 
Registered: Sep 2018
Location: Gironde
Distribution: Slackware
Posts: 5,393

Rep: Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119
Quote:
Originally Posted by brobr View Post
Hi, the Sphinx setup expected by Wireplumber made me install more stuff than available on SBo, like breathe, docutils. Or did you use pip? Note that the most recent Sphinx version might not work with the most recent version of docutils. I have Sphinx-4.2.0 and that needed docutils 0.17.1 (not 0.18).

I do not think that Marav would notice this issues as his set-up does not attempt to built the documentation by lack of Sphinx.
You already reported :
https://www.linuxquestions.org/quest...ml#post6299784
Code:
-Ddoc=disabled -Dintrospection=disabled
Should I add these options to avoid these kinds of errors?
 
Old 11-21-2021, 11:07 AM   #198
marav
LQ Sage
 
Registered: Sep 2018
Location: Gironde
Distribution: Slackware
Posts: 5,393

Rep: Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119
I added :
-Ddoc=disabled
-Dintrospection=disabled

@nobodino let me know if it builds

Code:
wireplumber 0.4.5

    Lua version                    : 5.4.3 (built-in)
    systemd conf data              : NO
    libsystemd                     : NO
    libelogind                     : YES

  For documentation
    Python 3 Sphinx related modules: NO
    Doxygen                        : NO
    sphinx-build                   : NO

  For introspection
    Python 3 lxml module           : NO
    Doxygen                        : NO
    g-ir-scanner                   : NO

  Subprojects
    lua                            : YES

Last edited by marav; 11-21-2021 at 11:10 AM.
 
Old 11-21-2021, 11:53 AM   #199
nobodino
Senior Member
 
Registered: Jul 2010
Location: Near Bordeaux in France
Distribution: slackware, slackware from scratch, LFS, slackware [arm], linux Mint...
Posts: 1,564

Rep: Reputation: 892Reputation: 892Reputation: 892Reputation: 892Reputation: 892Reputation: 892Reputation: 892
It builds fine now.
Thanks @marav
 
1 members found this post helpful.
Old 11-21-2021, 12:47 PM   #200
brobr
Member
 
Registered: Oct 2003
Location: uk
Distribution: Slackware
Posts: 974

Rep: Reputation: 239Reputation: 239Reputation: 239
Maybe a note in the Readme would be enough? Adding those flags will keep it simple and lean (but no idea how important 'introspection' is).

The meson-build options ('meson_options.txt') show that compilation should work on a clean Slackware install + Lua like you see:
Quote:
option('introspection', type : 'feature', value : 'auto',
description : 'Generate gobject-introspection bindings')
option('doc', type : 'feature', value : 'auto',
description: 'Enable documentation.')
option('system-lua', type : 'boolean', value : 'false',
description : 'Use lua from the system instead of the bundled one')
option('system-lua-version',
type: 'string', value : 'auto',
description: 'The system lua version to use or "auto" for auto-detection'
What will be built/installed with respect to introspection, documentation and scripting depends on what is available on the user's system.
Sphinx (needed for the documentation), lxml (for introspection) and lua (for lua from the system) come in via 3rd parties (pip/SBo).

Thus only when these are installed the build-script attempts to use them and this could lead to errors when such modules are not ok (outdated, lacking the correct dependencies etc). It's up to the user to repair this or not to bother building those extra bits.

By turning flags as '-Ddoc=disabled' '-Dintrospection=disabled' into build-options for the SlackBuild, all choices would be covered.
(e.g. something like this -which could be much nicer, sorry, but my bash-skills are minimal):
Code:
WITHDOC=no 
if [ $WITHDOC  == "yes" ]; then documentation="-Ddoc=auto"; elif [ $WITHDOC  == "no" ]; then documentation="-Ddoc=disabled"; fi
WITHINTRO=no
if [ $WITHINTRO ==  "yes" ]; then introspection="-Dintrospection=auto"; elif  [ $WITHINTRO ==  "no" ]; then introspection="-Dintrospection=disabled"; fi

# Configure, build, and install:
export CFLAGS="$SLKCFLAGS"
export CXXFLAGS="$SLKCFLAGS"
mkdir build
cd build
  meson setup \
  --prefix=/usr \
  ..
  -Dsystemd-user-service=false \
  -Dsystem-lua=true \
  $documentation \
  $introspection \
  ..
But then it would become quite an adapted script.

I noticed that using the built-in lua leads to a download of lua during compilation, which is not so good; thus lua from SBo should be installed as you say, turning Wireplumber into a 3rd party SBo-like package.

EDIT:
Missed above actions while putting this blurb together;-)

Last edited by brobr; 11-21-2021 at 12:54 PM.
 
1 members found this post helpful.
Old 11-21-2021, 01:32 PM   #201
marav
LQ Sage
 
Registered: Sep 2018
Location: Gironde
Distribution: Slackware
Posts: 5,393

Rep: Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119
Quote:
Originally Posted by brobr View Post
Maybe a note in the Readme would be enough? Adding those flags will keep it simple and lean (but no idea how important 'introspection' is).

The meson-build options ('meson_options.txt') show that compilation should work on a clean Slackware install + Lua like you see:


What will be built/installed with respect to introspection, documentation and scripting depends on what is available on the user's system.
Sphinx (needed for the documentation), lxml (for introspection) and lua (for lua from the system) come in via 3rd parties (pip/SBo).

Thus only when these are installed the build-script attempts to use them and this could lead to errors when such modules are not ok (outdated, lacking the correct dependencies etc). It's up to the user to repair this or not to bother building those extra bits.

By turning flags as '-Ddoc=disabled' '-Dintrospection=disabled' into build-options for the SlackBuild, all choices would be covered.
(e.g. something like this -which could be much nicer, sorry, but my bash-skills are minimal):
Code:
WITHDOC=no 
if [ $WITHDOC  == "yes" ]; then documentation="-Ddoc=auto"; elif [ $WITHDOC  == "no" ]; then documentation="-Ddoc=disabled"; fi
WITHINTRO=no
if [ $WITHINTRO ==  "yes" ]; then introspection="-Dintrospection=auto"; elif  [ $WITHINTRO ==  "no" ]; then introspection="-Dintrospection=disabled"; fi

# Configure, build, and install:
export CFLAGS="$SLKCFLAGS"
export CXXFLAGS="$SLKCFLAGS"
mkdir build
cd build
  meson setup \
  --prefix=/usr \
  ..
  -Dsystemd-user-service=false \
  -Dsystem-lua=true \
  $documentation \
  $introspection \
  ..
But then it would become quite an adapted script.

I noticed that using the built-in lua leads to a download of lua during compilation, which is not so good; thus lua from SBo should be installed as you say, turning Wireplumber into a 3rd party SBo-like package.

EDIT:
Missed above actions while putting this blurb together;-)
I've seen that too
I made the changes following your excellent advice ;-)

Code:
WITHDOC=${WITHDOC:-no}
WITHINTRO=${WITHINTRO:-no}

if [ $WITHDOC  == "no" ]; then 
  DOC_OPTION="-Ddoc=disabled"
  else
  DOC_OPTION="-Ddoc=auto"
fi

if  [ $WITHINTRO ==  "no" ]; then 
  INTRO_OPTION="-Dintrospection=disabled"
  else
  INTRO_OPTION="-Dintrospection=auto"
fi
...
  -Dsystem-lua=true \
  $DOC_OPTION \
  $INTRO_OPTION \
Code:
...
Run-time dependency lua-5.4 found: YES 5.4.3
...
Program sphinx-build skipped: feature doc disabled
Program g-ir-scanner skipped: feature introspection disabled
...
thx brobr

Last edited by marav; 11-21-2021 at 01:36 PM.
 
Old 11-25-2021, 03:01 PM   #202
~red
Member
 
Registered: Feb 2021
Location: This planet
Distribution: Arch Linux + GNOME, Slackware Current
Posts: 34
Blog Entries: 4

Rep: Reputation: Disabled
As this is already very good thread to discuss this, I'm not gonna open another thread;
So, I'm not really active here, but I came here to give the community good news, and sure, I want suggestions and help!
Inspired from many, I have pending scripts for submission, the package named actually "pipewire-pulse"!
And a revert build for it.
As this is dangerous process and one simple mistake end you stuck at login, for my case plasma which I hopefully had pulseaudio binary from official Slackware repository while I was testing this due procedure, I came up with great method of 'Do' and 'Undo' build for switching over audio backends, I could write them both as perfect as they should be.

"Why did you bother yourself for this so badly?"
Well to answer this, I'm contributor to a very advanced player called Tauon Music Box which is not only simple player, it can be radio, it has 4 level gui mode for any situation you're on, has many many features and easter eggs I'm sure you can read it's wiki and figure even some unknown ones out later
I could just not wait when I saw it and eventually wrote builds for it and pushed to SBo which at that time I found Slackware masterpiece.
Recently Taiko the developer, deployed 24bit floats for Phazor, and pulseaudio has some limitations at that point, which is a bit experimental to hear.
I'm also working on phazor for some other cases you might realize at other versions!

I need senior maintainers suggestion on this PR,
thanks!

Last edited by ~red; 11-25-2021 at 03:15 PM.
 
2 members found this post helpful.
Old 12-16-2021, 07:54 PM   #203
marav
LQ Sage
 
Registered: Sep 2018
Location: Gironde
Distribution: Slackware
Posts: 5,393

Rep: Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119
Code:
Thu Dec 16 21:34:10 UTC 2021
l/pipewire-0.3.42-x86_64-1.txz:  Upgraded.
Code:
# PipeWire 0.3.42 (2021-12-16)

This is a bugfix release that is API and ABI compatible with previous
0.3.x releases.

This is a quick emergency release to fix some severe
problems with the previous release.

## Highlights
  - Fixes a bug in pulse-server underrun handling that broke qemu
    and orca.
  - A fix was added to pulse-server to handle quantum changes
    gracefully.
  - Fix module-echo-cancel again.
  - Fix a bug where the bluetooth headset capture was producing
    noise.
 
Old 12-16-2021, 08:24 PM   #204
0XBF
Member
 
Registered: Nov 2018
Distribution: Slackware
Posts: 770

Rep: Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872
I guess it wasn't mentioned but the PipeWire 0.3.41 that we quickly passed over from yesterday had some interesting updates as well:

Quote:
Highlights
  • Improved compatibility for flatpaks. Flatpaks with newer PipeWire version can connect to an older server in all cases.
  • A new RAOP module was added to stream to Apple Airplay devices.
  • OBS can now capture from the monitor devices again when using WirePlumber.
  • Improved JACK compatibility. Improved stability in Carla and Ardour when changing buffer size. Improved latency calculations and playback latency in Ardour.
  • Improved pulse-server handling of underruns and buffer size changes.
  • Many bugfixes and improvements.
In the past versions changing buffer sizes in Ardour would crash pipewire fairly regularly. I haven't rebuilt and tested this new version yet but its got my hopes up.

Also the RAOP module is something I missed from pulseaudio for streaming to my Pioneer speaker that runs Airplay only. I'll have to test that out too now when I have some time. I'm assuming that pipewire would have to be rebuilt with Avahi, which was the case with pulseaudio's RAOP module.
 
1 members found this post helpful.
Old 01-02-2022, 03:40 PM   #205
Candelabrus
Member
 
Registered: Apr 2015
Location: Ponta Grossa - PR
Distribution: Slackware64
Posts: 173

Rep: Reputation: 26
I would like to share with you some things that maybe can help some people.

Wireplumber was interesting in the Bluetooth part because it was not necessary to enable MSBC options and XQ manually as it is required using Media-Session, by Wireplumber, these functions has been detected without having to edit these files.

Also i have compiled pipewire using the option in Meson Configure
Code:
-Dsession-managers=wireplumber \
#or for =media-session
with this command you set the Session-Manager to be used default and automatically downloads and compiles wireplumber or media-session so having no need to manually compile these managers before.
Attached Thumbnails
Click image for larger version

Name:	Captura de tela_2022-01-02_18-45-01.jpg
Views:	90
Size:	62.4 KB
ID:	37970   Click image for larger version

Name:	pipewire compiler.jpg
Views:	87
Size:	98.3 KB
ID:	37971  

Last edited by Candelabrus; 01-03-2022 at 10:46 AM.
 
1 members found this post helpful.
Old 01-04-2022, 07:59 PM   #206
tramtrist
Member
 
Registered: Jul 2018
Location: Cincinnati USA
Distribution: Slackware
Posts: 543

Rep: Reputation: 328Reputation: 328Reputation: 328Reputation: 328
Pat added the pipewire enable/disable scripts and xdg autostart files in latest changelog from today
 
Old 01-06-2022, 10:25 AM   #207
marav
LQ Sage
 
Registered: Sep 2018
Location: Gironde
Distribution: Slackware
Posts: 5,393

Rep: Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119
Wireplumber 0.4.6

Updated:

https://gitlab.com/maravtdm/wireplumber-slackbuild

Changes:
Code:
- Fixed a lot of race condition bugs that would cause strange crashes ormany log messages being printed 
when streaming clients would connect and disconnect very fast (#128, #78, ...)
- Improved the logic for selecting a default target device (#74)
- Fixed switching to headphones when the wired headphones are plugged in (#98)
- Fixed an issue where udevadm trigger would break wireplumber (#93)
- Fixed an issue where switching profiles of a device could kill client nodes
- Fixed briefly switching output to a secondary device when switching device profiles (#85)
- Fixed wpctl status showing default device selections when dealing with module-loopback virtual sinks and sources (#130)
- WirePlumber now ignores hidden files from the config directory (#104)
- Fixed an interoperability issue with jackdbus (pipewire#1846)
- Fixed an issue where pulseaudio tcp clients would not have permissions to connect to PipeWire (pipewire#1863)
- Fixed a crash in the journald logger with NULL debug messages (#124)
- Enabled real-time priority for the bluetooth nodes to run in RT (#132)
- Made the default stream volume configurable
- Scripts are now also looked up in $XDG_CONFIG_HOME/wireplumber/scripts
- Updated documentation on configuring WirePlumber and fixed some more documentation issues (#68)
- Added support for using strings as log level selectors in WIREPLUMBER_DEBUG

Last edited by marav; 01-06-2022 at 04:50 PM.
 
1 members found this post helpful.
Old 01-13-2022, 03:49 AM   #208
marav
LQ Sage
 
Registered: Sep 2018
Location: Gironde
Distribution: Slackware
Posts: 5,393

Rep: Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119
Wireplumber 0.4.7

updated:
https://gitlab.com/maravtdm/wireplumber-slackbuild

Fixes:
Code:
    Fixed a regression in 0.4.6 that caused the selection of the default audio sources and sinks to be delayed until some event, which effectively caused losing audio output in many circumstances (#148, #150, #151, #153)
    Fixed a regression in 0.4.6 that caused the echo-cancellation pipewire module (and possibly others) to not work
    A default sink or source is now not selected if there is no available route for it (#145)
    Fixed an issue where some clients would wait for a bit while seeking (#146)
    Fixed audio capture in the endpoints-based policy
    Fixed an issue that would cause certain lua scripts to error out with older configuration files (#158)
 
1 members found this post helpful.
Old 01-22-2022, 04:38 AM   #209
nikybiasionoru_82
LQ Newbie
 
Registered: Dec 2009
Posts: 9

Rep: Reputation: 1
I don't know if it's just my problem. For several months, when I turn on the headphones, I see that blueman is connected, but I do not hear the classic voice "connected" and I do not see them among the audio devices. I always have to disconnect and reconnect them in blueman, and then everything works. I've tried everything, but I don't get out of it.
This problem gives it, both using only pulseaudio and with pulsewire, I tried to delete the config files and recreate everything. I also tried older versions of pulse. Obviously the problem is with all the headphones I have.
 
Old 01-22-2022, 08:36 AM   #210
marav
LQ Sage
 
Registered: Sep 2018
Location: Gironde
Distribution: Slackware
Posts: 5,393

Rep: Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119Reputation: 4119
Thanks to Pat for his major improvements to the Pipewire integration in Slackware

Based on his scripts, I've made similar method to enable/disable wireplumber (as a replacement of pipewire-media-session)
with 2 scripts in /usr/sbin/ :
- wireplumber-enable.sh
- wireplumber-disable.sh

+ it's no longer necessary to write your own wireplumber.desktop, it's now included as wireplumber.desktop.sample

note: the addition of
Code:
X-KDE-autostart-after=pipewire
in wireplumber.desktop

https://gitlab.com/maravtdm/wireplumber-slackbuild

EDIT: Since wireplumber is, in a sense, part of pipewire, it is assumed that pulseaudio is already disabled in favor of pipewire

Last edited by marav; 01-22-2022 at 02:44 PM. Reason: pipewire-pulse not needed
 
4 members found this post helpful.
  


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 10:49 AM.

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