Hacker News new | past | comments | ask | show | jobs | submit login
PulseAudio Under the Hood (2017) (gavv.github.io)
100 points by kbumsik 3 months ago | hide | past | web | favorite | 14 comments



Is there a GUI tool that lets you really get at the guts of PulseAudio configuration? This has come up fairly recently for me as I was looking to get 7.1 surround virtualization on headphones working on Ubuntu (I did succeed at this).

The two tools I found - 'pavucontrol' seems like just a mixer, 'paprefs' doesn't show you anything about modules. I want something that shows me what PulseAudio modules are available to build a signal chain with, possibly also handling configuring LADSPA plugins in the chain. I was really surprised that there seemed to be no way to 'list all modules available for loading on the system' (there seems to be only 'list all modules already loaded' which means I needed to Google to find out what the possible modules are).

Is there something like this already? If not, I would actually be tempted to build something like this myself - I need a good excuse to learn Qt :)


> 'pavucontrol' seems like just a mixer

It's not a pro-level tool and probably doesn't have the flexibility you are looking for, but pavucontrol is much more than just a mixer. For example I can use it to control which input devices individual recording applications are reading from, and which output devices individual applications are playing to. You can also manage (but not create?) virtual devices that can be used as both inputs and outputs, and use a monitor of any output device as an input, etc etc.

If you do build something that gives complete access to pulseaudio devices and their mappings, I'd love to see the results. I would definitely use such an application.

> I was really surprised that there seemed to be no way to 'list all modules available for loading on the system'

Does `pactl list` give you what you're looking for?


Not quite; 'pactl list modules' will give me a list of all currently loaded modules, but it doesn't tell you what modules are available on the system to be loaded. So you can't use it as a way to discover PulseAudio functionality.

For example, in the 7.1 surround example I mentioned, you load the module 'module-virtual-surround-sink' (I followed this guide: https://www.reddit.com/r/linux_gaming/comments/2ot5ov/enable...). I didn't know this functionality existed and none of the tools gave me a way to discover it. It was only through that linked guide and then later the 'PulseAudio Under the Hood' page discussed here that I found out about it.

(as an aside - module-virtual-surround-sink is extremely cool; you can load your own custom spatialization HRIR into it)


Not that I know of. But there is something like that for Jack:

https://qjackctl.sourceforge.io/


A few years back I ditched Pulseaudio for regular Alsa and it's been a godsend. No more crackling audio on bluetooth devices, alsamixer which can set all the volume levels and every program just works out of the box.

The problem I have with Pulseaudio is that it's fixing a problem that doesn't exist. It's great you can mix and match any channel you want with Pulseaudio but that's mostly a theoretical advantage. For desktop users Alsa with dmix offers everything you need, I can play audio, record and mix all at the same time. The few programs which absolutely require Pulse (I'm looking at you Firefox) can be fixed with apulse, which emulates Pulseaudio through Alsa.


Me too. I was trying to get kodi working on an ubuntu machine with surround sound going over hdmi to my AVR. Basically I just wanted to create a working HTPC.

Pulseaudio could not achieve this.



garbage?

..sorry just my gut reaction after all that pulseaudio has done to me. i know this stuff is hard :P


Never really understood the alternative to PA. Personally have used Debian my whole linux life, I install PA and everything just works. A few weeks ago I was reinstalling Debian and decided to search for alternatives to PA (because of these sorts of comments) and found nothing but a mixture of vague messages about ALSA and more people claiming PA is no good.

Any links where I could get a clear understanding of how an audio setup would look without PA?


I think reactions like this one, and the tons of crap gnome and systemd devs get are very damaging to the linux desktop community. Criticism is fine, but people are trying to make modern systems with little support. This is hard even for a Microsoft or an Apple, let alone a few paid developers and a a bunch of enthusiast volunteers.


Constantly breaking things that already work is helping the community? Trying to use Linux audio in the 2000s was a shitshow because of this. Were you a user during the time period? PulseAudio was rolled out way before it was ready.


Yes I was a user in the 2000s, I don't remember it being that bad although there certainly were issues.


To be fair, the people reacting like this are reacting because they think that pulseaudio, gnome, and systemd have been damaging to the linux desktop community. Even though you're characterizing them as "a few paid developers and a bunch of enthusiast volunteers," they're representing a few large companies (or mainly one in particular) that have the weight to push through their opaque designs into upstream distributions, even when they don't quite work yet.

You may admire them for the challenges they've undertaken, but many wish they had either come up with more transparent/unixy solutions to those challenges, or instead had taken up others, like chess or rock-climbing.

That being said, systemd and pulseaudio have reached a point of stability for me, which is good, because unlike most other things on my system, there's no way I could fix a problem that came up without a support contract.


I've lost hours/maybe days to pulseaudio after daring to try configure an eq. Totally opaque and highlights why linux isn't ready for a mainstream audience.




Applications are open for YC Winter 2020

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: