I am trying to make a cross-platform application bundler for Julia GUI applications (see AppBundler.jl), and I have chosen a snap as a deployment target for Linux platforms. I have managed to run a QML and GTK application in a snap-confined environment by setting
LIBGL_DRIVERS_PATH to point to local snap store locations generated by snapcraft.
It’s somewhat unsatisfying that the bundle contains graphics drivers, which are always expected to be present in a desktop system unless the application is targeted in kiosk mode, which is a rather particular case. Also, I would like to implement snap bundling manually without using Snapcraft as I would like to make snaps for instance from macOS, which is possible as I have access to
mksquashfs on it and Julia precompilation can be delayed until configuration step or until the first run.
I noticed that there are
mesa-core22 interfaces. The chatGPT was somewhat vague on how these can be used in a
snap.yaml file and what they would do. In particular, can
graphics-core22 be used to access the shared libraries for
libgl drivers of the host system?