pressure-vessel: Make driver-related data available when running under Snap
-
pressure-vessel: Generalize sharing other app frameworks' directories
In addition to Guix and NixOS, we would like to share equivalent paths used by Snap. That gives us enough of these to justify doing this with a loop across an array, to make it easier to add similar things for other app frameworks later.
Unfortunately snapd's AppArmor profile doesn't yet allow sharing the paths that we want to share in this way, so set them up as data structures that contain workarounds flags.
Helps: https://github.com/ValveSoftware/steam-runtime/issues/586
-
pv-runtime: Make dependency libraries in /snap available
This allows us to make /usr/share/libdrm a symlink to /snap/steam/171/graphics/usr/share/libdrm. If we don't do that, libdrm will not be able to load data files like /usr/share/libdrm/amdgpu.ids from it. Or, if Snap's libdrm has been configured or patched to read directly from /snap/steam/171/graphics/usr/share/libdrm, we want that to be possible too.
Before this can be enabled by default, snapd's AppArmor profile needs to be fixed to allow it: https://github.com/canonical/steam-snap/issues/359
Helps: https://github.com/ValveSoftware/steam-runtime/issues/586
-
pv-runtime: Make dependency libraries in /var/lib/snapd/hostfs available
This allows us to make /usr/share/nvidia a symlink to /var/lib/snapd/hostfs/usr/share/nvidia. The Nvidia drivers are currently hard-coded to read data from /usr/share/nvidia, and I have been told that this is functionally necessary in some situations.
As with the previous commit, before this can be enabled by default, snapd's AppArmor profile needs to be fixed to allow it.
Helps: https://github.com/ValveSoftware/steam-runtime/issues/586