Title: SPICE audio backend never registers SPICE_INTERFACE_RECORD for sb16 device — microphone input silently non-functional
- Dominant language
- Swift
- Stars
- 35.5k
- Forks
- 1.8k
- Avg merge
- 5d 5h
- Merged PRs (30d)
- 7
Description
**Describe the issue**
Microphone recording never works in the guest, regardless of guest-side configuration (confirmed recording device correctly selected in guest Multimedia Properties) and regardless of UTM's Sound Backend setting. Playback works correctly.
Debug log shows QEMU's SPICE server registers a playback interface immediately (spice_server_add_interface: SPICE_INTERFACE_PLAYBACK) and the client constructs a corresponding playback-N:0 channel. No SPICE_INTERFACE_RECORD interface is ever added by the server, and no record-N:0 channel is ever constructed by the client — not at VM start, and not when the guest actively attempts to record (tested via Windows Sound Recorder). macOS's own microphone permission system (TCC) is never invoked at all — confirmed via Console.app showing no kTCCServiceMicrophone entries and no orange mic-in-use indicator in the menu bar during a recording attempt — indicating the failure occurs entirely within QEMU's audio backend, before any host-level capture is attempted.
**Configuration**
* UTM Version: 4.7.5
* macOS Version: tahoe
* Mac Chip (Intel, M1, ...): M4
**Debug log**
[debug-02.log.zip](https://github.com/user-attachments/files/29688025/debug-02.log.zip)
**Steps to reproduce**
Create/run a Windows 98 VM with sb16 sound device and -audiodev spice
Confirm playback works (it does)
Attempt to record via Windows Sound Recorder with correct recording device selected
Enable UTM Debug Log; observe SPICE_INTERFACE_PLAYBACK is added but SPICE_INTERFACE_RECORD never is
**Expected behavior**
A record interface/channel should be established when the guest opens the SB16 device for input, matching the existing playback behavior.
**Note**
The VM was originally set up from a preconfigured Windows 98 image (https://github.com/ducbao414/utm-windows-98), but the relevant QEMU device configuration (sb16 sound device on -audiodev spice) is identical to what UTM's own New VM wizard generates for a Windows 95/98 target — I confirmed this by creating a fresh VM through the wizard and comparing the generated arguments.
Contributor guide
Research direction
Reproduce the Windows 98 sb16 setup with -audiodev spice and inspect the debug log for SPICE_INTERFACE_PLAYBACK versus the missing SPICE_INTERFACE_RECORD and record-N:0 channel. Trace the guest's recording attempt from SB16 input through QEMU's SPICE audio backend. Done means recording establishes the record interface and channel, with host microphone permission being requested and input working.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- macos
- Domain
- audio-video-rtc, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100