A little chrstmas surprise for adventurous RPi users

I recently got a pi400, i do have a few pi4’s around since a while and while nearly all my Pis run Ubuntu Core, the 400 is really rather a desktop type of things. I found it a bit depressing to see that we only have arm64 images of the desktop flavour, since the binary blobs providing hardware accelerated video (a discipline where the Pi really shines (given the SoC was originally a TV settop box)) only exist for 32bit and the GPU itself is a 32bit chip …

This got me the idea to start tinkering with armhf (32bit) snaps on arm64 … and to actually ship the full video acceleration stack together with a video player to achieve accelerated playback …

While I ran into various issues, i actually got something working that i’d like to share with the world now …

So here it is !!! Tada !

it isnt perfect yet, there are plenty of audio issues on the pi400 when using HDMI audio (all audio works fine on a std. pi4 with the headphone plug), though it isnt clear yet if this isnt actually a pulse misconfiguration …

you also need to install in --devmode (dont even try --jailmode !!) for the moment until https://github.com/snapcore/snapd/pull/9804 has landed in snapd to allow actual access to the HW acceleration from a snap …

it is important that your user is in the video group and you should also connect the hardware-observe interface manually with

sudo snap connect vlc-pi:hardware-observe

As mentioned above, playback has only been tested on the 20.10 desktop install yet, feedback from other distros would be appreciated … and indeed feedback from pi3 users is welcome as well … :slight_smile:

PS: if you look for content, after these few weeks of testing, re-building and hacking I know every trailer on https://davestrailerpage.co.uk/ backwards now :slight_smile: )

PPS: the source of the snap is at https://github.com/ogra1/vlc-pi-snap

5 Likes

This snap is broken and doesn’t work. Tested on Manjaro & ubuntu on Pi4 4gb model, both fresh OS installs.

It installs with no errors, but cannot run because it cannot access a bunch of dependencies:

“realpath: ‘’: No such file or directory
realpath: ‘’: No such file or directory
realpath: ‘’: No such file or directory
realpath: ‘’: No such file or directory
realpath: ‘’: No such file or directory
realpath: ‘’: No such file or directory
realpath: ‘’: No such file or directory
realpath: ‘’: No such file or directory
update-mime-database: error while loading shared libraries: libglib-2.0.so.0: cannot open shared object file: No such file or directory
/snap/vlc-pi/45/usr/lib/arm-linux-gnueabihf/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders: error while loading shared libraries: libglib-2.0.so.0: cannot open shared object file: No such file or directory
ERROR: update-mime-database /home/ubuntu/snap/vlc-pi/45/.local/share/mime exited abnormally with status 127
ERROR: /snap/vlc-pi/45/usr/lib/arm-linux-gnueabihf/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders exited abnormally with status 127
/snap/vlc-pi/45/usr/bin/vlc: error while loading shared libraries: libdbus-1.so.3: cannot open shared object file: No such file or directory”

using find I determined that libglib-2.0.so.0 and libdbus-1.so.3 do exist on the system as part of core, core18, core20. But vlc-pi is completely unable to access them.

I have no idea what to do about this.

you cant really do anything about this, snapcraft decided to remove a bunch of libraries the snap needs to ship without warning, i need to fix the packaging to catch up on this new and unexpected behaviour … i have rolled the revision back to one that should work now … please try a snap refresh vlc-pi …

I filed bug https://bugs.launchpad.net/snapcraft/+bug/1933224 for the unexpected change in snapcraft behaviour and fixed the vlc-pi snap to pull the missing bits explicitly into the snap …

with revision 49 everything should work as it did before … sorry for the inconvenience …