Nixpkgs: gdm crash on unstable

Created on 21 Mar 2017  路  40Comments  路  Source: NixOS/nixpkgs

on current unstable gdm crashes on boot leaving the system unusable,
im on a lenovo w541 , using bumblebee - this was discovered after #23628

lastboot.log.txt

im now using a other window manager, but would like to get my gnome back

blocker GNOME

Most helpful comment

I really love Please also check the log file at "/dev/null" for additional information. :-D

All 40 comments

I suppose this is the most interesting part:

(WW) xf86OpenConsole: VT_ACTIVATE failed: Operation not permitted              
(EE)                                                                           
Fatal server error:                                                            
(EE) xf86OpenConsole: Switching VT failed                                      
(EE)                                                                           
Please consult the The X.Org Foundation support                                
         at http://wiki.x.org                                                  
 for help.                                                                     
(EE) Please also check the log file at "/dev/null" for additional information. 
(EE)                                                                           
(WW) xf86CloseConsole: KDSETMODE failed: Operation not permitted               
(WW) xf86CloseConsole: VT_SETMODE failed: Operation not permitted              
(WW) xf86CloseConsole: VT_ACTIVATE failed: Operation not permitted             
(EE) Server terminated with error (1). Closing log file.                       
Unable to run X server                                                         

... but that doesn't enlighten me in any way.

I really love Please also check the log file at "/dev/null" for additional information. :-D

Same issue on a desktop with the proprietary Nvidia driver (no bumblebee, pkgs.linuxPackages.nvidia_x11), so might not be unique to a specific driver.

Switching to slim fixes my system.

I have the same issue with the intel driver (Intel Corporation HD Graphics 520). I am using lightdm for now without any problems.

GDM crashes on 17.03, too. Doesn't seem to be related to any graphics drivers.

It might be related to wayland differences.

Bisecting 8afdb9b..a40f20f8d47ee8f09914fc926d1ad7c45a3d6779

After reverting a5aa9269027d638b80fe1f23bcf8887ca80d034b in 4e57e7f7c6db9a9c00f527eff80cb37890ba516d I am able to run gdm in a VM again, nixos.tests.gnome3-gdm is still failing.

In the tests I get

machine# [   30.319299] xsession[990]: Failure: Module initialization failed
machine# [   30.519484] xsession[990]: /nix/store/sc8q8s8ldmi2w0x86m2nznahpizx4wab-xsession: Window manager 'gnome3' not found.

On my hardware:

Mar 25 12:35:23 host gdm-launch-environment][1039]: GdmSessionWorker: child (pid:1115) done (signal:1)
Mar 25 12:35:23 host gdm-launch-environment][1039]: GdmSessionWorker: uninitializing PAM
Mar 25 12:35:23 host gdm-launch-environment][1039]: GdmSessionWorker: state NONE
Mar 25 12:35:23 host org.gnome.Shell.desktop[1263]: could not connect to wayland server
Mar 25 12:35:23 host org.gnome.Shell.desktop[1263]: (EE)
Mar 25 12:35:23 host org.gnome.Shell.desktop[1263]: Fatal server error:
Mar 25 12:35:23 host org.gnome.Shell.desktop[1263]: (EE) Couldn't add screen
Mar 25 12:35:23 host org.gnome.Shell.desktop[1263]: (EE)

cc @groxxda @lethalman

Was there a change that switched gdm back to X (ronnys logs, globins test log)?
When I touched this code gdm was started with wayland and not X.

Debug information might help now (See https://github.com/NixOS/nixpkgs/pull/19742).

I don't know of one.. The problem seems to be that gdm/sddm etc, can't find the gnome3 session.

The problem exists with gdm / sddm but not with lightdm / slim?

What do you mean with gnome3 session? Your log fragment states it cannot find gnome3 window manager, which is supposed to happen. There is no window manager called gnome3.
For gnome, the session type ($sessionType in /nix/store/...-xsession, the script that caused above output) should be "gnome3-none".

After running the test, I can confirm that it tries to run gdm under X instead of wayland. I can not find @globins error message "window manager gnome3 not found" in my logs.

Also I can NOT reproduce the problems with my working nixos config in a vm. I reverted @globin s revert commit from above and was able to start a vm with my config. Inside the VM, gdm was started under wayland and I could login to a working gnome environment.

May the failing gnome-gdm test be a false positive?

Sidenote: I had to change in nixos/modules/virtualisation/qemu-vm.nix
services.timesyncd.enable = false;
to
services.timesyncd.enable = mkVMOverride false;

Well, I'm having the issue with the Nvidia proprietary driver, so as far as I'm aware there is no Wayland involved. LightDM/Slim works fine. GDM doesn't start at all, it gets stuck in a systemd restart loop.

Doubt it's a false positive.

@groxxda what was the exact way you created the VM? I couldn't manage to get a working gdm + gnome3 with that commit reverted or without

@globin
nixos-rebuild -I nixpkgs=/home/alice/nixpkgs --show-trace build-vm && sed 's/-m 384/-m 4096/' result/bin/run-bobs-vm|bash

And what is your NixOS config?

@globin

  hardware.opengl.extraPackages = [ pkgs.vaapiIntel ];
  environment.gnome3.packageSet = pkgs.gnome3_22;

  services.xserver = {
    enable = true;
    exportConfiguration = true;
    layout = "de";
    videoDrivers = [ "intel" ];
    xkbOptions = "eurosign:e";
    modules = [ pkgs.xorg.xf86inputlibinput ];
    tty = null;
    display = null;
    deviceSection = ''
      Option "AccelMethod" "uxa"
    '';
    displayManager = {
      slim.enable = false;
      gdm.enable = true;
    };
    desktopManager.gnome3.enable = true;
  };
  users = {
    mutableUsers = false;
    extraUsers.groxxda = {
      isNormalUser = true;
      extraGroups = [ "video" ];
    };
    extraUsers.gdm.extraGroups = [ "gdm" ];
    extraGroups.gdm = {};
  };

  services.gnome3.gnome-user-share.enable = false;
  services.gnome3.seahorse.enable = false;
  services.gnome3.sushi.enable = false;
  services.gnome3.tracker.enable = false;
  services.telepathy.enable = false;
  services.packagekit.enable = pkgs.lib.mkForce false;

Note that the gnome3-gdm test does not set services.xserver.displayManager.slim.enable = false

I managed to get it to work in a VM, too, but segfaults on my Thinkpad T460s.

Extended log excerpt here: https://gist.github.com/globin/2f8950b3161c5c03ef83b8c787287a66

Probably relevant parts:

Mar 28 15:34:30 hostname gdm-launch-environment][1029]: GdmSessionWorker: child (pid:1180) done (signal:1)
Mar 28 15:34:30 hostname gdm-launch-environment][1029]: GdmSessionWorker: uninitializing PAM
Mar 28 15:34:30 hostname gdm-launch-environment][1029]: GdmSessionWorker: state NONE
Mar 28 15:34:30 hostname org.gnome.Shell.desktop[1275]: could not connect to wayland server
Mar 28 15:34:30 hostname org.gnome.Shell.desktop[1275]: (EE)
Mar 28 15:34:30 hostname org.gnome.Shell.desktop[1275]: Fatal server error:
Mar 28 15:34:30 hostname org.gnome.Shell.desktop[1275]: (EE) Couldn't add screen
Mar 28 15:34:30 hostname org.gnome.Shell.desktop[1275]: (EE)
Mar 28 15:34:30 hostname gdm[813]: Child process 1029 was already dead.
Mar 28 15:34:30 hostname gdm[813]: Unable to kill session worker process
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSessionWorker: state SESSION_OPENED
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSessionWorker: Set PAM environment variable: 'GDM_LANG=en_US.UTF-8'
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSessionWorker: Set PAM environment variable: 'DCONF_PROFILE=gdm'
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSessionWorker: Set PAM environment variable: 'HOME=/run/gdm'
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSessionWorker: Set PAM environment variable: 'GDM_SEAT_ID=seat0'
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSessionWorker: Set PAM environment variable: 'RUNNING_UNDER_GDM=true'
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSessionWorker: Set PAM environment variable: 'GVFS_DISABLE_FUSE=1'
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSessionWorker: Set PAM environment variable: 'XDG_CURRENT_DESKTOP=GNOME-Greeter:GNOME'
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSessionWorker: Set PAM environment variable: 'LANG=en_US.UTF-8'
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSessionWorker: Set PAM environment variable: 'LOGNAME=gdm'
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSessionWorker: Set PAM environment variable: 'GVFS_REMOTE_VOLUME_MONITOR_IGNORE=1'
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSessionWorker: Set PAM environment variable: 'GIO_USE_VFS=local'
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSessionWorker: Set PAM environment variable: 'GDM_VERSION=3.22.0'
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSessionWorker: Set PAM environment variable: 'GNOME_SHELL_SESSION_MODE=gdm'
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSessionWorker: Set PAM environment variable: 'XCURSOR_PATH=~/.icons:/nix/store/fnlfc5v6zzfxkgb2rycql9f5lij3qk90-system-path/share/icons'
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSessionWorker: Set PAM environment variable: 'PWD=/run/gdm'
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSessionWorker: Set PAM environment variable: 'USERNAME=gdm'
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSessionWorker: Set PAM environment variable: 'USER=gdm'
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSessionWorker: Set PAM environment variable: 'PATH=/nix/store/ab6d68y1dnj3qxy2srhxn3l0lanbdzhp-gnome-session-3.22.0/bin:/nix/store/4d6f8hg5gv20nsbq7b52qzn6bcs4fvlh-coreutils-8.26/bin:/nix/store/f3vl26f3n18khgq1kybnzvwjbm0r9grg-findutils-4.6.0/bin:/nix/store/28kkn4w4k4ay6aihbi1x1hpmicz3wq88-gnugrep-3.0/bin:/nix/store/0xwrn1p8fp8h3cynszpgbmhmydbzhns5-gnused-4.4/bin:/nix/store/mnm47q4c1dxxym2rr8gr0cb3axg5jn6q-systemd-232/bin:/nix/store/ab6d68y1dnj3qxy2srhxn3l0lanbdzhp-gnome-session-3.22.0/sbin:/nix/store/4d6f8hg5gv20nsbq7b52qzn6bcs4fvlh-coreutils-8.26/sbin:/nix/store/f3vl26f3n18khgq1kybnzvwjbm0r9grg-findutils-4.6.0/sbin:/nix/store/28kkn4w4k4ay6aihbi1x1hpmicz3wq88-gnugrep-3.0/sbin:/nix/store/0xwrn1p8fp8h3cynszpgbmhmydbzhns5-gnused-4.4/sbin:/nix/store/mnm47q4c1dxxym2rr8gr0cb3axg5jn6q-systemd-232/sbin'
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSessionWorker: Set PAM environment variable: 'SHELL=/run/current-system/sw/bin/nologin'
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSessionWorker: Set PAM environment variable: 'XDG_DATA_DIRS=/nix/store/4vvbsyka6b983c22sr6vyirxbs8qbykk-gdm-3.22.0/share/gdm/greeter:/usr/local/share/:/usr/share/'
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSessionWorker: start program: /nix/store/4vvbsyka6b983c22sr6vyirxbs8qbykk-gdm-3.22.0/libexec/gdm-wayland-session "gnome-session --autostart /nix/store/4vvbsyka6b983c22sr6vyirxbs8qbykk-gdm-3.22.0/share/gdm/greeter/autostart --debug"
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSessionWorker: attempting to change state to SESSION_STARTED
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSessionWorker: opening session for program '/nix/store/4vvbsyka6b983c22sr6vyirxbs8qbykk-gdm-3.22.0/libexec/gdm-wayland-session'
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSessionWorker: jumping to VT 1
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSessionWorker: first setting graphics mode to prevent flicker
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSessionWorker: VT mode did need to be fixed
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSessionWorker: session opened creating reply...
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSessionWorker: state SESSION_STARTED
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSession worker: watching pid 1583
Mar 28 15:34:31 hostname gdm-launch-environment][1583]: GdmSessionWorker: could not take control of tty: Operation not permitted
Mar 28 15:34:31 hostname gdm-wayland-session[1583]: Enabling debugging
Mar 28 15:34:31 hostname gdm-wayland-session[1583]: Running session message bus
Mar 28 15:34:31 hostname gdm-wayland-session[1583]: session message bus already running, not starting another one
Mar 28 15:34:31 hostname gdm-wayland-session[1583]: Running wayland session
Mar 28 15:34:31 hostname gsettings[1587]: Using the 'memory' GSettings backend.  Your settings will not be saved or shared with other applications.
Mar 28 15:34:31 hostname kernel: show_signal_msg: 39 callbacks suppressed
Mar 28 15:34:31 hostname kernel: gnome-session-f[1591]: segfault at 0 ip 00007f752c899da9 sp 00007fff478274d0 error 4 in libgtk-3.so.0.2200.8[7f752c5b6000+6fc000]
Mar 28 15:34:31 hostname gdm-wayland-session[1583]: session was killed with status 15
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSessionWorker: child (pid:1583) done (status:0)
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSessionWorker: uninitializing PAM
Mar 28 15:34:31 hostname systemd-logind[683]: Removed session c2.

