diff --git a/utils/scripts/docker/package_appimages.bash b/utils/scripts/docker/package_appimages.bash
index b807068a5aef668ff19d53c4cfc1866309500e4a..a5f48d1614715dac9cdf7e3e65a811529b22bc07 100755
--- a/utils/scripts/docker/package_appimages.bash
+++ b/utils/scripts/docker/package_appimages.bash
@@ -21,68 +21,124 @@ function join_by() {
     fi
 }
 
-function get_additional_libs() {
-    case $* in
-        *qt*)
-        for LIB in /usr/lib/x86_64-linux-gnu/libQt6WaylandEglCompositorHwIntegration.so   \
-                   /usr/lib/x86_64-linux-gnu/libQt6WaylandEglClientHwIntegration.so       \
-                   /usr/lib/x86_64-linux-gnu/libQt6WaylandCompositor.so                   \
-                   /usr/lib/x86_64-linux-gnu/libQt6OpenGLWidgets.so                       \
-                   /usr/lib/x86_64-linux-gnu/libQt6OpenGL.so                              \
-                   /usr/lib/x86_64-linux-gnu/libQt6MultimediaWidgets.so                   \
-                   /usr/lib/x86_64-linux-gnu/libQt6Multimedia.so                          \
-                   /usr/lib/x86_64-linux-gnu/libQt6Concurrent.so                          \
-                   /usr/lib/x86_64-linux-gnu/libQt6WaylandClient.so                       \
-                   /usr/lib/x86_64-linux-gnu/libQt6XcbQpa.so                              \
-                   /usr/lib/x86_64-linux-gnu/libQt6EglFSDeviceIntegration.so              \
-                   /usr/lib/x86_64-linux-gnu/libQt6EglFsKmsGbmSupport.so                  \
-                   /usr/lib/x86_64-linux-gnu/libQt6EglFsKmsSupport.so                     ;
-        do
-            for FILE in ${LIB}*; do
-                echo -n " -l${FILE} "
-            done
-        done;;
-        *);;
-    esac
-}
-
 function deploy() {
     local EXEC=${1,,}
+    local WITHQTPLUGIN="$2"
 
-    local  EXTRA_QT_PLUGINS="concurrent;core;dbus;eglfsdeviceintegration;eglfskmssupport;gui;multimedia;multimediawidgets;"
-    local  EXTRA_QT_PLUGINS+="opengl;openglwidgets;waylandclient;waylandcompositor;widgets;xcbqpa;"
-    export EXTRA_QT_PLUGINS
+    local EXTRA_CUSTOM_QT_PLUGINS=(
+        "wayland-shell-integration/libxdg-shell.so"
+        "wayland-graphics-integration-client/libdmabuf-server.so"
+        "wayland-graphics-integration-client/libdrm-egl-server.so"
+        "wayland-graphics-integration-client/libqt-plugin-wayland-egl.so"
+        "wayland-graphics-integration-client/libshm-emulation-server.so"
+        "wayland-graphics-integration-client/libvulkan-server.so"
+        "wayland-graphics-integration-server/libqt-wayland-compositor-drm-egl-server-buffer.so"
+        "wayland-graphics-integration-server/libqt-wayland-compositor-wayland-egl.so"
+        "wayland-graphics-integration-server/libqt-wayland-compositor-wayland-eglstream-controller.so"
+        "egldeviceintegrations/libqeglfs-emu-integration.so"
+        "egldeviceintegrations/libqeglfs-kms-egldevice-integration.so"
+        "egldeviceintegrations/libqeglfs-kms-integration.so"
+        "egldeviceintegrations/libqeglfs-x11-integration.so"
+    )
+    local EXTRA_GRAPHIC_LIBS=(
+        "/usr/lib/x86_64-linux-gnu/libEGL_mesa.so.0"
+        "/usr/lib/x86_64-linux-gnu/libEGL_mesa.so.0.0.0"
+        "/usr/lib/x86_64-linux-gnu/libEGL.so.1"
+        "/usr/lib/x86_64-linux-gnu/libEGL.so.1.1.0"
+        "/usr/lib/x86_64-linux-gnu/libOpenGL.so"
+        "/usr/lib/x86_64-linux-gnu/libOpenGL.so.0"
+        "/usr/lib/x86_64-linux-gnu/libOpenGL.so.0.0.0"
+        "/usr/lib/x86_64-linux-gnu/libgbm.so.1.0.0"
+        "/usr/lib/x86_64-linux-gnu/libgbm.so.1"
+        "/usr/lib/x86_64-linux-gnu/libglapi.so.0.0.0"
+        "/usr/lib/x86_64-linux-gnu/libglapi.so.0"
+        "/usr/lib/x86_64-linux-gnu/libGLdispatch.so.0.0.0"
+        "/usr/lib/x86_64-linux-gnu/libGLdispatch.so.0"
+        "/usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0.0.0"
+        "/usr/lib/x86_64-linux-gnu/libGLX_indirect.so.0"
+        "/usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0"
+        "/usr/lib/x86_64-linux-gnu/libGLX.so.0.0.0"
+        "/usr/lib/x86_64-linux-gnu/libGLX.so.0"
+        "/usr/lib/x86_64-linux-gnu/libGL.so.1.7.0"
+        "/usr/lib/x86_64-linux-gnu/libGL.so.1"
+        "/usr/lib/x86_64-linux-gnu/libGLX.so"
+        "/usr/lib/x86_64-linux-gnu/libGL.so"
+    )
+    local EXTRA_DRI_LIBS=(
+        "i915_dri.so"
+        "i965_dri.so"
+        "iris_dri.so"
+        "kms_swrast_dri.so"
+        "nouveau_dri.so"
+        "nouveau_vieux_dri.so"
+        "r200_dri.so"
+        "r300_dri.so"
+        "r600_dri.so"
+        "radeon_dri.so"
+        "radeonsi_dri.so"
+        "swrast_dri.so"
+        "virtio_gpu_dri.so"
+        "vmwgfx_dri.so"
+        "zink_dri.so"
+        "i965_drv_video.so"
+        "iHD_drv_video.so"
+        "nouveau_drv_video.so"
+        "r600_drv_video.so"
+        "radeonsi_drv_video.so"
+    )
+    local EXTRA_DRM_LIBS=(
+        "libdrm.so.2.4.0"
+        "libdrm.so.2"
+        "libdrm_amdgpu.so.1.0.0"
+        "libdrm_amdgpu.so.1"
+        "libdrm_intel.so.1.0.0"
+        "libdrm_intel.so.1"
+        "libdrm_nouveau.so.2.0.0"
+        "libdrm_nouveau.so.2"
+        "libdrm_radeon.so.1.0.1"
+        "libdrm_radeon.so.1"
+    )
 
-    local  EXTRA_PLATFORM_PLUGINS="libqxcb.so;libqeglfs.so;libqwayland-egl.so;libqwayland-generic.so;"
+    local  EXTRA_PLATFORM_PLUGINS="libqxcb.so;libqwayland-egl.so;libqwayland-generic.so;"
     export EXTRA_PLATFORM_PLUGINS
 
     local EXCLUDE_LIBS="libgdk_pixbuf libpango libcairo libgio libglib libgmodule libgobject libgthread"
     local EXCLUDE_LIBS="-name *$(join_by "* -or -name *" $EXCLUDE_LIBS)*"
 
-    local QT_SRC=/usr/lib/x86_64-linux-gnu/qt6/plugins
-    local QT_DST=${EXEC^}/usr/plugins
+    local qtPlugin=()
+    if [[ "x$WITHQTPLUGIN" == "x1" ]]; then
+        qtPlugin+=(--plugin qt)
 
-    # Will do most of the work
-    linuxdeploy -v1 --appdir ${EXEC^} -e target/release/${EXEC} \
-        -i ${EXEC}/${EXEC}.png -d ${EXEC}/${EXEC}.desktop       \
-        ${*:2} $(get_additional_libs $*)
-
-    # Handle aftermath things here, we force copy the qt plugins for wayland and remove unwanted
-    # libs... NOTE: For now we force the xcb platform because of troubles with wayland...
-    mkdir -p ${EXEC^}/apprun-hooks/
-    case ${*:2} in
-        *qt*)
-        for PLUGIN in ${QT_SRC}/*; do
-            local PLUGIN=$(basename ${PLUGIN})
-            mkdir -p ${QT_DST}/${PLUGIN}
-            cp -rf ${QT_SRC}/${PLUGIN}/* ${QT_DST}/${PLUGIN}/
+        for lib in "${EXTRA_DRI_LIBS[@]}"; do
+            local dest="$(dirname "${EXEC^}/usr/lib/dri/$lib")"
+            mkdir -p "$dest"
+            cp "/usr/lib/x86_64-linux-gnu/dri/$lib" "$dest"
+            qtPlugin+=(--deploy-deps-only="${EXEC^}/usr/lib/dri/$lib" --library="/usr/lib/x86_64-linux-gnu/dri/$lib")
+        done
+
+        for lib in "${EXTRA_DRM_LIBS[@]}"; do
+            local dest="$(dirname "${EXEC^}/usr/lib/dri/$lib")"
+            mkdir -p "$dest"
+            cp "/usr/lib/x86_64-linux-gnu/$lib" "$dest"
+            qtPlugin+=(--deploy-deps-only="${EXEC^}/usr/lib/dri/$lib" --library="/usr/lib/x86_64-linux-gnu/$lib")
+        done
+
+        for lib in "${EXTRA_GRAPHIC_LIBS[@]}"; do
+            qtPlugin+=(--library="$lib")
         done
-        for PRL_FILE in /usr/lib/x86_64-linux-gnu/libQt6Wayland*.prl; do
-            cp ${PRL_FILE} ${EXEC^}/usr/lib/$(basename ${PRL_FILE})
+
+        for plug in "${EXTRA_CUSTOM_QT_PLUGINS[@]}"; do
+            local dest="$(dirname "${EXEC^}/usr/plugins/$plug")"
+            mkdir -p "$dest"
+            cp "/usr/lib/x86_64-linux-gnu/qt6/plugins/$plug" "$dest"
+            qtPlugin+=(--deploy-deps-only="${EXEC^}/usr/plugins/$plug" --library="/usr/lib/x86_64-linux-gnu/qt6/plugins/$plug")
         done
-        ;;
-        *);;
-    esac
+    fi
+
+    # Will do most of the work
+    linuxdeploy -v1 --appdir ${EXEC^} -e target/release/${EXEC} \
+        -i ${EXEC}/${EXEC}.png -d ${EXEC}/${EXEC}.desktop "${qtPlugin[@]}"
+
     find ${EXEC^}/usr/lib/ -type f -and \( ${EXCLUDE_LIBS} \) -delete
     cp LICENSE CHANGELOG.md CONTRIBUTING.md ${EXEC^}/
     install -Dm644 ${EXEC}/${EXEC}.appdata.xml ${EXEC^}/usr/share/metainfo/${EXEC}.appdata.xml
@@ -102,6 +158,7 @@ this_dir="\$(readlink -f "\$(dirname "\$0")")"
             source "\$HOOK"
         done
 }
+export LD_PRELOAD="/usr/lib/libdrm.so.2"
 exec "\$this_dir/usr/bin/${EXEC}" \$@
 EOF
 
@@ -112,5 +169,5 @@ EOF
 
 deploy lkt
 deploy amadeus
-deploy lektord --plugin qt
+deploy lektord 1
 
diff --git a/utils/scripts/docker/setup_base.bash b/utils/scripts/docker/setup_base.bash
index ca84c2952742d0652bb4b40d06c1b2dcac864240..ec86ad04abd708222d9f7f222aad1fa2fbf62c97 100755
--- a/utils/scripts/docker/setup_base.bash
+++ b/utils/scripts/docker/setup_base.bash
@@ -11,6 +11,7 @@ PKG_BACKPORT+=" qt6-image-formats-plugins qt6-gtk-platformtheme qt6-base-abi lib
 PKG_BACKPORT+=" libqt6multimedia6 libqt6concurrent6 libqt6multimediawidgets6 "
 PKG_BACKPORT+=" libqt6opengl6 libqt6openglwidgets6 libqt6widgets6"
 PKG_BACKPORT+=" qt6-translations-l10n qt6-l10n-tools"
+PKG_BACKPORT+=" libdrm2 libdrm-nouveau2 libdrm-radeon1 libdrm-amdgpu1 libdrm-common libdrm-intel1"
 
 PKG_BACKPORT+=" qt6-wayland-dev qt6-wayland qt6-wayland-dev-tools"
 PKG_BACKPORT+=" libqt6waylandclient6 libqt6waylandcompositor6 libqt6waylandeglclienthwintegration6"