spicevmc not supported in QEMU binary

Bug #962376 reported by Jim Salter on 2012-03-22
214
This bug affects 51 people
Affects Status Importance Assigned to Milestone
qemu-kvm-spice (Debian)
New
Undecided
Unassigned
qemu-kvm-spice (Ubuntu)
Undecided
Unassigned

Bug Description

Although I have installed all the Spice packages needed for KVM (in theory):

root@virt0:/usr/bin# dpkg --get-selections | grep spice
libspice-client-glib-2.0-1 install
libspice-client-gtk-2.0-1 install
libspice-server1 install
python-spice-client-gtk install
qemu-kvm-spice install
spice-client install
spice-client-gtk install

I still cannot start a guest with Spice channels added:

root@virt0:/usr/bin# virsh start dc0-test
error: Failed to start domain dc0-test
error: unsupported configuration: spicevmc not supported in this QEMU binary

I tried something incredibly hackish and just did mv /usr/bin/kvm /usr/bin/kvm.dist && ln -s /usr/bin/kvm-spice /usr/bin/kvm. This did in fact let the VM start, but when connecting to it using spicec -h localhost -p 5900, although the spice client DID connect, it never did anything but display a black screen. Worse yet, VNC connections to non-Spice-enabled hosts now ALSO only displayed a plain black screen!

What am I supposed to do in order to actually get Spice channels working properly?

Jim Salter (jrssnet) wrote :

Note: I put the original kvm binary back in its place; VNC connections to guests work properly again but (of course) still no Spice available.

Jim Salter (jrssnet) wrote :

Note: this is basically a dupe of #723796 as far as I can tell; sorry for the dupe but I don't think I can actually re-open that (erroneously!) closed bug.

xian (mchugh19) wrote :

I also get this error even after installing the qemu-kvm-spice package.

MikeB (mikeb-timetrex) wrote :

I had a similar problem (spicevmc not supported) but when trying to start the guest from libvirt. The cause was the libvirt .XML file where it specified the emulator to always be the non-spice executable, ie:

<emulator>/usr/bin/kvm</emulator>

Remove this line completely, or change it to:

<emulator>/usr/bin/kvm-spice</emulator>

