Snap Support update in Ubuntu Touch 24.04-2.0

Hello there! I have some exciting news to share regarding Snaps on the upcoming Ubuntu Touch 24.04-2.0 release.

We over at UBports have refreshed & refined our patches based on existing PRs. The libhybris patch looks way more complete and we’ve been able to enable some preliminary interfaces coming from Unity8 to Ubuntu Touch and other distributions running Lomiri.

This will allow for the following new slots to be connectable by Snaps as tested with a quick snap-up of our Music app:

  • mir
  • thumbnailer-service
  • media-hub
  • screen-inhibit-control

This enables the Music app to play back music in the background as accustomed to from regular Ubuntu Touch apps, allowing for use of Lomiri’s app lifecycle suspension as soon as that’s available. We hope to additionally bring forth location-observe & online-accounts-service before release.

This is Stage 1. We plan to move more interfaces over to new Lomiri names, starting with Stage 2. And in Stage 3 we want to add new interfaces that have no Unity8 equivalent.

Additionally, Snaps on Ubuntu Touch now allow for defining a loading splash screen with icon and custom visuals. Due to lomiri-ui-toolkit-core24 now shipping the required libraries Qt’s camera and hardware-accelerated video decoding in GStreamer are also supported.

I hope you like what you’re reading here. Any questions? :slight_smile:

7 Likes

Nice! How to use screen-inhibit-control - via the QML ScreenSaver component?

I’m not aware of any existing QML component. If there is one please link me to it, sounds interesting. What should work is using DBus to inhibit the screen saver as you would normally do.

1 Like

In Debian (edit: and Ubuntu/UT), the ScreenSaver component is in the qml-module-qtsysteminfo package. I think it’s not an official part of Qt, but several UT apps use it nonetheless, like DeltaTouch, Morph, the youtube app by Mateo Salta and others

Good news, this QML module is already shipped inside of lomiri-ui-toolkit-core24, so if you ship it in DeltaTouch yourself, you don’t have to. I instantiated a ScreenSaver component in QML Creator with the interface plugged and repowerd successfully gets the request to keep the screen on.

1 Like