[vlc-commits] snap: make vulkan actually work inside a snap

Konstantin Pavlov git at videolan.org
Mon Mar 30 21:40:53 CEST 2020


vlc/vlc-3.0 | branch: master | Konstantin Pavlov <thresh at videolan.org> | Sat Nov 10 19:20:37 2018 +0300| [a678cc9777271d5075c7707861b58620f14ebc36] | committer: Konstantin Pavlov

snap: make vulkan actually work inside a snap

Ubuntu 16.04 has an outdated libvulkan package which ships layers in
the -dev subpackage, so we have to add it to staged packages.  This can
be reverted when it's fixed.

Also introduced another part "fixup-vulkan-icd-paths".  The rationale to
add it is that icd ship with an absolute path to vulkan drivers, which
breaks under snap confinement;  with just a filename, vulkan will look
for those files under LD_LIBRARY_PATH.

(cherry picked from commit 58c57d1c4bdf17459f74dd70a3374f25cb38911e)

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=a678cc9777271d5075c7707861b58620f14ebc36
---

 extras/package/snap/snapcraft.yaml | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/extras/package/snap/snapcraft.yaml b/extras/package/snap/snapcraft.yaml
index 2e01b490a0..bf125d71f5 100644
--- a/extras/package/snap/snapcraft.yaml
+++ b/extras/package/snap/snapcraft.yaml
@@ -210,8 +210,10 @@ parts:
       - libupnp6
       - libzvbi0
       - libnotify4
-      - libaacs0
       - libvulkan1
+      - libaacs0
+      - mesa-vulkan-drivers
+      - libvulkan-dev
     filesets:
       exclusion:
       - "-usr/lib/*/cmake/*"
@@ -231,3 +233,9 @@ parts:
     source: .
     organize:
       vlc-snap-wrapper.sh: bin/vlc-snap-wrapper.sh
+
+  fixup-vulkan-icd-paths:
+    plugin: nil
+    after: [wrapper]
+    override-build: |
+      sed -i -E 's,(^.+"library_path": ")/.*/,\1,' $SNAPCRAFT_STAGE/usr/share/vulkan/icd.d/*.json



More information about the vlc-commits mailing list