A small version of PulseAudio, to fight the bloat.


pulseaudionano-0.3.tar.gz [2018-03-03]
pulseaudionano-0.3.tar.gz.sig (GPG signature, see this for usage)
What's new:
- fix bugs that crashed the server (download git tarball below and do git log -p -2 ecf76239fe94d8ff06d72f054aba4375522d29ba for details)

pulseaudionano-0.2.tar.gz [2018-01-05]
pulseaudionano-0.2.tar.gz.sig (GPG signature, see this for usage)
What's new:
- mute/unmute with left click!

pulseaudionano-0.1.tar.gz [2017-12-08]
pulseaudionano-0.1.tar.gz.sig (GPG signature, see this for usage)


The README found in the source:

(without capital, let's be serious)

This is a minimalist PulseAudio (they use capital letters, because they
are great!) server.

I don't use PxAx (my fingers start to bleed if I write this thing more than
once in a month). At work, Xbxntx (same, but the counter starts at 0) and/or
fire-shit-fox want to force the use of PxAx to input and output audio.

Some rumors say fire-shit-fox is the guilty one. Peop-assho-le writing this
piece of bloat don't like ALSA anymore. It's too, I don't know, something
unlikable. They will only support PxAx, live with that, us-asshole-er.

So I said to my inner void (I have the best reverb in there): "hey! let's
hack a quick and dirty replacement for that piece of bloat-shit that is

Here it is.

What works (more or less):
- firefox (with and without flash)
- skypeforlinux (not tested much)
- ffplay

What does not work:
- vlc (but you can force ALSA output for this one)

(vlc uses a too new API that I will absolutely never implement. I didn't test
it with xbxntx but Debian testing on another computer. Maybe my conclusions
about vlc are not valid for xbxntx.)

To be honest, the only things I wanted to work were firefox and skype.
The rest I don't care.

I write this 2017-12-04. This is xbxntx 17.10. Maybe when you read this,
things don't work anymore. You may want to contact me so I fix the shit.
As long as I need I will maintain it, that's for sure.

To use this thing, you need to copy client.conf into the directory ~/.pulse/
(first create the directory '.pulse' into your HOME directory and then put
'client.conf' into this directory) (if you fail doing this, do not contact
me, go to any shop and buy an os-x/microsoft/whatever shit and live with it,
you are beyond repair and linux is not for you).

Then compile: make
Then run the server: ./server
Then run the clients: firefox, skype, whatever.

You can also run: ./dumb_volume_client
That gives you the equivalent of pavucontrol, text based.
It displays the numbers of clients (streams), and then for each of them two
- it's identiy,
- the volume (in dB).
You can change the volume of a stream by typing it's identity, the new
volume, then . Negative values for the volume are to decrease it.
Positive values to increase.

xvolume is a graphical version of dumb_volume_client.
- scroll up/down (or key up/down) over a slider to increase/decrease volume
- 'm' (or left click) over a slider to mute/unmute
- scroll (or key up/down) in the scrollbar to scroll the view left/right
- escape to quit

The audio and video synchronization does not work well in some cases with my
setup. I don't know why and I don't care much. It may even not work at all
with different setups from mine. I don't care. It's a hack. Live with that.

This thing is not efficient at all. Volume computation is very expensive.
Audio data is sent through sockets (no shared memory).

Maybe the best thing would be to push hard on the vend-asshole-ors so that
they support ALSA properly.

I don't care.


Git? What is git?

git archive [2018-03-03]: git.tar.gz
git.tar.gz.sig (GPG signature, see this for usage)

To use the git archive:

mkdir pulseaudionano
cd pulseaudionano
tar xf ../git.tar.gz
git reset --hard

Contact: sed@free.fr

Created: Fri, 08 Dec 2017 14:57:40 +0100
Last update: Sat, 03 Mar 2018 11:42:34 +0100