It looks like the problem isn’t Debian-specific, but that systems that don’t have Nvidia drivers installed can’t get a WebGL context in the Electron app:
SNAPD_DEBUG=1 SNAP_CONFINE_DEBUG=1 snap run polarr
2018/09/12 19:14:57.127384 cmd.go:203: DEBUG: restarting into “/snap/core/current/usr/bin/snap”
DEBUG: security tag: snap.polarr.polarr
DEBUG: executable: /usr/lib/snapd/snap-exec
DEBUG: confinement: non-classic
DEBUG: base snap: core
DEBUG: ruid: 1000, euid: 0, suid: 0
DEBUG: rgid: 1000, egid: 0, sgid: 0
DEBUG: apparmor label on snap-confine is: /snap/core/5328/usr/lib/snapd/snap-confine
DEBUG: apparmor mode is: enforce
DEBUG: checking if the current process shares mount namespace with the init process
DEBUG: re-associating is not required
DEBUG: creating lock directory /run/snapd/lock (if missing)
DEBUG: opening lock directory /run/snapd/lock
DEBUG: opening lock file: /run/snapd/lock/.lock
DEBUG: sanity timeout initialized and set for three seconds
DEBUG: acquiring exclusive lock (scope (global), uid 0)
DEBUG: sanity timeout reset and disabled
DEBUG: ensuring that snap mount directory is shared
DEBUG: unsharing snap namespace directory
DEBUG: creating namespace group directory /run/snapd/ns
DEBUG: namespace group directory does not require intialization
DEBUG: releasing lock 4
DEBUG: snap-update-ns executable: /snap/core/5328/usr/lib/snapd/snap-update-ns
DEBUG: opened snap-update-ns executable as file descriptor 3
DEBUG: creating lock directory /run/snapd/lock (if missing)
DEBUG: opening lock directory /run/snapd/lock
DEBUG: opening lock file: /run/snapd/lock/polarr.lock
DEBUG: sanity timeout initialized and set for three seconds
DEBUG: acquiring exclusive lock (scope polarr, uid 0)
DEBUG: sanity timeout reset and disabled
DEBUG: initializing mount namespace: polarr
DEBUG: opening namespace group directory /run/snapd/ns
DEBUG: initializing new namespace group polarr
DEBUG: forking support process for mount namespace capture
DEBUG: forked support process has pid 13442
DEBUG: unsharing the mount namespace
DEBUG: forked support process has pid 0
DEBUG: changing apparmor hat of the support process for mount namespace capture
DEBUG: changing apparmor hat to mount-namespace-capture-helper
DEBUG: ensuring that parent process is still alive
DEBUG: waiting for a eventfd data from the parent process to continue
DEBUG: sanity timeout initialized and set for three seconds
DEBUG: scratch directory for constructing namespace: /tmp/snap.rootfs_eqNAfY
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: pivot_root /tmp/snap.rootfs_eqNAfY /tmp/snap.rootfs_eqNAfY//var/lib/snapd/hostfs
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: rmdir /var/lib/snapd/hostfs//tmp/snap.rootfs_eqNAfY
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: performing operation: mount --move /var/lib/snapd /tmp/snapd.quirks_uC9nde
DEBUG: creating writable mimic directory /var/lib based on /snap/core/current//var/lib
DEBUG: mounting tmpfs at /var/lib
DEBUG: bind-mounting all the files from the reference directory
DEBUG: creating empty directory at /var/lib/apparmor
DEBUG: performing operation: mount /snap/core/current//var/lib/apparmor /var/lib/apparmor -o ro,nosuid,nodev,rbind,rslave
DEBUG: creating empty directory at /var/lib/classic
DEBUG: performing operation: mount /snap/core/current//var/lib/classic /var/lib/classic -o ro,nosuid,nodev,rbind,rslave
DEBUG: creating empty directory at /var/lib/cloud
DEBUG: performing operation: mount /snap/core/current//var/lib/cloud /var/lib/cloud -o ro,nosuid,nodev,rbind,rslave
DEBUG: creating empty directory at /var/lib/console-conf
DEBUG: performing operation: mount /snap/core/current//var/lib/console-conf /var/lib/console-conf -o ro,nosuid,nodev,rbind,rslave
DEBUG: creating empty directory at /var/lib/dbus
DEBUG: performing operation: mount /snap/core/current//var/lib/dbus /var/lib/dbus -o ro,nosuid,nodev,rbind,rslave
DEBUG: creating empty directory at /var/lib/dhcp
DEBUG: performing operation: mount /snap/core/current//var/lib/dhcp /var/lib/dhcp -o ro,nosuid,nodev,rbind,rslave
DEBUG: creating empty directory at /var/lib/extrausers
DEBUG: performing operation: mount /snap/core/current//var/lib/extrausers /var/lib/extrausers -o ro,nosuid,nodev,rbind,rslave
DEBUG: creating empty directory at /var/lib/initramfs-tools
DEBUG: performing operation: mount /snap/core/current//var/lib/initramfs-tools /var/lib/initramfs-tools -o ro,nosuid,nodev,rbind,rslave
DEBUG: creating empty directory at /var/lib/initscripts
DEBUG: performing operation: mount /snap/core/current//var/lib/initscripts /var/lib/initscripts -o ro,nosuid,nodev,rbind,rslave
DEBUG: creating empty directory at /var/lib/insserv
DEBUG: performing operation: mount /snap/core/current//var/lib/insserv /var/lib/insserv -o ro,nosuid,nodev,rbind,rslave
DEBUG: creating empty directory at /var/lib/logrotate
DEBUG: performing operation: mount /snap/core/current//var/lib/logrotate /var/lib/logrotate -o ro,nosuid,nodev,rbind,rslave
DEBUG: creating empty directory at /var/lib/machines
DEBUG: performing operation: mount /snap/core/current//var/lib/machines /var/lib/machines -o ro,nosuid,nodev,rbind,rslave
DEBUG: creating empty directory at /var/lib/misc
DEBUG: performing operation: mount /snap/core/current//var/lib/misc /var/lib/misc -o ro,nosuid,nodev,rbind,rslave
DEBUG: creating empty directory at /var/lib/pam
DEBUG: performing operation: mount /snap/core/current//var/lib/pam /var/lib/pam -o ro,nosuid,nodev,rbind,rslave
DEBUG: creating empty directory at /var/lib/python
DEBUG: performing operation: mount /snap/core/current//var/lib/python /var/lib/python -o ro,nosuid,nodev,rbind,rslave
DEBUG: creating empty directory at /var/lib/resolvconf
DEBUG: performing operation: mount /snap/core/current//var/lib/resolvconf /var/lib/resolvconf -o ro,nosuid,nodev,rbind,rslave
DEBUG: creating empty directory at /var/lib/snapd
DEBUG: performing operation: mount /snap/core/current//var/lib/snapd /var/lib/snapd -o ro,nosuid,nodev,rbind,rslave
DEBUG: creating empty directory at /var/lib/sudo
DEBUG: performing operation: mount /snap/core/current//var/lib/sudo /var/lib/sudo -o ro,nosuid,nodev,rbind,rslave
DEBUG: creating empty directory at /var/lib/systemd
DEBUG: performing operation: mount /snap/core/current//var/lib/systemd /var/lib/systemd -o ro,nosuid,nodev,rbind,rslave
DEBUG: creating empty directory at /var/lib/ubuntu-fan
DEBUG: performing operation: mount /snap/core/current//var/lib/ubuntu-fan /var/lib/ubuntu-fan -o ro,nosuid,nodev,rbind,rslave
DEBUG: creating empty directory at /var/lib/ucf
DEBUG: performing operation: mount /snap/core/current//var/lib/ucf /var/lib/ucf -o ro,nosuid,nodev,rbind,rslave
DEBUG: creating empty directory at /var/lib/update-rc.d
DEBUG: performing operation: mount /snap/core/current//var/lib/update-rc.d /var/lib/update-rc.d -o ro,nosuid,nodev,rbind,rslave
DEBUG: creating empty directory at /var/lib/urandom
DEBUG: performing operation: mount /snap/core/current//var/lib/urandom /var/lib/urandom -o ro,nosuid,nodev,rbind,rslave
DEBUG: creating empty directory at /var/lib/vim
DEBUG: performing operation: mount /snap/core/current//var/lib/vim /var/lib/vim -o ro,nosuid,nodev,rbind,rslave
DEBUG: creating empty directory at /var/lib/waagent
DEBUG: performing operation: mount /snap/core/current//var/lib/waagent /var/lib/waagent -o ro,nosuid,nodev,rbind,rslave
DEBUG: performing operation: umount /var/lib/snapd
DEBUG: performing operation: mount --move /tmp/snapd.quirks_uC9nde /var/lib/snapd
DEBUG: performing operation: rmdir /tmp/snapd.quirks_uC9nde
DEBUG: calling snap-update-ns to initialize mount namespace
DEBUG: waiting for snap-update-ns to finish…
DEBUG: launching snap-update-ns under per-snap profile snap-update-ns.polarr
DEBUG: requesting changing of apparmor profile on next exec to snap-update-ns.polarr
DEBUG: fexecv(3 (snap-update-ns), snap-update-ns --from-snap-confine polarr,)
main.go:103: DEBUG: locking mount namespace of snap “polarr”
main.go:122: DEBUG: freezing processes of snap “polarr”
main.go:214: DEBUG: desired mount profile:
main.go:216: DEBUG: /var/lib/snapd/hostfs/usr/share/fonts /usr/share/fonts none bind,ro 0 0
main.go:216: DEBUG: /var/lib/snapd/hostfs/usr/local/share/fonts /usr/local/share/fonts none bind,ro 0 0
main.go:216: DEBUG: /var/lib/snapd/hostfs/var/cache/fontconfig /var/cache/fontconfig none bind,ro 0 0
main.go:219: DEBUG: current mount profile (before applying changes): (none)
change.go:405: DEBUG: desiredIDs: map[/usr/local/share/fonts:true /usr/share/fonts:true /var/cache/fontconfig:true]
change.go:406: DEBUG: reuse: map[]
main.go:225: DEBUG: mount changes needed:
main.go:227: DEBUG: mount (/var/lib/snapd/hostfs/usr/local/share/fonts /usr/local/share/fonts none bind,ro 0 0)
main.go:227: DEBUG: mount (/var/lib/snapd/hostfs/usr/share/fonts /usr/share/fonts none bind,ro 0 0)
main.go:227: DEBUG: mount (/var/lib/snapd/hostfs/var/cache/fontconfig /var/cache/fontconfig none bind,ro 0 0)
main.go:174: DEBUG: performing mount changes:
main.go:177: DEBUG: * mount (/var/lib/snapd/hostfs/usr/local/share/fonts /usr/local/share/fonts none bind,ro 0 0)
change.go:294: DEBUG: mount “/var/lib/snapd/hostfs/usr/local/share/fonts” “/usr/local/share/fonts” “none” 4097 “” (error: )
main.go:177: DEBUG: * mount (/var/lib/snapd/hostfs/usr/share/fonts /usr/share/fonts none bind,ro 0 0)
change.go:294: DEBUG: mount “/var/lib/snapd/hostfs/usr/share/fonts” “/usr/share/fonts” “none” 4097 “” (error: )
main.go:177: DEBUG: * mount (/var/lib/snapd/hostfs/var/cache/fontconfig /var/cache/fontconfig none bind,ro 0 0)
change.go:294: DEBUG: mount “/var/lib/snapd/hostfs/var/cache/fontconfig” “/var/cache/fontconfig” “none” 4097 “” (error: )
main.go:214: DEBUG: current mount profile (after applying changes):
main.go:216: DEBUG: /var/lib/snapd/hostfs/usr/local/share/fonts /usr/local/share/fonts none bind,ro 0 0
main.go:216: DEBUG: /var/lib/snapd/hostfs/usr/share/fonts /usr/share/fonts none bind,ro 0 0
main.go:216: DEBUG: /var/lib/snapd/hostfs/var/cache/fontconfig /var/cache/fontconfig none bind,ro 0 0
main.go:160: DEBUG: saving current mount profile of snap “polarr”
main.go:127: DEBUG: thawing processes of snap “polarr”
main.go:99: DEBUG: unlocking mount namespace of snap “polarr”
DEBUG: snap-update-ns finished successfully
DEBUG: asking support process for mount namespace capture (pid: 13442) to perform the capture
DEBUG: waiting for the support process for mount namespace capture to exit
DEBUG: sanity timeout reset and disabled
DEBUG: capturing mount namespace of process 13432 in namespace group polarr
DEBUG: successfully captured mount namespace in namespace group polarr
DEBUG: support process for mount namespace capture exited normally
DEBUG: releasing resources associated with namespace group polarr
DEBUG: moved process 13432 to freezer cgroup hierarchy for snap polarr
DEBUG: releasing lock 5
DEBUG: sc_setup_user_mounts: polarr
DEBUG: performing operation: (disabled) use debug build to see details
DEBUG: calling snap-update-ns to initialize user mounts
DEBUG: waiting for snap-update-ns to finish…
DEBUG: launching snap-update-ns under per-snap profile snap-update-ns.polarr
DEBUG: requesting changing of apparmor profile on next exec to snap-update-ns.polarr
DEBUG: fexecv(3 (snap-update-ns), snap-update-ns --user-mounts polarr,)
main.go:214: DEBUG: desired mount profile:
main.go:216: DEBUG: /run/user/1000/doc/by-app/snap.polarr /run/user/1000/doc none bind,rw,x-snapd.ignore-missing 0 0
change.go:405: DEBUG: desiredIDs: map[/run/user/1000/doc:true]
change.go:406: DEBUG: reuse: map[]
main.go:225: DEBUG: mount changes needed:
main.go:227: DEBUG: mount (/run/user/1000/doc/by-app/snap.polarr /run/user/1000/doc none bind,rw,x-snapd.ignore-missing 0 0)
main.go:174: DEBUG: performing mount changes:
main.go:177: DEBUG: * mount (/run/user/1000/doc/by-app/snap.polarr /run/user/1000/doc none bind,rw,x-snapd.ignore-missing 0 0)
main.go:219: DEBUG: current mount profile (after applying changes): (none)
DEBUG: snap-update-ns finished successfully
DEBUG: resetting PATH to values in sync with core snap
DEBUG: snappy_udev_init
DEBUG: setup_devices_cgroup
DEBUG: write_string_to_file /sys/fs/cgroup/devices/snap.polarr.polarr/tasks 13432
DEBUG: write_string_to_file /sys/fs/cgroup/devices/snap.polarr.polarr/devices.deny a
DEBUG: run_snappy_app_dev_add: /sys/class/mem/null snap_polarr_polarr
DEBUG: running snap-device-helper add snap_polarr_polarr /sys/class/mem/null 1:3
DEBUG: run_snappy_app_dev_add: /sys/class/mem/full snap_polarr_polarr
DEBUG: running snap-device-helper add snap_polarr_polarr /sys/class/mem/full 1:7
DEBUG: run_snappy_app_dev_add: /sys/class/mem/zero snap_polarr_polarr
DEBUG: running snap-device-helper add snap_polarr_polarr /sys/class/mem/zero 1:5
DEBUG: run_snappy_app_dev_add: /sys/class/mem/random snap_polarr_polarr
DEBUG: running snap-device-helper add snap_polarr_polarr /sys/class/mem/random 1:8
DEBUG: run_snappy_app_dev_add: /sys/class/mem/urandom snap_polarr_polarr
DEBUG: running snap-device-helper add snap_polarr_polarr /sys/class/mem/urandom 1:9
DEBUG: run_snappy_app_dev_add: /sys/class/tty/tty snap_polarr_polarr
DEBUG: running snap-device-helper add snap_polarr_polarr /sys/class/tty/tty 5:0
DEBUG: run_snappy_app_dev_add: /sys/class/tty/console snap_polarr_polarr
DEBUG: running snap-device-helper add snap_polarr_polarr /sys/class/tty/console 5:1
DEBUG: run_snappy_app_dev_add: /sys/class/tty/ptmx snap_polarr_polarr
DEBUG: running snap-device-helper add snap_polarr_polarr /sys/class/tty/ptmx 5:2
DEBUG: running snap-device-helper add snap_polarr_polarr /dev/pts/slaves 136:*
DEBUG: running snap-device-helper add snap_polarr_polarr /dev/pts/slaves 137:*
DEBUG: running snap-device-helper add snap_polarr_polarr /dev/pts/slaves 138:*
DEBUG: running snap-device-helper add snap_polarr_polarr /dev/pts/slaves 139:*
DEBUG: running snap-device-helper add snap_polarr_polarr /dev/pts/slaves 140:*
DEBUG: running snap-device-helper add snap_polarr_polarr /dev/pts/slaves 141:*
DEBUG: running snap-device-helper add snap_polarr_polarr /dev/pts/slaves 142:*
DEBUG: running snap-device-helper add snap_polarr_polarr /dev/pts/slaves 143:*
DEBUG: running snap-device-helper add snap_polarr_polarr /dev/uhid 10:239
DEBUG: run_snappy_app_dev_add: /sys/devices/pci0000:00/0000:00:02.0/drm/card0 snap_polarr_polarr
DEBUG: running snap-device-helper add snap_polarr_polarr /sys/devices/pci0000:00/0000:00:02.0/drm/card0 226:0
DEBUG: run_snappy_app_dev_add: /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-1 snap_polarr_polarr
DEBUG: running snap-device-helper add snap_polarr_polarr /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-1 0:0
DEBUG: run_snappy_app_dev_add: /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-2 snap_polarr_polarr
DEBUG: running snap-device-helper add snap_polarr_polarr /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-2 0:0
DEBUG: run_snappy_app_dev_add: /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-1 snap_polarr_polarr
DEBUG: running snap-device-helper add snap_polarr_polarr /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-1 0:0
DEBUG: run_snappy_app_dev_add: /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-2 snap_polarr_polarr
DEBUG: running snap-device-helper add snap_polarr_polarr /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-2 0:0
DEBUG: run_snappy_app_dev_add: /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1 snap_polarr_polarr
DEBUG: running snap-device-helper add snap_polarr_polarr /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1 0:0
DEBUG: creating user data directory: /home/polarruser/snap/polarr/8
DEBUG: requesting changing of apparmor profile on next exec to snap.polarr.polarr
DEBUG: loading bpf program for security tag snap.polarr.polarr
DEBUG: read 6144 bytes from /var/lib/snapd/seccomp/bpf//snap.polarr.polarr.bin
DEBUG: raising privileges to load seccomp profile
DEBUG: dropping privileges after loading seccomp profile
DEBUG: execv(/usr/lib/snapd/snap-exec, /usr/lib/snapd/snap-exec…)
DEBUG: argv[1] = polarr