[pulseaudio-discuss] Client-server bad design

Lennart Poettering lennart at poettering.net
Fri Mar 27 03:47:58 PDT 2009

On Fri, 27.03.09 09:51, Lukas Polacek (lukas at ksp.sk) wrote:

> Hello!
> I use X forwarding and I have setup pulse audio for network sound. It works, but
> I think the design of how it works is bad. Let me explain.
> Let A be a computer, which I am using and B be a computer, which I want to
> connect to. This is how X forwarding works: A and B both run an X server. A
> connects to B and the X session from B is transferred through the netwrok to A.
> A is a _client_ of B, hence B is a _server_. This client-server relation of A
> and B has nothing to do with the fact that A and B both run an X
> server.

Uh? Either you are confused or I am. Only the machine that you want to
do video output and keyboard/mouse input on needs to run an X server,
the other one does not.

> Pulse audio network transfer works exactly the opposite way. A wants to play
> sound from B and B has to connect to A. I don't understand. A wants something
> from B, why should B start the connection?

No. This is nonsense. The same machine that runs the X server has to
run the PA server. 

> This may seem like a stupid play with the words, but this design flaw causes,
> that you can't use PA over NAT without workarounds.

I think you are mixing up pure X11 with X11 over SSH.  On pure X11 it
is the application that connects to the display, which is exactly the
same thing as with PA: the application needs to connect to the audio
server. Now if you throw SSH in the mix then SSH will receive the X
application connection and forward it to the display in an encrypted
channel. You can do the exact same thing and also pass the PA traffic
through an SSH  tunnel. It won't do good to your latency behaviour


Lennart Poettering                        Red Hat, Inc.
lennart [at] poettering [dot] net         ICQ# 11060553
http://0pointer.net/lennart/           GnuPG 0x1A015CC4

More information about the pulseaudio-discuss mailing list