Hey everyone!
One of the snaps I maintain, Freeshow, crashes when a user attempts to access anything MIDI related. This is probably because it’s an electron app, and snapd is assuming electron apps don’t need direct access to ALSA (MIDI control being part of ALSA) and is sandboxing that.
Checking the allowed connections, I found there is no way to connect to ALSA. There’s pulseaudio, but that wouldn’t do it because MIDI isn’t a pulseaudio function and requires a bridge.
$ sudo snap connections freeshow
Interface Plug Slot Notes
audio-playback freeshow:audio-playback :audio-playback -
browser-support freeshow:browser-support :browser-support -
content[gnome-42-2204] freeshow:gnome-42-2204 gnome-42-2204:gnome-42-2204 -
content[gtk-3-themes] freeshow:gtk-3-themes gtk-common-themes:gtk-3-themes -
content[gtk-3-themes] freeshow:gtk-3-themes gtk-theme-orchis:gtk-3-themes -
content[icon-themes] freeshow:icon-themes gtk-common-themes:icon-themes -
content[sound-themes] freeshow:sound-themes gtk-common-themes:sound-themes -
desktop freeshow:desktop :desktop -
desktop-legacy freeshow:desktop-legacy :desktop-legacy -
gsettings freeshow:gsettings :gsettings -
home freeshow:home :home -
network freeshow:network :network -
opengl freeshow:opengl :opengl -
pulseaudio freeshow:pulseaudio - -
unity7 freeshow:unity7 :unity7 -
wayland freeshow:wayland :wayland -
x11 freeshow:x11 :x11 -
Therefore, the only thing I can think is that snapd needs some way to access ALSA directly and that some sort of support needs to be allowed for an application such as this to be able to do so. That, or maybe there’s a different way.
Any ideas?