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 1295907 - [RFE] add virtio-gpu and virtio-vga support
Summary: [RFE] add virtio-gpu and virtio-vga support
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm-rhev
Version: 7.2
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Gerd Hoffmann
QA Contact: Guo, Zhiyi
URL:
Whiteboard:
Depends On:
Blocks: 1195176 1326589
TreeView+ depends on / blocked
 
Reported: 2016-01-05 18:33 UTC by Ademar Reis
Modified: 2016-11-07 21:46 UTC (History)
18 users (show)

Fixed In Version: qemu-2.5
Doc Type: Enhancement
Doc Text:
Clone Of: 1195176
Environment:
Last Closed: 2016-11-07 21:46:40 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2016:2673 0 normal SHIPPED_LIVE qemu-kvm-rhev bug fix and enhancement update 2016-11-08 01:06:13 UTC

Description Ademar Reis 2016-01-05 18:33:30 UTC
For completeness, cloning this BZ for qemu-kvm-rhev.

+++ This bug was initially created as a clone of Bug #1195176 +++

Description of problem:

qemu will get support for a family of virtio-based display devices.
libvirt should support these devices.

Opening this bug as early heads-up, will add comments in merge process.

--- Additional comment from Gerd Hoffmann on 2015-02-23 07:35:14 BRT ---

Patch series posted upstream as RfC:
https://lists.gnu.org/archive/html/qemu-devel/2015-02/msg04342.html

--- Additional comment from Jaroslav Suchanek on 2015-03-25 11:50:40 BRT ---

