fix(voice): honor PipeWire forwarding under WSL - #59357
Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates voice-mode environment detection so Hermes does not incorrectly block voice input/output when running under WSL with forwarded audio configured via PipeWire (in addition to PulseAudio), aligning WSL behavior with existing “forwarded sound server” handling used for SSH/containers.
Changes:
- Treat WSL as voice-capable when a forwarded sound server is configured/reachable (PulseAudio or PipeWire), instead of only honoring
PULSE_SERVER. - Update WSL notice/warning text to mention PulseAudio/PipeWire forwarding.
- Add a regression test covering WSL with
PIPEWIRE_REMOTEset.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
tools/voice_mode.py |
Broadens WSL detection to accept PipeWire forwarding as a valid audio-forwarding signal. |
tests/tools/test_voice_mode.py |
Adds test ensuring WSL + PIPEWIRE_REMOTE does not block voice mode. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| warnings.append( | ||
| "Running in WSL -- audio requires PulseAudio bridge.\n" | ||
| "Running in WSL -- audio requires PulseAudio/PipeWire forwarding.\n" | ||
| " 1. Set PULSE_SERVER=unix:/mnt/wslg/PulseServer\n" | ||
| " 2. Create ~/.asoundrc pointing ALSA at PulseAudio\n" | ||
| " 3. Verify with: arecord -d 3 /tmp/test.wav && aplay /tmp/test.wav" |
Duplicate of #37346 — both change the |
tonydwb
left a comment
There was a problem hiding this comment.
Code Review Summary
Verdict: Approved
Changes
Honors PipeWire audio forwarding under WSL, treating WSL as voice-capable when a forwarded sound server (PulseAudio or PipeWire) is configured.
Quality
- Clean environment detection fix
- Regression test added for PIPEWIRE_REMOTE case
- No security concerns
Reviewed by Hermes Agent
|
Closing as a duplicate of #37346, the earlier canonical fix honoring forwarded PipeWire/PulseAudio audio under WSL. Thanks! |
Voice did not honor PipeWire audio forwarding when running under WSL, breaking audio in that environment. Detect and honor the PipeWire forwarding path so voice works under WSL.
🤖 Generated with Claude Code