[vlc-commits] [Git][videolan/vlc][master] 5 commits: snap: force x11 backend

Steve Lhomme (@robUx4) gitlab at videolan.org
Thu Apr 30 18:58:37 UTC 2026



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
fd47a08f by Pierre Lamot at 2026-04-30T18:21:45+00:00
snap: force x11 backend

see #29476

we where hopping for an update of gpu2024 in early 2026, but this didn't
happend. Ubuntu 20.26 LTS force Wayland with pretty much every DE and KDE hasn't
start porting QT/KDE to core26, so we need a workaround for the time being.

- - - - -
6ada24d4 by Pierre Lamot at 2026-04-30T18:21:45+00:00
snap: don't ship libraries already provided by gpu2404 base package

- - - - -
ac5f6c6f by Pierre Lamot at 2026-04-30T18:21:45+00:00
snap: don't try to find duplicate files from unused base snap

- - - - -
a2552380 by Pierre Lamot at 2026-04-30T18:21:45+00:00
snap: don't ship .la files

this fixes plugin being detected twice

- - - - -
23a8ea51 by Pierre Lamot at 2026-04-30T18:21:45+00:00
ci: build snap for MR changing snap packaging

- - - - -


3 changed files:

- extras/ci/gitlab-ci.yml
- extras/package/snap/snapcraft.yaml
- extras/package/snap/vlc-snap-wrapper.sh


Changes:

=====================================
extras/ci/gitlab-ci.yml
=====================================
@@ -428,6 +428,14 @@ debian-meson:
     allow_failure: true
     variables: *variables-snap
 
+snap:
+  extends: .snap-common
+  when: manual # disabled
+  rules:
+    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
+      changes:
+        - extras/package/snap/*
+
 nightly-snap:
     extends: .snap-common
     rules:


=====================================
extras/package/snap/snapcraft.yaml
=====================================
@@ -112,6 +112,7 @@ parts:
       make -j ${CRAFT_PARALLEL_BUILD_COUNT}
       make install DESTDIR="${CRAFT_PART_INSTALL}"
 
+      find ${CRAFT_PART_INSTALL}/usr/lib -name "*.la" -delete
 
       cp ${CRAFT_PART_INSTALL}/usr/share/icons/hicolor/256x256/apps/vlc.png ${CRAFT_PART_INSTALL}/vlc.png
       cp ${CRAFT_PART_INSTALL}/usr/share/applications/vlc.desktop ${CRAFT_PART_INSTALL}/vlc.desktop
@@ -264,9 +265,6 @@ parts:
       - wayland-protocols
 
     stage-packages:
-      - on amd64:
-          - i965-va-driver
-          - intel-media-va-driver
       - dbus-x11
       - fonts-freefont-ttf
       - libaacs0
@@ -290,16 +288,12 @@ parts:
       - libdvdnav4
       - libdvdread8t64
       - libebur128-1
-      #- libegl1-mesa
       - libfluidsynth3
       - libfreetype6
       - libfribidi0
       - libgcc1
       - libgcrypt20
-      #- libgl1-mesa-glx
-      - libgles2
       - libglib2.0-0
-      - libglu1-mesa
       - libgme0
       - libgtk-3-0
       - libidn12
@@ -342,24 +336,15 @@ parts:
       - libtheora0
       - libtwolame0
       - libupnp17t64
-      - libva-drm2
-      - libva-wayland2
-      - libva-x11-2
-      - libva2
-      - libvdpau1
       - libvncclient1
       - libvorbisfile3
       - libvpx9
-      - libvulkan1
-      - libx11-6
       - libx264-164
       - libx265-199
       - libxcb-composite0
       - libxcb-damage0
       - libxcb-keysyms1
       - libxcb-randr0
-      - libxcb-shm0
-      - libxcb1
       - libxcomposite1
       - libxcursor1
       - libxext6
@@ -369,12 +354,7 @@ parts:
       - libxpm4
       - libxrandr2
       - libzvbi0
-      - mesa-utils
-      - mesa-va-drivers
-      - mesa-vdpau-drivers
-      - mesa-vulkan-drivers
       - openjdk-8-jdk
-      - vdpau-driver-all
       - zlib1g
     prime:
       #excluded
@@ -396,25 +376,18 @@ parts:
     organize:
       vlc-snap-wrapper.sh: usr/bin/vlc-snap-wrapper.sh
 
-  fixup-vulkan-icd-paths:
-    plugin: nil
-    after: [wrapper]
-    override-build: |
-      sed -i -E 's,(^.+"library_path": ")/.*/,\1,' ${CRAFT_STAGE}/usr/share/vulkan/icd.d/*.json
-
   cleanup:
     after:
