1. install everything
sudo snap install mir-libs --beta
sudo snap install mir-kiosk --beta
sudo snap install ubuntu-app-platform --edge
sudo snap install pulseaudio
sudo snap install webdemo --edge
Make sure the interfaces are connected
2. update the apparmor profile for mir-kiosk for the changes in https://github.com/snapcore/snapd/pull/3006/files#diff-1a64a62cd0175e1d6e1e7eb9b5f1f9afL39
Adjust /var/lib/snapd/apparmor/profiles/snap.mir-kiosk.mir-kiosk to include:
capability sys_admin,
/run/udev/data/+platform:* r,
Reload the profile with:
sudo apparmor_parser -r /var/lib/snapd/apparmor/profiles/snap.mir-kiosk.mir-kiosk
Restart mir kiosk:
sudo service snap.mir-kiosk.mir-kiosk stop ; sudo /usr/lib/snapd/snap-discard-ns mir-kiosk ; sudo service snap.mir-kiosk.mir-kiosk start
3. update the apparmor profile for webdemo for the changes to browser-support and opengl in https://github.com/snapcore/snapd/pull/3006/files
Adjust /var/lib/snapd/apparmor/profiles/snap.webdemo.webdemo to include:
deny /{dev,run,var/run}/shm/lttng-ust-* rw,
/dev/dri/ r,
/sys/devices/pci[0-9]*/**/config r,
Reload the profile with:
sudo apparmor_parser -r /var/lib/snapd/apparmor/profiles/snap.webdemo.webdemo
Restart mir kiosk:
sudo service snap.webdemo.webdemo stop ; sudo /usr/lib/snapd/snap-discard-ns webdemo ; sudo service snap.webdemo.webdemo start
4. You'll need to create a wrapper to remove files from SNAP_USER_DATA to avoid a segfault on subsequent runs, ala http://paste.ubuntu.com/24139053/
5. That wrapper should include this to workaround a snappy bug:
export XDG_RUNTIME_DIR=/tmp