SuperTuxKart in 18.04 : flickering shadows with intel i915

Hello,

for 2-3 weeks now I noticed glitches when I play SuperTuxKart : the shadows in most tracks are flickering. Strongly. I mean it really hurts eyes.

When I boot the same machine on ubuntu 16.04 I don’t have this flickering nightmare.

It does not seem related to kernel since if I boot my 18.04 on 4.15.0-55 problem still occurs.

I suspect some update regarding mesa, video-acceleration or xorg-*-intel but don’t really know how to narrow down the culprit…

coeur-noir@asgard:~$ lspci -k | grep -A 2 -i "VGA"
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)
	Subsystem: ASUSTeK Computer Inc. Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller
	Kernel driver in use: i915
coeur-noir@asgard:~$ sudo lshw -c video
  *-display                 
       description: VGA compatible controller
       produit: Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller
       fabriquant: Intel Corporation
       identifiant matériel: 2
       information bus: pci@0000:00:02.0
       version: 06
       bits: 64 bits
       horloge: 33MHz
       fonctionnalités: msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       ressources: irq:26 mémoire:f7800000-f7bfffff mémoire:e0000000-efffffff portE/S:f000(taille=64) mémoire:c0000-dffff
coeur-noir@asgard:~$ 

Processor is Intel® Core™ i7-4770K CPU @ 3.50GHz

I don’t use any ppa regarding drivers, only using official repositories.

Suggest have a look at the projects issues list to see if you spot something similar. If not suggest raising there https://github.com/supertuxkart/stk-code/issues

note - they may ask you to use a newer kernel/mesa etc which you can do (from the official repositories) via an HWE (hardware enablement stack) upgrade

https://wiki.ubuntu.com/Kernel/LTSEnablementStack#Ubuntu_18.04_LTS_-_Bionic_Beaver

I am already on HWE.

I’ll go check STK issues → https://github.com/supertuxkart/stk-code/issues/4022

For reference ( french ) : https://forum.ubuntu-fr.org/viewtopic.php?id=2042165

This may or may not do the trick, as mentioned here https://github.com/supertuxkart/stk-code/issues/3909

Modify file graphical_restrictions.xml to be found in /usr/share/games/supertuxkart/data/

⋅ line 11 becomes :

  <card contains="Intel"          os="linux"                       disable="ComputeShader"/>

⋅ this line initially reads :

  <card contains="Intel"          os="linux"    version="<11.2"    disable="ComputeShader"/>

Reminder for launching gedit with root privileges :

gedit admin:///usr/share/games/supertuxkart/data/graphical_restrictions.xml

later :

Damn… flickering is back, randomly on any tracks.

Mesa on my 18.04 :

coeur-noir@asgard:~$ dpkg -l | grep mesa
ii  libegl-mesa0:amd64                      19.0.2-1ubuntu1.1~18.04.2                     amd64        free implementation of the EGL API -- Mesa vendor library
ii  libegl1-mesa:amd64                      19.0.2-1ubuntu1.1~18.04.2                     amd64        transitional dummy package
ii  libgl1-mesa-dri:amd64                   19.0.2-1ubuntu1.1~18.04.2                     amd64        free implementation of the OpenGL API -- DRI modules
ii  libgl1-mesa-dri:i386                    19.0.2-1ubuntu1.1~18.04.2                     i386         free implementation of the OpenGL API -- DRI modules
ii  libgl1-mesa-glx:amd64                   19.0.2-1ubuntu1.1~18.04.2                     amd64        transitional dummy package
ii  libgl1-mesa-glx:i386                    19.0.2-1ubuntu1.1~18.04.2                     i386         transitional dummy package
ii  libglapi-mesa:amd64                     19.0.2-1ubuntu1.1~18.04.2                     amd64        free implementation of the GL API -- shared library
ii  libglapi-mesa:i386                      19.0.2-1ubuntu1.1~18.04.2                     i386         free implementation of the GL API -- shared library
ii  libgles2-mesa:amd64                     19.0.2-1ubuntu1.1~18.04.2                     amd64        transitional dummy package
ii  libglu1-mesa:amd64                      9.0.0-2.1build1                               amd64        Mesa OpenGL utility library (GLU)
ii  libglu1-mesa:i386                       9.0.0-2.1build1                               i386         Mesa OpenGL utility library (GLU)
ii  libglx-mesa0:amd64                      19.0.2-1ubuntu1.1~18.04.2                     amd64        free implementation of the OpenGL API -- GLX vendor library
ii  libglx-mesa0:i386                       19.0.2-1ubuntu1.1~18.04.2                     i386         free implementation of the OpenGL API -- GLX vendor library
ii  libosmesa6:amd64                        19.0.2-1ubuntu1.1~18.04.2                     amd64        Mesa Off-screen rendering extension
ii  libosmesa6:i386                         19.0.2-1ubuntu1.1~18.04.2                     i386         Mesa Off-screen rendering extension
ii  libwayland-egl1-mesa:amd64              19.0.2-1ubuntu1.1~18.04.2                     amd64        transitional dummy package
ii  mesa-utils                              8.4.0-1                                       amd64        Miscellaneous Mesa GL utilities
ii  mesa-utils-extra                        8.4.0-1                                       amd64        Miscellaneous Mesa utilies (opengles, egl)
ii  mesa-va-drivers:amd64                   19.0.2-1ubuntu1.1~18.04.2                     amd64        Mesa VA-API video acceleration drivers
ii  mesa-vdpau-drivers:amd64                19.0.2-1ubuntu1.1~18.04.2                     amd64        Mesa VDPAU video acceleration drivers
coeur-noir@asgard:~$

