Subject: Bug#861: [X2Go-Dev] Bug#861: Bug#861: No Sound in TCE-RDP-directConnect

From: Stefan Baur <[email-masked]>
Date: Wed, 29 Apr 2015 14:03:59 +0200

Am 29.04.2015 um 12:37 schrieb Florian Wicke - Hetzner Online AG:

> yes pulseaudio is started from x2gothinclientd - rdesktop does not 
> support pulseaudio as audio backend - but you can workaround that
> with 'padsp' from the pulseaudio-utils package. - you just have to
> prefix the rdesktop command with padsp like:

> padsp rdesktop -u <username> -f -r sound:local <address>

> then pulseaudio redirects the access to /dev/dsp of rdesktop to
> itself.

I know of padsp, but it seems there is no way I can just add this call
somewhere in the config.  This looks like it has to be added to
x2goclient's source.

(I can only add additional parameters after the rdesktop/xfreerdp
call, but nothing in front of it.)

> xfreerdp should have native pulseaudio-support so it depends on
> your choice of software. To force xfreerdp to use pulseaudio you
> could add the parameter '--data tsmf:audio:pulse' to the
> xfreerdp-command

So,
--ignore-certificate --plugin rdpsnd --data tsmf:audio:pulse -d DOMAIN
-f -u User -p Password Server:3389
doesn't work, it throws me right back at the login prompt.

Running it on the command line

xfreerdp --ignore-certificate --plugin rdpsnd -d DOMAIN -f -u User -p
Password Server:3389

(i.e. *without* the parameter you suggested) returns, when pulseaudio
is loaded:

loading plugin rdpsnd
Warning xf_GetWindowProperty (140): Property 484 does not exist
connected to Server:3389
freerdp_load_library_symbol: failed to open
/usr/lib/i386-linux-gnu/freerdp/rdpsnd_pulse.so:
/usr/lib/i386-linux-gnu/freerdp/rdpsnd_pulse.so: cannot open shared
object file: No such file or directory
freerdp_load_plugin: failed to load rdpsnd_pulse/FreeRDPRdpsndDeviceEntry

So it does try to do some pulseaudio'ish things, but fails.  Thus, I'm
guessing xfreerdp in Debian Wheezy is too old/doesn't include
Pulseaudio support for some reason.

Also, note that adding the parameter you suggested doesn't work out of
the box - e.g. when called like this:

xfreerdp --ignore-certificate --plugin rdpsnd -d DOMAIN -f -u User -p
Password --data tsmf:audio:pulse Server:3389

it dies instantly with:

loading plugin rdpsnd
invalid option: --data
failed to parse arguments.

so the position of the parameter seems to matter.

Additional info: xfreerdp --version returns "This is FreeRDP version
1.0.1"

-Stefan

-- 
BAUR-ITCS UG (haftungsbeschränkt)
Geschäftsführer: Stefan Baur
Eichenäckerweg 10, 89081 Ulm | Registergericht Ulm, HRB 724364
Fon/Fax 0731 40 34 66-36/-35 | USt-IdNr.: DE268653243