My relevant nixos config, mostly stolen from the one above:

{ config, pkgs, lib, ... }:

with lib;

{
  hardware = {
    pulseaudio.enable = true;
    pulseaudio.package = pkgs.pulseaudioFull;
    bluetooth.enable = true;
    opengl.extraPackages = [ pkgs.vaapiIntel ];
  };

  services = {
    acpid.enable = true;
    nscd.enable = false;

    avahi = {
      enable = true;
      ipv6 = true;
    };

    timesyncd.enable = false;
    chrony.enable = true;

    dbus = {
      enable = true;
      packages = [ pkgs.gnome3.gconf ];
    };

    gnome3.gnome-user-share.enable = false;
    gnome3.seahorse.enable = false;
    gnome3.sushi.enable = false;
    gnome3.tracker.enable = false;
    telepathy.enable = false;
    packagekit.enable = pkgs.lib.mkForce false;

    xserver = {
      enable = true;
      exportConfiguration = true;
      videoDrivers = [ "intel" ];
      tty = null;
      display = null;
      deviceSection = ''
        Option "AccelMethod" "uxa"
      '';
      displayManager.slim.enable = false;
      displayManager.gdm.enable = true;
      displayManager.gdm.debug = true;
      desktopManager = {
        gnome3.enable = true;
        gnome3.debug = true;
      };
      xkbVariant = "altgr-intl";
      xkbOptions = "ctrl:nocaps";
      libinput.enable = true;
      synaptics.enable = false;

      config = ''
        Section "InputClass"
          Identifier     "Enable libinput for TrackPoint"
          MatchIsPointer "on"
          Driver         "libinput"
          Option         "ScrollMethod" "button"
          Option         "ScrollButton" "8"
        EndSection
      ''; 
    };
  };

  users = {
    extraUsers.robin = {
      isNormalUser = true;
      extraGroups = [
        "systemd-journal" "wheel" "video"
      ];
    };
    extraUsers.gdm.extraGroups = [ "gdm" ];
    extraGroups.gdm = {}; 
  };
}

