Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Export Qt wayland plugins #160

Open
oyvindln opened this issue Feb 23, 2024 · 4 comments
Open

Export Qt wayland plugins #160

oyvindln opened this issue Feb 23, 2024 · 4 comments

Comments

@oyvindln
Copy link

The plugin currently only exports Qt plugins for X11. Distributions are now moving towards Wayland as default so it would be nice if there was at least an optional setting for also exporting the needed Qt wayland platform plugins to run natively on wayland instead of having to run the appimage via xwayland. Just adding them as EXTRA_PLATFORM_PLUGINS does not seem to add all the needed files.

PR #157 may solve this but not sure.

@mdear
Copy link

mdear commented Feb 23, 2024

I am also aiming to package for Wayland / Weston. I create a packaging VM using Yocto Poky Kirkstone Linux and explicitly remove X11 collateral and explicitly add Wayland / Weston collateral in my $POKY_ROOT/build/conf/local.conf prior to launching a build. I'm building against target qemuarm64 and running under QEMU emulation from an x86_64 packaging VM. The VM comes up with a standard Weston desktop where I can launch a terminal and move it around with my mouse.

Here are some hints to get you started:

Add the following lines to your local.conf, remove all content under cache* and tmp in your build directory and bitbake a fresh binary.

DISTRO_FEATURES:remove = "x11"
DISTRO_FEATURES:append = " wayland"
PACKAGECONFIG:remove:pn-qtbase = "x11"
PACKAGECONFIG:append:pn-qtbase = " wayland"

Also, since we're using the commercial license, there are a few more steps to include the commercial FFMPEG collateral.

With all that said, I'm also seeing evidence that plugins for Wayland, even when made available in the underlying build system, are not making their way into the AppImage. Since my neck is on the line for this, I'll tinker and try to get a PR that will extend the tool. I'll also take a look at the PR you mentioned. Wish me luck !

@SushiTee
Copy link
Contributor

PR #157 may solve this but not sure.

It does for me. I'm not sure though if this is the best solution. It would be nice if there was a way to simply tell linuxdeploy which directories from the plugins directory to deploy instead of connecting it to the actual plugin names of Qt.

@mdear
Copy link

mdear commented Feb 23, 2024

For the record, here's what I get when I run the AppImage (Dice 3D/physics example that ships with Qt6) on a freshly rebooted CrossControl v700 device (i.MX8DualXPlus ARMv8 aarch64 platform):

root@v700:/home/ccs/Downloads# export QT_QPA_PLATFORM=wayland
root@v700:/home/ccs/Downloads# ./Dice-aarch64.AppImage
qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Aborted
root@v700:/home/ccs/Downloads#

On my platform, the westin user has id 1000
export XDG_RUNTIME_DIR=/run/user/1000

The toolchain works as shown below, without me setting the following line:
export EXTRA_PLATFORM_PLUGINS="libqwayland-egl.so libqwayland-generic.so"

When I specify the extra plugins, I get the following error:
ERROR: Cannot deploy non-existing library file: /usr/lib/plugins/platforms/libqwayland-egl.so libqwayland-generic.so

even though the files are actually available:

root@qemuarm64:/home/ccs/Qt/Projects/CortexBuilds/bin# ls /usr/lib/plugins/platforms
libqeglfs.so  libqminimalegl.so  libqminimal.so  libqoffscreen.so  libqvkkhrdisplay.so	libqvnc.so  libqwayland-egl.so	libqwayland-generic.so	libqxcb.so

Here's the file structure created by the linuxdeploy toolchain with qt input plugin and appimage output plugin : Note the conspicuous absence of content in the /usr/plugins/platforms portion of the tree :

.
├── AppRun
├── apprun-hooks
│   └── linuxdeploy-plugin-qt-hook.sh
├── AppRun.wrapped -> usr/bin/dice
├── dice.desktop -> usr/share/applications/dice.desktop
├── dice.png -> usr/share/icons/hicolor/160x160/apps/dice.png
└── usr
    ├── bin
    │   ├── dice
    │   └── qt.conf
    ├── lib
    │   ├── libavcodec.so.59
    │   ├── libavformat.so.59
    │   ├── libavutil.so.57
    │   ├── libbz2.so.1
    │   ├── libdbus-1.so.3
    │   ├── libffi.so.8
    │   ├── libFLAC.so.8
    │   ├── libGLESv2.so.2
    │   ├── libglib-2.0.so.0
    │   ├── libgmodule-2.0.so.0
    │   ├── libgobject-2.0.so.0
    │   ├── libgstallocators-1.0.so.0
    │   ├── libgstapp-1.0.so.0
    │   ├── libgstaudio-1.0.so.0
    │   ├── libgstbase-1.0.so.0
    │   ├── libgstgl-1.0.so.0
    │   ├── libgstpbutils-1.0.so.0
    │   ├── libgstphotography-1.0.so.0
    │   ├── libgstreamer-1.0.so.0
    │   ├── libgsttag-1.0.so.0
    │   ├── libgstvideo-1.0.so.0
    │   ├── libicudata.so.70
    │   ├── libicui18n.so.70
    │   ├── libicuuc.so.70
    │   ├── libjpeg.so.62
    │   ├── liblzma.so.5
    │   ├── libogg.so.0
    │   ├── liborc-0.4.so.0
    │   ├── libpcre2-16.so.0
    │   ├── libpcre.so.1
    │   ├── libpng16.so.16
    │   ├── libpulsecommon-15.0.so
    │   ├── libpulse.so.0
    │   ├── libQt6Core.so.6
    │   ├── libQt6DBus.so.6
    │   ├── libQt6Gui.so.6
    │   ├── libQt6LabsFolderListModel.so.6
    │   ├── libQt6LabsQmlModels.so.6
    │   ├── libQt6MultimediaQuick.so.6
    │   ├── libQt6Multimedia.so.6
    │   ├── libQt6Network.so.6
    │   ├── libQt6OpenGL.so.6
    │   ├── libQt6QmlCore.so.6
    │   ├── libQt6QmlLocalStorage.so.6
    │   ├── libQt6QmlModels.so.6
    │   ├── libQt6Qml.so.6
    │   ├── libQt6QmlWorkerScript.so.6
    │   ├── libQt6QmlXmlListModel.so.6
    │   ├── libQt6Quick3DAssetImport.so.6
    │   ├── libQt6Quick3DAssetUtils.so.6
    │   ├── libQt6Quick3DEffects.so.6
    │   ├── libQt6Quick3DHelpersImpl.so.6
    │   ├── libQt6Quick3DHelpers.so.6
    │   ├── libQt6Quick3DParticleEffects.so.6
    │   ├── libQt6Quick3DParticles.so.6
    │   ├── libQt6Quick3DPhysicsHelpers.so.6
    │   ├── libQt6Quick3DPhysics.so.6
    │   ├── libQt6Quick3DRuntimeRender.so.6
    │   ├── libQt6Quick3D.so.6
    │   ├── libQt6Quick3DSpatialAudio.so.6
    │   ├── libQt6Quick3DUtils.so.6
    │   ├── libQt6QuickControls2Impl.so.6
    │   ├── libQt6QuickControls2.so.6
    │   ├── libQt6QuickDialogs2QuickImpl.so.6
    │   ├── libQt6QuickDialogs2.so.6
    │   ├── libQt6QuickDialogs2Utils.so.6
    │   ├── libQt6QuickEffects.so.6
    │   ├── libQt6QuickLayouts.so.6
    │   ├── libQt6QuickParticles.so.6
    │   ├── libQt6QuickShapes.so.6
    │   ├── libQt6Quick.so.6
    │   ├── libQt6QuickTemplates2.so.6
    │   ├── libQt6QuickTest.so.6
    │   ├── libQt6QuickTimeline.so.6
    │   ├── libQt6SensorsQuick.so.6
    │   ├── libQt6Sensors.so.6
    │   ├── libQt6ShaderTools.so.6
    │   ├── libQt6SpatialAudio.so.6
    │   ├── libQt6Sql.so.6
    │   ├── libQt6Test.so.6
    │   ├── libQt6WaylandCompositor.so.6
    │   ├── libsensorsquickplugin.so
    │   ├── libsndfile.so.1
    │   ├── libswresample.so.4
    │   ├── libswscale.so.6
    │   ├── libtheoradec.so.1
    │   ├── libtheoraenc.so.1
    │   ├── libvorbisenc.so.2
    │   ├── libvorbis.so.0
    │   ├── libwayland-client.so.0
    │   ├── libwayland-cursor.so.0
    │   ├── libwayland-egl.so.1
    │   ├── libwayland-server.so.0
    │   ├── libxkbcommon.so.0
    │   └── libzstd.so.1
    ├── plugins
    │   ├── imageformats
    │   │   ├── libqgif.so
    │   │   ├── libqico.so
    │   │   └── libqjpeg.so
    │   ├── multimedia
    │   │   ├── libffmpegmediaplugin.so
    │   │   └── libgstreamermediaplugin.so
    │   ├── platforminputcontexts
    │   │   ├── libcomposeplatforminputcontextplugin.so
    │   │   └── libibusplatforminputcontextplugin.so
    │   ├── platforms
    │   │   └── libqxcb.so
    │   ├── platformthemes
    │   │   └── libqxdgdesktopportal.so
    │   └── tls
    │       ├── libqcertonlybackend.so
    │       └── libqopensslbackend.so
    ├── qml
    │   ├── Qt
    │   │   └── labs
    │   │       ├── folderlistmodel
    │   │       │   ├── libqmlfolderlistmodelplugin.so
    │   │       │   └── qmldir
    │   │       └── qmlmodels
    │   │           ├── liblabsmodelsplugin.so
    │   │           └── qmldir
    │   ├── QtCore
    │   │   ├── libqtqmlcoreplugin.so
    │   │   └── qmldir
    │   ├── QtMultimedia
    │   │   ├── libquickmultimediaplugin.so
    │   │   ├── qmldir
    │   │   └── Video.qml
    │   ├── QtQml
    │   │   ├── Base
    │   │   │   ├── libqmlplugin.so
    │   │   │   └── qmldir
    │   │   ├── libqmlmetaplugin.so
    │   │   ├── Models
    │   │   │   ├── libmodelsplugin.so
    │   │   │   └── qmldir
    │   │   ├── qmldir
    │   │   ├── WorkerScript
    │   │   │   ├── libworkerscriptplugin.so
    │   │   │   └── qmldir
    │   │   └── XmlListModel
    │   │       ├── libqmlxmllistmodelplugin.so
    │   │       └── qmldir
    │   ├── QtQuick
    │   │   ├── Controls
    │   │   │   ├── Basic
    │   │   │   │   ├── AbstractButton.qml
    │   │   │   │   ├── ActionGroup.qml
    │   │   │   │   ├── Action.qml
    │   │   │   │   ├── ApplicationWindow.qml
    │   │   │   │   ├── BusyIndicator.qml
    │   │   │   │   ├── ButtonGroup.qml
    │   │   │   │   ├── Button.qml
    │   │   │   │   ├── CalendarModel.qml
    │   │   │   │   ├── Calendar.qml
    │   │   │   │   ├── CheckBox.qml
    │   │   │   │   ├── CheckDelegate.qml
    │   │   │   │   ├── ComboBox.qml
    │   │   │   │   ├── Container.qml
    │   │   │   │   ├── Control.qml
    │   │   │   │   ├── DayOfWeekRow.qml
    │   │   │   │   ├── DelayButton.qml
    │   │   │   │   ├── DialogButtonBox.qml
    │   │   │   │   ├── Dialog.qml
    │   │   │   │   ├── Dial.qml
    │   │   │   │   ├── Drawer.qml
    │   │   │   │   ├── Frame.qml
    │   │   │   │   ├── GroupBox.qml
    │   │   │   │   ├── HorizontalHeaderView.qml
    │   │   │   │   ├── impl
    │   │   │   │   │   ├── libqtquickcontrols2basicstyleimplplugin.so
    │   │   │   │   │   └── qmldir
    │   │   │   │   ├── ItemDelegate.qml
    │   │   │   │   ├── Label.qml
    │   │   │   │   ├── libqtquickcontrols2basicstyleplugin.so
    │   │   │   │   ├── MenuBarItem.qml
    │   │   │   │   ├── MenuBar.qml
    │   │   │   │   ├── MenuItem.qml
    │   │   │   │   ├── Menu.qml
    │   │   │   │   ├── MenuSeparator.qml
    │   │   │   │   ├── MonthGrid.qml
    │   │   │   │   ├── PageIndicator.qml
    │   │   │   │   ├── Page.qml
    │   │   │   │   ├── Pane.qml
    │   │   │   │   ├── Popup.qml
    │   │   │   │   ├── ProgressBar.qml
    │   │   │   │   ├── qmldir
    │   │   │   │   ├── RadioButton.qml
    │   │   │   │   ├── RadioDelegate.qml
    │   │   │   │   ├── RangeSlider.qml
    │   │   │   │   ├── RoundButton.qml
    │   │   │   │   ├── ScrollBar.qml
    │   │   │   │   ├── ScrollIndicator.qml
    │   │   │   │   ├── ScrollView.qml
    │   │   │   │   ├── SelectionRectangle.qml
    │   │   │   │   ├── Slider.qml
    │   │   │   │   ├── SpinBox.qml
    │   │   │   │   ├── SplitView.qml
    │   │   │   │   ├── StackView.qml
    │   │   │   │   ├── SwipeDelegate.qml
    │   │   │   │   ├── SwipeView.qml
    │   │   │   │   ├── SwitchDelegate.qml
    │   │   │   │   ├── Switch.qml
    │   │   │   │   ├── TabBar.qml
    │   │   │   │   ├── TabButton.qml
    │   │   │   │   ├── TextArea.qml
    │   │   │   │   ├── TextField.qml
    │   │   │   │   ├── ToolBar.qml
    │   │   │   │   ├── ToolButton.qml
    │   │   │   │   ├── ToolSeparator.qml
    │   │   │   │   ├── ToolTip.qml
    │   │   │   │   ├── TreeViewDelegate.qml
    │   │   │   │   ├── Tumbler.qml
    │   │   │   │   ├── VerticalHeaderView.qml
    │   │   │   │   └── WeekNumberColumn.qml
    │   │   │   ├── Fusion
    │   │   │   │   ├── ApplicationWindow.qml
    │   │   │   │   ├── BusyIndicator.qml
    │   │   │   │   ├── Button.qml
    │   │   │   │   ├── CheckBox.qml
    │   │   │   │   ├── CheckDelegate.qml
    │   │   │   │   ├── ComboBox.qml
    │   │   │   │   ├── DelayButton.qml
    │   │   │   │   ├── DialogButtonBox.qml
    │   │   │   │   ├── Dialog.qml
    │   │   │   │   ├── Dial.qml
    │   │   │   │   ├── Drawer.qml
    │   │   │   │   ├── Frame.qml
    │   │   │   │   ├── GroupBox.qml
    │   │   │   │   ├── HorizontalHeaderView.qml
    │   │   │   │   ├── impl
    │   │   │   │   │   ├── ButtonPanel.qml
    │   │   │   │   │   ├── CheckIndicator.qml
    │   │   │   │   │   ├── libqtquickcontrols2fusionstyleimplplugin.so
    │   │   │   │   │   ├── qmldir
    │   │   │   │   │   ├── RadioIndicator.qml
    │   │   │   │   │   ├── SliderGroove.qml
    │   │   │   │   │   ├── SliderHandle.qml
    │   │   │   │   │   └── SwitchIndicator.qml
    │   │   │   │   ├── ItemDelegate.qml
    │   │   │   │   ├── Label.qml
    │   │   │   │   ├── libqtquickcontrols2fusionstyleplugin.so
    │   │   │   │   ├── MenuBarItem.qml
    │   │   │   │   ├── MenuBar.qml
    │   │   │   │   ├── MenuItem.qml
    │   │   │   │   ├── Menu.qml
    │   │   │   │   ├── MenuSeparator.qml
    │   │   │   │   ├── PageIndicator.qml
    │   │   │   │   ├── Page.qml
    │   │   │   │   ├── Pane.qml
    │   │   │   │   ├── Popup.qml
    │   │   │   │   ├── ProgressBar.qml
    │   │   │   │   ├── qmldir
    │   │   │   │   ├── RadioButton.qml
    │   │   │   │   ├── RadioDelegate.qml
    │   │   │   │   ├── RangeSlider.qml
    │   │   │   │   ├── RoundButton.qml
    │   │   │   │   ├── ScrollBar.qml
    │   │   │   │   ├── ScrollIndicator.qml
    │   │   │   │   ├── ScrollView.qml
    │   │   │   │   ├── SelectionRectangle.qml
    │   │   │   │   ├── Slider.qml
    │   │   │   │   ├── SpinBox.qml
    │   │   │   │   ├── SplitView.qml
    │   │   │   │   ├── SwipeDelegate.qml
    │   │   │   │   ├── SwitchDelegate.qml
    │   │   │   │   ├── Switch.qml
    │   │   │   │   ├── TabBar.qml
    │   │   │   │   ├── TabButton.qml
    │   │   │   │   ├── TextArea.qml
    │   │   │   │   ├── TextField.qml
    │   │   │   │   ├── ToolBar.qml
    │   │   │   │   ├── ToolButton.qml
    │   │   │   │   ├── ToolSeparator.qml
    │   │   │   │   ├── ToolTip.qml
    │   │   │   │   ├── TreeViewDelegate.qml
    │   │   │   │   ├── Tumbler.qml
    │   │   │   │   └── VerticalHeaderView.qml
    │   │   │   ├── Imagine
    │   │   │   │   ├── ApplicationWindow.qml
    │   │   │   │   ├── BusyIndicator.qml
    │   │   │   │   ├── Button.qml
    │   │   │   │   ├── CheckBox.qml
    │   │   │   │   ├── CheckDelegate.qml
    │   │   │   │   ├── ComboBox.qml
    │   │   │   │   ├── DelayButton.qml
    │   │   │   │   ├── DialogButtonBox.qml
    │   │   │   │   ├── Dialog.qml
    │   │   │   │   ├── Dial.qml
    │   │   │   │   ├── Drawer.qml
    │   │   │   │   ├── Frame.qml
    │   │   │   │   ├── GroupBox.qml
    │   │   │   │   ├── HorizontalHeaderView.qml
    │   │   │   │   ├── impl
    │   │   │   │   │   ├── libqtquickcontrols2imaginestyleimplplugin.so
    │   │   │   │   │   ├── OpacityMask.qml
    │   │   │   │   │   └── qmldir
    │   │   │   │   ├── ItemDelegate.qml
    │   │   │   │   ├── Label.qml
    │   │   │   │   ├── libqtquickcontrols2imaginestyleplugin.so
    │   │   │   │   ├── MenuItem.qml
    │   │   │   │   ├── Menu.qml
    │   │   │   │   ├── MenuSeparator.qml
    │   │   │   │   ├── PageIndicator.qml
    │   │   │   │   ├── Page.qml
    │   │   │   │   ├── Pane.qml
    │   │   │   │   ├── Popup.qml
    │   │   │   │   ├── ProgressBar.qml
    │   │   │   │   ├── qmldir
    │   │   │   │   ├── RadioButton.qml
    │   │   │   │   ├── RadioDelegate.qml
    │   │   │   │   ├── RangeSlider.qml
    │   │   │   │   ├── RoundButton.qml
    │   │   │   │   ├── ScrollBar.qml
    │   │   │   │   ├── ScrollIndicator.qml
    │   │   │   │   ├── ScrollView.qml
    │   │   │   │   ├── SelectionRectangle.qml
    │   │   │   │   ├── Slider.qml
    │   │   │   │   ├── SpinBox.qml
    │   │   │   │   ├── SplitView.qml
    │   │   │   │   ├── StackView.qml
    │   │   │   │   ├── SwipeDelegate.qml
    │   │   │   │   ├── SwipeView.qml
    │   │   │   │   ├── SwitchDelegate.qml
    │   │   │   │   ├── Switch.qml
    │   │   │   │   ├── TabBar.qml
    │   │   │   │   ├── TabButton.qml
    │   │   │   │   ├── TextArea.qml
    │   │   │   │   ├── TextField.qml
    │   │   │   │   ├── ToolBar.qml
    │   │   │   │   ├── ToolButton.qml
    │   │   │   │   ├── ToolSeparator.qml
    │   │   │   │   ├── ToolTip.qml
    │   │   │   │   ├── Tumbler.qml
    │   │   │   │   └── VerticalHeaderView.qml
    │   │   │   ├── impl
    │   │   │   │   ├── libqtquickcontrols2implplugin.so
    │   │   │   │   └── qmldir
    │   │   │   ├── libqtquickcontrols2plugin.so
    │   │   │   ├── Material
    │   │   │   │   ├── ApplicationWindow.qml
    │   │   │   │   ├── BusyIndicator.qml
    │   │   │   │   ├── Button.qml
    │   │   │   │   ├── CheckBox.qml
    │   │   │   │   ├── CheckDelegate.qml
    │   │   │   │   ├── ComboBox.qml
    │   │   │   │   ├── DelayButton.qml
    │   │   │   │   ├── DialogButtonBox.qml
    │   │   │   │   ├── Dialog.qml
    │   │   │   │   ├── Dial.qml
    │   │   │   │   ├── Drawer.qml
    │   │   │   │   ├── Frame.qml
    │   │   │   │   ├── GroupBox.qml
    │   │   │   │   ├── HorizontalHeaderView.qml
    │   │   │   │   ├── impl
    │   │   │   │   │   ├── BoxShadow.qml
    │   │   │   │   │   ├── CheckIndicator.qml
    │   │   │   │   │   ├── CursorDelegate.qml
    │   │   │   │   │   ├── ElevationEffect.qml
    │   │   │   │   │   ├── libqtquickcontrols2materialstyleimplplugin.so
    │   │   │   │   │   ├── qmldir
    │   │   │   │   │   ├── RadioIndicator.qml
    │   │   │   │   │   ├── RectangularGlow.qml
    │   │   │   │   │   ├── RoundedElevationEffect.qml
    │   │   │   │   │   ├── SliderHandle.qml
    │   │   │   │   │   └── SwitchIndicator.qml
    │   │   │   │   ├── ItemDelegate.qml
    │   │   │   │   ├── Label.qml
    │   │   │   │   ├── libqtquickcontrols2materialstyleplugin.so
    │   │   │   │   ├── MenuBarItem.qml
    │   │   │   │   ├── MenuBar.qml
    │   │   │   │   ├── MenuItem.qml
    │   │   │   │   ├── Menu.qml
    │   │   │   │   ├── MenuSeparator.qml
    │   │   │   │   ├── PageIndicator.qml
    │   │   │   │   ├── Page.qml
    │   │   │   │   ├── Pane.qml
    │   │   │   │   ├── Popup.qml
    │   │   │   │   ├── ProgressBar.qml
    │   │   │   │   ├── qmldir
    │   │   │   │   ├── RadioButton.qml
    │   │   │   │   ├── RadioDelegate.qml
    │   │   │   │   ├── RangeSlider.qml
    │   │   │   │   ├── RoundButton.qml
    │   │   │   │   ├── ScrollBar.qml
    │   │   │   │   ├── ScrollIndicator.qml
    │   │   │   │   ├── ScrollView.qml
    │   │   │   │   ├── SelectionRectangle.qml
    │   │   │   │   ├── Slider.qml
    │   │   │   │   ├── SpinBox.qml
    │   │   │   │   ├── SplitView.qml
    │   │   │   │   ├── StackView.qml
    │   │   │   │   ├── SwipeDelegate.qml
    │   │   │   │   ├── SwipeView.qml
    │   │   │   │   ├── SwitchDelegate.qml
    │   │   │   │   ├── Switch.qml
    │   │   │   │   ├── TabBar.qml
    │   │   │   │   ├── TabButton.qml
    │   │   │   │   ├── TextArea.qml
    │   │   │   │   ├── TextField.qml
    │   │   │   │   ├── ToolBar.qml
    │   │   │   │   ├── ToolButton.qml
    │   │   │   │   ├── ToolSeparator.qml
    │   │   │   │   ├── ToolTip.qml
    │   │   │   │   ├── TreeViewDelegate.qml
    │   │   │   │   ├── Tumbler.qml
    │   │   │   │   └── VerticalHeaderView.qml
    │   │   │   ├── qmldir
    │   │   │   └── Universal
    │   │   │       ├── ApplicationWindow.qml
    │   │   │       ├── BusyIndicator.qml
    │   │   │       ├── Button.qml
    │   │   │       ├── CheckBox.qml
    │   │   │       ├── CheckDelegate.qml
    │   │   │       ├── ComboBox.qml
    │   │   │       ├── DelayButton.qml
    │   │   │       ├── DialogButtonBox.qml
    │   │   │       ├── Dialog.qml
    │   │   │       ├── Dial.qml
    │   │   │       ├── Drawer.qml
    │   │   │       ├── Frame.qml
    │   │   │       ├── GroupBox.qml
    │   │   │       ├── HorizontalHeaderView.qml
    │   │   │       ├── impl
    │   │   │       │   ├── CheckIndicator.qml
    │   │   │       │   ├── libqtquickcontrols2universalstyleimplplugin.so
    │   │   │       │   ├── qmldir
    │   │   │       │   ├── RadioIndicator.qml
    │   │   │       │   └── SwitchIndicator.qml
    │   │   │       ├── ItemDelegate.qml
    │   │   │       ├── Label.qml
    │   │   │       ├── libqtquickcontrols2universalstyleplugin.so
    │   │   │       ├── MenuBarItem.qml
    │   │   │       ├── MenuBar.qml
    │   │   │       ├── MenuItem.qml
    │   │   │       ├── Menu.qml
    │   │   │       ├── MenuSeparator.qml
    │   │   │       ├── PageIndicator.qml
    │   │   │       ├── Page.qml
    │   │   │       ├── Pane.qml
    │   │   │       ├── Popup.qml
    │   │   │       ├── ProgressBar.qml
    │   │   │       ├── qmldir
    │   │   │       ├── RadioButton.qml
    │   │   │       ├── RadioDelegate.qml
    │   │   │       ├── RangeSlider.qml
    │   │   │       ├── RoundButton.qml
    │   │   │       ├── ScrollBar.qml
    │   │   │       ├── ScrollIndicator.qml
    │   │   │       ├── ScrollView.qml
    │   │   │       ├── SelectionRectangle.qml
    │   │   │       ├── Slider.qml
    │   │   │       ├── SpinBox.qml
    │   │   │       ├── SplitView.qml
    │   │   │       ├── StackView.qml
    │   │   │       ├── SwipeDelegate.qml
    │   │   │       ├── SwitchDelegate.qml
    │   │   │       ├── Switch.qml
    │   │   │       ├── TabBar.qml
    │   │   │       ├── TabButton.qml
    │   │   │       ├── TextArea.qml
    │   │   │       ├── TextField.qml
    │   │   │       ├── ToolBar.qml
    │   │   │       ├── ToolButton.qml
    │   │   │       ├── ToolSeparator.qml
    │   │   │       ├── ToolTip.qml
    │   │   │       ├── Tumbler.qml
    │   │   │       └── VerticalHeaderView.qml
    │   │   ├── Dialogs
    │   │   │   ├── libqtquickdialogsplugin.so
    │   │   │   ├── qmldir
    │   │   │   └── quickimpl
    │   │   │       ├── libqtquickdialogs2quickimplplugin.so
    │   │   │       ├── qml
    │   │   │       │   ├── ColorDialog.qml
    │   │   │       │   ├── ColorInputs.qml
    │   │   │       │   ├── FileDialogDelegateLabel.qml
    │   │   │       │   ├── FileDialogDelegate.qml
    │   │   │       │   ├── FileDialog.qml
    │   │   │       │   ├── FolderBreadcrumbBar.qml
    │   │   │       │   ├── FolderDialogDelegateLabel.qml
    │   │   │       │   ├── FolderDialogDelegate.qml
    │   │   │       │   ├── FolderDialog.qml
    │   │   │       │   ├── FontDialogContent.qml
    │   │   │       │   ├── FontDialog.qml
    │   │   │       │   ├── +Fusion
    │   │   │       │   │   ├── ColorDialog.qml
    │   │   │       │   │   ├── FileDialogDelegate.qml
    │   │   │       │   │   ├── FileDialog.qml
    │   │   │       │   │   ├── FolderBreadcrumbBar.qml
    │   │   │       │   │   ├── FolderDialogDelegate.qml
    │   │   │       │   │   ├── FolderDialog.qml
    │   │   │       │   │   ├── FontDialog.qml
    │   │   │       │   │   └── MessageDialog.qml
    │   │   │       │   ├── HueGradient.qml
    │   │   │       │   ├── +Imagine
    │   │   │       │   │   ├── ColorDialog.qml
    │   │   │       │   │   ├── FileDialogDelegate.qml
    │   │   │       │   │   ├── FileDialog.qml
    │   │   │       │   │   ├── FolderBreadcrumbBar.qml
    │   │   │       │   │   ├── FolderDialogDelegate.qml
    │   │   │       │   │   ├── FolderDialog.qml
    │   │   │       │   │   ├── FontDialog.qml
    │   │   │       │   │   └── MessageDialog.qml
    │   │   │       │   ├── +Material
    │   │   │       │   │   ├── ColorDialog.qml
    │   │   │       │   │   ├── FileDialogDelegate.qml
    │   │   │       │   │   ├── FileDialog.qml
    │   │   │       │   │   ├── FolderBreadcrumbBar.qml
    │   │   │       │   │   ├── FolderDialogDelegate.qml
    │   │   │       │   │   ├── FolderDialog.qml
    │   │   │       │   │   ├── FontDialog.qml
    │   │   │       │   │   └── MessageDialog.qml
    │   │   │       │   ├── MessageDialog.qml
    │   │   │       │   ├── PickerHandle.qml
    │   │   │       │   ├── SaturationLightnessPicker.qml
    │   │   │       │   └── +Universal
    │   │   │       │       ├── ColorDialog.qml
    │   │   │       │       ├── FileDialogDelegate.qml
    │   │   │       │       ├── FileDialog.qml
    │   │   │       │       ├── FolderBreadcrumbBar.qml
    │   │   │       │       ├── FolderDialogDelegate.qml
    │   │   │       │       ├── FolderDialog.qml
    │   │   │       │       ├── FontDialog.qml
    │   │   │       │       └── MessageDialog.qml
    │   │   │       └── qmldir
    │   │   ├── Effects
    │   │   │   ├── libeffectsplugin.so
    │   │   │   └── qmldir
    │   │   ├── Layouts
    │   │   │   ├── libqquicklayoutsplugin.so
    │   │   │   └── qmldir
    │   │   ├── libqtquick2plugin.so
    │   │   ├── LocalStorage
    │   │   │   ├── libqmllocalstorageplugin.so
    │   │   │   └── qmldir
    │   │   ├── NativeStyle
    │   │   │   ├── controls
    │   │   │   │   ├── DefaultButton.qml
    │   │   │   │   ├── DefaultCheckBox.qml
    │   │   │   │   ├── DefaultComboBox.qml
    │   │   │   │   ├── DefaultDial.qml
    │   │   │   │   ├── DefaultFrame.qml
    │   │   │   │   ├── DefaultGroupBox.qml
    │   │   │   │   ├── DefaultProgressBar.qml
    │   │   │   │   ├── DefaultRadioButton.qml
    │   │   │   │   ├── DefaultScrollBar.qml
    │   │   │   │   ├── DefaultSlider.qml
    │   │   │   │   ├── DefaultSpinBox.qml
    │   │   │   │   ├── DefaultTextArea.qml
    │   │   │   │   ├── DefaultTextField.qml
    │   │   │   │   └── DefaultTreeViewDelegate.qml
    │   │   │   ├── libqtquickcontrols2nativestyleplugin.so
    │   │   │   └── qmldir
    │   │   ├── Particles
    │   │   │   ├── libparticlesplugin.so
    │   │   │   └── qmldir
    │   │   ├── qmldir
    │   │   ├── Shapes
    │   │   │   ├── libqmlshapesplugin.so
    │   │   │   └── qmldir
    │   │   ├── Templates
    │   │   │   ├── libqtquicktemplates2plugin.so
    │   │   │   └── qmldir
    │   │   ├── Timeline
    │   │   │   ├── libqtquicktimelineplugin.so
    │   │   │   └── qmldir
    │   │   ├── tooling
    │   │   │   ├── Component.qml
    │   │   │   ├── Enum.qml
    │   │   │   ├── libquicktoolingplugin.so
    │   │   │   ├── Member.qml
    │   │   │   ├── Method.qml
    │   │   │   ├── Module.qml
    │   │   │   ├── Parameter.qml
    │   │   │   ├── Property.qml
    │   │   │   ├── qmldir
    │   │   │   └── Signal.qml
    │   │   └── Window
    │   │       ├── libquickwindowplugin.so
    │   │       └── qmldir
    │   ├── QtQuick3D
    │   │   ├── AssetUtils
    │   │   │   ├── libqtquick3dassetutilsplugin.so
    │   │   │   └── qmldir
    │   │   ├── Effects
    │   │   │   ├── AdditiveColorGradient.qml
    │   │   │   ├── Blur.qml
    │   │   │   ├── BrushStrokes.qml
    │   │   │   ├── ChromaticAberration.qml
    │   │   │   ├── ColorMaster.qml
    │   │   │   ├── DepthOfFieldHQBlur.qml
    │   │   │   ├── Desaturate.qml
    │   │   │   ├── DistortionRipple.qml
    │   │   │   ├── DistortionSphere.qml
    │   │   │   ├── DistortionSpiral.qml
    │   │   │   ├── EdgeDetect.qml
    │   │   │   ├── Emboss.qml
    │   │   │   ├── Flip.qml
    │   │   │   ├── Fxaa.qml
    │   │   │   ├── GaussianBlur.qml
    │   │   │   ├── HDRBloomTonemap.qml
    │   │   │   ├── libqtquick3deffectplugin.so
    │   │   │   ├── MotionBlur.qml
    │   │   │   ├── qmldir
    │   │   │   ├── Scatter.qml
    │   │   │   ├── SCurveTonemap.qml
    │   │   │   ├── TiltShift.qml
    │   │   │   └── Vignette.qml
    │   │   ├── Helpers
    │   │   │   ├── AxisHelper.qml
    │   │   │   ├── DebugView.qml
    │   │   │   ├── ExtendedSceneEnvironment.qml
    │   │   │   ├── impl
    │   │   │   │   ├── DepthOfFieldBlur.qml
    │   │   │   │   ├── libqtquick3dhelpersimplplugin.so
    │   │   │   │   ├── LightmapperOutputWindow.qml
    │   │   │   │   ├── qmldir
    │   │   │   │   └── SceneEffect.qml
    │   │   │   ├── libqtquick3dhelpersplugin.so
    │   │   │   ├── LodManager.qml
    │   │   │   ├── meshes
    │   │   │   │   └── axisGrid.mesh
    │   │   │   ├── OrbitCameraController.qml
    │   │   │   ├── qmldir
    │   │   │   └── WasdController.qml
    │   │   ├── libqquick3dplugin.so
    │   │   ├── MaterialEditor
    │   │   │   ├── AboutDialog.qml
    │   │   │   ├── EditorView.qml
    │   │   │   ├── FrostedGlass.qml
    │   │   │   ├── main.qml
    │   │   │   ├── MaterialPropertiesPane.qml
    │   │   │   ├── PreviewControls.qml
    │   │   │   ├── Preview.qml
    │   │   │   ├── qmldir
    │   │   │   ├── SaveChangesDialog.qml
    │   │   │   ├── ShaderEditor.qml
    │   │   │   └── UniformManagerPane.qml
    │   │   ├── ParticleEffects
    │   │   │   ├── libqtquick3dparticleeffectsplugin.so
    │   │   │   └── qmldir
    │   │   ├── Particles3D
    │   │   │   ├── libqtquick3dparticles3dplugin.so
    │   │   │   └── qmldir
    │   │   ├── Physics
    │   │   │   ├── Helpers
    │   │   │   │   ├── libqtquick3dphysicshelpersplugin.so
    │   │   │   │   └── qmldir
    │   │   │   ├── libqquick3dphysicsplugin.so
    │   │   │   └── qmldir
    │   │   ├── qmldir
    │   │   └── SpatialAudio
    │   │       ├── libquick3dspatialaudioplugin.so
    │   │       └── qmldir
    │   ├── QtTest
    │   │   ├── libquicktestplugin.so
    │   │   ├── qmldir
    │   │   ├── SignalSpy.qml
    │   │   ├── TestCase.qml
    │   │   ├── testlogger.js
    │   │   └── TestSchedule.qml
    │   └── QtWayland
    │       └── Compositor
    │           ├── IviApplication
    │           │   ├── libwaylandcompositoriviapplicationplugin.so
    │           │   └── qmldir
    │           ├── libqwaylandcompositorplugin.so
    │           ├── PresentationTime
    │           │   ├── libwaylandcompositorpresentationtimeplugin.so
    │           │   └── qmldir
    │           ├── qmldir
    │           ├── qmlfiles
    │           │   ├── WaylandCursorItem.qml
    │           │   └── WaylandOutputWindow.qml
    │           ├── QtShell
    │           │   ├── libwaylandcompositorqtshellplugin.so
    │           │   └── qmldir
    │           ├── TextureSharingExtension
    │           │   ├── libwaylandtexturesharingextensionplugin.so
    │           │   └── qmldir
    │           ├── WlShell
    │           │   ├── libwaylandcompositorwlshellplugin.so
    │           │   └── qmldir
    │           └── XdgShell
    │               ├── libwaylandcompositorxdgshellplugin.so
    │               └── qmldir
    └── share
        ├── applications
        │   └── dice.desktop
        └── icons
            └── hicolor
                ├── 128x128
                │   └── apps
                ├── 160x160
                │   └── apps
                │       └── dice.png
                ├── 16x16
                │   └── apps
                ├── 256x256
                │   └── apps
                ├── 32x32
                │   └── apps
                ├── 64x64
                │   └── apps
                └── scalable
                    └── apps

94 directories, 625 files

@TheAssassin
Copy link
Member

PRs welcome. Wayland is becoming more of a thing lately and we should support it better. Adding those libraries used to cause a lot of issues, if it got better, it's time to re-add them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants