I’m currently dual booting Linux Mint and Windows. Love Linux, hate Windows. So why I am dual booting?
Because I own and use a Microsoft Zune HD.
It’s probably the best product Microsoft ever came out with. It’s so much lighter than my phone, it has a ton of my music on there, and it has an HD FM radio tuner. However, the software that runs it has never been released so there aren’t really any good options to try and manage the Zune on Linux (some people have tried, it doesn’t really work). So I keep a windows partition just so I can manage a 16 year old mp3 player and radio. That has to be the worst reason to keep a Windows partition, right?
(The reality is I would probably get rid of the Windows partition if I could, I’ve tried but something seems wrong with the BIOS on my computer idk I’m not a programmer. The Zune software is pretty janky at the point so uploading new music barely works anyway).


How can you do this without bricking the controller? Have you ever tried updating its firmware this way? In my experience thats a big nono.
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.