[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-users] Need help trying to use SPICE USB Redirection on Xen 4.5

It took me a while, but I got it working. What I didn't know is that to use a 
VM with SPICE, you need a SPICE client. Since I always use my DomU locally, I 
can get by using SDL, which doesn't require installing specific clients.

The last week I couldn't do anything. I installed Arch Linux virtviewer package 
but I couldn't use virt-viewer itself since it required the latest version of 
gnutls, 3.4. Upgrading gnutls broke my Xen install, which could no longer 
create DomUs, so I had to rollback to gnutls 3.3.14. Some days ago a patch was 
added so I could compile Xen with the latest gnutls, getting finally both to 

After some time googling, I couldn't get virt-viewer working, it always 
reported some error related to libvirt not being able to connect to an URI. I 
decided to try libvirt's virsh command and check if it can see current DomUs, 
but instead it always complained with a "Failed to connect to the Hypervisor" 
error. Then I found that Arch Linux libvirt excludes Xen support, you have to 
build it yourself to make it work:


Warning: Xen support is available but not by default. You need to use the ABS 
to modify libvirt's PKGBUILD and build it without the --without-xen option.

After doing so and installing my custom libvirt, I also had to start libvirt as 
a systemd service (systemd start libvirtd.service). At that point virsh list 
worked, but always returned an empty list. virt-viewer was still not working. 
Then I found some info claiming that virt-viewer only worked for libvirt 
managed VMs, which mine weren't since virsh ignored them. So I gave up with 
virt-viewer as I would have had to digest lots of info to create DomUs in their 

I decided to try with another client, spicy. Simply using spicy popped up a 
window requesting Hostname and Port. localhost:6000 and voila, I finally had 
access to my SPICE enabled DomU. In the menu there is an option where it 
displays the current Dom0 USB devices and allows me to tick what I want to 
redirect. I managed to make both an Arch Linux and Windows XP x64 VMs to see an 
USB Pendrive (Windows also installed new Drivers for the USB Controller during 
the first SPICE enabled boot), so I can say it is working.

I later found this: 

While virt-viewer always was a no-go, I could use remote-viewer 
spice:///localhost:6000 and also works.

In resumen: You do NOT need to do all the libvirt related stuff which I did, 
nor virt-viewer which relies on it. As simple SPICE clients, remote-viewer and 
spicy works out of the box.

There are two things which I still have to test. I read that SPICE doesn't work 
with VGA Passthrough (Not sure if it will not connect, or it would connect but 
the viewer would display a black window since Windows disables the emulated 
VGA), so I don't know if I can include SPICE in my main gaming VM. I suspect 
that in order to use USB Redir, I would need to have a SPICE client connected 
just for ticking the devices I want redirected, while also SDL to focus on that 
window to pass input controls to the VM as I'm used to. The other is that I 
also hear that SPICE supports Audio. Since I do PCI Passthrough of my Sound 
Card to my gaming VM, I can't test right now. Does the only thing I have to do 
is enable the emulated Sound Card for the DomU, or also installing Drivers on 
DomUs (The SPICE Agent)?

Finally, I noticed that in xen-devel, some patches were included for qxl 
support, so maybe for Xen 4.6 it may be possible to replace Standard VGA with 
that one. Its looking good. It will be even better if they deliver the 3D 


>> Point is, after enabling SPICE and USB Redirection in the DomU config file, 
>> how I am supposed to tell Dom0 that it should redirect a specific port to a 
>> specific DomU? I can't find instructions about how to do that in Xen. Can I 
>> do it with commands or a config file, or I need to install SPICE-specific 
>> tools?
> Spice usb redirection is for redirect usb devices from spice client to
> domU's with spice connected, both must support it.
> Based on spice client is possible to specify what redirect or redirect
> all usb device automatically, best spice client software to use is
> virt-viewer.
> On domU's xl cfg you must add:
> spiceusbredirection=4
> Will automatically add qemu emulated usb 2 controller and 4 usb
> redirection channels (1 channel for each usb device to redirect).
> No special drivers is needed, any usb devices you'll redirect will be
> see by domU's S.O. same as phisical pc, working and tested on both linux
> and windows, tested standard/special usb mass drive, smartcard reader,
> dvd writer, scanner, printers, webcam, headphones ecc...
Xen-users mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.