LinuxQuestions.org
Review your favorite Linux distribution.
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 06-26-2022, 02:55 PM   #301
the3dfxdude
Member
 
Registered: May 2007
Posts: 735

Rep: Reputation: 362Reputation: 362Reputation: 362Reputation: 362

Quote:
Originally Posted by enorbet View Post
I also use Enlightenment from time to time and can confirm that "pipewire-enable.sh" works great for KDE and Xfce, but doesn't work properly with e25. It still loads pulse but in my case unless a few Steam Games like Deus EX: Revision start working properly with Pipewire, E's use of pulse is currently an asset. I'll be glad once the Linux Audio system finally settles in with maturity. I was happier with pure ALSA, but those days are obviously gone with very few exceptions.
I am still using pure ALSA on slackware 15.0. Everything works.
 
1 members found this post helpful.
Old 06-26-2022, 08:41 PM   #302
enorbet
Senior Member
 
Registered: Jun 2003
Location: Virginia
Distribution: Slackware = Main OpSys
Posts: 4,785

Rep: Reputation: 4435Reputation: 4435Reputation: 4435Reputation: 4435Reputation: 4435Reputation: 4435Reputation: 4435Reputation: 4435Reputation: 4435Reputation: 4435Reputation: 4435
Quote:
Originally Posted by the3dfxdude View Post
I am still using pure ALSA on slackware 15.0. Everything works.
Thanks. I understand that Pure ALSA can still work but since I haven't done any professional recording in 5 years, I no longer regularly need the extreme low latency that ALSA allows, and since it is rather a lot of work if one updates at all regularly, the Cost/Benefit has shifted for me. Pipewire is a substantial improvement over Pulseaudio and is good enough for my general use. I have a bootable USB stick with Slackware Studio on it which is static and Pure ALSA for deeper dives and more important projects.

I fervently wish ALSA, especially since it is still needed in the background, was never just dumped in terms of direct support, but since that is highly unlikely to ever return, I figure at some point Pipewire or some other system will actually be usable and configurable on a par with ALSA and become ubiquitous, making audio easy for casual users yet also highly configurable for pros and audiophiles. We seem to be slowly getting there.
 
Old 06-27-2022, 02:01 PM   #303
marav
LQ Sage
 
Registered: Sep 2018
Location: Gironde
Distribution: Slackware
Posts: 5,387

Rep: Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108
Quote:
Originally Posted by adcdam View Post
Marav you forgot to mention to us that those who use current and built wireplumber more than a week ago should rebuild wireplumber because you added a patch and without that patch there are some sound problems for example in telegram desktop and some games that use openal.

https://gitlab.freedesktop.org/pipew...620f15c73dbace
i patched the slackbuild that i had, and then i found that you already commited in your gitlab slackbuild.
FYI
I added 4 patches from the Gentoo repository ;-)

https://gitlab.com/maravtdm/wireplumber-current
 
2 members found this post helpful.
Old 06-28-2022, 02:45 PM   #304
average_user
Member
 
Registered: Dec 2010
Location: Warsaw, Poland
Distribution: Slackware
Posts: 560

Rep: Reputation: 220Reputation: 220Reputation: 220
Quote:
Originally Posted by the3dfxdude View Post
I am still using pure ALSA on slackware 15.0. Everything works.
You mean, like, Bluetooth mic?
 
Old 06-30-2022, 06:07 AM   #305
marav
LQ Sage
 
Registered: Sep 2018
Location: Gironde
Distribution: Slackware
Posts: 5,387

Rep: Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108
Pipewire 0.3.53

Code:
Highlights
- The 44.1KHz samplerate was removed again from the defaults, it caused all kinds of problems with various hardware.
- The ALSA plugin should now be able to deal with unsupported samplerates and fall back to the nearest supported one.
- The rlimits performance tuning wiki page was updated. Please check you limits.conf file, the version on the wiki 
used to give all processes a -19 nice level instead of just the pipewire daemon.
- The audioconvert plugin was rewritten to be more maintainable and faster. It also gained support for control ports and
dithering with optional noise shaping.
- An impossible buffering situation is avoided in pulse-server that would cause some applications (sunshine, ...) to stutter.
Changelog:
https://gitlab.freedesktop.org/pipew...ob/master/NEWS