and on 16.04 :

coeurnoir@Asgard:~$ dpkg -l | grep mesa
ii  libegl1-mesa:amd64                          18.0.5-0ubuntu0~16.04.1                      amd64        free implementation of the EGL API -- runtime
ii  libegl1-mesa:i386                           18.0.5-0ubuntu0~16.04.1                      i386         free implementation of the EGL API -- runtime
ii  libegl1-mesa-drivers:amd64                  12.0.6-0ubuntu0.16.04.1                      amd64        transitional dummy package
ii  libgl1-mesa-dri:amd64                       18.0.5-0ubuntu0~16.04.1                      amd64        free implementation of the OpenGL API -- DRI modules
ii  libgl1-mesa-dri:i386                        18.0.5-0ubuntu0~16.04.1                      i386         free implementation of the OpenGL API -- DRI modules
ii  libgl1-mesa-glx:amd64                       18.0.5-0ubuntu0~16.04.1                      amd64        free implementation of the OpenGL API -- GLX runtime
ii  libgl1-mesa-glx:i386                        18.0.5-0ubuntu0~16.04.1                      i386         free implementation of the OpenGL API -- GLX runtime
ii  libglapi-mesa:amd64                         18.0.5-0ubuntu0~16.04.1                      amd64        free implementation of the GL API -- shared library
ii  libglapi-mesa:i386                          18.0.5-0ubuntu0~16.04.1                      i386         free implementation of the GL API -- shared library
ii  libgles1-mesa                               18.0.5-0ubuntu0~16.04.1                      all          transitional dummy package
ii  libgles2-mesa:amd64                         18.0.5-0ubuntu0~16.04.1                      amd64        free implementation of the OpenGL|ES 2.x API -- runtime
ii  libglu1-mesa:amd64                          9.0.0-2.1                                    amd64        Mesa OpenGL utility library (GLU)
ii  libglu1-mesa:i386                           9.0.0-2.1                                    i386         Mesa OpenGL utility library (GLU)
ii  libosmesa6:amd64                            18.0.5-0ubuntu0~16.04.1                      amd64        Mesa Off-screen rendering extension
ii  libosmesa6:i386                             18.0.5-0ubuntu0~16.04.1                      i386         Mesa Off-screen rendering extension
ii  libwayland-egl1-mesa:amd64                  18.0.5-0ubuntu0~16.04.1                      amd64        implementation of the Wayland EGL platform -- runtime
ii  libwayland-egl1-mesa:i386                   18.0.5-0ubuntu0~16.04.1                      i386         implementation of the Wayland EGL platform -- runtime
ii  mesa-utils                                  8.3.0-1                                      amd64        Miscellaneous Mesa GL utilities
ii  mesa-va-drivers:amd64                       18.0.5-0ubuntu0~16.04.1                      amd64        Mesa VA-API video acceleration drivers
ii  mesa-vdpau-drivers:amd64                    18.0.5-0ubuntu0~16.04.1                      amd64        Mesa VDPAU video acceleration drivers
coeurnoir@Asgard:~$ 
1 Like

New mesa stack but, still flickering…

