-
Notifications
You must be signed in to change notification settings - Fork 43
README
The latest version of this document can be found at wiki.
xrdp implements Audio Output redirection using PulseAudio, which is a sound system used on POSIX operating systems.
The server to client audio redirection is implemented as per Remote Desktop Protocol: Audio Output Virtual Channel Extension [MS-RDPEA] specs, which means it is interoperable with any RDP client which implements it (most of them including: MS RDP clients, FreeRDP).
The client to server audio redirection is implemented as per Remote Desktop Protocol: Audio Input Redirection Virtual Channel Extension [MS-RDPEAI] which means it is interoperable with any RDP client which implements it (most of them including: MS RDP clients, FreeRDP).
The xrdp pulseaudio module uses an internal pulseaudio API which is designed for pulseaudio modules.
Although this API is fairly stable, the pulseaudio developers have decided not to make this API available as a public interface. To access the API:-
- the pulseaudio sources must be made available for your platform, and
- they must be configured.
Once this has been done, the xrdp pulseaudio module can be built.
More detail is available on the linked pages below.
One the modules have been built, sudo make install
should do the following:-
- Install the modules to the correct directory
- Install a script
load_pa_modules.sh
to load the modules when a session is started. On many systems this script is installed by default in /usr/libexec/pulseaudio-module-xrdp/ - Install a desktop file
pulseaudio-xrdp.desktop
which will call theload_pa_modules.sh
script when a desktop is loaded. On many systems this script is installed by default in/etc/xdg/autostart
Note that the modules will only be loaded automatically when the desktop starts if your desktop supports the XDG autostart specification. Most modern desktops support this.
You can confirm if the modules are properly installed by following command:
ls $(pkg-config --variable=modlibexecdir libpulse) | grep xrdp
If you can see module-xrdp-sink.so
and module-xrdp-source.so
,
PulseAudio modules are properly built and installed.
Enjoy!
The easiest way to test this is to use the paplay
command to play an
audio file.
You can also do the following:-
- run
pavumeter
in the xrdp session- - Playback any YouTube video in Firefox.
You'll see "Showing signal levels of xrdp sink" and volume meter moving.