Details
-
Bug
-
Resolution: Incomplete
-
Not Evaluated
-
None
-
5.4.1
-
None
Description
This is probably a nvidia binary driver bug on Linux, triggered specifically by Qt code.
I tested some random program, which uses glXChooseFBConfig with relatively standard attribute arguments. It selected this fb config (pasting the corrsponding line in glxinfo output):
"0x0f5 24 tc 0 24 0 r y . 8 8 8 0 . s 4 24 0 16 16 16 16 0 0 None"
No tearing in fullscreen.
Qt on the other hand passes this to its last glXCreateContextAttribsARB call:
"0x176 32 tc 0 32 0 r y . 8 8 8 8 . s 4 24 8 16 16 16 16 0 0 None"
It tears heavily in fullscreen mode. I have confirmed that glXSwapIntervalEXT is called with the correct value on the correct drawable.
I've also tried to make that other program output alpha, which happened to select this fbconfig:
"0x17a 32 tc 0 32 0 r y . 8 8 8 8 . s 4 24 0 16 16 16 16 0 0 None"
This also teared in fullscreen mode. The program uses some quite hacky code to end up with this specific fbconfig, though.
It's actually pretty obvious that this is a nvidia bug, but I thought I'd report it anyway, since it's specifically triggered by Qt with default settings. Other users might experience the same.
This happens with a QQuickWindow (actually a class derived from it, and created with QQmlApplicationEngine).
nvidia drivers 340.76 on GeForce 8500 GT, but could produce it with 2 other people having a quite different setup and newer drivers and hardware.