@groxxda any ideas, does it work on your hardware?

Works with slim + gnome3 btw on my hardware...

I just successfully booted 65593e6 on my hardware (intel graphics).

Can you confirm the acl on this file:

ls -al /dev/dri/card0
crw-rw----+ 1 root video 226, 0 Mar 28 18:45 /dev/dri/card0

No not anymore:

00:02.0 VGA compatible controller: Intel Corporation HD Graphics 520 (rev 07)

@groxxda crw-rw----+ 1 root video 226, 0 Mar 30 14:12 /dev/dri/card0

Removing the blocker as it apparently only fails on some hardware and other DMs work.

The other issue is that the display-manager keeps restarting even when I changed the systemd unit to not do restart. It makes it impossible to log into the account in text mode because the constant interruption of the DM starting. I'm not sure how to find out what triggers the display-mananger startup.

Possible issue is that GDM tries to spawn on tty1 and conflicts with getty/kmscon. Disabling [email protected] on my system fixed it.

Making display-manager.service conflict with [email protected] (when gdm is used) should fix this.

Temporary fix I'm using: systemd.targets."multi-user".conflicts = [ "[email protected]" ]

Regarding my previous comment:

While disabling [email protected] fixed the issue on my ThinkPad T420 with Intel Graphics (NVIDIA dGPU disabled in the BIOS), it hasn't fixed it on my desktop with an NVIDIA GTX 970 and nvidia_x11_beta.

