Yeah, I finally got to test QLC+5
To my defence: I have 0 experience with or knowledge about QML so bear with me if I made something simple plain wrong.
Environment: Gentoo Linux with Qt 5.9.4 (QML and Qt3D installed): https://gist.github.com/kripton/da1691e ... 2a88b5b987 (The "Installed version:" lines are relevant). I also have QLC+ 4.11.1 installed in /usr. That's why I'm using LD_PRELOAD to prefer the libraries from the local directory. They seem to resolve correctly: https://gist.github.com/kripton/075888d ... 8615c92821
However, the result is not what I expected. The icons seem to overlap and the text is unreadable. The UI is usable when you know where to click:
Startup output is here: https://gist.github.com/kripton/4ba8382 ... 17edb6fc4f
Is there any way to tell QLC+ where to look for plugins? Could it be that it loads an incompatible plugin from the QLC+ 4 directory?
Thanks for any help
Icons + Text overlap / not readable
- mcallegari
- Posts: 4548
- Joined: Sun Apr 12, 2015 9:09 am
- Location: Italy
- Real Name: Massimo Callegari
- Contact:
Icons have nothing to do with IO plugins.
What screen resolution do you have ? What is the DPI rate printed at qlcplus-qml startup ?
E.g: Pixel density: 5.57419 size: QSizeF(344, 194)
What screen resolution do you have ? What is the DPI rate printed at qlcplus-qml startup ?
E.g: Pixel density: 5.57419 size: QSizeF(344, 194)
- mcallegari
- Posts: 4548
- Joined: Sun Apr 12, 2015 9:09 am
- Location: Italy
- Real Name: Massimo Callegari
- Contact:
Ok, thanks.
In your startup log, there seems to be something I've never seen in my environments:
I think that's the cause of all evil.
QLC+ 5 doesn't use libqlcplusui or libqlcpluswebaccess so there's no need to LD_PRELOAD them. It's just qlcplus-qml + libqlcplusengine.
Can you do the same LD_PRELOAD (or LD_LIBRARY_PATH) with my bundle ?
AppImage has an option (--appimage-extract) that will extract the contents into a squashfs-root folder. Please try to load that and see if the look is correct.
In your startup log, there seems to be something I've never seen in my environments:
Code: Select all
Both point size and pixel size set. Using pixel size.
QLC+ 5 doesn't use libqlcplusui or libqlcpluswebaccess so there's no need to LD_PRELOAD them. It's just qlcplus-qml + libqlcplusengine.
Can you do the same LD_PRELOAD (or LD_LIBRARY_PATH) with my bundle ?
AppImage has an option (--appimage-extract) that will extract the contents into a squashfs-root folder. Please try to load that and see if the look is correct.
- kripton
- Posts: 42
- Joined: Tue Sep 29, 2015 7:01 pm
- Real Name: Jannis
Extracting the AppImage is a good idea, I was not aware that this is possible. I tried with ark but it refused to open the file.
I had to LD_PRELOAD the libqlcplusengine (obviously) and all of the Qt5 libraries in the AppImage becuase I had symbol errors otherwise
However, with all Qt5 preloaded, the UI opens and displays correctly. Pixel density line is identical but the "Both point size and pixel size set. Using pixel size." line is no longer there.
Any ideas on how to proceed? Building QLC+ 5 with specific options or against Qt4?
I had to LD_PRELOAD the libqlcplusengine (obviously) and all of the Qt5 libraries in the AppImage becuase I had symbol errors otherwise
or crashes:kripton@momo ~/dmx/squashfs-root $ LD_PRELOAD=/home/kripton/dmx/squashfs-root/usr/lib/libqlcplusengine.so.1.0.0 ./AppRun
qlcplus-qml: relocation error: /home/kripton/dmx/squashfs-root/usr/lib/libQt5XcbQpa.so.5: symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference
(= SEGFAULT)kripton@momo ~/dmx/squashfs-root $ LD_PRELOAD="/home/kripton/dmx/squashfs-root/usr/lib/libQt5Core.so.5 /home/kripton/dmx/squashfs-root/usr/lib/libqlcplusengine.so.1.0.0" ./AppRun
Speicherzugriffsfehler
However, with all Qt5 preloaded, the UI opens and displays correctly. Pixel density line is identical but the "Both point size and pixel size set. Using pixel size." line is no longer there.
Any ideas on how to proceed? Building QLC+ 5 with specific options or against Qt4?
- mcallegari
- Posts: 4548
- Joined: Sun Apr 12, 2015 9:09 am
- Location: Italy
- Real Name: Massimo Callegari
- Contact:
You don't need to LD_PRELOAD everything.
Just use LD_LIBRARY_PATH. It will give precedence to the bundle libraries over your system paths.
Qt4 is not even close to what QLC+ 5 requires. So no, it won't work.
Qt5 QML-based app deployment is new for me too, so I can't really explain why you had the pixel size message.
In your case (Gentoo) I'd try to build QLC+ with the official Qt libraries (like I did) instead of the system ones.
Just invoke "qmake CONFIG+=qmlui" with the absolute path of where you installed Qt.
Please let me know if that works. If it does, then Gentoo is still the inconsistent distro it was used to be 10 years ago when I had the bad idea to adopt it.
Just use LD_LIBRARY_PATH. It will give precedence to the bundle libraries over your system paths.
Qt4 is not even close to what QLC+ 5 requires. So no, it won't work.
Qt5 QML-based app deployment is new for me too, so I can't really explain why you had the pixel size message.
In your case (Gentoo) I'd try to build QLC+ with the official Qt libraries (like I did) instead of the system ones.
Just invoke "qmake CONFIG+=qmlui" with the absolute path of where you installed Qt.
Please let me know if that works. If it does, then Gentoo is still the inconsistent distro it was used to be 10 years ago when I had the bad idea to adopt it.
- kripton
- Posts: 42
- Joined: Tue Sep 29, 2015 7:01 pm
- Real Name: Jannis
Hm, using LD_LIBRARY_PATH doesn't prefer the folders specified before the system libraries:
I'll try to build QLC+5 QML using the official Qt5 libraries tomorrow evening and report back how it went.
Thank you very much for the patient help
So you can see that the system library of libqlcplusengine is used although the one in the LD_LIBRARY_PATH is the correct one.kripton@momo ~/dmx/squashfs-root $ ls usr/lib/libqlcplusengine.so*
usr/lib/libqlcplusengine.so usr/lib/libqlcplusengine.so.1 usr/lib/libqlcplusengine.so.1.0 usr/lib/libqlcplusengine.so.1.0.0
kripton@momo ~/dmx/squashfs-root $ objdump -T usr/lib/libqlcplusengine.so.1.0.0 | grep ZN17MonitorProperties16staticMetaObject
0000000000383bc0 g DO .data.rel.ro 0000000000000030 Base _ZN17MonitorProperties16staticMetaObjectE
kripton@momo ~/dmx/squashfs-root $ LD_LIBRARY_PATH=usr/lib/ ldd usr/bin/qlcplus-qml
linux-vdso.so.1 (0x00007ffcb63eb000)
libqlcplusengine.so.1 => /usr/lib/libqlcplusengine.so.1 (0x00007f8a0797b000)
,,,
kripton@momo ~/dmx/squashfs-root $ LD_LIBRARY_PATH=usr/lib/ usr/bin/qlcplus-qml
usr/bin/qlcplus-qml: symbol lookup error: usr/bin/qlcplus-qml: undefined symbol: _ZN17MonitorProperties16staticMetaObjectE
I'll try to build QLC+5 QML using the official Qt5 libraries tomorrow evening and report back how it went.
Thank you very much for the patient help
- kripton
- Posts: 42
- Joined: Tue Sep 29, 2015 7:01 pm
- Real Name: Jannis
Ok, I've built QLC+ 5 alpha 1 against Qt 5.9.4 as downloaded and installed from the web (so not the system libraries).
I've then LD_PRELOADed libqlcplusengine and ran the QML UI. Result: Looks okay, no overlapping.
So, obviously not QLC+'s fault and I'll have to create a QML test case as small as possible to demonstrate and report Gentoo's strange behaviour.
I'll keep you updated on the root cause as soon as I found it ...
I've then LD_PRELOADed libqlcplusengine and ran the QML UI. Result: Looks okay, no overlapping.
So, obviously not QLC+'s fault and I'll have to create a QML test case as small as possible to demonstrate and report Gentoo's strange behaviour.
I'll keep you updated on the root cause as soon as I found it ...
-
- Posts: 20
- Joined: Wed Jun 01, 2016 3:43 pm
- Real Name:
Did you found why it did not work ?
I have the same problem with my installation of ArchLinux, so it's not specific to Gentoo.
Every time I build the app, I get these overlapping buttons, which work (you can see it in https://pe.ertu.be/videos/watch/436d948 ... 9d54f4d84f), but is really annoying.
I have the same problem with my installation of ArchLinux, so it's not specific to Gentoo.
Every time I build the app, I get these overlapping buttons, which work (you can see it in https://pe.ertu.be/videos/watch/436d948 ... 9d54f4d84f), but is really annoying.
- mcallegari
- Posts: 4548
- Joined: Sun Apr 12, 2015 9:09 am
- Location: Italy
- Real Name: Massimo Callegari
- Contact:
QLC+ 5 requires at least Qt 5.10.x, as written in the GitHub wiki.
Shortly, it will require Qt 5.11.x
Shortly, it will require Qt 5.11.x
-
- Posts: 20
- Joined: Wed Jun 01, 2016 3:43 pm
- Real Name:
Oops, I didn't include enough information, I think.
I am running an up to date ArchLinux (it's a rolling release distrib, there is no version of Arch), and compiling and running it with Qt 5.11.2.
And I still get that "Both point size and pixel size set. Using pixel size." line in the logs.
It seems like Arch and Gentoo share the same packaging bug.
@kripton did the Gentoo team fixed that problem or not ? Did they found why this problem occurs ?
I am running an up to date ArchLinux (it's a rolling release distrib, there is no version of Arch), and compiling and running it with Qt 5.11.2.
And I still get that "Both point size and pixel size set. Using pixel size." line in the logs.
It seems like Arch and Gentoo share the same packaging bug.
@kripton did the Gentoo team fixed that problem or not ? Did they found why this problem occurs ?
- edogawa
- Posts: 584
- Joined: Thu May 07, 2015 10:34 am
- Real Name: Edgar Aichinger
I've seen this happening with a self built QLC5 on openSUSE, using the system Qt5, too...
The AppImage does not show that behaviour.
So to me it seems not to be a "packaging bug" per se, but rather something all distros change for their Qt5 packages?
The AppImage does not show that behaviour.
So to me it seems not to be a "packaging bug" per se, but rather something all distros change for their Qt5 packages?
- kripton
- Posts: 42
- Joined: Tue Sep 29, 2015 7:01 pm
- Real Name: Jannis
Mh, I don't think that anyone from the Gentoo crew worked on it. I tried to compile QLC+ 5 Alpha3 and master against the latest Qt shipped for Gentoo (5.11.2) but both fail to compile:nilsvanzuijlen wrote: ↑Sat Nov 03, 2018 5:56 pm @kripton did the Gentoo team fixed that problem or not ? Did they found why this problem occurs ?
Code: Select all
Project MESSAGE: COLORFILTERSDIR: share/qlcplus/colorfilters
Project MESSAGE: Qt install prefix: /usr
Project MESSAGE: Qt install libs: /usr/lib64
Project MESSAGE: Linux libs dir: /usr/lib64
Project MESSAGE: Linux plugins dir: /usr/lib64/qt5/plugins/qlcplus
g++ -c -pipe -Werror -Wno-unused-local-typedefs -g -Wall -W -D_REENTRANT -fPIC -DQMLUI -DQT_3DQUICKEXTRAS_LIB -DQT_3DQUICK_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_MULTIMEDIAWIDGETS_LIB -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_3DEXTRAS_LIB -DQT_3DRENDER_LIB -DQT_3DINPUT_LIB -DQT_3DLOGIC_LIB -DQT_3DCORE_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../engine/src -I../engine/audio/src -Ivirtualconsole -Itardis -I../plugins/interfaces -isystem /usr/include/qt5 -isystem /usr/include/qt5/Qt3DQuickExtras -isystem /usr/include/qt5/Qt3DQuick -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtSvg -isystem /usr/include/qt5/QtMultimediaWidgets -isystem /usr/include/qt5/QtPrintSupport -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtMultimedia -isystem /usr/include/qt5/Qt3DExtras -isystem /usr/include/qt5/Qt3DRender -isystem /usr/include/qt5/Qt3DInput -isystem /usr/include/qt5/Qt3DLogic -isystem /usr/include/qt5/Qt3DCore -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -isystem /usr/include/qt5/QtCore -I. -isystem /usr/include/libdrm -I/usr/lib64/qt5/mkspecs/linux-g++ -o fixturemanager.o fixturemanager.cpp
fixturemanager.cpp: In member function 'QDir FixtureManager::systemColorFiltersDirectory()':
fixturemanager.cpp:1312:45: error: 'COLORFILTERSDIR' was not declared in this scope
return QLCFile::systemDirectory(QString(COLORFILTERSDIR), QString(KExtColorFilters));
^~~~~~~~~~~~~~~
fixturemanager.cpp:1312:45: note: suggested alternative: 'COLORFILTERS_H'
return QLCFile::systemDirectory(QString(COLORFILTERSDIR), QString(KExtColorFilters));
^~~~~~~~~~~~~~~
COLORFILTERS_H
fixturemanager.cpp: In member function 'QDir FixtureManager::userColorFiltersDirectory()':
fixturemanager.cpp:1317:43: error: 'USERCOLORFILTERSDIR' was not declared in this scope
return QLCFile::userDirectory(QString(USERCOLORFILTERSDIR), QString(COLORFILTERSDIR),
^~~~~~~~~~~~~~~~~~~
fixturemanager.cpp:1317:43: note: suggested alternative: 'COLORFILTERS_H'
return QLCFile::userDirectory(QString(USERCOLORFILTERSDIR), QString(COLORFILTERSDIR),
^~~~~~~~~~~~~~~~~~~
COLORFILTERS_H
fixturemanager.cpp:1317:73: error: 'COLORFILTERSDIR' was not declared in this scope
return QLCFile::userDirectory(QString(USERCOLORFILTERSDIR), QString(COLORFILTERSDIR),
^~~~~~~~~~~~~~~
fixturemanager.cpp:1317:73: note: suggested alternative: 'COLORFILTERS_H'
return QLCFile::userDirectory(QString(USERCOLORFILTERSDIR), QString(COLORFILTERSDIR),
^~~~~~~~~~~~~~~
COLORFILTERS_H
make[1]: *** [Makefile:2465: fixturemanager.o] Error 1
make[1]: Leaving directory '/home/kripton/dmx/qlcplus/qmlui'
make: *** [Makefile:136: sub-qmlui-make_first-ordered] Error 2
- mcallegari
- Posts: 4548
- Joined: Sun Apr 12, 2015 9:09 am
- Location: Italy
- Real Name: Massimo Callegari
- Contact:
Did you add CONFIG+=qmlui to qmake as indicated in the GitHub wiki ? https://github.com/mcallegari/qlcplus/w ... uild-HOWTO
- kripton
- Posts: 42
- Joined: Tue Sep 29, 2015 7:01 pm
- Real Name: Jannis
Yes, I did. This morning, I cloned to a fresh directory and now the compilation works. Seems to be some leftovers from the old compilation that broke it.mcallegari wrote: ↑Mon Nov 05, 2018 9:51 pm Did you add CONFIG+=qmlui to qmake as indicated in the GitHub wiki ? https://github.com/mcallegari/qlcplus/w ... uild-HOWTO
However, the overlapping buttons are still there
-
- Posts: 20
- Joined: Wed Jun 01, 2016 3:43 pm
- Real Name:
I think I found out why there is that "Both point size and pixel size set. Using pixel size." message.
In qmlui/qml/popup/PopupDisclaimer.qml, you use both `font.pixelSize` and `font.pointSize`.
As documented there, "If both pointSize and a pixelSize are specified, pixelSize will be used."
So, I tested if that was the problem by changing the `pointSize` to `pixelSize` and setting the value to `UISettings.iconSizeDefault` because they are icons.
It improved the way the warning message looks (it's still bugged, but it's better, see attached screenshot) but I still get the "point and pixel size" message, maybe from another place.
PS: Can you confirm that the files in the `ui` folder are not used by QLC+5 ? There are some `pointSize` in there too.
--EDIT--
Added a second screenshot, where it behaved better than the first.
In qmlui/qml/popup/PopupDisclaimer.qml, you use both `font.pixelSize` and `font.pointSize`.
As documented there, "If both pointSize and a pixelSize are specified, pixelSize will be used."
So, I tested if that was the problem by changing the `pointSize` to `pixelSize` and setting the value to `UISettings.iconSizeDefault` because they are icons.
It improved the way the warning message looks (it's still bugged, but it's better, see attached screenshot) but I still get the "point and pixel size" message, maybe from another place.
PS: Can you confirm that the files in the `ui` folder are not used by QLC+5 ? There are some `pointSize` in there too.
--EDIT--
Added a second screenshot, where it behaved better than the first.
- kripton
- Posts: 42
- Joined: Tue Sep 29, 2015 7:01 pm
- Real Name: Jannis
I've got a very interesting twists on this one: I compiled QLC+ 5 Alpha 3 as regular user against Qt 5.12.4 as shipped with my Gentoo installation.
When I run it as this very user, I still have the problem with the overlapping images/labels.
When I run the same program as root, everything is fine.
So it's not an issue of the Qt installation but more like a problem with some setting, probably related to KDE as well?
I'll keep on investigating this
When I run it as this very user, I still have the problem with the overlapping images/labels.
When I run the same program as root, everything is fine.
So it's not an issue of the Qt installation but more like a problem with some setting, probably related to KDE as well?
I'll keep on investigating this
- kripton
- Posts: 42
- Joined: Tue Sep 29, 2015 7:01 pm
- Real Name: Jannis
As an alternative, what also helps instead is to set export QT_QPA_PLATFORMTHEME=gtk3.
Additional info:
When QLC+ looks broken (no env variables set), I have these additional errors in the console:
So that seems totally related to KDE and KDE's Qt-(theme-)configuration messing up QML ....
I'm happy with the workaround and happy to be able to finally use QLC+ 5 without having to use the binary Qt downloaded from their website
Additional info:
When QLC+ looks broken (no env variables set), I have these additional errors in the console:
Code: Select all
Refresh 2D view...
file:///usr/lib64/qt5/qml/QtQuick/Controls.2/org.kde.desktop/ComboBox.qml:178: TypeError: Type error
file:///usr/lib64/qt5/qml/QtQuick/Controls.2/org.kde.desktop/ComboBox.qml:178: TypeError: Type error
file:///usr/lib64/qt5/qml/QtQuick/Controls.2/org.kde.desktop/ComboBox.qml:178: TypeError: Type error
file:///usr/lib64/qt5/qml/QtQuick/Controls.2/org.kde.desktop/private/MobileTextActionsToolBar.qml:62: TypeError: Cannot read property 'selectedText' of null
file:///usr/lib64/qt5/qml/QtQuick/Controls.2/org.kde.desktop/private/MobileTextActionsToolBar.qml:70: TypeError: Cannot read property 'selectedText' of null
file:///usr/lib64/qt5/qml/QtQuick/Controls.2/org.kde.desktop/private/MobileTextActionsToolBar.qml:78: TypeError: Cannot read property 'canPaste' of null
OpenGL version: 4 5
I'm happy with the workaround and happy to be able to finally use QLC+ 5 without having to use the binary Qt downloaded from their website
-
- Posts: 1
- Joined: Tue Mar 14, 2023 9:52 pm
- Real Name: Chris Halls
Hello, this problem also affects current Debian (11 / Bullseye) with KDE desktop and qlcplus current master (5.0.0 beta2+git)
I can confirm that this workaround works for me too:
The other suggestion QT_QPA_PLATFORMTHEME=gtk3 does not work for me.
I get similar error messages too:
I can confirm that this workaround works for me too:
Code: Select all
XDG_CURRENT_DESKTOP=GNOME qlcplus-qml
I get similar error messages too:
Code: Select all
Refresh 2D view...
file:///usr/lib/x86_64-linux-gnu/qt5/qml/QtQuick/Controls.2/org.kde.desktop/Dialog.qml:23: TypeError: Cannot read property 'implicitHeight' of null
file:///usr/lib/x86_64-linux-gnu/qt5/qml/QtQuick/Controls.2/org.kde.desktop/Dialog.qml:23: TypeError: Cannot read property 'implicitHeight' of null
OpenGL version: 4 6