unity-2d: flickers with xf86-video-fbdev on some machines

Bug #782326 reported by Most People Use Their Full Name here
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
unity-2d
Invalid
Undecided
Unassigned
unity-2d (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

On my htcleo machine (HTC HD2 smart phone) unity-2d interface is flickering when using an unmodified natty arm image, rendering it unusable. Since other devices exist with the same SoC in htcleo (qsd8250) using same dsp => same framebuffer driver, this problem is likely to occur on several other devices.
Thanks to Ricardo Salvetti (rsalvetti on irc.freenode.net #ubuntu-arm) I now have this problem solved locally:
When I run the unity-2d-* binaries like this:
"unity-2d-launcher -graphicssystem native" it works without any graphical glitch. To automate it I moved all /usr/bin/unity-2d-* to /usr/bin/unity-2d-*-bin and created scripts in /usr/bin/unity-2d-* with "unity-2d-*-bin -graphicssystem -native" for each binary. With that workaround I get a (partially, see below) working unity-2d session on my device with msm-fb framebuffer driver!

Is there a way to configure this? If not, can we get one?

Best regards and thanks again to Ricardo,

Lukas

Revision history for this message
Most People Use Their Full Name here (fullname1) wrote :

http://packages.ubuntu.com/natty/kde/kde-config-qt-graphicssystem

Quote:

"Using this module you can configure the default graphics system backend to be used by Qt. Supported are X11, raster and OpenGL."

Revision history for this message
Olivier Tilloy (osomon) wrote :

You could also modify the 'Exec' line of the desktop files to launch the binaries with the relevant command-line switch:

  /usr/share/applications/unity-2d-launcher.desktop
  /usr/share/applications/unity-2d-panel.desktop
  /usr/share/applications/unity-2d-places.desktop

Note that the spread doesn’t have a desktop file, it is activated via DBus, so you’ll also need to modify its service file:

  /usr/share/dbus-1/services/unity-2d-spread.service

Revision history for this message
Most People Use Their Full Name here (fullname1) wrote :

Olivier, thanks a lot! This seems to work well except for one thing: The unity-2d-places application seems to be started without the parameter although I set it in the desktop file. Maybe it is because it's not launched using the desktop file on session startup but only when needed by launcher or another application and is then started directly?

Revision history for this message
Most People Use Their Full Name here (fullname1) wrote :

... I believe it would be nicer to set the -graphicssystem native parameter globally.

Unfortunately the http://packages.ubuntu.com/natty/kde/kde-config-qt-graphicssystem package is lacking in natty arm.

Revision history for this message
Most People Use Their Full Name here (fullname1) wrote :

According to
http://doc.qt.nokia.com/4.7-snapshot/qapplication.html#setGraphicsSystem (thanks to ~persia !) there are four ways to the the garphicssystem to use:

* the application commandline -graphicssystem switch
This is what I did above. The way I did it seems ugly, and Olivier's method doesn't work flawlessly either.

* QApplication::setGraphicsSystem()
No idea what that is.

*the Qt configure -graphicssystem
I am looking for a run time fix to this because I do not want to recompile unity-2d for every image I use

* the QT_GRAPHICSSYSTEM environment variable
This is very promising. ~persia proposed set this via Xsession.d .

I added "/etc/X11/Xsession.d/54setupenv" in my rootfs containing
export QT_GRAPHICSSYSTEM=native

I expected unity-2d-* and any other QT program to be ran with the native graphicssystem after I would restart the Xserver. Unfortunately this is not the case.
I investigated manually: From a remote console I started the unity-2d-session , killed unity-2d-launcher and ran it with

QT_GRAPHICSSYSTEM=native unity-2d-launcher

Still glitchy which means it does not run in native mode.

Starting with

unity-2d-launcher -graphicssystem native

it works flawlessly. (native graphicssystem mode present!)

This shows unity-2d-launcher does not seem to parse the QT_GRAPHICSSYSTEM environment variable but only the -graphicssystem paramter. This can also be assumed for the other unity-2d programs.

Revision history for this message
Most People Use Their Full Name here (fullname1) wrote :

https://bugs.launchpad.net/unity/+bug/791852 unity-2d: does not parse QT_GRAPHICSSYSTEM env var

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

Bug #791852 was fixed a few months back by the way.

Changed in unity-2d:
status: New → Invalid
Changed in unity-2d (Ubuntu):
status: New → 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.