Manual review for snap-type base for lomiri-core24-desktop

Hello!

I am requesting permission to release the lomiri-core24-desktop base snap in the Snap Store.

Similarly to the plasma-core22-desktop snap, this is a fork of the core24-desktop snap with packages for running a Lomiri session applied. The source is available here: GitHub - fredldotme/lomiri-core-base-desktop: Base snap for Lomiri Core Desktop

I am one of the core maintainers of Ubuntu Touch at UBports and intend to move this to official UBports repos and the Snapcraft account when maturity has been reached.

Thanks!

1 Like

Bumpity bump.

My goal is to add it to a test image with lomiri-core24-desktop as a base soon.

Hey @beidl

Sorry for the very late response. Would you be able to provide a list of snaps that intend to use this base?

Thanks

It is mainly intended for creating a Lomiri Desktop based on Ubuntu Core, meaning the Core image would use this base by default to have a shell and some core components be part of the Core image.

I would have to peek into Ubuntu Core Desktop with GNOME or the KDE attempts to determine what other Snaps using this as a base would be viable options.

So, as this snap is not intended to be used as base for the general audience, we need a concrete list of snaps that should be allow to use it (so that we can flag other snaps trying to use it potentially wrongly).

It is the same as we did for plasma-core22-desktop were only plasma-desktop-session and pc-plasma-desktop snaps are allowed to use that base.

Thanks

Mirrors my expectation from requirements when attempting to build an ubuntu-image for core using that base.

Just a question: What’s that plasma-desktop-session supposed to represent in the Core image concept?

@beidl ping - this request cannot proceed without your response to the question above:

we need a concrete list of snaps that should be allow to use it

Also I am not familiar with plasma-desktop-session - perhaps @pedronis may be able to help?

I first and foremost require an overview how a Core system is supposed to be composed, I don’t quite get the relation between which snaps are supposed to be put together in what specific way. I get there is no documentation but I am reaching out for help here.

I think this may be better supported over in the snap category - but perhaps @jamesh may be able to advise regarding how a Core desktop is supposed to be put together, otherwise if this is for general Ubuntu Core then maybe @ogra would be best. Thanks.

We are in the process of changing how we’ve put together the Core Desktop prototype system with the aim of making it more maintainable and more extensible. Unfortunately this doesn’t yet translate into concrete advice for people wanting to build their own spin of a desktop Ubuntu Core system.

In very high level terms, the main changes we want to make are:

  1. Boot from the regular core24 base snap.
  2. Figure out how to package and run the graphical login as its own snap.
  3. Make the desktop session snap use base: core24 rather than relying on binaries and data files from core24-desktop.
  4. Separate out some common services (e.g. Pipewire) into their own snaps so they can be reused by different by different desktop sessions.

Part of the reason for these changes was to have different Core Desktop variants share more code, and not place our GNOME based desktop in such a privileged position. It should be possible for someone to build a desktop session snap without duplicating too much of the work we’ve done.

And it should also be possible (but more difficult) to replace the graphical login if needed. We wouldn’t expect every desktop to choose to do that though.

I can’t easily point you at documentation for all of this, since we’re still figuring out what the system should look like. I can say that it will be easier to migrate to the new architecture if you make your desktop session snap a regular base: core24 snap rather than depend on a new base snap. We can also add hooks to the existing core24-desktop snap to let it boot into your session if installed, if that helps you get a working system.