You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

69 lines
2.9 KiB

  1. [![Build Status](https://github.com/neutrinolabs/pulseaudio-module-xrdp/actions/workflows/build.yml/badge.svg)](https://github.com/neutrinolabs/pulseaudio-module-xrdp/actions)
  2. [![Gitter (xrdp)](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/neutrinolabs/xrdp-questions)
  3. # Overview
  4. xrdp implements Audio Output redirection using PulseAudio, which is a sound
  5. system used on POSIX operating systems.
  6. The server to client audio redirection is implemented as per **Remote Desktop
  7. Protocol: Audio Output Virtual Channel Extension
  8. [[MS-RDPEA]](https://msdn.microsoft.com/en-us/library/cc240933.aspx)** specs,
  9. which means it is interoperable with any RDP client which implements it
  10. (most of them including: MS RDP clients, FreeRDP).
  11. The client to server audio redirection is implemented as per **Remote Desktop
  12. Protocol: Audio Input Redirection Virtual Channel Extension
  13. [[MS-RDPEAI]](https://msdn.microsoft.com/en-us/library/dd342521.aspx)**
  14. which means it is interoperable with any RDP client which implements it
  15. (most of them including: MS RDP clients, FreeRDP).
  16. # How to build
  17. These modules make use of the internal pulseaudio module API. To build
  18. them you need access to the pulseaudio sources and configuration.
  19. *Be aware that the pulseaudio application development packages provided
  20. with many distributions do not contain the files necessary to use the
  21. pulseaudio module API*. Consequently, the preparation for building these
  22. modules can be a little more involved than just installing development
  23. tools and packages.
  24. Consult the Pulseaudio Wiki for instructions on building the modules
  25. for your platform:-
  26. https://github.com/neutrinolabs/pulseaudio-module-xrdp/wiki
  27. # Install
  28. One the modules have been built, `sudo make install` should do the following:-
  29. - Install the modules to the correct directory
  30. - Install a script `load_pa_modules.sh` to load the modules when a
  31. session is started.
  32. On many systems this script is installed by default in
  33. /usr/libexec/pulseaudio-module-xrdp/
  34. - Install a desktop file `pulseaudio-xrdp.desktop` which will call the
  35. `load_pa_modules.sh` script when a desktop is loaded.
  36. On many systems this script is installed by default in
  37. `/etc/xdg/autostart`
  38. Note that the modules will only be loaded automatically when the desktop
  39. starts if your desktop supports the XDG autostart specification. Most modern
  40. desktops support this.
  41. You can confirm if the modules are properly installed by following command:
  42. ```
  43. ls $(pkg-config --variable=modlibexecdir libpulse) | grep xrdp
  44. ```
  45. If you can see `module-xrdp-sink.so` and `module-xrdp-source.so`,
  46. PulseAudio modules are properly built and installed.
  47. Enjoy!
  48. # See if it works
  49. The easiest way to test this is to use the `paplay` command to play an
  50. audio file.
  51. You can also do the following:-
  52. - run `pavumeter` in the xrdp session-
  53. - Playback any YouTube video in Firefox.
  54. You'll see "Showing signal levels of **xrdp sink**" and volume meter moving.