coeur-noir@asgard:~$ dpkg -l | grep mesa
ii  libegl-mesa0:amd64                      19.0.8-0ubuntu0~18.04.1                       amd64        free implementation of the EGL API -- Mesa vendor library
ii  libegl1-mesa:amd64                      19.0.8-0ubuntu0~18.04.1                       amd64        transitional dummy package
ii  libgl1-mesa-dri:amd64                   19.0.8-0ubuntu0~18.04.1                       amd64        free implementation of the OpenGL API -- DRI modules
ii  libgl1-mesa-dri:i386                    19.0.8-0ubuntu0~18.04.1                       i386         free implementation of the OpenGL API -- DRI modules
ii  libgl1-mesa-glx:amd64                   19.0.8-0ubuntu0~18.04.1                       amd64        transitional dummy package
ii  libgl1-mesa-glx:i386                    19.0.8-0ubuntu0~18.04.1                       i386         transitional dummy package
ii  libglapi-mesa:amd64                     19.0.8-0ubuntu0~18.04.1                       amd64        free implementation of the GL API -- shared library
ii  libglapi-mesa:i386                      19.0.8-0ubuntu0~18.04.1                       i386         free implementation of the GL API -- shared library
ii  libgles2-mesa:amd64                     19.0.8-0ubuntu0~18.04.1                       amd64        transitional dummy package
ii  libglu1-mesa:amd64                      9.0.0-2.1build1                               amd64        Mesa OpenGL utility library (GLU)
ii  libglu1-mesa:i386                       9.0.0-2.1build1                               i386         Mesa OpenGL utility library (GLU)
ii  libglx-mesa0:amd64                      19.0.8-0ubuntu0~18.04.1                       amd64        free implementation of the OpenGL API -- GLX vendor library
ii  libglx-mesa0:i386                       19.0.8-0ubuntu0~18.04.1                       i386         free implementation of the OpenGL API -- GLX vendor library
ii  libosmesa6:amd64                        19.0.8-0ubuntu0~18.04.1                       amd64        Mesa Off-screen rendering extension
ii  libosmesa6:i386                         19.0.8-0ubuntu0~18.04.1                       i386         Mesa Off-screen rendering extension
ii  libwayland-egl1-mesa:amd64              19.0.8-0ubuntu0~18.04.1                       amd64        transitional dummy package
ii  mesa-utils                              8.4.0-1                                       amd64        Miscellaneous Mesa GL utilities
ii  mesa-utils-extra                        8.4.0-1                                       amd64        Miscellaneous Mesa utilies (opengles, egl)
ii  mesa-va-drivers:amd64                   19.0.8-0ubuntu0~18.04.1                       amd64        Mesa VA-API video acceleration drivers
ii  mesa-vdpau-drivers:amd64                19.0.8-0ubuntu0~18.04.1                       amd64        Mesa VDPAU video acceleration drivers
coeur-noir@asgard:~$ 

Also tried with newer mesa driver from padoka’s ppa but not better :

coeur-noir@asgard:~$ dpkg -l | grep mesa
ii  libegl-mesa0:amd64                      19.1.2-0~b~padoka0                            amd64        free implementation of the EGL API -- Mesa vendor library
ii  libegl1-mesa:amd64                      19.1.2-0~b~padoka0                            amd64        transitional dummy package
ii  libgl1-mesa-dri:amd64                   19.1.2-0~b~padoka0                            amd64        free implementation of the OpenGL API -- DRI modules
ii  libgl1-mesa-dri:i386                    19.1.2-0~b~padoka0                            i386         free implementation of the OpenGL API -- DRI modules
ii  libgl1-mesa-glx:amd64                   19.1.2-0~b~padoka0                            amd64        transitional dummy package
ii  libgl1-mesa-glx:i386                    19.1.2-0~b~padoka0                            i386         transitional dummy package
ii  libglapi-mesa:amd64                     19.1.2-0~b~padoka0                            amd64        free implementation of the GL API -- shared library
ii  libglapi-mesa:i386                      19.1.2-0~b~padoka0                            i386         free implementation of the GL API -- shared library
ii  libgles2-mesa:amd64                     19.1.2-0~b~padoka0                            amd64        transitional dummy package
ii  libglu1-mesa:amd64                      9.0.0-2.1build1                               amd64        Mesa OpenGL utility library (GLU)
ii  libglu1-mesa:i386                       9.0.0-2.1build1                               i386         Mesa OpenGL utility library (GLU)
ii  libglx-mesa0:amd64                      19.1.2-0~b~padoka0                            amd64        free implementation of the OpenGL API -- GLX vendor library
ii  libglx-mesa0:i386                       19.1.2-0~b~padoka0                            i386         free implementation of the OpenGL API -- GLX vendor library
ii  libosmesa6:amd64                        19.1.2-0~b~padoka0                            amd64        Mesa Off-screen rendering extension
ii  libosmesa6:i386                         19.1.2-0~b~padoka0                            i386         Mesa Off-screen rendering extension
ii  libwayland-egl1-mesa:amd64              19.1.2-0~b~padoka0                            amd64        transitional dummy package
ii  mesa-utils                              8.4.0-1                                       amd64        Miscellaneous Mesa GL utilities
ii  mesa-utils-extra                        8.4.0-1                                       amd64        Miscellaneous Mesa utilies (opengles, egl)
ii  mesa-va-drivers:amd64                   19.1.2-0~b~padoka0                            amd64        Mesa VA-API video acceleration drivers
ii  mesa-vdpau-drivers:amd64                19.1.2-0~b~padoka0                            amd64        Mesa VDPAU video acceleration drivers
coeur-noir@asgard:~$ 

What did the supertux team recommend ?

Does disabling shadows etc work better?

Wait… I don’t want to change my quite already low graphic options for STK in 18.04.

STK with same options and same hardware works fine in 16.04 - and used to work fine in 18.04 until weeks ago.

On Github Benau said :

there really isn’t much thing we can do, you need to pray mesa to fix their bug soon,…
or I rewrite STK reneder engin with VK later so it may behave differently

Here I am facing a regression but I don’t know whom / where ask help…

So upstream mesa guys :frowning:

Not a lot you can do I’m afraid - they are the ones that write the graphics compatibility. So its a specific issue with intel graphics. Probably amd/nvidia will behave better.

Well… https://bugs.launchpad.net/mesa/+bug/1841953

Coming from Graphics flickering issue 19.04

Adding a file
/etc/X11/xorg.conf.d/20-intel-graphics.conf
containing

Section "Device"
   Identifier  "Intel Graphics"
   Driver      "intel"
   Option      "TripleBuffer" "true"
   Option      "TearFree"     "true"
EndSection

seems to fix my flickering issue sor far… time will tell.


and no, not fixed…
It seemed to have an effect on flickering ( maybe less frequent, maybe less flashy ) but still there.

Hi I tried that with the tripplebuffer a d all.it managed to.achieve for me was a very slow refresh rate and general slowing if the system from what I could see

Mine.was also general video driver use not gaming

Today mesa packages are :

coeur-noir@asgard:~$ dpkg -l | grep mesa
ii  libegl-mesa0:amd64                      19.0.8-0ubuntu0~18.04.3                       amd64        free implementation of the EGL API -- Mesa vendor library
ii  libegl1-mesa:amd64                      19.0.8-0ubuntu0~18.04.3                       amd64        transitional dummy package
ii  libgl1-mesa-dri:amd64                   19.0.8-0ubuntu0~18.04.3                       amd64        free implementation of the OpenGL API -- DRI modules
ii  libgl1-mesa-dri:i386                    19.0.8-0ubuntu0~18.04.3                       i386         free implementation of the OpenGL API -- DRI modules
ii  libgl1-mesa-glx:amd64                   19.0.8-0ubuntu0~18.04.3                       amd64        transitional dummy package
ii  libgl1-mesa-glx:i386                    19.0.8-0ubuntu0~18.04.3                       i386         transitional dummy package
ii  libglapi-mesa:amd64                     19.0.8-0ubuntu0~18.04.3                       amd64        free implementation of the GL API -- shared library
ii  libglapi-mesa:i386                      19.0.8-0ubuntu0~18.04.3                       i386         free implementation of the GL API -- shared library
ii  libgles2-mesa:amd64                     19.0.8-0ubuntu0~18.04.3                       amd64        transitional dummy package
ii  libglu1-mesa:amd64                      9.0.0-2.1build1                               amd64        Mesa OpenGL utility library (GLU)
ii  libglu1-mesa:i386                       9.0.0-2.1build1                               i386         Mesa OpenGL utility library (GLU)
ii  libglx-mesa0:amd64                      19.0.8-0ubuntu0~18.04.3                       amd64        free implementation of the OpenGL API -- GLX vendor library
ii  libglx-mesa0:i386                       19.0.8-0ubuntu0~18.04.3                       i386         free implementation of the OpenGL API -- GLX vendor library
ii  libosmesa6:amd64                        19.0.8-0ubuntu0~18.04.3                       amd64        Mesa Off-screen rendering extension
ii  libosmesa6:i386                         19.0.8-0ubuntu0~18.04.3                       i386         Mesa Off-screen rendering extension
ii  libwayland-egl1-mesa:amd64              19.0.8-0ubuntu0~18.04.3                       amd64        transitional dummy package
ii  mesa-utils                              8.4.0-1                                       amd64        Miscellaneous Mesa GL utilities
ii  mesa-utils-extra                        8.4.0-1                                       amd64        Miscellaneous Mesa utilies (opengles, egl)
ii  mesa-va-drivers:amd64                   19.0.8-0ubuntu0~18.04.3                       amd64        Mesa VA-API video acceleration drivers
ii  mesa-vdpau-drivers:amd64                19.0.8-0ubuntu0~18.04.3                       amd64        Mesa VDPAU video acceleration drivers
coeur-noir@asgard:~$

…but no more luck, flickering shadows are still there.

Some people suggested to try with wayland instead of xorg.

How do we do that in Budgie, is it safe ?

Budgie has no plans to support wayland.

Ok :wink: I’m not top-aware about xorg/wayland things though…

Just wondering … does this game support Vulkan drivers?
Maybe the package mesa-vulkan-drivers will help if the app does support vulkan

This thread

Oh thanks… I don’t know if STK supports Vulkan, I will check and report.