Bug 677470 - OpenGL does not render correctly in a RHEL6 guest
OpenGL does not render correctly in a RHEL6 guest
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: mesa (Show other bugs)
6.0
All Linux
unspecified Severity high
: rc
: ---
Assigned To: Adam Jackson
Desktop QE
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2011-02-14 17:11 EST by Bob Kozdemba
Modified: 2013-01-09 18:33 EST (History)
8 users (show)

See Also:
Fixed In Version: mesa-7.11-1.el6
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2011-12-06 09:49:58 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)
test program (64-bit) (9.43 KB, application/octet-stream)
2011-02-14 17:11 EST, Bob Kozdemba
no flags Details
Example of bad output (2.10 KB, image/png)
2011-02-14 17:12 EST, Bob Kozdemba
no flags Details
Example of good output (2.02 KB, image/png)
2011-02-14 17:13 EST, Bob Kozdemba
no flags Details
source for gltest.c (1.72 KB, text/plain)
2011-02-14 17:13 EST, Bob Kozdemba
no flags Details

  None (edit)
Description Bob Kozdemba 2011-02-14 17:11: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):
RHEL6

How reproducible:
100%

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) 
  
Actual results:
See attached file: gltest-bad.png

Expected results:
See attached file: gltest-good.png

Additional info:
64-bit executable is attached along with test source program.
Comment 1 Bob Kozdemba 2011-02-14 17:12:38 EST
Created attachment 478724 [details]
Example of bad output
Comment 2 Bob Kozdemba 2011-02-14 17:13:09 EST
Created attachment 478725 [details]
Example of good output
Comment 3 Bob Kozdemba 2011-02-14 17:13:55 EST
Created attachment 478726 [details]
source for gltest.c
Comment 5 RHEL Product and Program Management 2011-04-03 22:16:47 EDT
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.
Comment 6 Daniel Berrange 2011-06-30 12:08:10 EDT
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.
Comment 7 Gerd Hoffmann 2011-07-07 12:20:45 EDT
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.
Comment 8 Daniel Berrange 2011-07-08 07:31:38 EDT
I'm tested a F14 i686 guest

mesa-dri-drivers-7.9-1.fc14.i686
mesa-libGL-7.9-1.fc14.i686
mesa-libGLU-7.9-0.6.fc14.i686
mesa-libGL-devel-7.9-1.fc14.i686


And a F16 rawhide guest


mesa-libGLU-7.11-0.14.20110620.0.fc16.x86_64
mesa-dri-drivers-7.11-0.14.20110620.0.fc16.x86_64
mesa-libGL-7.11-0.15.20110620.0.fc16.x86_64
mesa-libGL-devel-7.11-0.15.20110620.0.fc16.x86_64
mesa-dri-filesystem-7.11-0.14.20110620.0.fc16.x86_64


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
Comment 9 Gerd Hoffmann 2011-07-08 08:40:38 EDT
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.
Comment 10 Daniel Berrange 2011-07-08 08:52:13 EDT
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.
Comment 11 Gerd Hoffmann 2011-07-08 09:12:37 EDT
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.
Comment 12 Gerd Hoffmann 2011-07-08 10:07:15 EDT
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.
Comment 13 Adam Jackson 2011-08-17 12:40:36 EDT
This should be fixed in mesa-7.11-1.el6.
Comment 20 errata-xmlrpc 2011-12-06 09:49:58 EST
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-2011-1616.html

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