Troubleshooting audio issues with PipeWire on Linux
PipeWire is a modern sound engine for Linux that replaces PulseAudio and provides compatibility layer for it and other older audio frameworks. PipeWire is usually installed by default on modern Linux distributions and should work seamlessly with X-Plane in Ubuntu. This guide provides pointers that might be helpful for users of other Linux distributions in case of issues with audio in X-Plane while using PipeWire. Please note, we do not provide support for any particular Linux distribution and the information below is provided in the hope it is useful; you may need to resort to other resources to fix configuration issues relevant to your setup.
X-Plane and FMOD
X-Plane uses the popular FMOD library for its audio engine and doesn’t directly communicate with nor care about the underlying audio framework/engine in Linux. It’s the FMOD that talks directly to whatever audio framework is present on the system. By default FMOD tries to utilize PulseAudio (FMOD detects it by running /usr/bin/pulse-audio --check
command). This can be overridden by FMOD_ALSA_DEVICE environment variable – see https://www.fmod.com/docs/2.00/api/platforms-linux.html for more details. With X-Plane 12, FMOD device/framework can also be selected via “Sound Device” list in the Sound settings section of the sim. The list of devices visible in X-Plane 12 settings is detected and provided by FMOD and is a mix of audio frameworks (e.g. oss, pulse, pipewire, jack) and specific alsa devices on specific outputs (e.g. “hdmi:CARD=NVidia,DEV=0”).
PipeWire setup
In a PipeWire-based system make sure the following components (packages) are installed:
- pipewire-pulse
- pipewire-alsa
With PipeWire-based system, /usr/bin/pulse-audio
binary will likely not exist as it was only shipped by actual legacy PulseAudio (do not attempt to install PA manually on top of PipeWire system!); this means FMOD will not detect PulseAudio and will likely fall back to PipeWire ALSA sink. You should get the same result by manually selecting “pipewire” or a specific alsa device in X-Plane 12 Sound settings. If PipeWire ALSA works and you can hear sounds then great – you can stop here! In the Volume control dialog (GNOME) or pavucontrol it should look similar to this:
If that fails then you can try to trick FMOD pulse-audio detection by creating the following symbolic link:
ln -s /bin/true /usr/bin/pulseaudio
With this link in-place, FMOD’s PA check succeeds and Volume Control should report FMOD audio sink that actually uses pipewire-pulseaudio compatibility module:
Additional pointers for troubleshooting:
- Make sure your audio is actually routed to the expected and sensible sound output (e.g. not to an unused HDMI output of an NVidia card)
- Try removing any user-specific PipeWire/PulseAudio config/cookie files from your home directory
- Use
pactl list
command to dump and easily inspect all sinks and audio devices – it should report some alsa “cards”. When X-Plane is running it should report a pipewire-alsa or fmod client for X-Plane binary, similar to “Volume control” screenshots above. - Check out the excellent https://wiki.archlinux.org/title/PipeWire – this may prove useful even if using Linux distributions other than Arch.