Bug 1005037

Summary: When using “-vga qxl” together with “-display vnc=:5” or “-display sdl” qemu displays pixel garbage
Product: Red Hat Enterprise Linux 6 Reporter: Gerd Hoffmann <kraxel>
Component: qemu-kvmAssignee: Gerd Hoffmann <kraxel>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.5CC: amit.shah, areis, berrange, bsarathy, cfergeau, chayang, dblechte, dwmw2, itamar, jan.kratochvil, juzhang, kraxel, mazhang, mfabian, michen, mkenneth, pbonzini, qzhang, rbalakri, rjones, scottt.tw, tlavigne, virt-maint
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qemu-kvm-0.12.1.2-2.419.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 948717 Environment:
Last Closed: 2014-10-14 06:50:35 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:
Bug Depends On: 948717    
Bug Blocks: 1005036    
Attachments:
Description Flags
pixel garbage
none
snapshot of guest
none
screenshot none

Description Gerd Hoffmann 2013-09-06 05:21:38 UTC
+++ This bug was initially created as a clone of Bug #948717 +++

qemu-1.4.0-11.fc18.x86_64 from  https://fedoraproject.org/wiki/Virtualization_Preview_Repository

kernel-3.8.3-203.fc18.x86_64

qemu command line:

ionice -c 3 qemu-kvm -enable-kvm -m 2048M -smp 1 -drive file=./Fedora-19-Alpha-TC4-x86_64-netinst-test.iso.qcow2,index=0,media=disk,cache=unsafe -localtime -serial file:/tmp/qemu-Fedora-19-Alpha-TC4-x86_64-netinst-test.iso.qcow2-output.log -name Fedora-19-Alpha-TC4-x86_64-netinst-test.iso.qcow2 -cdrom /local/mfabian/iso/Fedora-19-Alpha-TC4/Fedora-19-Alpha-TC4-x86_64-netinst.iso -boot c -vga qxl -display vnc=:5 -net nic -net user,hostname=Fedora-19-Alpha-TC4-x86_64-netinst-test.iso.qcow2,hostfwd=tcp::5562-:22 -monitor stdio -usb

The above commandline has “-display vnc=:5”, the problem occurs
with “-display sdl” as well though.

The result is pixel garbage, see attached  screen shot.

When using “-vga std” or  “-vga cirrus” instead  of “-vga qxl” it works
fine, no pixel garbage.

--- Additional comment from Cole Robinson on 2013-04-14 21:55:06 CEST ---

I can reproduce with upstream. Grab F19 boot.iso here:

https://dl.fedoraproject.org/pub/alt/stage/19-Alpha-TC6/Fedora/x86_64/os/images/boot.iso

And run:

./x86_64-softmmu/qemu-system-x86_64 -enable-kvm -vga qxl -display sdl -cdrom ~/boot.iso -m 2048

Doing -device qxl works fine though. I also tried an F16 live cd I had hanging around and that worked fine, so maybe it's an F19 driver issue.

Alon, Gerd, thoughts?

--- Additional comment from Cole Robinson on 2013-05-28 01:01:01 CEST ---

Ping, any spice folks want to weigh in on this? Granted qxl->vnc shouldn't be a common setup, but people tend to try it out if hitting graphical issues and wanting to eliminate spice from the equation (for better or worse).

--- Additional comment from Steve Tyler on 2013-07-31 15:33:52 CEST ---

Confirming severe display corruption with the "-vga qxl" option.
With the "-vga std" option, there is no corruption.

By blindly clicking in the upper right corner, pressing the down-arrow four times, and pressing Enter twice, it is possible to power off the VM, if the corrupt display shows parts of the Welcome dialog.

Steps to reproduce:
$ qemu-kvm -m 4096 -cdrom ~/xfr/fedora/F19/Fedora-Live-Desktop-x86_64-19-1.iso -vga qxl

Version:
qemu-1.4.2-4.fc19.x86_64
kernel 3.10.3-300.fc19.x86_64

--- Additional comment from Jan Kratochvil on 2013-08-19 20:36:29 CEST ---

qemu-system-x86-1.4.2-5.fc19.x86_64
tigervnc-1.3.0-3.fc19.x86_64
/usr/bin/qemu-kvm -m 2048 -cdrom Fedora-19-x86_64-DVD.iso -boot d -vnc :10 -vga qxl

--- Additional comment from Mike FABIAN on 2013-08-31 08:07:40 CEST ---

The problem still exists with Fedora-20-Alpha-TC2-x86_64-netinst.iso
and qemu-1.6.0-5.fc19.x86_64

Comment 2 Gerd Hoffmann 2013-09-12 09:19:02 UTC
patches posted.

Comment 3 zhonglinzhang 2013-09-13 09:36:19 UTC
Can not reproduce this issue:

