Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 294031

Summary: >media-video/vlc-1.0.0, media-video/smplayer-0.6.8, >media-tv/mythtv-0.21 problems with opengl context (cairo-dock)
Product: Gentoo Linux Reporter: nebojsa <nebojsa>
Component: Current packagesAssignee: Qt Bug Alias <qt>
Status: RESOLVED UPSTREAM    
Severity: normal CC: xor29a
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description nebojsa 2009-11-22 10:42:14 UTC
When using cairo-dock, vlc, smplayer, mythtv and possibly other qt-4 based applications display transparent user interfaces and totally transparent movie player window.

Reproducible: Always

Steps to Reproduce:
1.start cairo-dock -o (it could be that compiz is creating same effect)
2.start vlc/smplayer/mythtv tv output

Actual Results:  
user interface partially transparent, only sound, movie is invisible (transparent as well)


Expected Results:  
Normal UI, visible movie

It seems there is a problem with how QT handles (or does not handle) OpenGL context.
Some info is at http://www.x.org/archive/X11R6.8.0/doc/RELNOTES5.html
Workaround is described at http://www.qtforum.org/article/26669/qt4-mess-up-the-opengl-context.html
I can confirm that it works for above mentioned apps.
Easy workaround implementation:
make file /usr/local/bin/qt_alfa_problem
with:
#!/bin/bash
export XLIB_SKIP_ARGB_VISUALS=1
exe=`basename $0`
"/usr/bin/${exe}" $*

and then make a link, in the same directory, 
cd /usr/local/bin
ln -s qt_alfa_problem vlc
ln -s qt_alfa_problem smplayer
ln -s qt_alfa_problem mythfrontend
Comment 1 Davide Pesavento gentoo-dev 2009-12-18 22:59:35 UTC
Is upstream aware of the issue?
Comment 2 Andrey 2011-10-30 07:06:31 UTC
You can make workaround easier: just create file /usr/local/bin/smplayer with:
#!/bin/bash
XLIB_SKIP_ARGB_VISUALS=1 /usr/bin/smplayer "$*"

and make chmod +x for it
Comment 3 Davide Pesavento gentoo-dev 2011-11-13 15:09:11 UTC
This issue must be fixed upstream.