[dash] background is not transparent when using Qt with OpenGLES

Bug #810198 reported by Ricardo Salveti
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
unity-2d
Invalid
High
Unassigned
unity-2d (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Currently when using Unity-2D with Qt using the OpenGLES backend, the dash transparency is broken, like described by the following screenshot:
http://people.canonical.com/~rsalveti/unity-2d/unity-2d-cache_dash_background-opengl.png

This bug was already happening before, but the fix for bug 806122 seems that made it worse, like you can see by comparing both screenshots:
1 - http://people.canonical.com/~rsalveti/unity-2d/unity-2d-trunk-opengl.png
2 - http://people.canonical.com/~rsalveti/unity-2d/unity-2d-cache_dash_background-opengl.png

Tags: opengles
Revision history for this message
Ricardo Salveti (rsalveti) wrote :

The device used to reproduce this issue is a pandaboard, using Ubuntu Natty release.

Revision history for this message
Ricardo Salveti (rsalveti) wrote :

Using Unity-2d trunk, rev 626.

Revision history for this message
Ricardo Salveti (rsalveti) wrote :

Posting Florian's comment about the issue:
Looking at the screenshots, I don't think this patch makes the situation worse: the dash is not transparent in either case. Before the patch its background is plain white, after the patch its background is plain black. I would merge it for the performance improvement and try to fix the transparency issue separately.
I don't have a working device on which I can try various possible fixes with an OpenGL/ES driver. Could you try one thing and see if the transparency works better?

in libunity-2d-private/src/unity2ddeclarativeview.cpp line 61, change:

            setAttribute(Qt::WA_OpaquePaintEvent, true);

into:
            setAttribute(Qt::WA_OpaquePaintEvent, false);

If that does not help, try to add the following line just after:

            glWidget->setAutoFillBackground(true);

Revision history for this message
Ricardo Salveti (rsalveti) wrote :

Issue still happening even after doing both changes.

Changed in unity-2d:
status: New → Confirmed
importance: Undecided → High
milestone: none → 3.8.12
Changed in unity-2d (Ubuntu):
status: New → Confirmed
Changed in unity-2d:
milestone: 3.8.12 → 3.8.14
Changed in unity-2d:
milestone: 3.8.14 → 3.8.16
Changed in unity-2d:
milestone: 4.0 → 4.2
Changed in unity-2d:
milestone: 4.2 → 4.4
Changed in unity-2d:
assignee: nobody → Florian Boucault (fboucault)
Changed in unity-2d:
milestone: 4.4 → 4.6
Changed in unity-2d:
milestone: 4.6 → 4.8
Changed in unity-2d:
milestone: 4.8 → 4.10
Revision history for this message
Lucazade (lucazade) wrote :

may I ask how to enable the opengl backend? I've seen the new option in dconf but doesn't seem to do nothing.
should I install any other packages or anyway to check if opengl backend is really working? thanks

Revision history for this message
Alberto Mardegan (mardy) wrote :

@lucazade: that dconf option should work properly, but it's only effective from the next execution of the applications. In other words, you should restart your session in order to see a difference.

Revision history for this message
Lucazade (lucazade) wrote :

@thanks Alberto for the info, hope i'm not OT in this bugreport..
I've tried to restart session and to enable this opengl option on a couple of different machines but I can't see any difference in term of speed, also launcher and dash are not trasparent if I don't enable metacity compositor.
I believed opengl accel should give both speed boost and trasparency like a compositor, am I wrong? if necessary I can open a separate bug.

Changed in unity-2d:
milestone: 4.10 → 4.14
Changed in unity-2d:
milestone: 4.14 → none
Changed in unity-2d:
assignee: Florian Boucault (fboucault) → nobody
Changed in unity-2d:
status: Confirmed → Invalid
Changed in unity-2d (Ubuntu):
status: Confirmed → Invalid
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.