QGraphicsView based applications garbled rendering in kvm with cirrus video driver

Bug #791133 reported by Florian Boucault
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
qt4-x11 (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Steps to reproduce:

1. Launch Oneiric in a kvm virtual machine
2. open up a terminal and launch "qmlviewer" part of the qt4-qmlviewer package

Screenshot of the current result:

http://ubuntuone.com/p/wsM

Tags: patch
description: updated
Revision history for this message
Florian Boucault (fboucault) wrote :

qtdemo exhibits similar artifacts: http://ubuntuone.com/p/wsD

Revision history for this message
Florian Boucault (fboucault) wrote :

@Jonhatan: can you please not mark this bug as duplicate of https://bugs.launchpad.net/ubuntu/+source/unity-2d/+bug/759803

#759803 describes 2 separate issues in Unity 2D. Both these issues were determined to be in fact issues with Qt and kvm (cirrus) and were reported seperately against qt4-x11 with ways to reproduce independent from Unity 2D:

https://bugs.launchpad.net/ubuntu/+source/qt4-x11/+bug/791140
https://bugs.launchpad.net/ubuntu/+source/qt4-x11/+bug/791133

Revision history for this message
Jonathan Thomas (echidnaman) wrote :

It's pretty clear that the cirrus driver is the root cause of all these issues.

Revision history for this message
Marc Pignat (swid) wrote :

Hi all!

I have seen that in when network booting a virtual machine...

The bug was fixed in syslinux 3.54, and the changlog says :
"vesamenu: fix handing of VESA modes with noncontiguous memory buffers. In particular, Qemu/KVM sets up such a mode when Cirrus Logic emulation is enabled (which is the default.)"

I think qt4-x11 has the same problem!

Revision history for this message
Marc Pignat (swid) wrote :

This bug belongs to mesa, this is a software rendering bug

affects: qt4-x11 (Ubuntu) → mesa (Ubuntu)
Changed in mesa (Ubuntu):
status: New → In Progress
Revision history for this message
Marc Pignat (swid) wrote :

And a good new:
I have sent a patch upstream, and it has been accepted:

fix commit : c0c0bb6cb140825f5bab3c40c0c9c0ec575fbc76 (tree git://anongit.freedesktop.org/mesa/mesa)

Best regards

Marc

Revision history for this message
Marc Pignat (swid) wrote :

It seems that I broke 32 bpp in this commit, but I'm working on it!

Revision history for this message
Marc Pignat (swid) wrote :

New patch posted upstream and waiting for approval.

tags: added: patch
Revision history for this message
Florian Boucault (fboucault) wrote :

@Marc: I am sorry but I do not understand what this bug has to do with mesa. I don't think OpenGL is used at any point in the rendering. qmlviewer by default will use the "native" backend which on Linux is XRender.

Revision history for this message
Marc Pignat (swid) wrote :

@Florian: It seems you're right...

qtdemo uses opengl as graphicssystem
qmlviewer uses raster as graphicssystem

So those 2 bugs are separated.

My patch fixes the opengl rendering issue

Revision history for this message
Marc Pignat (swid) wrote :

Some more info about qmlviewer:

qmlviewer -graphicssystem native -> works
qmlviewer -graphicssystem opengl -> does not work
qmlviewer -graphicssystem raster -> does not work

it seems that qmlviewer without args uses the raster graphic system... like unity-2d

qmlviewer -graphicssystem opengl work with mesa patched ;)

Revision history for this message
Marc Pignat (swid) wrote :

qmlviewer does not uses mesa, this bug is triggered using the raster paint engine

affects: mesa (Ubuntu) → qt4-x11 (Ubuntu)
Changed in qt4-x11 (Ubuntu):
status: In Progress → Confirmed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.