RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 615757 - missing -device spicevmc, required by spice for guest agent
Summary: missing -device spicevmc, required by spice for guest agent
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: libvirt
Version: 6.0
Hardware: All
OS: Linux
low
urgent
Target Milestone: rc
: ---
Assignee: Daniel Berrangé
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-07-18 13:54 UTC by Alon Levy
Modified: 2014-08-04 22:08 UTC (History)
12 users (show)

Fixed In Version: libvirt-0_8_1-19_el6
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-11-11 14:48:44 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
Support spice agent device (8.19 KB, patch)
2010-07-22 15:09 UTC, Daniel Berrangé
no flags Details | Diff

Description Alon Levy 2010-07-18 13:54:58 UTC
Description of problem:

Spice switched from vdi_port pci device to a more standard virtio-serial based port device called spicevmc (hw/spice-vmc.c). It is still not a standard device (i.e. not in qemu-upstream or qemu-kvm upstream), but it is already in rhel-6 qemu-kvm and is now required with the newer vdagent to get proper mouse under WAN conditions, and automatic resolution change support.

To use it, a new parameter to -device is required, and creation of the virtio-serial bus (if not already created for some other virtio-serial port like virtio-console), which can be accomplished with the following flags to qemu:

-device virtio-serial -device spicevmc

Additionally, we may want to pin the port number, so a nr=X parameter (X=0 for instance) is also required:

-device spicevmc,nr=0

Comment 2 RHEL Program Management 2010-07-18 14:17:31 UTC
This issue has been proposed when we are only considering blocker
issues in the current Red Hat Enterprise Linux release. It has
been denied for the current Red Hat Enterprise Linux release.

** If you would still like this issue considered for the current
release, ask your support representative to file as a blocker on
your behalf. Otherwise ask that it be considered for the next
Red Hat Enterprise Linux release. **

Comment 3 Daniel Berrangé 2010-07-20 11:28:16 UTC
There are a couple of options for representing this in libvirt

1. Pretend this is a new type of chardev backend

    <channel type='spicevmc'>
      <target type='virtio' name='com.redhat.com.spice.0'/>
    </channel>


2. Pretend this is a 'null' chardev backend, and detect solely based on name

    <channel type='null'>
      <target type='virtio' name='com.redhat.com.spice.0'/>
    </channel>

3. Invent a new type of channel and use null chardev backend still

    <channel type='null'>
      <target type='spicevmc'/>
    </channel>

I'm leaning towards option 2 currently.

Comment 4 Amit Shah 2010-07-20 11:32:47 UTC
Option 2 above would start a -device virtserialport,name=com.redhat.spice.0, right? That won't work.

I think -device spicevmc,name=foo,nr=NN is needed, so it more closely matches option 3 above.

Comment 5 Daniel Berrangé 2010-07-20 11:36:15 UTC
Don't worry about what it maps to at the command line. All these options will require special hacks in libvirt, so that they map to the same command line Alan shows in the initial description. I'm more concerned about which description is most extendable/flexible at the XML level to cope with any extra features related to spicevmc in future.

Comment 7 Daniel Berrangé 2010-07-22 15:08:25 UTC
This patch in fact implements option 1. An example usage is

         <channel type='spicevmc'>
           <target type='virtio' name='com.redhat.spice.0'/>
           <address type='virtio-serial' controller='1' bus='0' port='3'/>
         </channel>
    
'name' *must* equal 'com.redhat.spice.0' for now. We include this to allow for future expansion when/if spice needs multiple channels. Address can be omitted & will be auto-filled, unless an explicit virtio serial port number is required.

Comment 8 Daniel Berrangé 2010-07-22 15:09:13 UTC
Created attachment 433727 [details]
Support spice agent device

Comment 9 Dave Allan 2010-07-27 23:19:30 UTC
libvirt-0_8_1-19_el6 has been built in RHEL-6-candidate with the fix.

Dave

Comment 11 yanbing du 2010-08-20 06:41:07 UTC
#virsh edit rhel6-x86_64
Add the feature as following:
         <channel type='spicevmc'>
           <target type='virtio' name='com.redhat.spice.0'/>
         </channel>
#virsh start rhel6-x86_64

Log in the guest, and run:
#lspci
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
00:01.2 USB Controller: Intel Corporation 82371SB PIIX3 USB [Natoma/Triton II] (rev 01)
00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)
00:02.0 VGA compatible controller: Cirrus Logic GD 5446
00:03.0 Ethernet controller: Qumranet, Inc. Virtio network device
00:04.0 Multimedia audio controller: Intel Corporation 82801AA AC'97 Audio Controller (rev 01)
00:05.0 SCSI storage controller: Qumranet, Inc. Virtio block device
00:06.0 RAM memory: Qumranet, Inc. Virtio memory balloon
00:07.0 Communication controller: Qumranet, Inc. Virtio console

the output has the new device "Communication controller"
Status move to VERIFIED.

Comment 12 releng-rhel@redhat.com 2010-11-11 14:48:44 UTC
Red Hat Enterprise Linux 6.0 is now available and should resolve
the problem described in this bug report. This report is therefore being closed
with a resolution of CURRENTRELEASE. You may reopen this bug report if the
solution does not work for you.


Note You need to log in before you can comment on or make changes to this bug.