Last edited by marav; 06-30-2022 at 06:09 AM.
 
1 members found this post helpful.
Old 07-05-2022, 12:14 PM   #306
marav
LQ Sage
 
Registered: Sep 2018
Location: Gironde
Distribution: Slackware
Posts: 5,387

Rep: Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108
Wireplumber 0.4.11

Changes:
https://gitlab.freedesktop.org/pipew.../-/tags/0.4.11


Slackbuild upgraded:
https://gitlab.com/maravtdm/wireplumber-current

Last edited by marav; 07-05-2022 at 12:15 PM.
 
2 members found this post helpful.
Old 07-07-2022, 04:57 AM   #307
marav
LQ Sage
 
Registered: Sep 2018
Location: Gironde
Distribution: Slackware
Posts: 5,387

Rep: Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108
Pipewire 0.3.54

Code:
Highlights

- Some critical bugs in the new audioconvert were fixed. The old adapter had internal buffering that was
abused in some places.
- The bluetooth sources were rewritten using a ringbuffer to make them more reliable to jitter and remove
old audioconvert behaviour.
- Many improvements to the audio converter.
- Native DSD128 and up is now supported by pw-dsdplay.
Changelog:
https://gitlab.freedesktop.org/pipew...ob/master/NEWS
 
1 members found this post helpful.
Old 07-12-2022, 01:05 PM   #308
marav
LQ Sage
 
Registered: Sep 2018
Location: Gironde
Distribution: Slackware
Posts: 5,387

Rep: Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108
Pipewire 0.3.55
Code:
Highlights

    Fix some more critical bugs in the new audioconvert and the queueing in pw-stream that causes stuttering and hickups.
    HFP hardware volumes are now saved and restored.
    Format conversions and mixing was improved.
    Small bug fixes and improvements.
Changelog:
https://gitlab.freedesktop.org/pipew...ob/master/NEWS
 
3 members found this post helpful.
Old 07-19-2022, 12:04 PM   #309
marav
LQ Sage
 
Registered: Sep 2018
Location: Gironde
Distribution: Slackware
Posts: 5,387

Rep: Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108
Pipewire 0.3.56
Code:
Highlights

    A critical bug that could crash JACK apps was fixed.
    Some more regressions in audiomixer were fixed. This should fix crackling and stuttering in some cases as well as some channel mapping regressions.
    A bug in the alsa plugin was fixed that could cause stuttering in VMs.
    Bluetooth sources should have improved latency and rate control.
    Many more bugfixes and improvements.
Changelog:
https://gitlab.freedesktop.org/pipew...ob/master/NEWS
 
5 members found this post helpful.
Old 07-20-2022, 03:49 PM   #310
marav
LQ Sage
 
Registered: Sep 2018
Location: Gironde
Distribution: Slackware
Posts: 5,387

Rep: Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108Reputation: 4108
Quote:
Originally Posted by marav View Post
+ Added 2 patches from Gentoo:

wireplumber-0.4.11-dbus-reconnect-crash.patch
wireplumber-0.4.11-alsa-lua-crash.patch
 
2 members found this post helpful.
Old 07-29-2022, 10:54 AM   #311
kevmccor
Member
 
Registered: Aug 2004
Location: Texas
Distribution: slackware
Posts: 158

Rep: Reputation: 44
headset microphone does not work

When I use my headphones for zoom calls the microphone does not work. The regular speakers and video cam microphone did work. The kde audio controls don't seem to make any difference. I switched from Slackware-current to Slackware-15.0 shortly after release. I believe I have a standard Slackware, with some additions. In particular, I compiled ffmpeg with many options, including jack. I see there is pipewire-native-jack (0.3.44) on Slackbuilds.org. Would this help? Programs that require jack would have to be recompiled, probably just jack-rack.