I'm still using lightdm, unfortunately it breaks lock screen/session management stuff in GNOME that seems to depend on gdm (why?). I have to manually run gnome-session-quit to log out. light-locker-command -l does nothing.

Apr 16 16:04:50 pegasus gdm[3262]: Child process 8289 was already dead.
Apr 16 16:04:50 pegasus gdm[3262]: Unable to kill session worker process
Apr 16 16:04:51 pegasus gdm[3262]: GdmDisplay: display lasted 0.427778 seconds
Apr 16 16:04:51 pegasus gdm[3262]: Child process -8341 was already dead.
Apr 16 16:04:51 pegasus gdm[3262]: Child process 8318 was already dead.
Apr 16 16:04:51 pegasus gdm[3262]: Unable to kill session worker process
Apr 16 16:04:51 pegasus gdm[3262]: Child process -8380 was already dead.
Apr 16 16:04:51 pegasus gdm[3262]: Child process 8356 was already dead.
Apr 16 16:04:51 pegasus gdm[3262]: Unable to kill session worker process
Apr 16 16:04:51 pegasus gdm[3262]: GdmDisplay: display lasted 0.426663 seconds
Apr 16 16:04:51 pegasus gdm[3262]: Child process -8408 was already dead.
Apr 16 16:04:51 pegasus gdm[3262]: Child process 8384 was already dead.
Apr 16 16:04:51 pegasus gdm[3262]: Unable to kill session worker process
Apr 16 16:04:51 pegasus gdm[3262]: Child process -8447 was already dead.
Apr 16 16:04:51 pegasus gdm[3262]: Child process 8423 was already dead.
Apr 16 16:04:51 pegasus gdm[3262]: Unable to kill session worker process
Apr 16 16:04:52 pegasus systemd[1]: Stopping X11 Server...
Apr 16 16:04:52 pegasus gdm[3262]: GdmDisplay: display lasted 0.264471 seconds
Apr 16 16:04:52 pegasus gdm[3262]: Failed to contact accountsservice: Error calling StartServiceByName for org.freedesktop.Accounts: GDBus.Error:org.freedesktop.systemd1.ShuttingDown: Refusing activati
Apr 16 16:04:52 pegasus gdm[3262]: Child process -8475 was already dead.
Apr 16 16:04:52 pegasus gdm[3262]: Child process 8451 was already dead.
Apr 16 16:04:52 pegasus gdm[3262]: Unable to kill session worker process
Apr 16 16:04:52 pegasus gdm[3262]: gdm_display_finish: assertion 'GDM_IS_DISPLAY (self)' failed
Apr 16 16:04:52 pegasus systemd[1]: Stopped X11 Server.

There might be two separate issues affecting people here.

FWIW systemd.targets."multi-user".conflicts = [ "[email protected]" ] worked on my laptop with an Intel GPU. Thank you for that fix!

i jsut tried this as well, and it seems to fix this issue as well as #24298 for me

however it seems to come at the cost of language settings being reset to english

GDM works again on my notebooks, no idea why though. Even the systemd.targets."multi-user".conflicts = [ "[email protected]" ] is no longer necessary for me. I am using nixos unstable ( f0fac3b578086066b47360de17618448d066b30e ).

EDIT: The problem is back again, I had to re-add systemd.targets."multi-user".conflicts = [ "[email protected]" ].

I have managed to get GDM running on my desktop with a nvidia card. There are two separated problems.

First, GDM starts on vt1 (tty1), so the conflict with [email protected] is really needed. It is event present in the official systemd unit shipped with GDM.

Second, GDM runs the Xserver as non root user. However nvidia driver needs to be able create devices in the /dev/ folder.
The solution is to create those devices before the Xserver is started. I'm using these udev rules

services.udev.extraRules =  ''
  KERNEL=="card*", SUBSYSTEM=="drm", DRIVERS=="nvidia", RUN+="${pkgs.coreutils}/bin/mknod -m 0666 /dev/nvidia%n c 195 %n"
  KERNEL=="nvidia", RUN+="${pkgs.coreutils}/bin/mknod -m 0666 /dev/nvidiactl c 195 255"
  KERNEL=="nvidia_modeset", RUN+="${pkgs.coreutils}/bin/mknod -m 0666 /dev/nvidia-modeset c 195 254"
'';

Nvidia solves this with nvidia-modprobe utility which is setuid binary that can make nvidia devices and is called from nvidia xorg driver. But is hardcoded as /usr/bin/nvidia-modpobe in all the nvidia blobs. However even nvidia docs recommends udev before nvidia-modprobe

PS:

  • gdm on wayland with nvidia does not work in 3.22, but it looks like newer version could supported it.
  • i needed to turn off journald rate limiting to see all gdm logs and be able to debug this problem.

I looks like conflict with [email protected] is not the right solution. It breaks when running nixos-rebuild switch. It is caused by calling systemctl start getty.target from swith-to-configuration script. This forces the system to stop GDM, start getty@tty1, stop getty@tty1 and start GDM again which sometimes fails.

However, GDM can be compiled to start on different vt than tty1 and that seems to work fine. So I am running GDM on tty7.

I'm sharing my situation here for anecdotal purposes.

Adding following line to configuration.nix has fixed a problem on my NixOS machine where gdm is used.
systemd.targets."multi-user".conflicts = [ "[email protected]" ]

Before when running nixos-rebuild, I would see an error like this:
warning: the following units failed: systemd-vconsole-setup.service

This error no longer appears with the workaround in place. My system does not have an Nvidia GPU, rather, it's AMD A10-8700P & Radeon R6 M340DX (Lenovo ThinkPad E465). The configuration.nix and hardware.nix is attached in case anyone here is curious:
E465_configuration.zip

I may have experienced the nixos-rebuild switch break that deedrah mentioned. Not on my E465, but instead on an Intel Haswell desktop configured with an AMD Radeon 7750 (no integrated graphics). I applied digs' workaround to the machine because it had been showing the same systemd-vconsole-setup.service failure which the E465 had. With the workaround applied, rather than seeing the systemd failure warning after nixos-rebuild switch, Gnome3 simply disappears instead. If GDM reappears, login attempts succeed but do not bring an Gnome3 session - just GDM again. As long as this problem persists, I will have to avoid using nixos-rebuild rebuild. Not sure if this is really related - just adding my 2 cents here.

Confirm that adding this work around systemd.targets."multi-user".conflicts = [ "[email protected]" ] fixes gdm.

I think the best solution is to start GDM on tty7 like any other display manager.
Something like this should do the work for testing:

  nixpkgs.config.packageOverrides = pkgs:
  {
    gnome3 = pkgs.gnome3 // { gdm = pkgs.gnome3.gdm.overrideAttrs ( oldAttrs: {
      configureFlags = oldAttrs.configureFlags ++ [ "--with-initial-vt=7" ];
    });};
  };

I would like to help fixing this blocker, but it's unclear which problems are tracked in this issue. Can somebody clearify?

I think there are two separated problems:

  • [email protected] and gdm competing over tty1 (Where I think the solution with conflicts does not co-operate well with nixos-rebuild switch.
  • GDM running X server as non root and default access rights only for root for nvidia devices in /dev. Access rights should be setup by distribution according by Nvidia's docs.

I am running GDM on tty7 (and no conflicts for getty@tty1) and using this to fixup access rights for some months without any problem.

I couldn't reproduce this tty issue on master. Trying on 17.09

This should fixed by fixing #22470.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Infinisil picture Infinisil  路  146Comments

worldofpeace picture worldofpeace  路  103Comments

globin picture globin  路  65Comments

fdietze picture fdietze  路  144Comments

timokau picture timokau  路  66Comments