Restarting Unity development in 2021 - Progress Report

Hi everyone,

Last year, due to the COVID-19 pandemic, many valuable members left the Unity7 Maintainers team for various reasons. Unfortunately, this also meant a slowdown in the development of Unity. @khurshid-alam and I have been discussing this.

Progress Report

  1. We plan to migrate the Unity codebase to GitHub/GitLab in the beginning of this year. This will enable more contributors to take a look at the codebase and contribute to it. Currently, many of the Ayatana Project’s components are being co-maintained with other free software desktop environments and GNU/Linux distributions.

  2. Yaru has become quite stable for Unity and is ready for daily usage.

  3. Unfortunately, Compiz is completely dead. Even though it might be possible to revive it, the Unity7 codebase is huge and hard to maintain (hats off to @khurshid-alam who’s been working very hard to maintain it).

    Hence, I was looking into developing the next version of Unity (making use of the basic elements of Unity7): UnityX (because 7 8/ate 9). I’m currently writing it in Vala. I plan to use a window manager/compositor which supports both X11 and Wayland, like Mutter. However, the window manager will be configurable. Unlike Unity7 and GNOME, UnityX will not be a Compiz or Mutter plugin. Many window managers/compositors are catching up with Compiz’s UI effects. For example, kwin has added many of the popular effects like Wobbly Windows. Currently, I’m working on the session manager, unityx-session and it is almost completed. All the code can be found at https://gitlab.com/unity-x.

Community help

We need urgent contributions to various parts of Unity7 codebase and also to UnityX (if the community decides to take that route). To get started, please join the Unity7 Maintainers team and email on the mentioned mailing list.

— Rudra Saraswat (@rs2009)

9 Likes

I am interested in Unity7 and Unity8 but need approval by Community for a deeper contribution But I requested for team membership. Thanks

2 Likes

Thank you for showing interest. I’ll inform Khurshid.

2 Likes

2021-01-07: unity-slick-greeter

Continuing with the development of UnityX, I have forked slick-greeter (which is itself a fork of unity-greeter but eliminates the dependency on unity-settings-daemon and is written in Vala) to create unity-slick-greeter for UnityX.

Information

Source code: https://gitlab.com/unity-x/unity-slick-greeter
Free Software License: GPL-v3

Instructions: Downloading the source code and compiling/building

Install the required packages:

sudo apt-get update && sudo apt-get install devscripts dpkg-dev git

Download the source code from the Git repository over HTTPS:

mkdir -p $HOME/unityx $HOME/unityx/packages $HOME/unityx/packages/unity-slick-greeter
cd $HOME/unityx/packages/unity-slick-greeter
git clone https://gitlab.com/unity-x/unity-slick-greeter.git
cd unityx-slick-greeter

Install the required build dependencies:

sudo apt-get build-dep .

Compile the source code and generate an installable deb package:

debuild

The deb package can be found in $HOME/unityx/packages/unity-slick-greeter.

3 Likes

2021-01-08: devel PPA

A development PPA has been created for UnityX. You can add it to your computer with add-apt-repository. It can be added on machines running Focal Fossa, Groovy Gorilla and Hirsute Hippo.

Information

PPA: unity-x/devel
Link: https://launchpad.net/~unity-x/+archive/ubuntu/devel/

Packages (as of 2021-01-08)
  • unityx-slick-greeter
3 Likes

This is exciting to see. Thank you for what you are doing.

3 Likes

2021-02-21: rewrite of UnityX

UnityX has been rewritten using Fish’s scripting features. This will help in gaining more contributions, since most developers and maintainers are familiar with shell scripting.

Information

Repository: https://gitlab.com/unity-x/unityx.git
More information: https://unityx.org

1 Like

I’m always getting excited when a new desktop is being developed, especially when it’s a next version or next generation of a desktop i use, love and like. I’m look forward to meet UnityX. Keep up the great work Rudra and thank you for keeping Unity alive and around.

2 Likes

Why have you forked slick-greeter? What changes have you made over the top of slick? Slick greeter is still being maintained so I’m interested why a fork is needed and Unity can’t just use slick.

I have forked it to be able to make changes specific to UnityX in the future.

what sort of changes are you envisaging? Wouldn’t it be better to submit those changes as options to slick? Better to be collaborative I would have thought.

1 Like

@fossfreedom I had used slick-greeter as the base since there was no point repeating the task of removing the u-s-d dependencies that unity-greeter had.

However, I might integrate UnityX features with slick-greeter.

Unfortunately, what I mentioned earlier would violate slick-greeter's goal of being DE-independent.

I guess you could ask yourself the same questions about Arctica Greeter which is also a fork of Slick-greeter which both in turn are forks of Unity-greeter…

2021-02-28: DEB packages

DEB packages are now being generated for the Fish rewrite of UnityX.

Information

Download link: https://unityx.org/deb.zip

Hi @rs2009!

The desktop guide for standard Ubuntu 16.04 contains some pages which describe Unity and the indicator-* stack. When 16.04 gets EOL soon, we plan to unpublish that guide.

Would it be worth to preserve those docs and make use of them somehow in the revived Unity project?

1 Like

Hi @gunnarhj,

It would be fairly easy for us to not delete the 16.04 desktop help pages when we delete the rest of the 16.04 pages (serverguide and installation guide) upon 16.04 EOL. We could call it “legacy Unity help docs” or something. If any changes were wanted, and a re-compile desired, that might be a different matter. I’ll try it, but only if there is enough need. It has been a few years since I compiled the 16.04 desktop help for publication.

Hi @gunnarhj,

I had removed the menu item for ‘Help’ (which points to ubuntu-docs) from indicator-session for this reason and had uploaded it to our (Unity7 Maintainers’) testing PPA, since I believe the unity-docs was never uploaded (which @k_alam informs me was to be uploaded to universe).

@dsmythies @gunnarhj

It would be great if you could upload the old ubuntu-docs package (from xenial) back to universe with a different name (such as unity-docs) and make it conflict with the current ubuntu-docs package (yelp).

Creating unity-docs is doable. I can do that based on the 17.04 ubuntu-docs, which is slightly more updated and the last version which contains the Unity stuff. Then you will be able to take it from there to make it match the current stack of applications.

1 Like

@rs2009: I created a unity-docs package with contents from ubuntu-docs 17.04.3 and uploaded it to a PPA (hirsute) for now. It co-exists with both ubuntu-docs and gnome-user-docs, so no conflicts needed.

To check it out:

sudo add-apt-repository ppa:ubuntu-core-doc/ppa
sudo apt install unity-docs
yelp help:unity-help

There may be a few things to say as a guidance for your decision if/how to make use of it. We can talk about that here or elsewhere (I don’t have access to start a new topic in this discourse category).

4 Likes