Help testing GNOME, Pantheon, Cinnamon & co. needed

GNOME 43 has been released and our packaging of it appears to be stable so I invite everyone to help us test GNOME Shell and other desktop environments based on the GNOME platform.

In this cycle, many components switched from GTK 3 to GTK 4, and from libsoup 2 to libsoup 3. Since the different major versions of these libraries share symbol names, it is not possible to have both of them loaded in a process at the same time, and doing so (even through a transitive dependency) will likely make a program abort at runtime.

You can switch your system to the gnome branch by passing -I nixpkgs=https://github.com/NixOS/nixpkgs/archive/gnome.tar.gz flag to nixos-rebuild. With flakes, use nix flake update --override-input nixpkgs github:NixOS/nixpkgs/gnome before rebuilding your system. If you do not want to test on your physical machine, you can use build-vm subcommand of nixos-rebuild to create a virtual machine.

When testing, keep an eye on systemd journal for any crashes, errors or suspicious warnings.

9 Likes

Hi, thank you very much for your efforts, I’v been following updates to gnome branch for a while.

On my desktop computer with nvidia, everything works fine, but on my Lenovo X1 gen9 laptop I get segfault when trying to login.

nix configuration is essentially identical ( apart from video driver )

what is a best place to submit logs etc, github ? or disclose ?

here is just a few lines from logs just before segfault, googling didnt produce any leads

Errors from xkbcomp are not fatal to the X server
Could not issue ‘GetUnit’ systemd call
Started GNOME Shell on X11.
Failed to launch ibus-daemon: Failed to execute child process “ibus-daemon” (No such file or directory)
Error looking up permission: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for geolocation
.gnome-shell-wr[14206]: segfault at 58 ip 00007fc0b86574d0 sp 00007fff0f65b528 error 6 in liblcms2.so.2.0.13[7fc0b8649000+3c000]
Code: 81 c4 a0 00 00 00 5b 5d 41 5c c3 e8 ca 1f ff ff 66 2e 0f 1f 84 00 00 00 00 00 8b 47 58 c3 66 66 2e 0f 1f 84 00 00 00 00 00 90 <89>
77 58 c3 66 66 2e 0f 1f 84 00 00 00 00 00 90 8b 47 5c c3 66 66
Started Process Core Dump (PID 14303/UID 0).
Process 14206 (.gnome-shell-wr) of user 1000 dumped core.

Thank you in advance

Experimenting with GNOME again since yesterday, I added to the GNOME wiki page how to manage extensions, because it took me 2 hours to figure how it worked :frowning: (it’s not in gnome-tweak anymore)

Otherwise, GNOME works fine for me on Wayland and Xorg :+1:t3:

Thanks for the report.

For simple issues, reporting either here or in the PR is fine, we can just add it to the project. For crashes, a new GitHub issue will probably be the cleanest, since investigating them is more involved and could easily get lost in the PR due to GitHub not really handling large issues well.

As for investigating, you will want to get a stack trace. You can use coredumpctl gdb to interact with a core dump for the latest crash using a debugger. (Or coredumpctl gdb <pid> with a process id obtained from journal or coredumpctl, to access the previous crashes.) There, you can run bt full to get the trace.

For maximum usefulness of the trace, you will want to also install a debugging information with the following NixOS configuration snippet:

{ pkgs, ... }:

{
  environment.systemPackages = with pkgs; [
    gdb
    # Make debug info available.
    # These have them enabled by default.
    glib
    gjs
    gnome.mutter
    gnome.gnome-shell
    # For these, we need to rebuild the packages (see below)
    # to have them contain a debug-id to match them to debug info.
    # Unfortunately, you will need to replicate the crash again
    # to have the detailed debugging info used.
    lcms2
  ];

  environment.enableDebugInfo = true;

  # Replace the dependencies of your system without rebuilding the world (like an overlay would). 
  system.replaceRuntimeDependencies = [
    {
      original = pkgs.lcms2;
      replacement = pkgs.lcms2.overrideAttrs (attrs: {
        separateDebugInfo = true;
      });
    }
  ];
}
1 Like

Thanks for the info.

Yeah, we are still trying to figure out the balance between sticking to NixOS specifics and duplicating upstream documentation (though it looks like it is lacking in this case). But I would say the relevant NixOS docs do contain the basics. Only really missing is the program name (but when user is using GUI, they will most likely launch it using the application launcher), and the mention of web store (which we need to discourage since many extension there require some kind of patching to work on NixOS).

I couldn’t find the application to manage extensions, it’s not installed by default :sweat_smile: maybe it should be added to GNOME packages by default?

It is part of GNOME Shell and installed by default:

GNOME Shell Extensions app in application launcher

I feel a bit stupid right now :exploding_head: I’ll adapt the wiki page because I added convoluted explanations like installing the extension package :roll_eyes:

Thank you :pray:t3:

@jtojnar

I am still building a system to follow you instructions ( for education purposes )
however I already had stack trace in my logs, searching though those has lead me to to this

stack trace is almost identical to my

there is also this MR linked to the issue, so I am going to try applying those patches to see if that helps

@jtojnar mutter 43.0: fixup color-device: Don't create profiles from obvious g… by kirillrdy · Pull Request #192831 · NixOS/nixpkgs · GitHub this fixes the issue for me

Ah I hope I am not too late to post this.

If you use Pantheon and know something about GObject / Vala, we will appreciate your help as upstream is mostly focusing on getting elementary OS 7 out and many packages do not build or work with GNOME 43 updates without some unmerged / unreviewed pull requests or patches and Fedora just abandoned Pantheon for that reason.

We will be grateful if you can help review:

We are also carrying some hacks downstreamly, we will be grateful if you can try reproduce the issue, figure out what the root cause is and which package actually requires a fix:

If you use elementary-tasks or elementary-planner (third party app) and know something about libsoup 2 → 3 migration, evolution-data-server and libgdata, we will be grateful if you can help unbreak them:

1 Like