USB emulation - no option to disable

emunt6

Active Member
Oct 3, 2022
180
41
33
Hi!
Is there any future plan to add USB emulation to disable/remove per VM?

usecase:
QEMU USB device causes high context-switching (interrupts) inside a VM ( ex. freebsd ) thus high cpu load on the HOST.
VM doesn't need to have emulated USB controller inside the VM, thus saving resources on the HOST's CPU.

workaround: ( pve 6.x )
Patch a PVE default USB controller ( this is cannot be removed otherwise - hardcoded )
Code:
--> /usr/share/perl5/PVE/QemuServer.pm
---------------------------------------------
    ## my @usbcontrollers = PVE::QemuServer::USB::get_usb_controllers($conf, $bridges, $arch, $machine_type, $usbdesc->{format}, $MAX_USB_DEVICES);
    my @usbcontrollers;
---------------------------------------------


- where you don't need USB - ( this needed to add )
--> /etc/pve/qemu-server/XXX.conf
---------------------------------------------------
tablet: no
---------------------------------------------------


- where you need USB - ( this needed to add )
--> /etc/pve/qemu-server/XXX.conf
---------------------------------------------------
args: -device piix3-usb-uhci -device usb-kbd -device usb-mouse
tablet: no
---------------------------------------------------
 
Last edited:
I would appreciate a feature to disable the unnecessary USB controllers as well. Corporate security team raised concerns about them.