Hi, if I run gcompris on my Ubuntu MATE 18.04 system, that has a GeForce4 MX 440 graphics card, it doesn't start and it shows the following error: QSGSimpleMaterialShader does not implement 'uniform highp mat4 qt_Matrix;' in its vertex shader Are there any workarounds? There are hundreds of schools with such old cards...
Hi, as discussed on irc, I think the issue should be solved using the software renderer provided by Qt 5.8. I've done 2 commits in master: https://cgit.kde.org/gcompris.git/commit/?id=5015b56bc291f9e89f8946b904c1b74ba91d7598 to have new command line options software-renderer and opengl-renderer to switch the renderer. https://cgit.kde.org/gcompris.git/commit/?id=a9282b2c9bf6fbd55c529c05500de68bdce17c9f that should display a window if openGL fails at start up and switch to software renderer after a restart (well, as I can't test, I supposed that the function is at least called and we can store in the settings the new mode) Unfortunately, I can't test the second fix, so if by any chance you can compile from master and tell if it works, it would be nice. Johnny
I tried on an even older, Nvidia TNT2 card, and there it segfaults (stderr below). But then I tried recompiling with -DGRAPHICAL_RENDERER=software in debian/rules, and it worked fine (and fast enough on that P4/3GHz CPU), except for some mouse cursor flickering. I'll now try with the patch you attached. The segfault before recompiling: ltsp@ltsp97:~$ gcompris-qt exeCount set to: 5 qml: enter main.qml (run #5, ratio=1.28, fontRatio=1.2944223775607213, dpi=96, sharedWritablePath=/home/ltsp/.local/share/GCompris) Downloading resource file "data2/voices-ogg/voices-el.rcc" Local resource is up-to-date: "voices-el.rcc" Successfully registered resource "/home/ltsp/.cache/KDE/gcompris-qt/data2/voices-ogg/voices-el.rcc" QOpenGLFramebufferObject: Framebuffer incomplete attachment. QOpenGLFramebufferObject: Framebuffer incomplete, missing attachment. QOpenGLFramebufferObject: Framebuffer incomplete attachment. QOpenGLFramebufferObject: Framebuffer incomplete, missing attachment. QOpenGLShader: could not create shader QOpenGLShader: could not create shader Σφάλμα κατάτμησης (segmentation fault) (core dumped)
Another workaround: LIBGL_ALWAYS_SOFTWARE=1 gcompris-qt This avoids recompilation, although it still has mouse flicking on Nvidia TNT2. I also tried a few vars from https://www.mesa3d.org/envvars.html but they didn't improve anything.
Sorry for delay. For the cursor, can you run gcompris-qt, with the command-line option 'c' ? (./bin/gcompris-qt -c). It should fallback to default cursor and not have a flickering one.
There is now a --software-renderer option to avoid recompilation too