Redirecting the microphone from dom0 or sys-usb to Windows 10/11 through Remmina remote desktop

Hello brave souls,

This is my first post, so please bear with me.

I spent some time figuring out how to redirect the microphone through Remmina RDC for use on a Windows 10. To save you some hassle, here’s what worked for me. I can now successfully use either the internal dom0 mic (with headphones plugged into the standard 3.5mm audio jack) or a USB headset connected via USB.

I’ll assume you already have Remmina installed in your template, along with packages like pavucontrol, pulseaudio, pipewire, pipewire-qubes, pipewire-pulse, or whichever suit your audio setup. (Note: configuring audio devices is beyond the scope of this guide.)

  1. Start the qube where you want to use Remmina (in my case, the “work” qube).
  2. Redirect the microphone from the top XFCE panel to your destination qube (“work” qube). You can select either “dom0:mic” or a USB device.
  3. Open a terminal in the “work” qube and launch pavucontrol. Set your default microphone (if you have multiple) and ensure it is not muted.
  4. Speak into the physical mic and verify that the volume meter moves in ‘audio control’ window under ‘Input devices’.
  5. In the same terminal, run arecord | aplay, speak something, and confirm you hear immediate audio feedback. Then stop the process.
  6. Now you’re ready to configure Remmina.
  7. Start Remmina and open desired remote machine configuration - right click, EDIT.
  8. Under ‘Advanced tab’ you will see the field “Redirect local microphone,” where you may need to manually enter format:1 or sys:pulse,format:1,quality:high; otherwise, the mic won’t work on the Windows guest (try without manually entering anything into the field at first).
  9. Other possible values to try (see also this Reddit post) include:
    • sys:pulse
    • sys:alsa
    • sys:alsa,format:1,quality:high
  10. On the Windows guest, verify microphone access is enabled:
    Start > Settings > Privacy > Microphone > Allow apps to access your microphone > On
    (See Windows mic enable guide)
  11. Connect to the Windows remote machine via Remmina.
  12. Once connected, test microphone access using any Windows desktop app.
  13. Back in the “work” qube terminal, run pactl list short sources. If the mic shows as SUSPENDED, it’s not in use; if RUNNING, the mic is active and successfully redirected, yeey!

Important: Do not edit Remmina’s settings while the remote connection is active.

That’s all! Good luck.

Isn’t it easier to pass the usb device to the windows qube? I think they support that, but I’m not entirely sure.

I tried both attaching USB device and USB controller PCI passthrough. In my case, passing the controller causes the Windows qube to fail to boot (BSOD). But if you want to pass USB device via sys-usb, Windows qube requires a working QWT installation, but there was a recent security issue related to it .

EDIT:
In 2023, the Qubes team issued QSB‑091, confirming that the Xen PV driver binaries bundled in QWT may be compromised or are unverifiable due to changes in Microsoft’s signing process. As a result, QWT installation was blocked by default in Qubes OS 4.2 and later

Either way, I believe passing only the microphone reduces attack surface by far.

I think this is how you attach a USB or block device to Windows qube without QWT:

Workaround to Attach Block and USB Devices to Win Qube(s) Under 4.2