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

From: Florian Wicke - Hetzner Online AG <[email-masked]>
Date: Wed, 29 Apr 2015 12:37:31 +0200

Hi Stefan,

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.

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

Kind regards

 Florian Wicke

Hetzner Online AG
Industriestr. 25
91710 Gunzenhausen / Germany
Tel: +49 9831 505-187
Fax: +49 9831 505-387
[email-masked]
www.hetzner.com

Register Court: Registergericht Ansbach, HRB 3204
Management Board: Dipl. Ing. (FH) Martin Hetzner
Chairwoman of the Supervisory Board: Diana Rothhan

Am 29.04.2015 um 12:13 schrieb Stefan Baur:
> package: x2gothinclient
> version: 1.1.0.2
> 
> Hi,
> 
> when starting x2goclient in thinclient mode, pulseaudio gets started
> in the background. This blocks remote audio when using the
> RDP-DirectConnect feature of x2goclient.
> 
> When you do this:
> 
> /etc/init.d/x2gothinclient stop
> X &
> export DISPLAY=:0
> ln -s /etc/x2go/x2gothinclient_sessions ~/.x2goclient/sessions
> x2goclient --thinclient
> 
> sound in an RDP-DirectConnect session works.
> So the Pulseaudio start takes place somewhere else - x2gothinclientd
> maybe? - and needs to be stopped for RDP-DirectConnect, as it blocks
> the audio device.
> 
> How that can be accomplished, without killing sound support for
> regular X2Go sessions, I don't know.
> 
> Who was the one that originally asked for the RDP-DirectConnect
> feature?  How do they handle sound, or do they not need it?
> 
> -Stefan
> 
> _______________________________________________
> x2go-dev mailing list
> [email-masked]
> http://lists.x2go.org/listinfo/x2go-dev
>

---

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:

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

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

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

---

From: Florian Wicke - Hetzner Online AG <[email-masked]>
Date: Wed, 29 Apr 2015 14:56:32 +0200

Hi Stefan,

i don't know about the 'rdpsnd'-plugin for xfreerdp - the official
documentation suggests 'drdynvc':

https://github.com/FreeRDP/FreeRDP/wiki/Multimedia-Redirection

Kind regards

 Florian Wicke

Hetzner Online AG
Industriestr. 25

---

From: Mihai Moldovan <[email-masked]>
Date: Wed, 29 Apr 2015 15:00:18 +0200

> freerdp_load_plugin: failed to load rdpsnd_pulse/FreeRDPRdpsndDeviceEntry

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=672604

Never made it back to wheezy, though.

Jessie has it:
https://packages.debian.org/jessie/amd64/libfreerdp-plugins-standard/filelist

And should also support the --data tsmf:audio:pulse parameter.

Mihai

---

From: Mike Gabriel <[email-masked]>
Date: Thu, 30 Apr 2015 03:24:35 +0000

Hi Stefan,

> Never made it back to wheezy, though.

Yeah... Compiling freerdp against pulseaudio cannot be fixed in wheezy  
anymorere due to Debian policy (note, that I am the current freerdp  
maintainer in Debian).

But you could rebuild freerdp on wheezy and enable pulseaudio support,  
I guess.

Mike

-- 

DAS-NETZWERKTEAM
mike gabriel, herweg 7, 24357 fleckeby
fon: +49 (1520) 1976 148

GnuPG Key ID 0x25771B31
mail: [email-masked], http://das-netzwerkteam.de

freeBusy:
https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xfb