Maliit interface broken?

Hey!

As part of making Pocket VMs work for distribution on Ubuntu Touch as well as other distributions I’ve come around an issue with the maliit interface.

Ubuntu Touch (currently) uses an old version of Maliit, the On-Screen Keyboard framework. This framework doesn’t pass input through Wayland but over DBus. snapd has plugs and slots for this in interfaces/builtin/maliit.go, but when I try to plug that interface the snap connect pocketvms:maliit command complains that snap "snapd" has no "maliit" interface slots.

What’s going on here, am I doing something wrong or is there a bug? Thanks!

https://github.com/snapcore/snapd/blob/master/interfaces/builtin/maliit.go#L36

The interface needs to be provided by an app snap (most likely maliit itself) according to the source…

That’s most certainly going to need a change though, since this is a legacy interface for Maliit. Newer versions go through Wayland instead of DBus and the host system already provides Maliit. I’m sure this was a valid thought when All-Snap Ubuntu Touch was a vision, but we’re not there, and it’s currently blocking me from releasing Pocket VMs.

EDIT: Would it be desirable to also have the snapd snap provide that interface? In that case I’ll go ahead and patch this.

Since I’m not too familiar with the workings of the Go parts of snapd I’m unsure how to proceed with patching this, and currently I don’t have too much time to investigate this. Just wanted to say that adding core as an option wasn’t enough and it still keeps complaining with the same message with a modified snapd.

Well the dbus service you mention must come from somewhere, who would provide that dbus service if not a maliit app snap ?

The Ubuntu Touch host that already exists.