Bug 1040876

Summary: rhel7-64 guest with cirrus vga display abnormal
Product: Red Hat Enterprise Linux 7 Reporter: mazhang <mazhang>
Component: xorg-x11-drv-modesettingAssignee: Dave Airlie <airlied>
Status: CLOSED CURRENTRELEASE QA Contact: Desktop QE <desktop-qa-list>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.0CC: acathrow, airlied, dkutalek, hhuang, juzhang, kraxel, mazhang, mcepl, michen, mtomich, qzhang, vbenes, virt-maint
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-06-13 12:16:16 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:
Attachments:
Description Flags
guest screen snapshot
none
attached remote viewer debug log none

Description mazhang 2013-12-12 09:18:51 UTC
Created attachment 835695 [details]
guest screen snapshot

Description of problem:
rhel7-64 guest display abnormal with cirrus vga

Version-Release number of selected component (if applicable):

Host:
qemu-kvm-rhev-1.5.3-21.el7.x86_64
kernel-3.10.0-57.el7.x86_64

Gust:
rhel7-64

How reproducible:
always

Steps to Reproduce:
1.Start qemu-kvm with following cli:
/usr/libexec/qemu-kvm \
-M pc \
-cpu SandyBridge \
-m 2G \
-smp 4,sockets=2,cores=2,threads=1,maxcpus=16 \
-enable-kvm \
-name win8-32 \
-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 \
-bios /usr/share/seabios/bios.bin \
-drive file=/home/rhel7-64.qcow2,if=none,id=drive-data-disk,format=qcow2,cache=none,aio=native,werror=stop,rerror=stop \
-device virtio-blk-pci,bus=pci.0,addr=0x7,scsi=off,drive=drive-data-disk,id=data-disk \
-vga cirrus \
-vnc :0 \
-device virtio-balloon-pci,bus=pci.0,id=balloon0 \
-netdev tap,id=hostnet0,script=/etc/ovs-ifup,downscript=/etc/ovs-ifdown \
-device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:01:01:ef \

2.
3.

Actual results:
Guest display abnormal(screen snapshot attached), remote-viewer will disconnected when login guest.

Expected results:
Display normal, remote-viewer connection stable.

Additional info:
With "-vga std" not hit this problem.

Comment 1 mazhang 2013-12-12 09:20:59 UTC
Created attachment 835696 [details]
attached remote viewer debug log

Comment 3 Gerd Hoffmann 2013-12-16 14:40:49 UTC
Guest bug, looks like Xorg has trouble with the 24bpp framebuffer provided by the cirrus kms driver.  Assigning to modesetting driver for investigation.

Comment 4 Gerd Hoffmann 2014-01-15 15:52:54 UTC
Oops, forgot to reassign.

Comment 5 Dave Airlie 2014-01-16 05:46:11 UTC
is this still a problem in RHEL7 and reproducable?

Comment 6 mazhang 2014-01-16 06:30:42 UTC
Just test with qemu-kvm-1.5.3-36.el7.x86_64, still have this problem.

Host:
qemu-kvm-1.5.3-36.el7.x86_64
kernel-3.10.0-71.el7.x86_64

Guest:
kernel-3.10.0-64.el7.x86_64
[root@unused ~]# rpm -qa |grep -i xorg
xorg-x11-server-common-1.14.99.901-5.20131101.el7.x86_64
xorg-x11-drv-vesa-2.3.2-12.el7.x86_64
xorg-x11-drv-wacom-0.23.0-3.el7.x86_64
xorg-x11-drv-v4l-0.2.0-33.el7.x86_64
xorg-x11-drv-fbdev-0.4.3-12.el7.x86_64
abrt-addon-xorg-2.1.7-7.el7.x86_64
xorg-x11-xkb-utils-7.7-8.el7.x86_64
xorg-x11-drv-evdev-2.8.2-3.el7.x86_64
xorg-x11-drv-synaptics-1.7.1-7.el7.x86_64
xorg-x11-drv-modesetting-0.8.0-6.el7.x86_64
xorg-x11-drv-nouveau-1.0.10-3.el7.x86_64
xorg-x11-drv-intel-2.21.15-9.el7.x86_64
xorg-x11-server-utils-7.7-2.el7.x86_64
xorg-x11-drivers-7.7-5.el7.x86_64
xorg-x11-drv-vmware-13.0.1-5.el7.x86_64
xorg-x11-drv-void-1.4.0-21.el7.x86_64
xorg-x11-glamor-0.5.1-3.20131023git16c86bd.el7.x86_64
xorg-x11-drv-vmmouse-13.0.0-8.el7.x86_64
xorg-x11-xauth-1.0.7-3.el7.x86_64
xorg-x11-utils-7.5-9.el7.x86_64
xorg-x11-drv-qxl-0.1.1-5.el7.x86_64
xorg-x11-drv-ati-7.2.0-6.20131023gitf1dc677.el7.x86_64
xorg-x11-xinit-1.3.2-8.el7.x86_64
xorg-x11-fonts-Type1-7.5-8.el7.noarch
xorg-x11-server-Xorg-1.14.99.901-5.20131101.el7.x86_64
xorg-x11-drv-dummy-0.3.6-13.el7.x86_64
xorg-x11-font-utils-7.5-17.el7.x86_64

Comment 7 Dave Airlie 2014-01-20 01:06:28 UTC
this is actually a bug in the upper layers somewhere, 24bpp in gnome/mutter or mesa sucks, 

I think we can just workaround it in -modesetting for now

so ack.

Comment 8 Dave Airlie 2014-01-20 06:52:26 UTC
http://download.eng.bos.redhat.com/brewroot/scratch/airlied/task_6895500/

I've put a scratch build here that might fix this, if you have a chance to test it I'd appreciate it.

Comment 9 mazhang 2014-01-20 07:12:14 UTC
(In reply to Dave Airlie from comment #8)
> http://download.eng.bos.redhat.com/brewroot/scratch/airlied/task_6895500/
> 
> I've put a scratch build here that might fix this, if you have a chance to
> test it I'd appreciate it.

Get it, I'll test this bug asap.

Mazhang,
Thanks.

Comment 10 Dave Airlie 2014-01-23 01:52:38 UTC
*** Bug 927303 has been marked as a duplicate of this bug. ***

Comment 11 mazhang 2014-01-23 02:48:53 UTC
(In reply to Dave Airlie from comment #8)
> http://download.eng.bos.redhat.com/brewroot/scratch/airlied/task_6895500/
> 
> I've put a scratch build here that might fix this, if you have a chance to
> test it I'd appreciate it.

The problem has gone after upgrade this package.

Guest:
RHEL-7.0-20131220.n.0
xorg-x11-drv-modesetting-0.8.0-9.el7.da.x86_64
xorg-x11-server-utils-7.7-3.el7.x86_64
xorg-x11-server-common-1.15.0-2.el7.x86_64
xorg-x11-server-Xorg-1.15.0-2.el7.x86_64
xorg-x11-server-Xephyr-1.15.0-2.el7.x86_64

Cli:
/usr/libexec/qemu-kvm \
-M pc \
-cpu SandyBridge \
-m 4G \
-smp 4,sockets=2,cores=2,threads=1,maxcpus=16 \
-enable-kvm \
-name rhel6-64 \
-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 \
-bios /usr/share/seabios/bios.bin \
-monitor unix:/tmp/guest-sock,server,nowait \
-drive file=/home/rhel7-64.raw,if=none,id=drive-virtio-disk0,format=raw,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 \
-netdev tap,id=hostnet0 \
-device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:39:13:2c \
-vga cirrus \
-vnc :0 \

Comment 13 Matěj Cepl 2014-03-28 19:31:47 UTC
Virtual guests work with cirrus driver. I haven’t investigated further.

Comment 14 Ludek Smid 2014-06-13 12:16:16 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.