Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tracking: Lomiri Desktop Environment #260859

Open
OPNA2608 opened this issue Oct 13, 2023 · 7 comments
Open

Tracking: Lomiri Desktop Environment #260859

OPNA2608 opened this issue Oct 13, 2023 · 7 comments
Assignees
Labels
5. scope: tracking Long-lived issue tracking long-term fixes or multiple sub-problems

Comments

@OPNA2608
Copy link
Contributor

OPNA2608 commented Oct 13, 2023

Project description

Lomiri is a continuation of Canonical's Unity8 desktop environment. It's based on:

  • Qt5 (Qt6 support is being considered)
  • Mir (currently Mir 1.x & Mir-protocol, Mir 2.x & Wayland is being worked on)
  • Ayatana Indicators (continuation of Canonical's Application Indicators)

Corresponding RFP: #99090


I have a working version of Lomiri in a branch, with too many commits & inits to nicely upstream. I've started upstreaming individual packages, but progress has been slow and likely not very transparent. I would like to use this issue to track the progress of individually upstreaming all the components needed to make enabling Lomiri as easy as i.e. XFCE.

Overview of needed packages

Some of these may not be necessary and only fulfill optional functionalities (I doubt the parts of the SailfishOS stack - mce, buteo-syncfw etc - are really required), I'll have to review the affected reverse dependencies when I upstream them to Nixpkgs.

Follow-up issues/notes

  • lomiri-ui-toolkit, and packages that depend on it via QML, look up locale files from a single, fixed path. Due to how its localisation framework works, QML modules at all levels of a QML dependency tree will use the same locale path. Currently this is patched to /run/current-system/sw/share/locale as a short-term solution. Long-term, it would be better to either
    • Patch lomiri-ui-toolkit's locale-finding logic to consider XDG_DATA_DIRS and make a setup hook for Lomiri applications that search for & add QML module's prefixes to this variable. This is exactly what KDE does, and the corresponding functionality can more or less be ported from ki18n
    • Manually check all QML modules that depend on this functionality and make sure to patch in an infrequently-used API call to bindtextdomain, explicitly passing the full prefix for the corresponding package, so none of this functionality relies on the hardcoded path in lomiri-ui-toolkit
  • libayatana-common, with Lomiri features enabled, will pull in ~800MB of graphical dependencies from lomiri-url-dispatcher's GUI test tool. We should play around with i.e. a lomiri.lomiri-url-dispatcher.lib output to reduce the closure size for potential future non-Lomiri users.
  • We should check in all packages if any scripts with a /bin/sh slipped through, and patch those. We do have /bin/sh, but we shouldn't rely on it.
  • services.xserver.displayManager.lightdm.greeters.lomiri.enable likely doesn't work without services.desktopManager.lomiri.enable, might need some duplicated settings
  • keyboard layout is normally queried & set via a Ubuntu-only interface to AccountsService AFAICT. We're patching around this by setting & checking a custom envvar, should look into a better & upstream-compatible way of handling this though.
    • Might be getting better, upstream is moving to Ubuntu-independent, bundled D-Bus/AccountsService properties. Might just need some initialisation
@nixos-discourse
Copy link

This issue has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/unity-desktop-environment/25312/6

@samueldr samueldr added the 5. scope: tracking Long-lived issue tracking long-term fixes or multiple sub-problems label Apr 23, 2024
@ilya-fedin
Copy link
Contributor

I fail to install lomiri due to telephony-service which fails to build due to unit tests

@OPNA2608
Copy link
Contributor Author

#315117 or its 24.05 backport may not have propagated to whatever nixpkgs version you're using yet.

@ilya-fedin
Copy link
Contributor

Finally landed to unstable... Am I the only one unable to resize windows and firefox crashing entire session?

@OPNA2608
Copy link
Contributor Author

OPNA2608 commented Jun 9, 2024

Resizing works for me, you need to hover barely outside of the window borders and drag (the cursor doesn't change for me, not sure what this is down to).

Firefox is at least known to not work correctly. I think the crashing might be an issue only we are having, but I believe on Debian it also doesn't work (it brings up an empty window on bookworm, not sure about trixie/sid). I think this is an issue in qtmir, I might need to re-sync our package and check if there's been any improvement on that front. The bundled Morph Browser should work, not sure about others. Suboptimal, I know…

@ilya-fedin
Copy link
Contributor

ilya-fedin commented Jun 9, 2024

Hm. Firefox works just fine in Ubuntu 24.04 Lomiri testing edition for me (googled some article on Ubuntu Unity website, it has the iso, can provide a link).

Regarding the cursor: last time I saw a similar issue (not on Lomiri though), it was the lack of $XDG_DATA_DIRS/icons/default symlink to a cursor theme.

@OPNA2608
Copy link
Contributor Author

OPNA2608 commented Jun 9, 2024

Can try switching to https://gitlab.com/ubports/development/core/qtmir/-/tree/personal/sunweaver/debian-upstream branch, which seems to be what ubuntu 24.04 is using.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
5. scope: tracking Long-lived issue tracking long-term fixes or multiple sub-problems
Projects
None yet
Development

No branches or pull requests

4 participants