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

RFP: Lomiri (Unity8) desktop environment #99090

Closed
OPNA2608 opened this issue Sep 29, 2020 · 17 comments
Closed

RFP: Lomiri (Unity8) desktop environment #99090

OPNA2608 opened this issue Sep 29, 2020 · 17 comments

Comments

@OPNA2608
Copy link
Contributor

OPNA2608 commented Sep 29, 2020

Project description

A convergent desktop environment.

img.png

Canonicals previously-abandoned DE, picked up by the community and renamed to "Lomiri". It's Qt5-based and runs on Wayland via Mir.

Main point of interest for me is eventually using it on my PinePhone that I intended to run NixOS on (soon:tm:), but as a convergent DE it's supposed to be usable on desktops too. UB Touch is the de-facto showcase distro using Lomiri, Manjaro started distributing PP builds bundled with Lomiri recently and afaict postmarketOS is working on supporting it too. It is easily the smoothest-handling FOSS DE for Linux phones right now. (IMO anyway :stuck_out_tongue:)

Metadata

@AndersonTorres
Copy link
Member

AndersonTorres commented Sep 30, 2020

  • Lomiri? Or Unity8?
  • Runs on Wayland only via Mir?
    • Is Mir some "Wayland implementation"?

@OPNA2608
Copy link
Contributor Author

OPNA2608 commented Oct 1, 2020

  • Lomiri? Or Unity8?

It was called "Unity8" when Canonical were still developing it (as the next version of Unity, the graphical shell of Ubuntu until LTS 18.04). It has been officially abandoned by Canonical and picked up by the UBports community in 2017. Earlier this year, it has been renamed to "Lomiri". From the repository description:

Now called Lomiri, but still developed in this repository.


  • Runs on Wayland only via Mir?
    • Is Mir some "Wayland implementation"?

For the former, that seems to be the case yes. My understanding of Mir was that it's still an independent display server with some sort of Wayland support, but MirServer/mir sounds more like it's a Wayland compositor in general now?

Mir - Wayland compositor

Mir is a set of libraries for building Wayland based shells.

I'm not super knowledgable about Wayland, Mir or Lomiri though, sorry.

@AndersonTorres
Copy link
Member

Then it is two projects in one: Mir and Lomiri. If my HA doesn't hinder, I will try this too.

@OPNA2608
Copy link
Contributor Author

OPNA2608 commented Jan 3, 2021

I got a unity8 derivation and all of its compile-time dependencies to compile, but haven't tested any functionality or set up NixOS modules yet. Currently restructuring one big overlay into smaller derivations & commits so people can take a look at it, I'll prolly have everything in https://github.com/OPNA2608/nixpkgs/tree/lomiri within the next few hours to days. Would opening a WIP PR help with visibility & feedback or do you think it's too early for that?

@AndersonTorres
Copy link
Member

It is never early to show some novelty.

But, what do you think about write an overlay like the colemickens' wayland one?

@OPNA2608 OPNA2608 mentioned this issue Jan 4, 2021
10 tasks
@OPNA2608
Copy link
Contributor Author

OPNA2608 commented Jan 4, 2021

It is never early to show some novelty.

#108366

But, what do you think about write an overlay like the colemickens' wayland one?

That looks way too complicated for me, sorry. I wouldn't even know where to begin since I've barely discovered overlays so far! 😅

@stale
Copy link

stale bot commented Jul 4, 2021

I marked this as stale due to inactivity. → More info

@stale stale bot added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jul 4, 2021
@stale stale bot removed the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Sep 17, 2022
@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/2

@OPNA2608
Copy link
Contributor Author

I picked up work on this again. Still busy with packaging & making everything work as good as possible: OPNA2608/nixpkgs@init/lomiri-junk

screenshot20230225_105054669

@onny
Copy link
Contributor

onny commented Feb 26, 2023

This is impressive :) Is this the latest Lomiri used in Ubuntu Touch?

@OPNA2608
Copy link
Contributor Author

OPNA2608 commented Feb 26, 2023

As latest as it can get, most of the packages are using tags from 1-2 weeks ago (and I'm bumping them as I notice new tags being made [though I should prolly add update scripts to all of these packages at some point to automate that]): lomiri 0.1.2. I'm not sure, but I assume upstream's current UT 20.04 efforts will be using the same / similar versions. Their package upstreaming to Debian for the upcoming Debian Bookworm release certainly does.

The main thing differentiating it from UT is that their transition from Mir 1.x & mirclient to Mir 2.x & miroil has been delayed to UT 22.04, so we'll be pulling in some WIP patches to jump ahead to Mir 2.x - same as the Debian packaging. I had Mir 1.x kind-of working on my desktop, but it wouldn't run on my laptop (where in the mean time, I've grown quite accustomed to the in-between Miriway WM on Mir 2.x). It seemed not worth the extra headache, especially considering that the patches are good enough that Debian folks have accepted them for the packaging there.

My plan right now is to

  1. iron out some leftover problems as I notice them, package stuff as needed, likely add some tiny NixOS-specific customisations to the logo & default wallpaper like Manjaro & postmarketOS; until this stuff works more or less like it does on Debian
  2. go back and fix up all the individual packages where I've been lazy on the first go (get tests working if possible, meta details)
  3. rebase on master to check if anything's broken / been made obsolete since I started this
  4. tidy up the commit order
  5. start upstreaming stuff 🏁

I'm fairly determined to pull through with the packaging this time, considering the progress I've made so far. Haven't really put much thought into what we'll need in terms of maintenance & management in Nixpkgs though. Taking a look at what i.e. Pantheon does: prolly a Lomiri maintainer team and our own lomiri.* scope? Dunno if that should include UBports' click to save it from a naming conflict with the unrelated-but-already-packaged click Kubernetes CLI.

If anyone would like to organise & maintain this stuff with me, feel free to reach out so we can discuss this stuff. I'm mainly on Discord & on the official-unofficial Nix/NixOS server, but I can join on Matrix if necessary and try to use that more frequently 😅.

All indicators pretty much working now, and replaced the default wallpaper with one from nixos-artwork that seemed quite fitting colour-wise… 😉
screenshot20230226_124956536

@jcleng
Copy link

jcleng commented Mar 20, 2023

is there documentation on how to use it?

@phossil
Copy link
Contributor

phossil commented Mar 24, 2023

@jcleng you can check my flake for reference :)
all: move lomiriConfig and miscConfig to new files

EDIT: for context i'm still on nixos 22.11

@lidgnulinux
Copy link

Does the tap to click work ?

@OPNA2608
Copy link
Contributor Author

OPNA2608 commented Apr 24, 2023

Hmm. There is an option for tap-to-click in lomiri-system-settings, but for me it doesn't work. Haven't looked into how that setting is hooked up to the input stuff. When I'm not using Lomiri on my test machine I'm using Miriway, where this is said to require a libinput configuration implementation in Mir: canonical/mir#2886. Unsure if this extends to Lomiri though.

Edit: Seeing the same problem on Debian's Lomiri port, so I assume this is just broken?

@OPNA2608
Copy link
Contributor Author

services.desktopManager.lomiri.enable has been merged. It will be available on the unstable channel soon, and will find its way into the upcoming NixOS 24.05. Additional components that still need to be packaged for the full experience are being tracked in #260859.

@jcleng
Copy link

jcleng commented Apr 15, 2024

👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants