Red Hat Bugzilla – Bug 677470
OpenGL does not render correctly in a RHEL6 guest
Last modified: 2013-01-09 18:33:35 EST
Created attachment 478723 [details]
test program (64-bit)
Description of problem:
Inside of virt-viewer, OpenGL output is corrupted as if the pixel format is incorrect. Happens on both 32 and 64-bit guests. If the video driver is changed to vga or vmvga, the problem improves but still exhibits corrupt rendering.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Open the virt-viewer on a running virtual machine
2. If not started, start the X Window system
3. Run the attached test program (./gltest)
See attached file: gltest-bad.png
See attached file: gltest-good.png
64-bit executable is attached along with test source program.
Created attachment 478724 [details]
Example of bad output
Created attachment 478725 [details]
Example of good output
Created attachment 478726 [details]
source for gltest.c
Since RHEL 6.1 External Beta has begun, and this bug remains
unresolved, it has been rejected as it is not proposed as
exception or blocker.
Red Hat invites you to ask your support representative to
propose this request, if appropriate and relevant, in the
next release of Red Hat Enterprise Linux.
I can reproduce this problem, even with a Fedora guest. It occurs even with a regular VNC client, and also when using SPICE for graphics. Thus I believe this is not a virt-viewer bug, but in fact a QEMU graphics/video bug.
Which fedora release? I see it working fine with a F15 guest.
Note that the virtual gfx cards have no 3D support so this has to be rendered by the guest in software, so this could be a software rendering bug and thus depend on the mesa version installed inside the guest.
I'm tested a F14 i686 guest
And a F16 rawhide guest
In both cases the gltest program attached to this bug doesn't render correctly. I also just noticed that the standard glxgears has fubar rendering too.
NB, my host is actually a F15 x86_64 machine, not RHEL6, so I'm not testing exactly the same combo as the original reporter, but the results I get a similar to this screenshots
More testing shows:
-vga std renders ok
-vga qxl renders ok
-vga cirrus (which happens to be the default) is broken
So it is probably one of the cirrus ops which isn't emulated correctly (or a bug in the xorg cirrus driver).
The initial report mentions rendering bugs with std vga, can't reproduce those.
I can confirm that my tests showing problems from comment #8 were both done with Cirrus. Switching to the 'std' driver fixes the rendering, so my results concur with yours, looks like a Cirrus emulation/driver bug.
Compiled qemu with cirrus debug enabled. Nothing gets printed while running glxgears. Looks like no cirrus ops are involved when blitting the gears to the screen. Hmm.
Ah, seems to depend on the color depth.
The xorg vesa driver runs with 16 bpp.
Forcing the xorg cirrus driver into 16 bpp fixes the rendering too.
So I guess software rendering is broken @ 24 bpp.
Assigning to xorg cirrus driver for further investigation.
This should be fixed in mesa-7.11-1.el6.
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.