Skip to content

pressure-vessel: Make driver-related data available when running under Snap

Simon McVittie requested to merge wip/smcv/snap into main
  • !689 (merged)

  • 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

Edited by Simon McVittie

Merge request reports