First:
host kernel: 2.6.32-417.el6.x86_64
qemu-kvm-0.12.1.2-2.400.el6.x86_64

Command line as follows:
ionice -c 3 /usr/libexec/qemu-kvm -M pc -nodefaults  -cpu SandyBridge -enable-kvm -m 4G -smp 2,sockets=1,cores=2,threads=1  -name test -rtc base=localtime,clock=host,driftfix=slew  -k en-us  -boot menu=on  -vga qxl -vnc :5 -monitor stdio ...

Second:
host kernel: 3.9.9-201.fc18.x86_64
qemu-kvm-1.2.2-13.fc18.x86_64

Command line as follows:
ionice -c 3 qemu-kvm -enable-kvm -m 2048M -smp 1 -drive file=RHEL_65_64.qcow2,media=disk,cache=unsafe  -localtime -boot c -vga qxl  -display sdl -monitor stdio

Actual Results:
Only show pixel garbage before login screen, but very fast passed. the same result with “-vga std” or “-vga cirrus”.

Comment 4 Gerd Hoffmann 2013-09-13 10:56:18 UTC
Re #3: RHEL-6 doesn't trigger it, try RHEL-7 or Fedora-19 as guest.

Comment 6 zhonglinzhang 2013-09-16 02:25:28 UTC
Created attachment 798084 [details]
pixel garbage

Comment 7 zhonglinzhang 2013-09-16 02:28:17 UTC
Reproduce with host kernel 2.6.32-417.el6.x86_64
guest rhel7.0

The result is pixel garbage, see attached "attachment 798084 [details]"

Comment 11 mazhang 2014-06-20 07:13:19 UTC
Reproduce this bug on qemu-kvm-0.12.1.2-2.402.el6.x86_64.

Host:
qemu-kvm-0.12.1.2-2.402.el6.x86_64
kernel-2.6.32-477.el6.x86_64

Guest:
RHEL7-64
kernel-3.10.0-121.el7.x86_64

Cli:
/usr/libexec/qemu-kvm \
-M pc \
-cpu SandyBridge \
-m 4G \
-smp 4,sockets=2,cores=2,threads=1,maxcpus=160 \
-enable-kvm \
-name rhel6.6 \
-uuid 990ea161-6b67-47b2-b803-19fb01d30d12 \
-smbios type=1,manufacturer='Red Hat',product='RHEV Hypervisor',version=el6,serial=koTUXQrb,uuid=feebc8fd-f8b0-4e75-abc3-e63fcdb67170 \
-k en-us \
-rtc base=localtime,clock=host,driftfix=slew \
-nodefaults \
-monitor stdio \
-qmp tcp:0:6666,server,nowait \
-boot menu=on,strict=on \
-bios /usr/share/seabios/bios.bin \
-chardev socket,id=seabios,path=/tmp/seabios,server,nowait \
-device isa-debugcon,chardev=seabios,iobase=0x402 \
-monitor unix:/tmp/guest-sock,server,nowait \
-vga qxl \
-vnc :0 \
-drive file=/home/rhel7-64.qcow2,if=none,id=drive-virtio-disk0,format=qcow2,cache=none,werror=stop,rerror=stop,aio=threads \
-device virtio-blk-pci,scsi=off,bus=pci.0,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \

Result:
Display pixel garbage.

Comment 12 mazhang 2014-06-20 07:14:08 UTC
Created attachment 910666 [details]
snapshot of guest

Comment 13 mazhang 2014-06-20 07:44:44 UTC
Test this bug on qemu-kvm-0.12.1.2-2.428.el6.x86_64, Guest hang during boot, and display black, will attach the screenshot.

Comment 14 mazhang 2014-06-20 07:45:25 UTC
Created attachment 910670 [details]
screenshot

Comment 15 mazhang 2014-06-20 07:59:06 UTC
Hi Gerd,

1. Try reproduce this bug with "qxl+vnc" as bug 948717#c2 and 948717#c4 mentioned, since "-display" option has been removed from qemu-kvm, Please help check comment#11 and comment#13, if any problem please correct me.

2. Does qxl+vnc support officially, we need test this scenario in rhel6.6?

Thanks,
Mazhang.

Comment 16 Gerd Hoffmann 2014-06-20 08:31:59 UTC
Screenshot shows two text console lines.  No pixel garbage -> bug is fixed.

Guest not booting is most likely a separate (guest) bug.
Does that happen with vnc only or is spice affected too?

Comment 17 mazhang 2014-06-20 08:42:46 UTC
Just have a try, spice+qxl works well.

Comment 18 mazhang 2014-06-23 06:41:10 UTC
1. According to comment#11 comment#13 and comment#16 setting this bug to verified.
2. File a new bug 1112078 against guest desktop booting fails.

Comment 19 errata-xmlrpc 2014-10-14 06:50:35 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.

http://rhn.redhat.com/errata/RHBA-2014-1490.html