(In reply to Gerd Hoffmann from comment #0)
> Description of problem:
> 
> qemu will get support for a family of virtio-based display devices.
> libvirt should support these devices.
> 
> Opening this bug as early heads-up, will add comments in merge process.

Gerd, is there a qemu bz which can be set as blocker for this? Is it planned for RHEL 7.2?

--- Additional comment from Gerd Hoffmann on 2015-03-25 12:27:05 BRT ---

Qemu patches will probably be merged upstream for 2.4,
so more a 7.3 than a 7.2 target, updated flags.

Guest update: submitted driver for review.

--- Additional comment from Gerd Hoffmann on 2015-06-12 04:57:59 BRT ---

Partly (virtio-gpu-device) merged upstream now.

Remaining bits (virtio-gpu-pci, virtio-vga) are expected to be merged for 2.4 too.

--- Additional comment from Gerd Hoffmann on 2015-06-12 04:58:53 BRT ---

Oh, and btw: The guest driver (linux kernel) is in -next and will probably merged in 4.2

--- Additional comment from Gerd Hoffmann on 2015-06-17 11:31:55 BRT ---

> Remaining bits (virtio-gpu-pci, virtio-vga) are expected to be merged for
> 2.4 too.

Landed in qemu master branch now.

--- Additional comment from Marc-Andre Lureau on 2015-11-24 11:09:04 BRST ---

sent a rfc series: https://www.redhat.com/archives/libvir-list/2015-November/msg00844.html

--- Additional comment from Michal Privoznik on 2015-11-27 13:53:28 BRST ---

Patches pushed upstream:

commit 06198b9c73ff07d70560c4d72f3d73f00e1ef9fa
Author:     Marc-André Lureau <marcandre.lureau>
AuthorDate: Wed Nov 25 09:42:33 2015 +0100
Commit:     Michal Privoznik <mprivozn>
CommitDate: Fri Nov 27 16:48:53 2015 +0100

    qemu: add virtio-gpu virgl support
    
    Check if virtio-gpu provides virgl option, and add qemu command line
    formatter.
    
    It is enabled with the existing accel3d attribute:
    <model type='virtio' heads='1'>
     <acceleration accel3d='yes'/>
    </model>
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau>
    Signed-off-by: Michal Privoznik <mprivozn>

commit 21373feb4eeb1d447ccbc9a10d28f3927f650c09
Author:     Marc-André Lureau <marcandre.lureau>
AuthorDate: Wed Nov 25 09:42:32 2015 +0100
Commit:     Michal Privoznik <mprivozn>
CommitDate: Fri Nov 27 16:48:53 2015 +0100

    qemu: add virtio video device
    
    qemu 2.5 provides virtio video device.  It can be used with -device
    virtio-vga for primary devices, or -device virtio-gpu for non-vga
    devices. However, only the primary device (VGA) is supported with this
    patch.
    
    Reference:
    https://bugzilla.redhat.com/show_bug.cgi?id=1195176
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau>
    Signed-off-by: Michal Privoznik <mprivozn>

commit 806ae4993320804b82a6ec1da5237625cc081ad6
Author:     Marc-André Lureau <marcandre.lureau>
AuthorDate: Wed Nov 25 09:42:31 2015 +0100
Commit:     Michal Privoznik <mprivozn>
CommitDate: Fri Nov 27 16:48:53 2015 +0100

    domain: replace bool accel{2d, 3d} with a tristate
    
    Allowing to have the extra undefined/default state.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau>
    Signed-off-by: Michal Privoznik <mprivozn>

commit 56a4fe2818beffee0b32e88d61aab39c23a90c24
Author:     Marc-André Lureau <marcandre.lureau>
AuthorDate: Wed Nov 25 09:42:30 2015 +0100
Commit:     Michal Privoznik <mprivozn>
CommitDate: Fri Nov 27 16:48:53 2015 +0100

    Replace support{2d,3d} with accel{2d,3d}
    
    Following the domain XML naming
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau>


v1.2.21-168-g06198b9

Comment 2 Guo, Zhiyi 2016-05-18 09:50:55 UTC
Hi Gerd,

I'm trying to verify this bug from qemu side, because of there is no rhel7.3 downstream kernel package available now, I'm testing the basic functions of virtio-vga/virtio-gpu-pci without active guest. I'll run a full virtual desktop test again these gpu devices once downstream kernel available.Do you agree with this verify method?
Below is my test scenarios and test results:
Qemu package use to verify: qemu-kvm-rhev-2.6.0-1.el7.x86_64
lat
1. 
scenario:
verify qemu support new display devices: virtio-vga/virtio-gpu-pci.

result:
All devices can be queried from -device help
#/usr/libexec/qemu-kvm -deivce help
Display devices:
name "virtio-gpu-pci", bus PCI, alias "virtio-gpu"
name "virtio-vga", bus PCI


2.
scenario:
Query properties of virtio-vga/virtio-gpu-pci from qemu-kvm help and qtree from qemu hmp

result: 
Lack of two options than upstream from qemu-kvm help and qtree info, rest of properties are same as upstream:
options lacked from qemu-kvm help
virtio-vga.stats=bool (on/off)
virtio-vga.virgl=bool (on/off)
options lacked from qtree info:
virgl = false
stats = false


3.
scenario:
Verify -device virtio-vga or -vga virtio is primary vga device when only one vga device specify

result:
Launch qemu with option -vga virtio or -device virtio-vga and info qtree from monitor. 
No crash occur and only virtio-vga device present as vga device


4.
scenario:
Verify -device virtio-vga and -device virtio-gpu-pci works with other vga device like qxl and stdvga and also works on all machine type

result:
Launch qemu with option -vga qxl/std and option -device virtio-vga/virtio-gpu-pci and -machine all_machine_type
No crash occur and both devices present in qtree, each vga device will get a display when using option -spice and connect with remote-viewer


5.
scenario:
Verify migration forbidden when virtio vga devices present

result:
Launch qemu with virtio-vga/virtio-gpu-pci and do migration, migration cannot start and message prompt:State blocked by non-migratable device '0000:00:04.0/virtio-gpu'


6.
scenario:
Verify vnc/spice connection to virtio-vga/virtio-gpu-pci device.

result:
Both vnc and spice can display when attaching virtio-vga as primary vga device
Only spice has display when attaching virtio-vga/virtio-gpu-pci as secondary device, vnc cannot init secondary display. 

Please help to confirm the scenarios and results and whether these test can verify this bug, thanks

I suppose only commit 21373feb4eeb1d447ccbc9a10d28f3927f650c09 realted with qemu and others is tracking issues from libvirt side. Is this true? If yes, bugs from libvirt side may be verified by libvirt team.

Guo, Zhiyi

Comment 3 Gerd Hoffmann 2016-05-18 11:54:53 UTC
(In reply to Guo, Zhiyi from comment #2)
> Hi Gerd,
> 
> I'm trying to verify this bug from qemu side, because of there is no rhel7.3
> downstream kernel package available now, I'm testing the basic functions of
> virtio-vga/virtio-gpu-pci without active guest. I'll run a full virtual
> desktop test again these gpu devices once downstream kernel available.Do you
> agree with this verify method?

For the time being you can try fedora.
The F23 live iso comes with virtio-gpu guest drivers.

Comment 4 Guo, Zhiyi 2016-05-19 10:10:31 UTC
Hi Gerd,

I'm trying to use fedora 23 guest to verify basic virtio-vga/gpu functions.
Below is my test scenarios and test results:
1. 
scenario:
Boot fedora 23 guest with primary vga device virtio vga and verify cursor,system layout,keyboard display normally.Shutdown, reboot guest.
result:
cursor,system layout keyboard display well, virtio vga device can be found from lspci -vvn. No crash happen during guest shutdown, reboot.

2.
scenario:
Boot fedora 23 guest with primary vga device virtio vga and second gpu device virtio-gpu-pci, verify cursor,system layout,keyboard display normally at both virtio-vga display and virtio-gpu-pci display.Shutdown, reboot guest.
result:
Guest only stay in login screen ui interface after input password, virtio-gpu-pci display has no output. virtio-vga display will scale up than boot with virtio-vga only. Shutdown button from ui interface also not work. Shutdown, reboot from console is ok, no crash happen.

3.
scenario:
Boot fedora 23 guest with other primary qxl/std device and second gpu device virtio-gpu-pci/virtio-vga, verify cursor,system layout,keyboard display normally at both primary display and virtio-gpu-pci/virtio-vga display.Shutdown, reboot guest.
result:
Screen output will 1st show in virtio-vga/virtio-gpu-pci display and transfer to qxl/std display after a while, then "Waiting for display 2..." will show on virtio-vga/virtio-gpu-pci display. Guest can login to system ui interface, but virtio-gpu-pci/virtio-vga display only display text "waiting for display 2..." after login.Shutdown, reboot from ui interface is ok, no crash happen.

Please help to confirm the scenarios and results and whether these test can verify this bug. Thanks

Comment 5 Guo, Zhiyi 2016-09-08 10:17:46 UTC
Hi Gerd,
   
   QE has finished two virtual desktop test runs against virtio-vga and virtio-gpu, one for rhel7.3 guest and one for latest windows 10 x64 guest. 

No regression issues found and basic functions of devices works great during test execution, some bugs listed here but qe think they should not block the feature's verification:

1. Bug 1374237 - Multi monitors of virtio-vga works abnormally on rhel7.3 guest
2. Bug 1368032 - kernel crash after hot remove virtio-gpu device
3. Bug 1368040 - Qemu-kvm coredump in repeating hotplug/  hot remove virtio-gpu device

The link of test runs:
https://polarion.engineering.redhat.com/polarion/#/project/RedHatEnterpriseLinux7/testrun?id=virtkvmqe-x86-virtual-desktop-virtio-vga-qemu-kvm-rhev-2-6-0-22-windows-10-x86-64
https://polarion.engineering.redhat.com/polarion/#/project/RedHatEnterpriseLinux7/testrun?id=virtkvmqe-x86-virtual-desktop-virtio-vga-qemu-kvm-rhev-2-6-0-22-rhel-7-3-x86-64

Could you confirm whether we can verify this bug? And we also have a bug Bug 1333306 - RFE: Enable virtio-gpu-device, does this can be verified with above test results too?

Comment 6 Gerd Hoffmann 2016-09-08 11:02:46 UTC
> No regression issues found and basic functions of devices works great during
> test execution, some bugs listed here

Great.

> but qe think they should not block the
> feature's verification:

Agree, they are not blockers.

> 1. Bug 1374237 - Multi monitors of virtio-vga works abnormally on rhel7.3
> guest
> 2. Bug 1368032 - kernel crash after hot remove virtio-gpu device
> 3. Bug 1368040 - Qemu-kvm coredump in repeating hotplug/  hot remove
> virtio-gpu device

fyi: virtio-gpu isn't hotpluggable (like all other display adapters), so the fix for 2+3 will be to simply tag the device correctly so qemu will refuse to hotplug it.

> Could you confirm whether we can verify this bug?

Yes, can be verified.

> And we also have a bug Bug
> 1333306 - RFE: Enable virtio-gpu-device, does this can be verified with
> above test results too?

Looking ..., yes, funsamentally the same thing, can be verified too.

Comment 7 Guo, Zhiyi 2016-09-08 11:31:29 UTC
Move to verified per comment 6

Comment 9 errata-xmlrpc 2016-11-07 21:46:40 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2016-2673.html


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