Why enable "no-strict-reset"?

I’ve run qvm-pci to list available PCI devices. Evidentially by default, my USB controller, attached to sys-usb, has the no-strict-reset=TRUE property. Per the documenetation, this “[does] not require PCI device to be reset before attaching it to another VM. This may leak usage data even without malicious intent!”

Why would I ever want this enabled (i.e., does this need to be set to true)?

Some devices do not support reset, resulting in an error without this flag. Most of these devices will pass through just fine with the flag.

Other devices (such as my discrete GPU) cause the entire system to reset when they are PCI reset, resulting in a hard crash. While these devices do support PCI reset, adding this flag allows them to be passed to a VM without crashing everything else.

1 Like

Just to add, you can try running a test by detaching the USB controller and then reattaching it with this property disabled. Then start and shutdown your sys-usb more than once to see if it works. (Be very careful though if your keyboard is attached to this controller!)

1 Like