-      - fixup-vulkan-icd-paths
+      - wrapper
     plugin: nil
     build-snaps:
       - core24
       - kf6-core24
-      - kde-qt6-core24
     # remove libraries already present in base snap pacakges
     # kf6-core24 already ships vlc, make sure to not delete our own files
     override-prime: |
       set -eux
-      for snap in "core24" "kf6-core24" "kde-qt6-core24"
+      for snap in "core24" "kf6-core24"
       do
         cd "/snap/$snap/current" && find . -type f,l -a ! -path "*vlc*" -exec rm -rf "{$CRAFT_PRIME}/{}" \;
       done


=====================================
extras/package/snap/vlc-snap-wrapper.sh
=====================================
@@ -1,30 +1,8 @@
 #!/bin/bash
-case "$SNAP_ARCH" in
-	"amd64") ARCH='x86_64-linux-gnu'
-	;;
-	"i386") ARCH='i386-linux-gnu'
-	;;
-	*)
-		echo "Unsupported architecture for this app build"
-		exit 1
-	;;
-esac
-
-VENDOR=$(glxinfo | grep "OpenGL vendor")
-
-if [[ $VENDOR == *"Intel"* ]]; then
-  export VDPAU_DRIVER_PATH="$SNAP/usr/lib/$ARCH/dri"
-  export LIBVA_DRIVERS_PATH="$SNAP/usr/lib/$ARCH/dri"
-fi
-
-if [[ $VENDOR == *"NVIDIA"* ]]; then
-  export VDPAU_DRIVER_PATH="/var/lib/snapd/lib/gl/vdpau"
-elif [[ $VENDOR == *"X.Org"* ]]; then
-  export VDPAU_DRIVER_PATH="/usr/lib/$ARCH/vdpau/"
-fi
-
+#KF6 already ships VLC and set the pluging path
+#ensure we don't use their libraries
 export LD_LIBRARY_PATH="$SNAP/usr/lib:$SNAP/usr/lib/vlc:$LD_LIBRARY_PATH"
-export VLC_PLUGIN_PATH="$SNAP/usr/lib/vlc/plugins"
+unset VLC_PLUGIN_PATH
 
 # KDE specific
 ## Do not start slaves through klauncher but fork them directly.
@@ -32,6 +10,9 @@ export KDE_FORK_SLAVES=1
 ## Neon PATCH! make KIO look for slaves in a dynamic location depending on $SNAP
 #export KF5_LIBEXEC_DIR=$SNAP/usr/lib/$ARCH/libexec/kf5
 
+#libva+wayland is broken with gpu2404 base snap, force X11
+export QT_QPA_PLATFORM=xcb
+
 # Link the aacs directory from $HOME #28017
 if [ ! -L "$HOME/.config/aacs" ]; then
     ln -s $SNAP_REAL_HOME/.config/aacs $HOME/.config/aacs



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/39fbbb485db6efd14bcdf70c31d753fdd168e340...23a8ea51986eb25c45925682c07eac0c5b587c1c

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/39fbbb485db6efd14bcdf70c31d753fdd168e340...23a8ea51986eb25c45925682c07eac0c5b587c1c
You're receiving this email because of your account on code.videolan.org.




More information about the vlc-commits mailing list