gcompris / GCompris-qt

GCompris in Qt Quick - Mirror of https://invent.kde.org/education/gcompris
226 stars 169 forks source link

black boxes instead of buttons #269

Closed tpapp closed 3 years ago

tpapp commented 3 years ago

I get black boxes instead of buttons, both with master and 1.0-1 in Ubuntu 21.04.

gcompris-qt

I am using intel-media-va-driver-non-free:amd64 21.1.1+ds1-1 (cf #267)

Happy to compile experimental branches and provide more debugging info.

petitlapin commented 3 years ago

hi, thanks for the report! Can you check if the svg plugins for Qt are installed? I'm not sure which packages exactly but libqt5svg5 or libqt5svg5-dev maybe

tpapp commented 3 years ago

Yes, both are installed.

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                 Version      Architecture Description
+++-====================-============-============-=================================
ii  libqt5svg5:amd64     5.15.2-3     amd64        Qt 5 SVG module
ii  libqt5svg5-dev:amd64 5.15.2-3     amd64        Qt 5 SVG module development files
petitlapin commented 3 years ago

Can you please also check the following list: qt5-default qtdeclarative5-dev qtmultimedia5-dev qml-module-qtquick-controls libqt5svg5-dev libqt5xmlpatterns5-dev libqt5sensors5-dev qml-module-qtquick-particles2 qttools5-dev-tools qml-module-qtmultimedia libqt5multimedia5-plugins

If not, are there any issues in the console when running GCompris from command-line? Still if not, can you check if the same appears using the version in https://gcompris.net/downloads-en.html#linux?

tpapp commented 3 years ago

All of those are installed:

ii  libqt5multimedia5-plugins:amd64     5.15.2-3      amd64        Qt 5 Multimedia module plugins
ii  libqt5sensors5-dev:amd64            5.15.2-2      amd64        Qt 5 Sensors development files
ii  libqt5svg5-dev:amd64                5.15.2-3      amd64        Qt 5 SVG module development files
ii  libqt5xmlpatterns5-dev:amd64        5.15.2-3      amd64        Qt 5 XML patterns development files
ii  qml-module-qtmultimedia:amd64       5.15.2-3      amd64        Qt 5 Multimedia QML module
ii  qml-module-qtquick-controls:amd64   5.15.2-2      amd64        Qt 5 Quick Controls QML module
ii  qml-module-qtquick-particles2:amd64 5.15.2+dfsg-5 amd64        Qt 5 particles 2 QML module
ii  qtdeclarative5-dev:amd64            5.15.2+dfsg-5 amd64        Qt 5 declarative development files
ii  qtmultimedia5-dev:amd64             5.15.2-3      amd64        APIs for multimedia functionality - development files
ii  qttools5-dev-tools                  5.15.2-5      amd64        Qt 5 development tools

except for qt5-default which is probably obsolete:

Package qt5-default is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
petitlapin commented 3 years ago

To confirm gcompris-data is also installed?

Are there any issues in the console log when running GCompris from command-line? Still if not, can you check if the same appears using the version in https://gcompris.net/downloads-en.html#linux?

tpapp commented 3 years ago

gcompris-qt-data is installed. The console log is

exeCount set to:  1
qml: enter main.qml (run #1, ratio=2.769230769230769, fontRatio=2.25, dpi=118, userDataPath=/home/tamas/.local/share/GCompris)
lastVersionRan set to:  10000
qrc:/gcompris/src/activities/menu/Menu.qml:105:5: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
qrc:/gcompris/src/core/Bar.qml:326:5: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
qrc:/gcompris/src/core/Bar.qml:279:5: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
qrc:/gcompris/src/activities/menu/Menu.qml:705:13: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
QSGTextureAtlas: texture atlas allocation failed, code=501
Successfully registered resource "/home/tamas/.cache/KDE/gcompris-qt/data2/voices-ogg/voices-en_US.rcc"
Downloading resource file "data2/backgroundMusic/backgroundMusic-ogg.rcc"
Successfully registered resource "/home/tamas/.cache/KDE/gcompris-qt/data2/backgroundMusic/backgroundMusic-ogg.rcc"
Local resource is up-to-date: "backgroundMusic-ogg.rcc"

I am in the process of checking the same thing with the binary you linked above, but the download is very slow and it will take some time.

petitlapin commented 3 years ago

Ok so the issue is "QSGTextureAtlas: texture atlas allocation failed, code=501".

Can you check if you have libqt5quick5-gles? If yes, can you remove it and install libqt5quick5 instead (idea from https://ubuntuforums.org/showthread.php?t=2442842)

petitlapin commented 3 years ago

other workaround if the previous one does not work: https://bugreports.qt.io/browse/QTBUG-58585 (but the fix from the previous answer is cleaner): MESA_EXTENSION_OVERRIDE="-GL_EXT_bgra -GL_EXT_texture_format_BGRA8888" gcompris-qt

tpapp commented 3 years ago

@petitlapin: using libqt5quick5 fixes the issue, for the Ubuntu binary, the binary you linked above, and master.

The Debian bug report suggests that this should be fixed in upstream, so we just have to wait for it to trickle through the next release.

Thanks for helping me investigate this.