That allowed to me use the spice protocol, although I get a blank black screen when using any video driver other than cirrus. :(

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in qemu-kvm-spice (Ubuntu):
status: New → Confirmed
Dave Vree (hdave) wrote :

I am getting this on an Ubuntu 12.04 host with Ubuntu 12.04 guest, but the work around in comment #4 is not working for me. I get the same error regardless:

"ibvirtError: unsupported configuration: spicevmc not supported in this QEMU binary"

any ideas are much appreciated...

Eduard Gotwig (gotwig) wrote :

Affects Ubuntu 12.10 as well.

summary: - "spicevmc not supported in QEMU binary" on Precise
+ spicevmc not supported in QEMU binary
fmo (fmo) wrote :
Jim Salter (jrssnet) wrote :

reprinting the dirty workaround linked by fmo:

sudo apt-get install qemu-kvm-spice
cd /usr/bin/
sudo rm kvm
sudo ln -s qemu-system-x86_64-spice kvm

Worked for me as well. NOTE: guests displayed black screen unless video set to cirrus - vga, qxl, etc did not work with Spice agent channels enabled.

Also note that you need to sudo apt-get install python-spice-client-gtk in order to get spice support working in virt-manager.

Jim Salter (jrssnet) wrote :

Also note: if you want to get qxl video and spice guest tools working in Windows guests, you've got a bunch more stuff to do. See my notes in https://bugs.launchpad.net/ubuntu/+source/seabios/+bug/958549 for details.

(Trying to leave enough breadcrumbs that anyone searching for these issues can find all the hacks necessary to get it working.)

DrJohn (jhinshaw) wrote :

Works for me, but... the KVM guest window hangs after shutting down the guest.

Ubuntu 12.04 host, VIrt-manager 0.9.1, Ubutnu 12.04 guest

Installed qemu-kvm-spice and changed link as in #10 above.
Installed python-spice-client-gtk
(restart Virt-manager)

Set the guest's Display to Spice (accept add channels)
Set the guests's Video to qxl (vga, vmvga show blank screens)

Qxl guest display remains blank through POST and system startup, then comes up at login screen.

Pushes the guest display to same size as host's native desktop; also enables clipboard between host / guest.

Upon guest shutdown the KVM guest window VM controls become unresponsive, but window is destroyed by File, Quit.

Guest window hang on shutdown does not occur with Cirrus Video.

kzn.netJ (kznj) wrote :

I use "spicevmc" with no problem now.
 Host:
  Ubuntu Server 12.04 LTS (added "Desktop" by tasksel)
 guest:
  Ubuntu Server 12.04 LTS
  Ubuntu Desktop 12.04 LTS
  UbuntuStutio 12.10

I use video "qxl" with no problem.

I've done 1 trick below.
- After installing "qemu-kvm-spice" package,
  I remake guestVMs that made before "qemu-kvm-spice" installed.
  (I didn't install again.
   I deleted guestVMs on virt-manager with keeping VM's storage files left.
   And I made configuration of guestVMs with VM's storage files left.)

After this trick,I recongnized
the emulator name of guest VM,"/usr/bin/kvm"
has changed to "/usr/bin/kvm-spice".
(We can see an emulator name in Hypervisor details of guestVM's overview.)

remark:
・With "spicevmc",GuestVMs work well with video cirrus or qxl.
 With others,GuestVMs diplay black screen.
・I can't close guestVM's window using "spicevmc" after VM's shutdown.
 "X"button doesn't let the window close.
 (I find the virt-manager's process ant kill it.)

I got it working by installing qemu-kvm-spice, python-spice-client-gtk and spice-client-gtk.
I actually rebuilt the VM, resulting in kvm-spice in the machine xml. I don't know if that was required, since it was the gtk clients that got it up and running.
I'm running Ubuntu 12.04.2 Server.

Jim Salter (jrssnet) wrote :

You don't need to rebuild the VM - a simple:

sed -i 's#bin/kvm#bin/kvm-spice#g' /etc/libvirt/qemu/*.xml

will do the trick, after which you need to stop all your guests and then redefine them with lines like this:

virsh define /etc/libvirt/qemu/foo.xml

... to redefine a guest named "foo", etc. Alternately, you could just reboot if you like.

Of course, you'll still have problems like vga video not working, needing to install spice guest tools in guests, etc. But that will fix the issue keeping the guest from starting at all.

Andrew Hull (ahull) wrote :

As alluded to above, for existing machines, you will need to change the emulator.

Rather than re-install, use virsh

Shut down theVM and fire up virsh from the command line.

At the Virsh # prompt, edit the VM in question

and change
    <emulator>/usr/bin/kvm</emulator>
to
    <emulator>/usr/bin/kvm-spice</emulator>

Dont forget to save the changes.

Restart the VM

Ryan Daly (daly-ctcnet) wrote :

I can confirm that I got the Spice display working as well. I did both of
1) Edit the XML file as in comment #15.
2) Remove and re-add the guest.

My only issue is that (so far) I can only see the guest's display when using the cirrus video model. Qxl only shows me a blank screen. As mentioned, cirrus works, but I can only get to a 1024x768 resolution (which is a bit small for my liking).

Are there any other methods for getting a better resolution working under Spice?

C'mon, Cannonical... It's 2014 and we can't use spice on Virtual Machine Manager on Ubuntu out of the box?!?! We shouldn't need to do all these bazillions workarounds to make it work.

Serge Hallyn (serge-hallyn) wrote :

spice works fine for me in trusty with no workarounds from virt-manager. kvm-spice is now just a symlink to kvm, so workaround in comment #15 is not needed any more.

Changed in qemu-kvm-spice (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers