Bug 979898

Summary: [qemu-kvm]The win2k3-32 guest display is abnormal when using -vga cirrus
Product: Red Hat Enterprise Linux 7 Reporter: guo jiang <jguo>
Component: seabiosAssignee: Yvugenfi <yvugenfi>
Status: CLOSED CURRENTRELEASE QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: high    
Version: 7.0CC: acathrow, bcao, hhuang, juzhang, kzhang, mazhang, mdeng, michen, mmishael, mrezanin, svenkatr, virt-maint, xfu, xuhan
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: seabios-1.7.2.2-8.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-06-13 09:30:06 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
screen-shot none

Description guo jiang 2013-07-01 06:22:50 UTC
Description of problem:
Boot win2k3 with -vga cirrus, the display is abnormal. 

Version-Release number of selected component (if applicable):
    * Red Hat Enterprise Linux Server release 7.0 Beta(Maipo)
    * kernel-3.10.0-0.rc7.64.el7.x86_64   
    * qemu-img-1.5.0-2.el7.x86_64
    * virtio-win-prewhql-0.1-65
    * spice-server-0.12.3-1.el7.x86_64
    * seabios-1.7.2-2.el7.x86_64
    * vgabios-0.6b-3.7.el6.noarch

How reproducible:
100%

Steps to Reproduce:
1.Boot guest with CLI
  /usr/libexec/qemu-kvm -drive file=win2k3-32.qcow2,if=none,cache=unsafe,media=disk,format=qcow2,id=drive-ide0-0-1 -device ide-drive,id=ide1,drive=drive-ide0-0-1,bus=ide.1 -device virtio-balloon-pci,id=balloon1 -monitor stdio -vnc :2 -vga cirrus -usb -device usb-tablet,id=tablet1 -boot menu=on -global kvm-pit.lost_tick_policy=discard -chardev file,path=/root/console.log,id=serial1 -device isa-serial,chardev=serial1,id=s1 -cpu SandyBridge -M pc -smp 4,cores=4 -m 2G -enable-kvm -netdev tap,id=hostnet0,script=/etc/qemu-ifup -device e1000,netdev=hostnet0,mac=00:51:3c:24:31:11,id=net0

2.
3.

Actual results:
display abnormal

Expected results:
display normal

Additional info:
If use -vga std guest display normal.

Comment 1 guo jiang 2013-07-01 06:25:08 UTC
Created attachment 767247 [details]
screen-shot

Comment 5 Miki Mishael 2014-01-07 14:39:55 UTC
The problem is in seabios/vgabios.
There was a bug fixed by commit in upstream:

commit b7b92935df0e309149c042d587e4764548f10608
Author: Kevin O'Connor <kevin>
Date:   Sat Mar 9 13:04:47 2013 -0500

    vgabios: Fix cirrus memory clear on mode switch.

    The cirrus_clear_vram() code wasn't actually doing anything because of
    a u8 overflow.  Fix that.

    Fill with 0xff when performing a legacy cirrus mode switch (WinXP has
    been observed to incorrectly render dialog boxes if the memory is
    filled to 0).  This was the behavior of the original LGPL vgabios
    code.  To support this, add mechanism (MF_LEGACY) to allow vga drivers
    to detect if the mode switch is from vesa or int10.

    Signed-off-by: Kevin O'Connor <kevin>

I'm sending a back-port to corresponding repository.

Comment 7 Miroslav Rezanina 2014-01-13 09:33:09 UTC
Fix included in seabios-1.7.2.2-8.el7

Comment 9 Xu Han 2014-01-17 02:46:22 UTC
*** Bug 1018744 has been marked as a duplicate of this bug. ***

Comment 10 Xu Han 2014-01-17 02:54:58 UTC
As the test result in bug 1018744 comment 9, this bug has been fixed.

Comment 12 Mike Cao 2014-01-22 09:44:56 UTC
*** Bug 1044804 has been marked as a duplicate of this bug. ***

Comment 13 Ludek Smid 2014-06-13 09:30:06 UTC
This request was resolved in Red Hat Enterprise Linux 7.0.

Contact your manager or support representative in case you have further questions about the request.