- Lua 99.5%
- HTML 0.5%
| files | ||
| google1d239b0bb558ae2b.html | ||
| LICENSE | ||
| README.md | ||
Wave XLR on Linux
Unofficial instructions to fix issues with Wave XLR (also Wave 3 and XLR Dock) on Linux.
As of November 2024, Wave XLR does not have official Linux support - Elgato Wave XLR - System Requirements.
However, since the device is recognized by the system as a standard USB audio device, some functionality can be accessed on Linux.
Disclaimer: The instructions and information on this page are unofficial and not endorsed or supported by device manufacturer - Elgato. The content of this page is based on my personal experience and may not work in all cases. I cannot guarantee the accuracy or reliability of the information provided. Use at your own risk. No warranties or guarantees, express or implied, are provided.
Issues
No audio signal from the microphone
When the device is used for both playback and recording, the microphone produces no audio signal.
Other users have reported the same issue:
After some trial and error, I found that the issue is most likely not related to pipewire and is more low-level. It's reproducible with playback and recording from raw ALSA devices without pipewire or pulseaudio running.
If you start playing an audio and then initiate recording from the microphone, there is no signal detected from the microphone. However, when the process is reversed, starting the recording first then playback, everything seems to work fine.
The workaround (NEW)
These instructions assume your Linux distribution uses pipewire and wireplumber >=0.5.
Note: For wireplumber version 0.4, such as the one installed on Ubuntu 24.04 LTS, refer to the instructions here.
Create the directory if it doesn't exist ~/.config/wireplumber/wireplumber.conf.d/:
mkdir -p ~/.config/wireplumber/wireplumber.conf.d/
For Wave XLR: create ~/.config/wireplumber/wireplumber.conf.d/51-wavexlr.conf file.
For Wave 3: create ~/.config/wireplumber/wireplumber.conf.d/51-wave3.conf file.
For XLR Dock: create ~/.config/wireplumber/wireplumber.conf.d/51-xlrdock.conf file.
The configuration sets the node.always-process property to true on the device source node (microphone input).
Wireplumber 0.4
Create the directory if it doesn't exist ~/.config/wireplumber/main.lua.d/:
mkdir -p ~/.config/wireplumber/main.lua.d/
For Wave XLR: create ~/.config/wireplumber/main.lua.d/51-wavexlr.lua file.
For Wave 3: create ~/.config/wireplumber/main.lua.d/51-wave3.lua file.
For XLR Dock: create ~/.config/wireplumber/main.lua.d/51-xlrdock.lua file.
The workaround (OLD)
If you experience issues with the new approach, here is the original workaround:
The steps below configure wireplumber so that Wave XLR playback node is created only after the microphone source is activated. A custom script creates a virtual sink node and links it to the Wave XLR microphone source, forcing the device to start and keep the microphone capture active.
It was reported that the same workaround works for Wave 3 microphones - Works for Wave 3 too
Step 1. Disable the autoconfigured playback sink and define a custom Lua script.
Create the directory if it doesn't exist ~/.config/wireplumber/wireplumber.conf.d/:
mkdir -p ~/.config/wireplumber/wireplumber.conf.d/
For Wave XLR: create ~/.config/wireplumber/wireplumber.conf.d/51-wavexlr.conf file.
For Wave 3: create ~/.config/wireplumber/wireplumber.conf.d/51-wave3.conf file.
Step 2. Create a custom wireplumber script.
Create the directory if it doesn't exist ~/.local/share/wireplumber/scripts/:
mkdir -p ~/.local/share/wireplumber/scripts/
Create the file ~/.local/share/wireplumber/scripts/wavedevicefix.lua
Important
If you’re upgrading from a version released before December 2025, be aware that the script file has been renamed from
wavexlrfix.luatowavedevicefix.lua. Make sure to also replace your old configuration file with the updated version provided above.
Troubleshooting
If the workaround fails, try restarting the wireplumber:
systemctl restart --user wireplumber
To view wireplumber logs
journalctl -u wireplumber --user --lines 30
Changelog
2026-02-15
- Add instructions for XLR Dock. Reported in #25.
2026-01-24
- Add instructions for wireplumber 0.4 which is used on older systems. Reported in #18.
2026-01-11
- Add instructions for a new, much simpler workaround reported in #15.
2025-12-06
- Fix intermittent failures when creating a null sink link. #12
- Add instructions for Wave 3, adjust the config and the script. #13
- Set
session.suspend-timeout-seconds: 0on the device sink. #13
2025-11-29
- Add device profile properties to WaveXLR Sink for audio mixer compatibility. #11
Contributing
If you'd like to suggest improvements to these instructions, please raise an issue or a PR on this repository.