Open oyvindln opened 6 months ago
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 !
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.
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
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.
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.