[SOLVED] USB port passthrough lag?

rumble06

New Member
Jul 12, 2019
14
1
1
24
Is there any way to improve the performance of the USB port/device passthrough without having so passthrough the entire controller? I have an USB audio interface, using the usb passthrough I get crackling noise whenever sound (specially louder ones) is played. By passing through the entire controller of the motherboard to the VM using PCIe passthrough the crackling noise dissappears, however the problem is that my motherboard only has 2 controllers (one being the front I/O panel) so if I passthrough the entire controller to one VM I will loose the ability to pass a usb device/port to another VM. What I am looking is a way to make the usb port(s) passthrough more efficiently.
 
what you can try is to enable iothreads for your disks, for the following reason:

the usb passthrough emulation and disk io is handled in a single qemu thread so the latency of the usb device depends also on disk activity
so putting the disk io on its own thread may make things better
backup wont work with iothreads though

aside from this there very little possibilities (did you try usb3?) except passing through an entire controller (with pci passthrough there nearly no device emulation involved, thus lower latency)
 
what you can try is to enable iothreads for your disks, for the following reason:

the usb passthrough emulation and disk io is handled in a single qemu thread so the latency of the usb device depends also on disk activity
so putting the disk io on its own thread may make things better
backup wont work with iothreads though

aside from this there very little possibilities (did you try usb3?) except passing through an entire controller (with pci passthrough there nearly no device emulation involved, thus lower latency)

IOThreads are enabled for all the disks assigned. Haven't tried with usb3 as the device isn't usb3. So I guess I will have to stick with passing the entire USB controller and get a motherboard with more usb controllers in the future (or find a way to access the PCIe slot from under the GPU because the GPU is too big and I can't access the PCIe x1 slot because of it and just get a PCIe -> USB controller).

Edit: I will however mark this as Solved because the solution was found, passing through the entire usb controller works fine and there is no more crackling/pop noise
 
Last edited:

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!