Palettes completely invisible and unusable in Ubuntu 18.04, using AppImage

• Oct 25, 2019 - 12:40
Reported version
3.3
Type
Graphical (UI)
Frequency
Many
Severity
S2 - Critical
Reproducibility
Always
Status
closed
Regression
Yes
Workaround
Yes
Project

The Palettes are completely unusable and invisible on the Linux 3.3 RC 2 AppImage. Running it in the terminal prints the errors

qrc:/qml/palettes/PaletteTree.qml:178:12: QML DelegateModel: Error creating delegate
qrc:/qml/palettes/PaletteTree.qml:439: TypeError: Cannot read property of null.

The problem exists in both Light and Dark mode. Note that I had changed where the Musescore directory is located, and updated it in the Preferences.

Attachment Size
Screenshot from 2019-10-25 19-36-55.png 4.22 KB

Comments

Which system do you use? There were reports about that on Ubuntu 18.04 and systems based on it, but other systems don't seem affected so far. Still I wasn't able to reproduce this on Ubuntu 18.04 on several computers.

1.) Same error for me
2.) In addition: "Startcenter" appears as a black window
======== Message ==================================
Jack appears to be installed on this system, so we'll use it.
QApplication: invalid style override passed, ignoring it.
qrc:/qml/palettes/PaletteTree.qml:178:12: QML DelegateModel: Error creating delegate
qrc:/qml/palettes/PaletteTree.qml:439: TypeError: Cannot read property of null
QMutex: destroying locked mutex
QObject::disconnect: No such slot Ms::MyWebView::stopBusy(bool)

======== Ubuntu version ==============================
NNNNNN:~/Downloads$ lsb_release -a
LSB Version: core-9.20170808ubuntu1-noarch:printing-9.20170808ubuntu1-noarch:security-9.20170808ubuntu1-noarch
Distributor ID: Ubuntu
Description: Ubuntu 18.04.3 LTS
Release: 18.04
Codename: bionic

====================================================================================

But I can work with "Full Palette" (Shift + F9)

===================================================================================
OS: Ubuntu 18.04.3 LTS, Arch.: x86_64, MuseScore version (64-bit): 3.3.0., revision: 4761df6

About QT: This program uses Qt version 5.9.3.

Just to add some info: when running a debug build (clean) from source (3.3 branch), i get on Arch Linux :

qrc:/qml/palettes/PalettesWidget.qml:unknown: qrc:/qml/palettes/PalettesWidget.qml:47:5: Type PalettesWidgetHeader unavailable
qrc:/qml/palettes/PalettesWidgetHeader.qml:unknown: qrc:/qml/palettes/PalettesWidgetHeader.qml:37:5: Type StyledButton unavailable
qrc:/qml/palettes/StyledButton.qml:unknown: qrc:/qml/palettes/StyledButton.qml:22:1: module "QtGraphicalEffects" is not installed
Title Palettes completely invisible and unusable on Linux Palettes completely invisible and unusable on some Linux distributions

surely not all...

Title Palettes completely invisible and unusable on some Linux distributions Palettes completely invisible and unusable on some Linux distributions, using AppImage
Title Palettes completely invisible and unusable on some Linux distributions, using AppImage Palettes completely invisible and unusable in Ubuntu 18.04, using AppImage

So far I have not seen any reports concerning palettes not working in AppImage in distributions not based on Ubuntu 18.04, so I believe this issue is still related to some Ubuntu-specific features.

@pbrenna, concerning the issue with building, which version of Qt do you use (I mean, a Qt installer or the one that comes with your distribution), and do you have QtGraphicalEffects module installed in your system? Also this building issue is likely to be not related to AppImage issues so if you have further questions on building it would be better to open a separate thread for that.

Regression No Yes

The issue with ArchLinux package is separate from the AppImage issue and is likely to be caused by missing QtQuick Controls 2 dependencies which were not needed for previous versions of MuseScore. For that package I suppose adding something like qt5-quickcontrols2 and qt5-graphicaleffects to that package's dependencies would fix the issue.

@dmitrio95 you are right, I can see this in the console:

$ mscore                                                                                                                                                                              
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
qrc:/qml/palettes/PalettesWidget.qml:21:1: module "QtQuick.Controls" version 2.1 is not installed
Element::readProperties: linked elements have different types: Chord, BarLine. Input file corrupted?
Element::readProperties: could not link Chord at staff 7
Element::readProperties: could not link Note at staff 7
Element::readProperties: linked elements have different types: Chord, BarLine. Input file corrupted?
Element::readProperties: could not link Chord at staff 7
Element::readProperties: could not link Note at staff 7
QMutex: destroying locked mutex

Should I open another bug report?

In reply to by mount2010

Regression Yes No
Workaround No Yes

I have tried the 3.3.0 AppImage in different computers with the same distro (Xubuntu 18.04) and some show this same issue (hidden palettes and black Start Center) but others don't. I still haven't been able to find out where the difference is, but I have found that if I start the program through X forwarding it works properly, so I use as a workaround the command:
ssh localhost -X path_to_app/MuseScore-3.3.0-x86_64.AppImage

Can confirm that it is now fixed on Nightly. Thanks guys, and great job! Can't wait to see more of Tantacrul's redesigning. Great hopes for Musescore.

Title Palettes completely invisible and unusable in Ubuntu 18.04, using AppImage Palettes completely invisible and unusable in Ubuntu 18.04, using AppImage and Snap
Status closed won't fix
Workaround Yes No

Hey, guys
I'm using the new 3.3.4 version, so I experienced this problem too. Before, I had some third version installed from Ubuntu Software and there were no problem, but now when i installed the new version with Snap this problem appeared. Screenshot from 2019-12-22 23-59-35.png

Title Palettes completely invisible and unusable in Ubuntu 18.04, using AppImage and Snap Palettes completely invisible and unusable in Ubuntu 18.04, using AppImage

We do Appimage only, snap is done elsewhere

I just compiled MuseScore 3.6.2 in Ubuntu Linux 18.04.
And I'm missing the palette. I managed to fix these messages by installing qtquickcontrols2-5-dev:

CMake Warning at build/FindQt5.cmake:42 (find_package):
By not providing "FindQt5QuickControls2.cmake" in CMAKE_MODULE_PATH this
project has asked CMake to find a package configuration file provided by
"Qt5QuickControls2", but CMake did not find one.

Could not find a package configuration file provided by "Qt5QuickControls2"
with any of the following names:

Qt5QuickControls2Config.cmake
qt5quickcontrols2-config.cmake

Add the installation prefix of "Qt5QuickControls2" to CMAKE_PREFIX_PATH or
set "Qt5QuickControls2_DIR" to a directory containing one of the above
files. If "Qt5QuickControls2" provides a separate development package or
SDK, be sure it has been installed.
Call Stack (most recent call first):
CMakeLists.txt:84 (include)

---------------------------------------------------------------------------------

But I'm not able to find a package to fix these messages, even with installing "libqt5quicktemplates2-5":

CMake Warning at build/FindQt5.cmake:42 (find_package):
By not providing "FindQt5QuickTemplates2.cmake" in CMAKE_MODULE_PATH this
project has asked CMake to find a package configuration file provided by
"Qt5QuickTemplates2", but CMake did not find one.

Could not find a package configuration file provided by
"Qt5QuickTemplates2" with any of the following names:

Qt5QuickTemplates2Config.cmake
qt5quicktemplates2-config.cmake

Add the installation prefix of "Qt5QuickTemplates2" to CMAKE_PREFIX_PATH or
set "Qt5QuickTemplates2_DIR" to a directory containing one of the above
files. If "Qt5QuickTemplates2" provides a separate development package or
SDK, be sure it has been installed.
Call Stack (most recent call first):

CMakeLists.txt:84 (include)

Any ideas?

Did you follow the developers'handbook and run

sudo apt-get install qtbase5-dev qttools5-dev qttools5-dev-tools qtwebengine5-dev \
qtscript5-dev libqt5xmlpatterns5-dev libqt5svg5-dev libqt5webkit5-dev

?

Maybe that handbook needs to get amended to mention qtquickcontrols2-5-dev and more?

Maybe grab the entire Qt dependencies in one go from here?

In reply to by Jojo-Schmitz

I just copied and pasted that into terminal and everything came up that it was already installed.
Is this only an Ubuntu 18.04 problem, and people have had more success with 20.04? If so, I have 20.04 on another computer and can try there.

In reply to by oscarcar

I'm thinking the build just needs to find the files but I'm not certain how the build works.
I think the files are here:
/usr/lib/x86_64-linux-gnu/libQt5QuickTemplates2.prl
/usr/lib/x86_64-linux-gnu/libQt5QuickTemplates2.so
/usr/lib/x86_64-linux-gnu/libQt5QuickTemplates2.so.5
/usr/lib/x86_64-linux-gnu/libQt5QuickTemplates2.so.5.9
/usr/lib/x86_64-linux-gnu/libQt5QuickTemplates2.so.5.9.5

And they are looked for in
build/FindQt5.cmake

When I fixed Qt5QuickControls2, I see there's a cmake file:
/usr/lib/x86_64-linux-gnu/cmake/Qt5QuickControls2Config.cmake
/usr/lib/x86_64-linux-gnu/cmake/Qt5QuickControls2ConfigVersion.cmake

In /usr/lib/x86_64-linux-gnu/cmake you can see plenty more similar:
DBus1
PulseAudio
Qt5
Qt5Concurrent
Qt5Core
Qt5DBus
Qt5Designer
Qt5Gui
Qt5Help
Qt5LinguistTools
Qt5Network
Qt5OpenGL
Qt5OpenGLExtensions
Qt5Positioning
Qt5PrintSupport
Qt5Qml
Qt5Quick
Qt5QuickControls2
Qt5QuickTest
Qt5QuickWidgets
Qt5Script
Qt5ScriptTools
Qt5Sql
Qt5Svg
Qt5Test
Qt5UiPlugin
Qt5UiTools
Qt5WebChannel
Qt5WebEngine
Qt5WebEngineCore
Qt5WebEngineWidgets
Qt5WebKit
Qt5WebKitWidgets
Qt5Widgets
Qt5Xml
Qt5XmlPatterns

But what's missing is
/usr/lib/x86_64-linux-gnu/cmake/Qt5QuickTemplates2

And I can't find any package that provides this, so I'm not sure where to go from here.

I went ahead and copied
/usr/lib/x86_64-linux-gnu/cmake/Qt5QuickControls2/Qt5QuickControls2Config.cmake
/usr/lib/x86_64-linux-gnu/cmake/Qt5QuickControls2/Qt5QuickControls2ConfigVersion.cmake

to

/usr/lib/x86_64-linux-gnu/cmake/Qt5QuickTemplates2/Qt5QuickTemplates2Config.cmake
/usr/lib/x86_64-linux-gnu/cmake/Qt5QuickTemplates2/Qt5QuickTemplates2ConfigVersion.cmake

And replaced all mentions "QuickControls2" with "QuickTemplates2". All make warnings went away.

But, I'm still missing the palette, and I think it's related to this error I get when I launch mscore.
qrc:/qml/palettes/PalettesWidget.qml:21:1: module "QtQuick.Controls" version 2.1 is not installed
qrc:/qml/palettes/PalettesWidget.qml:21:1: module "QtQuick.Controls" version 2.1 is not installed

Which is this line "import QtQuick.Controls 2.1" contained in mscore/qml/palettes/PalettesWidget.qml:
In file: PalettesWidget.xml
import QtQuick 2.8
import QtQuick.Controls 2.1
import QtQuick.Window 2.2
import MuseScore.Palette 3.3
import MuseScore.Utils 3.3

I tried changing to 2.0, since it looks like 2.0 might be installed (but not 2.1) in ubuntu, but then I still get an error (below).
Also one of the qml files (PaletteBackground.qml" actually lists "import QtQuick.Controls 2.0" which seems like maybe a mistake. I tried changing all references in all qml files from "import QtQuick.Controls 2.1" to "import QtQuick.Controls 2.0", but it didn't work.

Error after changing from 2.1 to 2.0:
qrc:/qml/palettes/PalettesWidget.qml:21:1: module "QtQuick.Controls" version 2.0 is not installed
qrc:/qml/palettes/PalettesWidget.qml:21:1: module "QtQuick.Controls" version 2.0 is not installed

So, it looks like eventhough make is not complaining about anything anymore, it can't find QtQuick.Controls, and probably explains why the palette is missing. And I don't think it's complaining about the version, but that it can't find it at runtime.

Got it!
final solution found here by woozl.1986:
https://musescore.org/en/node/21683#comment-1100844

qml-module-qtquick-controls2; qml-module-qtquick-window2; qml-module-qtquick2; qml-module-qtgraphicaleffects; qml-module-qtqml-models2

this was the one I seemed to be missing which is weird as I would have thought I would have found that one: qml-module-qtquick-controls2

I still think the above fix for "QT5QuickTemplates2" is probably needed to make the compile warnings go away, but I'm not sure what it impacts in runtime.

All is good. Hopefully someone finds this useful. I think my main problem was only installing the dev package and not the regular package. Duh.
I also installed all of these except one of them only exist in 20.04 so I didn't do that one but forget which one it was:

qml-module-qtquick2
qml-module-qtquick-templates2
qtdeclarative5-qtquick2-plugin
qml-module-qtquick-shapes
libqt5quickcontrols2-5
qtquickcontrols2-5-doc
qml-module-qtquick-extras
qml-module-qtquick-layouts
qtquickcontrols2-5-dev
qtquickcontrols2-5-doc-html
qml-module-qtquick-scene2d

In reply to by Jojo-Schmitz

I think so. I also only just now noticed your aws link you posted earlier (was looking at in my phone the first time and didn't notice). Although, I'm not sure what to use for ${qt_version} in that link. Maybe there's answers in there if I could download. My Templates2 thing was definitely kind of a hack, so maybe there's a better method for that but I couldn't find it.

Fix version
3.3.1