Thanks. Seems vlc (the app in question) ignores VDPAU_DRIVER_PATH. I set it in the environment for the application launcher, but it still looks everywhere but where I specified…
vlc:
environment:
VDPAU_DRIVER_PATH: "/var/lib/snapd/lib/gl:/var/lib/snapd/lib/gl/vdpau"
desktop: usr/share/applications/vlc.desktop
command: bin/vlc-snap-wrapper.sh
plugs:
- unity7
- network
- network-bind
- home
- opengl
- pulseaudio
- mount-observe
- optical-drive
- camera
- removable-media
- screen-inhibit-control
- x11
It looks in all the wrong places… (snippet from strace)
$ grep libvdpau vlc.trace
27137 getdents(4, [{d_ino=7523, d_off=1, d_reclen=24, d_name=".", d_type=DT_DIR}, {d_ino=7211, d_off=3, d_reclen=24, d_name="..", d_type=DT_DIR}, {d_ino=7524, d_off=48, d_reclen=48, d_name="libvdpau_adjust_plugin.so", d_type=DT_REG}, {d_ino=7525, d_off=82, d_reclen=48, d_name="libvdpau_avcodec_plugin.so", d_type=DT_REG}, {d_ino=7526, d_off=115, d_reclen=48, d_name="libvdpau_chroma_plugin.so", d_type=DT_REG}, {d_ino=7527, d_off=153, d_reclen=56, d_name="libvdpau_deinterlace_plugin.so", d_type=DT_REG}, {d_ino=7528, d_off=187, d_reclen=48, d_name="libvdpau_display_plugin.so", d_type=DT_REG}, {d_ino=7529, d_off=221, d_reclen=48, d_name="libvdpau_sharpen_plugin.so", d_type=DT_REG}], 32768) = 344
27137 stat("/snap/vlc/x2/usr/lib/vlc/plugins/vdpau/libvdpau_adjust_plugin.so", {st_dev=makedev(7, 38), st_ino=7524, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=1024, st_blocks=27, st_size=13712, st_atime=2017/11/22-22:11:18, st_mtime=2017/11/22-22:11:18, st_ctime=2017/11/22-22:11:18}) = 0
27137 stat("/snap/vlc/x2/usr/lib/vlc/plugins/vdpau/libvdpau_avcodec_plugin.so", {st_dev=makedev(7, 38), st_ino=7525, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=1024, st_blocks=36, st_size=18048, st_atime=2017/11/22-22:11:19, st_mtime=2017/11/22-22:11:19, st_ctime=2017/11/22-22:11:19}) = 0
27137 stat("/snap/vlc/x2/usr/lib/vlc/plugins/vdpau/libvdpau_chroma_plugin.so", {st_dev=makedev(7, 38), st_ino=7526, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=1024, st_blocks=54, st_size=27192, st_atime=2017/11/22-22:11:18, st_mtime=2017/11/22-22:11:18, st_ctime=2017/11/22-22:11:18}) = 0
27137 stat("/snap/vlc/x2/usr/lib/vlc/plugins/vdpau/libvdpau_deinterlace_plugin.so", {st_dev=makedev(7, 38), st_ino=7527, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=1024, st_blocks=26, st_size=13296, st_atime=2017/11/22-22:11:17, st_mtime=2017/11/22-22:11:17, st_ctime=2017/11/22-22:11:17}) = 0
27137 stat("/snap/vlc/x2/usr/lib/vlc/plugins/vdpau/libvdpau_display_plugin.so", {st_dev=makedev(7, 38), st_ino=7528, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=1024, st_blocks=56, st_size=28384, st_atime=2017/11/22-22:11:18, st_mtime=2017/11/22-22:11:18, st_ctime=2017/11/22-22:11:18}) = 0
27137 stat("/snap/vlc/x2/usr/lib/vlc/plugins/vdpau/libvdpau_sharpen_plugin.so", {st_dev=makedev(7, 38), st_ino=7529, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=1024, st_blocks=27, st_size=13736, st_atime=2017/11/22-22:11:18, st_mtime=2017/11/22-22:11:18, st_ctime=2017/11/22-22:11:18}) = 0
27284 open("/var/lib/snapd/lib/gl/tls/libvdpau.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
27284 open("/var/lib/snapd/lib/gl/libvdpau.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
27284 open("/var/lib/snapd/void/libvdpau.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
27284 open("/snap/vlc/x2/lib/x86_64-linux-gnu/libvdpau.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
27284 open("/snap/vlc/x2/usr/lib/libvdpau.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
27284 open("/snap/vlc/x2/usr/lib/vlc/libvdpau.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
27284 open("/snap/vlc/x2/usr/lib/x86_64-linux-gnu/libvdpau.so.1", O_RDONLY|O_CLOEXEC) = 14
27288 open("/snap/vlc/x2/usr/lib/vlc/plugins/vdpau/libvdpau_chroma_plugin.so", O_RDONLY|O_CLOEXEC) = 14
27298 open("/snap/vlc/x2/usr/lib/x86_64-linux-gnu/libvdpau.so.1.0.0", O_RDONLY <unfinished ...>
27298 open("/snap/vlc/x2/usr/lib/vlc/plugins/vdpau/libvdpau_chroma_plugin.so", O_RDONLY) = 15
27298 open("/var/lib/snapd/lib/gl:/var/lib/snapd/lib/gl/vdpau/libvdpau_nvidia.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
27298 open("/snap/vlc/x2/usr/lib/x86_64-linux-gnu/vdpau/libvdpau_nvidia.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
27298 open("/usr/lib/x86_64-linux-gnu/vdpau/libvdpau_nvidia.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
27298 open("/usr/lib/vdpau/libvdpau_nvidia.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
27298 open("/var/lib/snapd/lib/gl/tls/libvdpau_nvidia.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
27298 open("/var/lib/snapd/lib/gl/libvdpau_nvidia.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
27298 open("/var/lib/snapd/void/libvdpau_nvidia.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
27298 open("/snap/vlc/x2/lib/x86_64-linux-gnu/libvdpau_nvidia.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
27298 open("/snap/vlc/x2/usr/lib/libvdpau_nvidia.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
27298 open("/snap/vlc/x2/usr/lib/vlc/libvdpau_nvidia.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
27298 open("/snap/vlc/x2/usr/lib/x86_64-linux-gnu/libvdpau_nvidia.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
27298 open("/snap/vlc/x2/usr/lib/x86_64-linux-gnu/mesa/libvdpau_nvidia.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
27298 open("/snap/vlc/x2/usr/lib/x86_64-linux-gnu/mesa-egl/libvdpau_nvidia.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
27298 open("/snap/vlc/x2/usr/lib/x86_64-linux-gnu/pulseaudio/libvdpau_nvidia.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
27298 open("/snap/vlc/x2/usr/lib/x86_64-linux-gnu/samba/libvdpau_nvidia.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
27298 open("tls/x86_64/libvdpau_nvidia.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
27298 open("tls/libvdpau_nvidia.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
27298 open("x86_64/libvdpau_nvidia.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
27298 open("libvdpau_nvidia.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
27298 open("/snap/vlc/x2/lib/libvdpau_nvidia.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
27298 open("/snap/vlc/x2/usr/lib/x86_64-linux-gnu/dri/libvdpau_nvidia.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
27298 open("/usr/lib/libvdpau_nvidia.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
27298 open("/lib/x86_64-linux-gnu/libvdpau_nvidia.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
27298 open("/usr/lib/x86_64-linux-gnu/libvdpau_nvidia.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
27298 open("/lib/libvdpau_nvidia.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
27298 open("/usr/lib/libvdpau_nvidia.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)