My problem is the headphone microphone not working. I ordered a Logitech H540 USB headset, which I hope will work when it arrives shortly.

Various system info:

Quote:
$ ls /var/log/packages/ | grep jack
jack-1.9.19-x86_64-1ponce
jack-rack-1.4.7-x86_64-4ponce
Quote:
$ cat /etc/asound.conf
# ALSA system-wide config file
# By default, redirect to PulseAudio:
pcm.default pulse
ctl.default pulse
Quote:
$ ls /etc/xdg/autostart/
at-spi-dbus-bus.desktop pipewire-pulse.desktop
baloo_file.desktop pipewire.desktop
blueman.desktop polkit-gnome-authentication-agent-1.desktop
fcitx-autostart.desktop print-applet.desktop
gsettings-data-convert.desktop pulseaudio.desktop.sample
hplip-systray.desktop xdg-user-dirs.desktop
ibus-autostart-plasma.desktop xfce4-clipman-plugin-autostart.desktop
ibus-autostart.desktop xfce4-notifyd.desktop
nm-applet.desktop xfce4-power-manager.desktop
pasystray.desktop.sample xfsettingsd.desktop
pipewire-media-session.desktop
Quote:
$ cat /etc/pipewire/pipewire.conf
# Daemon config file for PipeWire version "0.3.27" #

context.properties = {
## Configure properties in the system.
#library.name.system = support/libspa-support
#context.data-loop.library.name.system = support/libspa-support
#support.dbus = true
#link.max-buffers = 64
link.max-buffers = 16 # version < 3 clients can't handle more
#mem.warn-mlock = false
#mem.allow-mlock = true
#mem.mlock-all = false
#clock.power-of-two-quantum = true
#log.level = 2

core.daemon = true # listening for socket connections
core.name = pipewire-0 # core name and socket name

## Properties for the DSP configuration.
#default.clock.rate = 48000
#default.clock.quantum = 1024
#default.clock.min-quantum = 32
#default.clock.max-quantum = 8192
#default.video.width = 640
#default.video.height = 480
#default.video.rate.num = 25
#default.video.rate.denom = 1
#
# These overrides are only applied when running in a vm.
vm.overrides = {
default.clock.min-quantum = 1024
}
}

context.spa-libs = {
#<factory-name regex> = <library-name>
#
# Used to find spa factory names. It maps an spa factory name
# regular expression to a library name that should contain
# that factory.
#
audio.convert.* = audioconvert/libspa-audioconvert
api.alsa.* = alsa/libspa-alsa
api.v4l2.* = v4l2/libspa-v4l2
api.libcamera.* = libcamera/libspa-libcamera
api.bluez5.* = bluez5/libspa-bluez5
api.vulkan.* = vulkan/libspa-vulkan
api.jack.* = jack/libspa-jack
support.* = support/libspa-support
#videotestsrc = videotestsrc/libspa-videotestsrc
#audiotestsrc = audiotestsrc/libspa-audiotestsrc
}

context.modules = [
#{ name = <module-name>
# [ args = { <key> = <value> ... } ]
# [ flags = [ [ ifexists ] [ nofail ] ]
#}
#
# Loads a module with the given parameters.
# If ifexists is given, the module is ignored when it is not found.
# If nofail is given, module initialization failures are ignored.
#

# Uses RTKit to boost the data thread priority.
{ name = libpipewire-module-rtkit
args = {
#nice.level = -11
#rt.prio = 88
#rt.time.soft = 200000
#rt.time.hard = 200000
}
flags = [ ifexists nofail ]
}

# The native communication protocol.
{ name = libpipewire-module-protocol-native }

# The profile module. Allows application to access profiler
# and performance data. It provides an interface that is used
# by pw-top and pw-profiler.
{ name = libpipewire-module-profiler }

# Allows applications to create metadata objects. It creates
# a factory for Metadata objects.
{ name = libpipewire-module-metadata }

# Creates a factory for making devices that run in the
# context of the PipeWire server.
{ name = libpipewire-module-spa-device-factory }

# Creates a factory for making nodes that run in the
# context of the PipeWire server.
{ name = libpipewire-module-spa-node-factory }

# Allows creating nodes that run in the context of the
# client. Is used by all clients that want to provide
# data to PipeWire.
{ name = libpipewire-module-client-node }

# Allows creating devices that run in the context of the
# client. Is used by the session manager.
{ name = libpipewire-module-client-device }

# The portal module monitors the PID of the portal process
# and tags connections with the same PID as portal
# connections.
{ name = libpipewire-module-portal
flags = [ ifexists nofail ]
}

# The access module can perform access checks and block
# new clients.
{ name = libpipewire-module-access
args = {
# access.allowed to list an array of paths of allowed
# apps.
#access.allowed = [
# /usr/bin/pipewire-media-session
#]

# An array of rejected paths.
#access.rejected = [ ]

# An array of paths with restricted access.
#access.restricted = [ ]

# Anything not in the above lists gets assigned the
# access.force permission.
#access.force = flatpak
}
}

# Makes a factory for wrapping nodes in an adapter with a
# converter and resampler.
{ name = libpipewire-module-adapter }

# Makes a factory for creating links between ports.
{ name = libpipewire-module-link-factory }

# Provides factories to make session manager objects.
{ name = libpipewire-module-session-manager }
]

context.objects = [
#{ factory = <factory-name>
# [ args = { <key> = <value> ... } ]
# [ flags = [ [ nofail ] ]
#}
#
# Creates an object from a PipeWire factory with the given parameters.
# If nofail is given, errors are ignored (and no object is created).
#
#{ factory = spa-node-factory args = { factory.name = videotestsrc node.name = videotestsrc Spa:Pod:Object:Param:PropsatternType = 1 } }
#{ factory = spa-device-factory args = { factory.name = api.jack.device foo=bar } flags = [ nofail ] }
#{ factory = spa-device-factory args = { factory.name = api.alsa.enum.udev } }
#{ factory = spa-device-factory args = { factory.name = api.alsa.seq.bridge node.name = Internal-MIDI-Bridge } }
#{ factory = adapter args = { factory.name = audiotestsrc node.name = my-test } }
#{ factory = spa-node-factory args = { factory.name = api.vulkan.compute.source node.name = my-compute-source } }

# A default dummy driver. This handles nodes marked with the "node.always-driver"
# property when no other driver is currently active. JACK clients need this.
{ factory = spa-node-factory
args = {
factory.name = support.node.driver
node.name = Dummy-Driver
priority.driver = 8000
}
}
# This creates a new Source node. It will have input ports
# that you can link, to provide audio for this source.
#{ factory = adapter
# args = {
# factory.name = support.null-audio-sink
# node.name = "my-mic"
# node.description = "Microphone"
# media.class = "Audio/Source/Virtual"
# audio.position = "FL,FR"
# }
#}

# This creates a single PCM source device for the given
# alsa device path hw:0. You can change source to sink
# to make a sink in the same way.
#{ factory = adapter
# args = {
# factory.name = api.alsa.pcm.source
# node.name = "alsa-source"
# node.description = "PCM Source"
# media.class = "Audio/Source"
# api.alsa.path = "hw:0"
# #api.alsa.period-size = 1024
# #api.alsa.headroom = 0
# #api.alsa.disable-mmap = false
# #api.alsa.disable-batch = false
# #audio.format = "S16LE"
# #audio.rate = 48000
# #audio.channels = 2
# #audio.position = "FL,FR"
# }
#}
]

context.exec = [
#{ path = <program-name> [ args = "<arguments>" ] }
#
# Execute the given program with arguments.
#
# You can optionally start the session manager here,
# but it is better to start it as a systemd service.
# Run the session manager with -h for options.
#
#{ path = "/usr/bin/pipewire-media-session" args = "" }
#
# You can optionally start the pulseaudio-server here as well
# but it is better to start it as a systemd service.
# It can be interesting to start another daemon here that listens
# on another address with the -a option (eg. -a tcp:4713).
#
#{ path = "/usr/bin/pipewire" args = "-c pipewire-pulse.conf" }
 
Old 07-29-2022, 11:41 AM   #312
LuckyCyborg
Senior Member
 
Registered: Mar 2010
Posts: 3,529

Rep: Reputation: 3364Reputation: 3364Reputation: 3364Reputation: 3364Reputation: 3364Reputation: 3364Reputation: 3364Reputation: 3364Reputation: 3364Reputation: 3364Reputation: 3364
Quote:
Originally Posted by kevmccor View Post
When I use my headphones for zoom calls the microphone does not work. The regular speakers and video cam microphone did work. The kde audio controls don't seem to make any difference.
And why did you installed JACK? For zoom calls? Just because?

Anyway, the PipeWire is vastly superior to PulseAudio and there is no need for JACK just for zoom calls.

Last edited by LuckyCyborg; 07-29-2022 at 11:44 AM.
 
2 members found this post helpful.
Old 07-29-2022, 12:40 PM   #313
kevmccor
Member
 
Registered: Aug 2004
Location: Texas
Distribution: slackware
Posts: 158

Rep: Reputation: 44
Quote:
Originally Posted by LuckyCyborg View Post
And why did you installed JACK? For zoom calls? Just because?

Anyway, the PipeWire is vastly superior to PulseAudio and there is no need for JACK just for zoom calls.
Jack was on the list of possible includes in ffmpeg and, I think, some other program. I wanted to have the codecs and features if I needed them. I was playing around with OBS Studio at the time. I was not able to find information on what exactly one needs for a reasonably complete audio. Using sbopkg .sqf files makes it fairly easy to make a list of packages to install -- much easier than finding out the use case for each package. Perhaps I should "removepkg jack jack-rack"

I infer that you see the asound.conf file reference to "Pulse." I have no idea whether PipeWire is better than PulseAudio, but PipeWire is what comes with the system and it is what I think I am using. I have the "Built-in AudioPro" (selected) and "Built-in AudioPro2" in my devices list under the volume icon.

There is a lot of discussion about setting up pipewire on this thread. I think that somehow the headset microphone is omitted when audio is switched to the headset.
 
Old 07-29-2022, 12:57 PM   #314
LuckyCyborg
Senior Member
 
Registered: Mar 2010
Posts: 3,529

Rep: Reputation: 3364Reputation: 3364Reputation: 3364Reputation: 3364Reputation: 3364Reputation: 3364Reputation: 3364Reputation: 3364Reputation: 3364Reputation: 3364Reputation: 3364
Quote:
Originally Posted by kevmccor View Post
Jack was on the list of possible includes in ffmpeg and, I think, some other program. I wanted to have the codecs and features if I needed them.
The JACK is NOT a codec, but a damn audio server, and you cannot run both JACK and PipeWire.

Anyway, PipeWire is realtime and it's in fact the JACK successor, even it got better PulseAudio replacement features.

In other hand, the PipeWire has NO replacement for the JACK server, like it haves for the PulseAudio. You need to preload a library and to build PipeWire in a special mode.

I for one I recommend you to remove all those JACK thingies if all you need is zoom and ffmpeg. It's senseless complication what you do.

Quote:
Originally Posted by kevmccor View Post
There is a lot of discussion about setting up pipewire on this thread.
Yes, because it's from the times when PipeWire was dropped from orbit in Slackware, with no setup at all, and just as a dependency of Plasma5. We tried to make it work, and seems like we succeeded.

Last edited by LuckyCyborg; 07-29-2022 at 01:11 PM.
 
Old 07-29-2022, 05:24 PM   #315
cwizardone
LQ Veteran
 
Registered: Feb 2007
Distribution: Slackware64-current with "True Multilib" and KDE4Town.
Posts: 9,125

Rep: Reputation: 7297Reputation: 7297Reputation: 7297Reputation: 7297Reputation: 7297Reputation: 7297Reputation: 7297Reputation: 7297Reputation: 7297Reputation: 7297Reputation: 7297
Is pipewire the default now or does one still have to run, as root, the script in /usr/sbin?
 
  


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:08 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