diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 62893698..62833c01 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -535,7 +535,7 @@ PVE::JSONSchema::register_standard_option("pve-qm-virtio", $virtiodesc); my $usbdesc = { optional => 1, type => 'string', format => 'pve-qm-usb-device', - typetext => 'host=HOSTUSBDEVICE', + typetext => 'host=HOSTUSBDEVICE|spice', description => <{hostbus} = $1; $res->{hostport} = $2; + } elsif ($v =~ m/^spice$/) { + $found = 1; + $res->{spice} = 1; } else { return undef; } @@ -2297,6 +2302,10 @@ sub config_to_command { push @$devices, '-device', "usb-host,vendorid=0x$d->{vendorid},productid=0x$d->{productid}"; } elsif (defined($d->{hostbus}) && defined($d->{hostport})) { push @$devices, '-device', "usb-host,hostbus=$d->{hostbus},hostport=$d->{hostport}"; + } elsif ($d->{spice}) { + # usb redir support for spice + push @$devices, '-chardev', "spicevmc,id=usbredirchardev$i,name=usbredir"; + push @$devices, '-device', "usb-redir,chardev=usbredirchardev$i,id=usbredirdev$i,bus=ehci.0"; } }