Feedback on Pantheon in NixOS 20.03

Pantheon has gone through a lot of changes since 19.09, and especially right before we released.
If there’s any users of Pantheon in 20.03 that are having issues, or if it’s working fine, please leave some feedback here.

Some things I’m interested in are:

  • logout / login
  • shutdown and shutdown times
  • pantheon’s greeter
  • crashes?

warmth - worldofpeace

7 Likes

On that note, there’s also a section about Pantheon in NixOS manual now NixOS 23.11 manual | Nix & NixOS.

3 Likes

I love it in all ways so far. No issues. I’m grateful for it.

2 Likes

2 posts were split to a new topic: Renewing the certificates fails on update from simp_le to lego

Hey @worldofpeace, I’m a little late to the party, but I thought I could share something.

(Context: I am coming back to Linux after 4 years on macOS and I am excited by how some things have changed over this time and at the same time a little bummed by seeing that a lot of really basic stuff still has not been sorted out yet. Like scrolling. I just can’t believe that 4 years is not enough to make scrolling work sanely. But I am willing to put effort in helping fix all this.)

So, I have NixOS 20.09 with Pantheon and it greets me with a “fail whale” on login from time to time, however it is usually resolved by logging in on the console and restarting display-manager. I have absolutely no idea why this happens but it is just rare enough not to be annoying, so I don’t bother looking into the cause.

There also seems to be something wrong when locking the screen. When I press “lock” it changes to a black screen and there is literally nothing on the screen or in the logs for around 10 seconds. And then lightdm appears, and then a whole bunch of overall normal-looking log messages. During those 10 seconds I see some NetworkManager and systemd-related messages in dbus-monitor, so the system is alive and I suspect some of those messages might be the key, but there are a lot of them and they are really hard to analyse.

And then there is Bluetooth… I mean, yes, Bluetooth on Linux is a running joke (and I have to say on macOS it is even worse, because not only it doesn’t work sometimes, but there is also absolutely nothing you can do to change this). But the things I am struggling with seem to be pretty high-level.

One annoying thing is that Bluetooth keeps switching off when I suspend/resume the laptop and even when I simply lock it(!). I looked at dbus-monitor and I am pretty sure I saw someone send a message to switch it off when I am locking the screen, but dbus-monitor does not make it easy to identify what process that was. There is some irony in that when I tried to google this problem, it looks like everyone else is struggling with their Bluetooth switching ON after every login even though they don’t want it.

While looking into this I noticed that if I switch Bluetooth ON/OFF with dbus-send myself, after Bluez broadcasts a signal with the status update, wingpanel sends another message to it to switch ON/OFF. I don’t think this causes any issues, since it is trying to set it to the same state that I have just set myself, but that’s just a weird thing to do, and I suspect this might indicate some potential bug. I guess, I’ll just report this to the bluetooth indicator upstream.

Another issue I am experiencing just doesn’t make any sense at all. I have a bluetooth keyboard and a bluetooth trackpad. After I login and switch bluetooth on manually (since it keeps switching off all the time), I press a key on the keyboard and it reconnects; then I touch the trackpad and it tries to reconnect, but fails – I see it become green and then grey again in the drop-down list of devices. No matter how many times I try, it can’t connect. However! If I open Bluetooth Settings and touch the trackpad again, it will connect successfully. I have no explanation for this, and I have no idea where even to start looking.

Finally, sometimes Bluetooth devices get duplicated in the drop-down list. I think this has been fixed in the indicator master back in May, however they haven’t made a release yet. So, I guess, my question here is: is there a specific policy on which version of Pantheon packages we use in NixOS? Should we switch to just following their master branches or use the released version and include specific bug fixes as patches?

And in general, what would be the appropriate space to discuss and look for help with issues like this? I imagine, Elementary OS won’t be happy to receive my bug reports, and rightfully so, since it is pretty likely that some of what I am seeing is NixOS-specific.

I will mention really quick that I actually fixed a bunch of issues in pantheon basically yesterday (or the day before that?), and stuff like logout taking forever shouldn’t be a problem , and shutdown / shutdown time shouldn’t really be a huge problem (there’s still a slight bottleneck due to light-locker but that’s been axed upstream for an embedded screenlocker). I think the issue where “lock” takes forever.

With that out of the way, I think I’ve noticed all the issues you’ve mentioned at same point.

The “fail whale” issue I think was fixed in the batch of fixes I pushed out as I mentioned Pantheon: "Something has gone wrong." (cannot login) · Issue #100030 · NixOS/nixpkgs · GitHub. We believe some commit inside of mutter update fixed it.

When you “logs for around 10 seconds”, I’m wondering if you mean “log” like logging into the journal or “acts like a literal log”. If it’s the latter I think it was maybe pantheon: log out stalls from wingpanel-indicator-session · Issue #95658 · NixOS/nixpkgs · GitHub. A lot of issues in Pantheon on NixOS are actual issues in Pantheon and are acceptable to report upstream. What triggers them is the GNOME stack we’re using on NixOS (much newer than current released elementary OS), however, they’re about to have ubuntu focal which is using the same GNOME stack (as far as versions) in NixOS 20.09. pantheon: log out stalls from wingpanel-indicator-session · Issue #95658 · NixOS/nixpkgs · GitHub was fixed upstream because they noticed the issue when testing with the Focal stack. I hope at some point upstream could have CI for NixOS and Fedora in certain projects like gala and the greeter. (Nix is in session-settings CI currently).

I’m also going to double this particular response about your experience with Bluetooth, I think upstream there’s basically the same issues reported.

I would like to actually document this somewhere, maybe the section in the NixOS manual will be okay for this. The current situation is like this:

  • Try to backport all updates Pantheon sends out
  • Audit them so they’re majorly backwards compatible (you know like, not changing gsettings keys and not handling migration. that would be bad and I would report it)
  • Monitor development on master branches

There has come times in the development of Pantheon that requires me to roll my own experience and even patches to improve things for endusers. Here’s the latest examples on master and 20.09 (since yesterday)
https://github.com/NixOS/nixpkgs/commit/372e3a118dbf4b02a5c99aff69688d3e7672e34d
https://github.com/NixOS/nixpkgs/commit/95c05e6c44404ff13e506fe487ffab177d422bcf

The first example patches in bugfixes that I actually suggested a long time ago, and one sane improvement that will change the strings in the UI, but there’s no “string freeze” that we can feasibly do on a stable distribution for NixOS with Pantheon.

The second example was a straight update to what’s on master. I audited each commit and it was all okay bugfixes or plain harmless stuff in our environment. We can do this because Pantheon makes a practice (currently), to release often. However, they’re amist creating their next version of elementary OS, so big deal of stuff on their stable released software is now frozen. In this phase are start rolling my own experience.

TLDR; just do everything you can do to make Pantheon pristine. Patch, update to master, audit everything, write your own bugfixes and submit them upstream. Open issues upstream and work with them to get it fixed. Be a good open source citizen so everyone else can benefit.

Do you mean a development channel? We just made a #nixos-gnome channel, I guess we should do #nixos-pantheon too (if his is what you mean). If you meant “how to talk to the elementary project?”, they have a slack channel and I added one just for nixos there. You would need an invite because they’ve made this invite only (maybe I can do that since I’m a part of it). They also are actually cool getting bugreports from NixOS, I’m actually a member of the project to generally help with NixOS integration and other downstreams. So feel free to push your reports. They’re happy to discuss things and if you’re lucky they’ll fix them. Personally, I get as much information from them to make my own fixes. So they will always appreciate a good PR :+1:

2 Likes

If you could mention the commit, open an issue in nixpkgs to mention it(I’d fix it), or even PR applying the patch I’d be happy to integrate it :+1:


I’ll probably open another thread for Feedback on Pantheon for 20.09. And maybe GNOME as well, I feel like these kinda threads could be useful to us devs.

3 Likes

I am yet to figure it out (just starting), but a good note to add there might be how to configure the components such as dark style that use the Settings Portal (which is dbus).

Pantheon is mostly configured the same way as GNOME. But please open a new thread instead of necro-bumping if you have questions or suggestions – this thread it about Pantheon in NixOS 20.03 (more than three years old), and Pantheon is no longer maintained by @worldofpeace. Maybe open an issue about mentioning the Pantheon settings in docs.