This is my first time doing pass through and idk what other optimizations I could do or if I’ve done anything wrong/sub optimal. I’d like your input. I’ll send you a message later
For anyone curious if this is an option (running windows in a VM for audio), I’ve had good luck so far. Feels native, but I have more tests to do before I say it’s viable. Without passing through (iommu) the audio interface, it’s unusable.
I installed Linux and set up a Win 10 pro VM yesterday. I did GPU pass through (although I doubt that was necessary). I also did pass through of my audio interface (MOTU 8pre-es). Windows saw it and it showed up in the proprietary MOTU software after installing the drivers in the VM, however I couldn’t get audio to play. I then tried passing through the USB root hub (built in to mother board) that the MOTU was connected to and then it worked. It worked just as it would running on bare metal. I tried playing a couple projects in Cubase and had no audio dropouts. Cubase has a meter that shows you if you missed audio buffer deadlines and why (CPU, disk) and it didn’t, to my surprise.
Things I still want to try:
- How low can I get my buffer size / ASIO latency?
- Can it handle 192KHz sample rate and at what buffer size? The tests I did yesterday were 48k and 44.1k projects.
- How does it feel (in terms of latency) when using a MIDI controller keyboard.
- Can I do multi channel recording without dropouts?
- Does the VM break Cubase’s audio latency compensation when recording (this determines recording latency and automatically aligns the recording to where yiud expect it tobel). I have a feeling that the VM may introduce a latency that Cubase doesn’t account for.
- Does iLok or another license that I need fail in VM? I only used Steinberg licenser based software yesterday.
- Probably some other stuff I’ve not thought of yet.
What I’ve not figured out is a way to sort of boot my existing windows install. I’m sure there’s a way, but idk. I know it’s possible to pass an entire disk to the VM, but my host Linux install is on the same nvme. I guess what I’d want is a way to create a virtual block device that maps the other partitions from the nvme and then pass that virtual block device to the VM. Alternatively, install Linux to a different drive, but I’d rather not buy another nvme at this time.












As long as you do pass through of the USB device (or USB host controller), it should be fine. The VM acesses it directlty without passing through a virtualized version of the device (like what normally happens with sound, network, graphics) and the VM can even DMA to it. Down side is that the hardware isn’t visible to the host anymore, so if you pass through a GPU, it’s used exclusively by the VM, not the host. If you connect a monitor to the GPU, you see the VM, not the host. So you can only do this with hardware that is intended specifically for use within the VM. Zune management sounds like an ideal use case. See IOMMU if you’re interested in some if the tech side if it.