Unsolved my app blinking on ubuntu
-
my app blinking sometimes without any known reason or any bug in my code
This problem only happens to Ubuntu 16 or older
and No problem on other distros or windows
and i tested it on many machines with qt 5.12.0 , 5.12.2 , 5.12.4what's the solution?
-
Hi,
Did you test your application using your distribution provided Qt ?
-
yes i build it again with 5.12.2 kit provided by ubuntu for xenial ... but It didn't make a difference
and today i tested on 5.12.5 with some fixes about blinking that listed in qt bugreports ... but It didn't make a difference too.i found it that blinks are much scary when app is in full screen
-
Does a default sample application exhibit the same behaviour ?
-
yes but not always, sometimes even on a simple app with some listview or gridview that each one have many items
There is also a possibility that this is a problem with my code, but the suspicious thing that exists is that, the behaviour only is on ubuntu 16.04 (i tested on unity desktop and xfce and cinnamon and gnome3)
-
Well, if even the distribution provided Qt exhibits that behaviour, then there might be something in your installation. What graphics card are you using ?
-
yes you'r right it may be a problem with the graphics driver..
all of computers that i installed ubuntu and tested my app (even new build on that) had old nvidia (2 old card with nouveau) and intel graphics (i3 4th gen , i3 5th gen, i5 5th gen,i7 1th gen ) ...
and all of other distros i tested had amd cards and new intel graphics ..last night i installed my app on an ubuntu16.04 virtual machin (virtualbox and kvm) , I didn't see any blinks.
If there is a problem with the graphics card or the graphics driver , What is the best solution to the problem?
all users using this app dont have the ability to install new drivers or buy another cards. -
On how many machines di you saw that behaviour ?
What kernel were they running ?
-
@mmjvox
If it's nvidia case -maybe try switching between non-threaded and threaded render loop. I had similar problem on my app and it helped me a lot . I had to set QSG_RENDER_LOOP enviroment variable to "basic" to get rid of blinking effect.
You can do this simply by adding this line to your main.cpp code before calling app.exec() :
qputenv("QSG_RENDER_LOOP","basic");
or when it not helps try: qputenv("QSG_RENDER_LOOP","threaded");It's just my idea - setting enviroment variables for QSG helped me when developing apps on computers with different graphic cards.
-
@SGaist
on 7 or 8 machins
ubuntu default kernel (4.4 , 4.10, 4.11, 4.15) -
@kkuzawska
thanks
i will test it today -
-
It didn't solve :D
-
finaly
I found out that the problem was with Intel drivers and update the kernel solved the problem.