OpenGL Breaks After 25.05 Update

Hello, so I just recently updated to 25.05 and now when I try to run alacritty I get this error

Created log file at "/tmp/Alacritty-14085.log"
[0.000603737s] [WARN ] [alacritty_config_derive] Unused config key: gtk_theme_variant
[0.000812320s] [WARN ] [alacritty_config_derive] Unused config key: graphics
Deleted log file at "/tmp/Alacritty-14085.log"
Error: "failed to find suitable GL configuration."

Here is my relavent configuration

  services.xserver = {
    videoDrivers = ["nvidia"];
    enable = true;
    displayManager = {
      lightdm = {
        enable = true;
      };
    };
    windowManager.i3.enable = true;
    xkb.layout = "us";
    xkb.variant = "";
    # Add NVIDIA-specific X server configuration
    config = ''
      Section "Device"
        Identifier "nvidia"
        Driver "nvidia"
        Option "AllowIndirectGLXProtocol" "off"
        Option "TripleBuffer" "true"
        Option "UseEvents" "true"
        Option "AllowFlipping" "true"
        Option "UseEdidFreq" "true"
        Option "RegistryDwords" "EnableBrightnessControl=1"
        Option "SidebandSocketPath" "/run/nvidia-xdriver"
      EndSection
    '';
  };
  services.displayManager = {
    defaultSession = "none+i3";
  };
  hardware.graphics = {
    enable = true;
    enable32Bit = true;
    extraPackages = with pkgs; [
      nvidia-vaapi-driver
      libvdpau-va-gl
      (config.boot.kernelPackages.nvidia_x11)
    ];
    extraPackages32 = with pkgs.pkgsi686Linux; [
      libvdpau-va-gl
    ];
  };
  hardware.nvidia = {
    # Modesetting is required.
    modesetting.enable = true;

    # Nvidia power management. Experimental, and can cause sleep/suspend to fail.
    powerManagement.enable = false;
    powerManagement.finegrained = false;

    # Use the NVidia open source kernel module
    open = false;

    # Enable the Nvidia settings menu
    nvidiaSettings = true;

    # Optionally, you may need to select the appropriate driver version for your specific GPU.
    package = config.boot.kernelPackages.nvidiaPackages.stable;

    # Add these new settings
    forceFullCompositionPipeline = true;
    nvidiaPersistenced = true;
  };

here is some output logs from X (nvidia)

[     7.515] Kernel command line: BOOT_IMAGE=(hd0,msdos1)/nix/store/303izw3zmxza3n01blxaa5a44abbqkkr-linux-6.12.30/bzImage init=/nix/store/z2n0scf9qv5xw76m4p57jap762hrr531-nixos-system-nixos-25.05.20250528.7282cb5/init loglevel=4 lsm=landlock,yama,bpf nvidia-drm.modeset=1 nvidia-drm.fbdev=1
[     7.517] (**) |-->Screen "Screen-nvidia[0]" (0)
[     7.518] (**) |   |-->Device "Device-nvidia[0]"
[     7.518] (**) |   |-->GPUDevice "nvidia"
[     7.518] (==) No monitor specified for screen "Screen-nvidia[0]".
[     7.526] (**) ModulePath set to "/nix/store/nks9bygdrcfbjnid5w5bi6v8rmcc2dps-nvidia-x11-570.144-6.12.30-bin/lib/xorg/modules,/nix/store/pl2mapfil2bi7bdsypqyi6xa7b7asmjm-xorg-server-21.1.16/lib/xorg/modules,/nix/store/y9bchdsab46jcwab8pikwzz9p1yfx5qr-xf86-input-evdev-2.11.0/lib/xorg/modules,/nix/store/xz3prvidaybzs46a8jb3wmdnsaqa1k7r-xf86-input-libinput-1.5.0/lib/xorg/modules"
[     7.551] (II) LoadModule: "nvidia"
[     7.551] (II) Loading /nix/store/nks9bygdrcfbjnid5w5bi6v8rmcc2dps-nvidia-x11-570.144-6.12.30-bin/lib/xorg/modules/drivers/nvidia_drv.so
[     7.556] (II) Module nvidia: vendor="NVIDIA Corporation"
[     7.557] (II) NVIDIA dlloader X Driver  570.144  Thu Apr 10 20:05:34 UTC 2025
[     7.557] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[     7.574] (II) NVIDIA(0): Creating default Display subsection in Screen section
        "Screen-nvidia[0]" for depth/fbbpp 24/32
[     7.574] (==) NVIDIA(0): Depth 24, (==) framebuffer bpp 32
[     7.574] (==) NVIDIA(0): RGB weight 888
[     7.574] (==) NVIDIA(0): Default visual is TrueColor
[     7.574] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[     7.574] (**) NVIDIA(0): Option "TripleBuffer" "on"
[     7.574] (**) NVIDIA(0): Option "AllowIndirectGLXProtocol" "off"
[     7.574] (**) NVIDIA(0): Option "SidebandSocketPath" "/run/nvidia-xdriver/"
[     7.575] (**) NVIDIA(0): Option "MetaModes" "nvidia-auto-select +0+0 {ForceFullCompositionPipeline=On}"
[     7.575] (**) NVIDIA(0): Enabling 2D acceleration
[     7.575] (II) Loading sub module "glxserver_nvidia"
[     7.575] (II) LoadModule: "glxserver_nvidia"
[     7.575] (II) Loading /nix/store/nks9bygdrcfbjnid5w5bi6v8rmcc2dps-nvidia-x11-570.144-6.12.30-bin/lib/xorg/modules/extensions/libglxserver_nvidia.so
[     7.751] (II) Module glxserver_nvidia: vendor="NVIDIA Corporation"
[     7.751] (II) NVIDIA GLX Module  570.144  Thu Apr 10 20:06:53 UTC 2025
[     7.752] (II) NVIDIA: The X server supports PRIME Render Offload.
[     7.754] (--) NVIDIA(0): Valid display device(s) on GPU-0 at PCI:1:0:0
[     7.754] (--) NVIDIA(0):     DFP-0
[     7.754] (--) NVIDIA(0):     DFP-1 (boot)
[     7.754] (--) NVIDIA(0):     DFP-2
[     7.754] (--) NVIDIA(0):     DFP-3
[     7.754] (--) NVIDIA(0):     DFP-4
[     7.754] (--) NVIDIA(0):     DFP-5
[     7.754] (--) NVIDIA(0):     DFP-6
[     7.754] (--) NVIDIA(0):     DFP-7
[     7.768] (II) NVIDIA(0): NVIDIA GPU NVIDIA GeForce GTX 1080 (GP104-A) at PCI:1:0:0
[     7.768] (II) NVIDIA(0):     (GPU-0)
[     7.768] (--) NVIDIA(0): Memory: 8388608 kBytes
[     7.768] (--) NVIDIA(0): VideoBIOS: 86.04.60.00.a8
[     7.768] (II) NVIDIA(0): Detected PCI Express Link width: 16X
[     7.801] (--) NVIDIA(GPU-0): DFP-0: disconnected
[     7.801] (--) NVIDIA(GPU-0): DFP-0: Internal TMDS
[     7.802] (--) NVIDIA(GPU-0): DFP-0: 330.0 MHz maximum pixel clock
[     7.802] (--) NVIDIA(GPU-0): 
[     7.845] (--) NVIDIA(GPU-0): Acer EI272UR (DFP-1): connected
[     7.845] (--) NVIDIA(GPU-0): Acer EI272UR (DFP-1): Internal TMDS
[     7.845] (--) NVIDIA(GPU-0): Acer EI272UR (DFP-1): 600.0 MHz maximum pixel clock
[     7.845] (--) NVIDIA(GPU-0): 
[     7.845] (--) NVIDIA(GPU-0): DFP-2: disconnected
[     7.845] (--) NVIDIA(GPU-0): DFP-2: Internal DisplayPort
[     7.845] (--) NVIDIA(GPU-0): DFP-2: 1440.0 MHz maximum pixel clock
[     7.845] (--) NVIDIA(GPU-0): 
[     7.845] (--) NVIDIA(GPU-0): DFP-3: disconnected
[     7.845] (--) NVIDIA(GPU-0): DFP-3: Internal TMDS
[     7.845] (--) NVIDIA(GPU-0): DFP-3: 165.0 MHz maximum pixel clock
[     7.845] (--) NVIDIA(GPU-0): 
[     7.845] (--) NVIDIA(GPU-0): DFP-4: disconnected
[     7.845] (--) NVIDIA(GPU-0): DFP-4: Internal DisplayPort
[     7.845] (--) NVIDIA(GPU-0): DFP-4: 1440.0 MHz maximum pixel clock
[     7.845] (--) NVIDIA(GPU-0): 
[     7.845] (--) NVIDIA(GPU-0): DFP-5: disconnected
[     7.845] (--) NVIDIA(GPU-0): DFP-5: Internal TMDS
[     7.845] (--) NVIDIA(GPU-0): DFP-5: 165.0 MHz maximum pixel clock
[     7.845] (--) NVIDIA(GPU-0): 
[     7.845] (--) NVIDIA(GPU-0): DFP-6: disconnected
[     7.845] (--) NVIDIA(GPU-0): DFP-6: Internal DisplayPort
[     7.845] (--) NVIDIA(GPU-0): DFP-6: 1440.0 MHz maximum pixel clock
[     7.845] (--) NVIDIA(GPU-0): 
[     7.845] (--) NVIDIA(GPU-0): DFP-7: disconnected
[     7.845] (--) NVIDIA(GPU-0): DFP-7: Internal TMDS
[     7.845] (--) NVIDIA(GPU-0): DFP-7: 165.0 MHz maximum pixel clock
[     7.845] (--) NVIDIA(GPU-0): 
[     7.849] (II) NVIDIA(0): Validated MetaModes:
[     7.849] (II) NVIDIA(0):     "nvidia-auto-select+0+0{ForceFullCompositionPipeline=On}"
[     7.849] (II) NVIDIA(0): Virtual screen size determined to be 2560 x 1440
[     7.858] (--) NVIDIA(0): DPI set to (108, 107); computed from "UseEdidDpi" X config
[     7.858] (--) NVIDIA(0):     option
[     7.858] (WW) NVIDIA: Failed to bind sideband socket to
[     7.858] (WW) NVIDIA:     '/run/nvidia-xdriver//nvidia-xdriver-2582cc46' No such
[     7.858] (WW) NVIDIA:     file or directory
[     7.858] (II) NVIDIA: Reserving 24576.00 MB of virtual memory for indirect memory
[     7.858] (II) NVIDIA:     access.
[     7.888] (II) NVIDIA(0): Setting mode "nvidia-auto-select+0+0{ForceFullCompositionPipeline=On}"
[     7.913] (WW) NVIDIA(0): Failed to request fliplock.
[     7.918] (==) NVIDIA(0): Disabling shared memory pixmaps
[     7.918] (==) NVIDIA(0): Backing store enabled
[     7.918] (==) NVIDIA(0): Silken mouse enabled
[     7.919] (==) NVIDIA(0): DPMS enabled
[     7.919] (WW) NVIDIA(0): Option "RandRRotation" is not used
[     7.919] (II) NVIDIA(0): [DRI2] Setup complete
[     7.919] (II) NVIDIA(0): [DRI2]   VDPAU driver: nvidia
[     8.195] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=3 (/dev/input/event11)
[     8.197] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=7 (/dev/input/event12)
[     8.198] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=8 (/dev/input/event13)
[     8.199] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=9 (/dev/input/event14)
[connor@nixos:~/git/nixos-config]$ grep -i "glx" /var/log/X.0.log
[     7.540] (II) "glx" will be loaded by default.
[     7.540] (II) LoadModule: "glx"
[     7.543] (II) Loading /nix/store/pl2mapfil2bi7bdsypqyi6xa7b7asmjm-xorg-server-21.1.16/lib/xorg/modules/extensions/libglx.so
[     7.551] (II) Module glx: vendor="X.Org Foundation"
[     7.574] (**) NVIDIA(0): Option "AllowIndirectGLXProtocol" "off"
[     7.575] (II) Loading sub module "glxserver_nvidia"
[     7.575] (II) LoadModule: "glxserver_nvidia"
[     7.575] (II) Loading /nix/store/nks9bygdrcfbjnid5w5bi6v8rmcc2dps-nvidia-x11-570.144-6.12.30-bin/lib/xorg/modules/extensions/libglxserver_nvidia.so
[     7.751] (II) Module glxserver_nvidia: vendor="NVIDIA Corporation"
[     7.751] (II) NVIDIA GLX Module  570.144  Thu Apr 10 20:06:53 UTC 2025
[     7.921] (II) Initializing extension GLX
[     7.921] (II) Initializing extension GLX
[     7.921] (II) Indirect GLX disabled.
[     7.921] (II) GLX: Another vendor is already registered for screen 0
[     7.922] (II) Initializing extension NV-GLX

Here are some logs from X (about glx and nvidia) and glxinfo

[connor@nixos:~/git/nixos-config]$ grep -E "EE|WW" /var/log/X.0.log | grep -i nvidia
[     7.858] (WW) NVIDIA: Failed to bind sideband socket to
[     7.858] (WW) NVIDIA:     '/run/nvidia-xdriver//nvidia-xdriver-2582cc46' No such
[     7.858] (WW) NVIDIA:     file or directory
[     7.913] (WW) NVIDIA(0): Failed to request fliplock.
[     7.919] (WW) NVIDIA(0): Option "RandRRotation" is not used
[connor@nixos:~/git/nixos-config]$ grep -E "EE|WW" /var/log/X.0.log | grep -i glx
*no output*
[connor@nixos:~/git/nixos-config]$ LIBGL_DEBUG=verbose glxinfo
name of display: :0
Error: couldn't find RGB GLX visual or fbconfig

Here is my complete config if you need it

Does anyone have any solutions, I mean this is a pretty major issue and a lot of stuff isn’t working.

Hello so it seems that this is a rather known issue.
The solution is to use NixGL. Just follow these steps:

If you encounter any issues in the future pleas first search for them.
I only searched for “alclarrity failed to find suitable GL configuration” and the third entry was the link.

NixGL should only be necessary on non-NixOS machines. But @SerrialError uses NixOS.

2 Likes

It’s hard to comment on this without asking:

Why are you setting all of this? All of that stuff is pretty special case, and you’re getting errors indicating that at least some of it isn’t working.

The fact that you’re adding the kernel module to your hardware.graphics.packages makes me think the answer is “copied it from somewhere on the internet, don’t know what it does”, in which case I suggest starting from scratch, and not setting things whose purpose you do not understand - the defaults are almost always correct.

Hi, I am just a random nixos user.
I also encounter some breakage after 25.05 update. I can’t even login to graphic interface
After a lot of trial and error deleting redundent nvidia settings, this is the config that works for me.

{
  # For Kernel Mode Settings (for plymouth)
  # https://wiki.archlinux.org/title/Kernel_mode_setting#Early_KMS_start
  boot.initrd.kernelModules = [
    "nvidia"
    "nvidia_modeset"
    "nvidia_uvm"
    "nvidia_drm"
  ];

  # Enable OpenGL
  # https://wiki.nixos.org/wiki/Nvidia#Enabling
  # Note: hardware.graphics.enable was named hardware.opengl.enable until NixOS 24.11.
  hardware.graphics = {
    enable = true;
    # On 64-bit systems, whether to also install 32-bit drivers for 32-bit applications (such as Wine).
    enable32Bit = true;
  };

  # https://wiki.nixos.org/wiki/Nvidia#Enabling
  # To enable them, add "nvidia" to the list of enabled video drivers defined by the services.xserver.videoDrivers option.
  services.xserver.videoDrivers = [ "nvidia" ];

  hardware.nvidia = {
    # open source NVIDIA kernel module not available for my old GPU
    open = false;
    # Whether to enable forcefully the full composition pipeline. This sometimes fixes screen tearing issues. This has been reported to reduce the performance of some OpenGL applications and may produce issues in WebGL. It also drastically increases the time the driver needs to clock down after load .
    forceFullCompositionPipeline = true;
  };
}

I am also using window manager with X11, this config might help

And yet you still have redundant settings!

Those are the default settings, you should remove them so that they can be removed by upstream if necessary. You should almost never set boot.initrd.kernelModules manually, other options do it for you.

nvidia_uvm is loaded by softdep when you need it, and should be left unset. It’s only used for CUDA applications anyway, so typically not for desktop use cases.

All this does is switch full output transformations (scaling, rotation) to being done in software instead of hardware.

Doing so is almost always a bad idea, try if things are still broken if you don’t set that. If they are, we’ve identified the root cause, but you should report it to nvidia and really ought to unset it every time you notice an nvidia driver update.

This is fine, but for the blind copy-pasters and LLMs out there, this is practically only true for 9xx and 10xx series cards. All other cards need either a legacy driver or should be using the open driver.

1 Like

Thank you so much for your advice!
Without setting boot.initrd.kernelModules, the plymouth icon become bigger and blurry, but it is fine, it may make my system boot faster.

forceFullCompositionPipeline = true;

This line was in my config when I first install NixOS very long time ago, because I have to set the related settings in the previous distro to get rid of the screen tearing.
I tested again without this line and seem also no screen tearing. very great!

for the open = false, yea I am using 10xx series cards. nix complaint if I commented it out.

Really thank you for the advice!

Fun, that should definitely not happen; there is no difference between your configuration with or without that setting. Things like that are related to when the graphics drivers switch over from what UEFI does natively. It may mean modesetting is no longer active, which would only be the case on old versions of NixOS.

I’ve seen similar behavior occasionally though, might just be the nvidia driver being the nvidia driver. E.g. rebooting will cause slightly different behavior than cold boots.

Actually I have not set any boot.initrd.kernelModules in 24.05 and 24.11 for plymouth displayed correctly. The blurry and big icon thing only happen when I upgraded to 25.05, which can be fixed by setting boot.initrd.kernelModules. So… I don’t know :slight_smile:

Of course, most of the stuff that I uploaded was just copy and paste. This was due to the issue of me updated with the exact same config an somehow loading up to a black screen. Then I troubleshooted some and eventually got the display manager not to crash. Then I started to open up programs and they didn’t work. So I just tried everything I could, I just reset to basically the bog-standard config from the NixOS gui, here is the relevant configuration

  # Configure keymap in X11
  services.xserver = {
    enable = true;
    videoDrivers = ["nvidia"];
    displayManager.lightdm.enable = true;
    windowManager.i3.enable = true;
    xkb.layout = "us";
    xkb.variant = "";
  };
  services.displayManager = {
    defaultSession = "none+i3";
  };
  hardware.graphics = {
    enable = true;                                 # turn on the NixOS OpenGL wrapper system
  };
  hardware.nvidia = {

    # Modesetting is required.
    modesetting.enable = true;

    # Nvidia power management. Experimental, and can cause sleep/suspend to fail.
    # Enable this if you have graphical corruption issues or application crashes after waking
    # up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead 
    # of just the bare essentials.
    powerManagement.enable = false;

    # Fine-grained power management. Turns off GPU when not in use.
    # Experimental and only works on modern Nvidia GPUs (Turing or newer).
    powerManagement.finegrained = false;

    # Use the NVidia open source kernel module (not to be confused with the
    # independent third-party "nouveau" open source driver).
    # Support is limited to the Turing and later architectures. Full list of 
    # supported GPUs is at: 
    # https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus 
    # Only available from driver 515.43.04+
    open = false;

    # Enable the Nvidia settings menu,
	# accessible via `nvidia-settings`.
    nvidiaSettings = true;

    # Optionally, you may need to select the appropriate driver version for your specific GPU.
    package = config.boot.kernelPackages.nvidiaPackages.stable;
  };

With this code I get the same issue. I started searching around and I think the issue is something with mesa. I do not have Mesa installed (as from what I know) at all which is what it seems like OpenGL is run off (maybe in the previous OpenGL config on the NixOS wiki which basically only says stuff about Mesa)? Maybe I am completely wrong about this cause in the new version you can obv set open to be false (Which I need to do as I use a 1080). Anyways to run glxinfo I installed mesa-demos which feels “wrong” as I am not using Mesa, however it seemed like the only way to install it at the time which I now know is wrong, so I switched to the glxinfo package (I think I tried this before, but maybe I typed it in wrong or something because it didn’t work). Again anyways on the OpenGL NixOS Wiki page I linked it said

If glxinfo returns Error: couldn't find RGB GLX visual or fbconfig, ensure you have hardware.opengl.extraPackages = [ pkgs.mesa.drivers ]; set.

(Which is the same exact error I’m getting) Which again (with the mesa thing) might have changed as now (maybe also before idk as I had the same config previously) you are able to use the close sourced package. So I think that is the overarching issue as I really don’t know what is going on. As a side note someone told me to replace the nvidia package to this -

  hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.mkDriver {
    version = "570.144";
    sha256_64bit = "sha256-wLjX7PLiC4N2dnS6uP7k0TI9xVWAJ02Ok0Y16JVfO+Y=";
    sha256_aarch64 = "sha256-6kk2NLeKvG88QH7/YIrDXW4sgl324ddlAyTybvb0BP0=";
    openSha256 = "sha256-PATw6u6JjybD2OodqbKrvKdkkCFQPMNPjrVYnAZhK/E=";
    settingsSha256 = "sha256-VcCa3P/v3tDRzDgaY+hLrQSwswvNhsm93anmOhUymvM=";
    persistencedSha256 = "sha256-hx4w4NkJ0kN7dkKDiSOsdJxj9+NZwRsZEuhqJ5Rq3nM=";
  };

which also didn’t work (and this was their message)

similar issue happened to me, nvidia in their infinite glory seems to have released a breaking driver update for my 1050ti solution is to pin the latest driver update that works (put in place of package = config.boot.kernelPackages.nvidiaPackages.stable; ):

As another side note when I did that and sometimes when I switched my config I was getting this error -

Ă— nvidia-persistenced.service - NVIDIA Persistence Daemon
     Loaded: loaded (/etc/systemd/system/nvidia-persistenced.service; enabled; preset: ignored)
     Active: failed (Result: exit-code) since Tue 2025-06-10 11:19:29 PDT; 37s ago
   Duration: 4min 28.928s
 Invocation: fd012d3b55c345ef9304d02979b0dce5
    Process: 34400 ExecStart=/nix/store/ih9nc8h3s26bg7jyyg3d3dfkj5kw5bb9-nvidia-persistenced-570.144/bin/nvidia-persistenced --verbose (code=exited, status=1/FAILURE)
    Process: 34402 ExecStopPost=/nix/store/87fck6hm17chxjq7badb11mq036zbyv9-coreutils-9.7/bin/rm -rf /var/run/nvidia-persistenced (code=exited, status=0/SUCCESS)

Jun 10 11:19:29 nixos systemd[1]: nvidia-persistenced.service: Scheduled restart job, restart counter is at 5.
Jun 10 11:19:29 nixos systemd[1]: nvidia-persistenced.service: Start request repeated too quickly.
Jun 10 11:19:29 nixos systemd[1]: nvidia-persistenced.service: Failed with result 'exit-code'.
Jun 10 11:19:29 nixos systemd[1]: Failed to start NVIDIA Persistence Daemon.

, but after restart there are no errors (I also think was the issue that was happening with the display manager).

As another side note, sorry for the late response, and somewhat long and convoluted message I’m pretty tired rn.

As another side note, maybe try being a little more nice as it kinda felt like you along with some others were criticizing me or acting “elitist” ig. I kinda fall into the same trap sometimes, but yk it’s nice to spread some joy sometimes. Thanks for helping!

on criticism

Not my intention in the slightest! I’m just trying to figure out what the intentions behind your code are, but if all I do is ask at my most friendly why people do what they’re doing, many people get upset that I’m not helping enough or quickly enough. I often get a “but you’re not telling me what to do” in response to questions.

I appreciate that it might not be the nicest thing to hear “hey, what you’re doing doesn’t make sense to me, why are you doing that?”, and that many people are obviously just trying every small snippet they see online in desperation, but I’ve found it to be more productive in actually getting folks what they need. There are also many people who actually purposefully do at least a subset of the things they do, so double checking instead of authoritatively saying that it’s wrong is important.

The main point of me saying this in either case is to get you to stop experimenting mindlessly, though. If you keep changing your config and sharing conflicting error messages while trying every option you see, there is simply no baseline we can work from. If you set one configuration (ideally one that is as close to no configuration at all as possible), and then tell us what the resulting problems are, we actually have a fighting chance to figure out what’s going on. If you keep just experimenting, random messages is all we have to go on.

Anyway, navigating help forums aside…


trying to answer your questions, or at least clear up confusion

You’re clearly a little confused about this whole business, which isn’t surprising, the nvidia drivers themselves are a mess and it’s not like understanding the Linux graphics stack is trivial even if nvidia weren’t involved. Nor is NixOS, frankly, even if you weren’t neck-deep in graphics stack complexity.

I don’t think it’s productive to actually try and reply to your questions, since there’s just so much going on and it’s hard to even know what you’re talking about, but it’ll probably ease your mind a little, so here we go:

You kind of do, actually. While your implementation is ultimately the nvidia graphics stack, the higher level library interface is still provided by libmesa. Things just call into the nvidia driver through libmesa headers; for this reason, glxinfo (from the mesa-demos package) is still an excellent tool for testing if your drivers are set up correctly.

This doesn’t really make sense, I would just ignore that advice. nvidia don’t release drivers for specific GPUs. Every nvidia driver update is kind of non-breaking (but they don’t have explicit stability guarantees, so it doesn’t matter anyway). They don’t have an API beyond CUDA and what they need to provide for libmesa; they can introduce breaking changes for CUDA, but unless you personally do CUDA programming this does not apply to you. They can’t introduce breaking changes to the graphics stack itself, because that is bound by the rest of the OS.

In other words, the word “breaking” doesn’t make sense when applied to the nvidia driver from your perspective. They can introduce bugs, sure, and often do, but your symptoms look like library issues, not driver bugs.

package = config.boot.kernelPackages.nvidiaPackages.stable is also the default setting, so setting that doesn’t change anything one way or another.

Either way, this is unlikely to be your issue, feel free to ignore everything about nvidia driver versions until we get a bit deeper into finding out what’s happening.

Try to use the official wiki, that one is largely not maintained anymore: OpenGL - NixOS Wiki

That said, the advice is repeated on the new wiki, and I’d say it’s bad advice; if that isn’t set, it’s because your configuration lacks something somewhere else, not because you forgot to add it. We shouldn’t be advising users do that. I’ll fix up the page when we’ve figured out what’s causing it for you.

Sadly you’re missing the actual error; systemd will restart that unit 5 times quickly in succession, and then finally give you the message you see. If you want to see (and share) the actual error, use journalctl -xe --unit nvidia-persistenced.service.

The persistenced service should not be active for a desktop system, though, so that unit even existing seems like a problem. This might be leftover from your old config or some experimentation though?

Which GPU is it?


Ok, with all that out of the way, take a deep breath, let’s start from the very basics. Firstly, remove all the nvidia-related configuration you have and set precisely these two options:

services.xserver.videoDrivers = ["nvidia"];
hardware.nvidia.open = false;

# hardware.graphics.enable should be unnecessary too, since you use `windowManager.i3`

Rebuild your system with nixos-rebuild boot --use-remote-sudo and reboot your system. What are the problems you see?

If you manage to login and open a terminal, try glxgears, and share the output of glxgears -info.

Finally, please share the output of these commands (you can run them from the tty as well if you fail to log in):

nix-shell -p nix-info --run 'nix-info -m'
nix-channel --list
sudo nix-channel --list
nix-env -q --installed
sudo nix-env -q --installed

Given what you’ve told us so far, I suspect graphics driver and library mismatches, which might have happened because of channel and nix-env shenanigans. I assume you don’t use flakes, if you do, share your flake.nix, flake.lock and tell us whether you use --impure.

If you can, please share the rest of your configuration, too, especially if you fetchurl nixpkgs or such.

7 Likes

First off, thank you for replying so quickly and going over everything that I said. It is really refreshing to have someone that seemingly really cares a lot. With what you said on criticism, now that I think about it and you explained it I completely agree with you.

Thanks, I didn’t know the other one wasn’t official.

Whoops, I think you’re right, cause now it says the service can’t even be found.

Unit nvidia-persistenced.service could not be found

Sorry, maybe it wasn’t clear, I fixed the quotes to be block quotes.

This is the graphics card I use. Specifically a Nvidia GeForce GTX 1080 Ti.

This was from the quote of the person giving me the weird Nvidia package. This was their graphics card.

Ok great, I did this. Just to be completely sure that we are on the same page here is my entire relevant configuration.

  # Configure keymap in X11
  services.xserver = {
    enable = true;
    videoDrivers = ["nvidia"];
    displayManager.lightdm.enable = true;
    windowManager.i3.enable = true;
    xkb.layout = "us";
    xkb.variant = "";
  };
  services.displayManager = {
    defaultSession = "none+i3";
  };
  # hardware.graphics = {
    # enable = true;                                 # turn on the NixOS OpenGL wrapper system
  # };
  hardware.nvidia = {

    # Modesetting is required.
    # modesetting.enable = true;

    # Nvidia power management. Experimental, and can cause sleep/suspend to fail.
    # Enable this if you have graphical corruption issues or application crashes after waking
    # up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead 
    # of just the bare essentials.
    # powerManagement.enable = false;

    # Fine-grained power management. Turns off GPU when not in use.
    # Experimental and only works on modern Nvidia GPUs (Turing or newer).
    # powerManagement.finegrained = false;

    # Use the NVidia open source kernel module (not to be confused with the
    # independent third-party "nouveau" open source driver).
    # Support is limited to the Turing and later architectures. Full list of 
    # supported GPUs is at: 
    # https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus 
    # Only available from driver 515.43.04+
    open = false;

    # Enable the Nvidia settings menu,
	# accessible via `nvidia-settings`.
    # nvidiaSettings = true;

    # Optionally, you may need to select the appropriate driver version for your specific GPU.
    # package = config.boot.kernelPackages.nvidiaPackages.stable;
  };

Just as a note when I did ran that command + the flake part, the total command -

nixos-rebuild boot --use-remote-sudo --flake .#default

I got these warnings


warning: ignoring untrusted substituter 'https://nix-community.cachix.org', you are not a trusted user.
Run `man nix.conf` for more information on the `substituters` configuration option.
warning: ignoring the client-specified setting 'trusted-public-keys', because it is a restricted setting and you are not a trusted user
building the system configuration...
warning: ignoring untrusted substituter 'https://nix-community.cachix.org', you are not a trusted user.
Run `man nix.conf` for more information on the `substituters` configuration option.
warning: ignoring the client-specified setting 'trusted-public-keys', because it is a restricted setting and you are not a trusted user
[sudo] password for connor: 
updating GRUB 2 menu...
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
lsblk: /dev/mapper/no*[0-9]: not a block device
lsblk: /dev/mapper/raid*[0-9]: not a block device
lsblk: /dev/mapper/disks*[0-9]: not a block device
Done. The new configuration is /nix/store/xszw9ij3s7zjvi37zgagpnkw313rvjzk-nixos-system-nixos-25.05.20250606.70c74b0

Here is the output from both commands

Error: couldn't get an RGB, Double-buffered visual

Here is the output from the nix commands -

 - system: `"x86_64-linux"`
 - host os: `Linux 6.12.32, NixOS, 25.05 (Warbler), 25.05.20250606.70c74b0`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.28.3`
 - channels(root): `"nixos-25.05"`
 - nixpkgs: `/nix/store/x1lsj3bnjq6n909mjsnr6maf632bg41m-source`

nixos https://nixos.org/channels/nixos-25.05
home-manager-path

I do use flakes, in my original message I said

You can see the flake.nix and everything in there. I don’t use --impure.

1 Like

Those luckily aren’t harmful. You’re just using the nixConfig attribute, and setting additional caches - I would recommend against this on NixOS (and frankly in general), if you’d like to do this add the caches to your actual NixOS configuration.

The warnings pop up because using nixos-rebuild with --user-remote-sudo does the evaluation as your user (a good thing IMO), which means that you are not permitted to randomly change the caches you have access to - since otherwise you might be able to shuffle random malware into your local cache as an unprivileged user.

The os-prober warnings are also pretty usual, that’s a side effect of dual booting windows.

Whoops, sorry, guess I overlooked that. Very clean config, if I may add.

boot.kernelParams = [ “nvidia-drm.modeset=1” ];

You probably should remove that; it’s another default though (enabled with hardware.nvidia.modeset), so likely not harmful.

I wouldn’t be surprised if these settings are causing your problem though: nixos-config/configuration.nix at 6c1a762db3d072e9a2c722f7144ceb1b5e9f5db2 · SerrialError/nixos-config · GitHub

I also have a feeling you might both be using home-manager and nixos-rebuild: nixos-config/home.nix at 6c1a762db3d072e9a2c722f7144ceb1b5e9f5db2 · SerrialError/nixos-config · GitHub

If you do, that might be the cause of your issues.

You also probably shouldn’t be doing this, but since you only set an overlay with the home-manager options it’s probably harmless: nixos-config/configuration.nix at 6c1a762db3d072e9a2c722f7144ceb1b5e9f5db2 · SerrialError/nixos-config · GitHub

There are also some suspicious entries in environment.systemPackages, like the stdenv lib - those should be complete noops since environment.systemPackages will not put development headers/libraries in your environment: nixos-config/configuration.nix at 6c1a762db3d072e9a2c722f7144ceb1b5e9f5db2 · SerrialError/nixos-config · GitHub

So that could only do something if e.g. you used nix-ld, which would also be a potential explanation of why things are going wrong.

Generally the config looks ok though, just pointing at suspicious things for now. I’m not sure if any of these things actually cause issues.

Finally, can I ask you precisely how you installed glxgears? Does nvidia-smi do anything?

Are there any contents in journalctl --unit --boot, or /var/log/X (or similar-looking directories, been a while since I touched Xorg)?

Hmm, it might also be worth removing that channel. It shouldn’t be used for anything in practice, but the channels added by the NixOS config if you’re evaluating a flake should always be used instead. Simply:

sudo nix-channel --remove nixos

And then maybe a sudo nix-channel --update just to be sure because it’s been at least 4 years since I last personally used that command for anything.

Yeah, I just got rid of that, no idea why I was using it in the first place.

I don’t dual boot so idk why that’s popping up

Thx

Yep, I thought I pushed to git, but I did get rid of it and nothing happened

Didn’t know I still had that, I got rid of it and again no changes.

Nope, I don’t use home-manager as a command, it is a nix flake module so I don’t gotta worry about it.

Yep, you’re completely right, I got rid of those and again no change.
I install glxgears via the package glxinfo. Here is the output of nvidia-smi

+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 570.153.02             Driver Version: 570.153.02     CUDA Version: 12.8     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce GTX 1080        Off |   00000000:01:00.0  On |                  N/A |
| 39%   60C    P0             50W /  180W |     260MiB /   8192MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A            1506      G   ...mjm-xorg-server-21.1.16/bin/X        240MiB |
+-----------------------------------------------------------------------------------------+

journalctl --unit --boot says no entries.

Here is the X.0.log file

[     7.458] 
X.Org X Server 1.21.1.16
X Protocol Version 11, Revision 0
[     7.458] Current Operating System: Linux nixos 6.12.33 #1-NixOS SMP PREEMPT_DYNAMIC Tue Jun 10 11:13:00 UTC 2025 x86_64
[     7.458] Kernel command line: BOOT_IMAGE=(hd0,msdos1)/nix/store/b3f1ap5lmjr7xqvixhqh7wd6vxs9z1qk-linux-6.12.33/bzImage init=/nix/store/v962n19s84m0cgzlvfg93jrrm33b056j-nixos-system-nixos-25.05.20250615.6c64dab/init loglevel=4 lsm=landlock,yama,bpf nvidia-drm.modeset=1 nvidia-drm.fbdev=1
[     7.458]  
[     7.458] Current version of pixman: 0.44.2
[     7.458] 	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
[     7.458] Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[     7.458] (++) Log file: "/var/log/X.0.log", Time: Tue Jun 17 10:42:53 2025
[     7.459] (++) Using config file: "/nix/store/a4mp1zjbb0vl2208l7kn8jfvmk49d19g-xserver.conf"
[     7.459] (==) Using config directory: "/etc/X11/xorg.conf.d"
[     7.459] (==) Using system config directory "/nix/store/pl2mapfil2bi7bdsypqyi6xa7b7asmjm-xorg-server-21.1.16/share/X11/xorg.conf.d"
[     7.460] (==) ServerLayout "Layout[all]"
[     7.460] (**) |-->Screen "Screen-nvidia[0]" (0)
[     7.460] (**) |   |-->Monitor "<default monitor>"
[     7.461] (**) |   |-->Device "Device-nvidia[0]"
[     7.461] (==) No monitor specified for screen "Screen-nvidia[0]".
	Using a default monitor configuration.
[     7.461] (**) Option "DontZap" "on"
[     7.461] (**) Option "AllowMouseOpenFail" "on"
[     7.461] (**) Allowing byte-swapped clients
[     7.461] (==) Automatically adding devices
[     7.461] (==) Automatically enabling devices
[     7.461] (==) Automatically adding GPU devices
[     7.461] (==) Automatically binding GPU devices
[     7.461] (==) Max clients allowed: 256, resource mask: 0x1fffff
[     7.468] (**) FontPath set to:
	/nix/store/2szgzbccwz0g10ca0z10923kpxsay4fl-font-cursor-misc-1.0.4/lib/X11/fonts/misc,
	/nix/store/ncadl6nszswrvqwpp7k860cmf5z5qi0h-font-misc-misc-1.1.3/lib/X11/fonts/misc,
	/nix/store/n4ycrf3jfdmzqmxd31nlcbdha5rz1fhi-unifont-16.0.03/share/fonts,
	/nix/store/2pjrs7ghb07x45k3d16g9wiyczrzkr3r-font-adobe-100dpi-1.0.4/lib/X11/fonts/100dpi,
	/nix/store/kkv1l4c5zws4zm2jj6ps21x3a89z6w8q-font-adobe-75dpi-1.0.4/lib/X11/fonts/75dpi,
	/nix/store/dc02mwx6z7xs80lwr9zj79w0mmqdip24-X11-fonts/share/X11/fonts
[     7.468] (**) ModulePath set to "/nix/store/3p47nm0ifdbrv50ylngqdj3j8ks5w9lx-nvidia-x11-570.153.02-6.12.33-bin/lib/xorg/modules,/nix/store/pl2mapfil2bi7bdsypqyi6xa7b7asmjm-xorg-server-21.1.16/lib/xorg/modules,/nix/store/y9bchdsab46jcwab8pikwzz9p1yfx5qr-xf86-input-evdev-2.11.0/lib/xorg/modules,/nix/store/xz3prvidaybzs46a8jb3wmdnsaqa1k7r-xf86-input-libinput-1.5.0/lib/xorg/modules"
[     7.468] (II) The server relies on udev to provide the list of input devices.
	If no devices become available, reconfigure udev or disable AutoAddDevices.
[     7.468] (II) Loader magic: 0x659e40
[     7.468] (II) Module ABI versions:
[     7.468] 	X.Org ANSI C Emulation: 0.4
[     7.468] 	X.Org Video Driver: 25.2
[     7.468] 	X.Org XInput driver : 24.4
[     7.468] 	X.Org Server Extension : 10.0
[     7.469] (++) using VT number 7

[     7.469] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[     7.472] (II) xfree86: Adding drm device (/dev/dri/card1)
[     7.472] (II) Platform probe for /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1
[     7.486] (II) xfree86: Adding drm device (/dev/dri/card0)
[     7.486] (II) Platform probe for /sys/devices/pci0000:00/0000:00:02.0/drm/card0
[     7.491] (--) PCI: (0@0:2:0) 8086:3e92:1028:0859 rev 0, Mem @ 0x2ffe000000/16777216, 0x90000000/268435456, I/O @ 0x0000f000/64
[     7.491] (--) PCI:*(1@0:0:0) 10de:1b80:1028:3366 rev 161, Mem @ 0xeb000000/16777216, 0xa0000000/268435456, 0xb0000000/33554432, I/O @ 0x0000e000/128, BIOS @ 0x????????/131072
[     7.491] (II) Open ACPI successful (/var/run/acpid.socket)
[     7.491] (II) "glx" will be loaded by default.
[     7.491] (II) LoadModule: "glx"
[     7.494] (II) Loading /nix/store/pl2mapfil2bi7bdsypqyi6xa7b7asmjm-xorg-server-21.1.16/lib/xorg/modules/extensions/libglx.so
[     7.505] (II) Module glx: vendor="X.Org Foundation"
[     7.505] 	compiled for 1.21.1.16, module version = 1.0.0
[     7.505] 	ABI class: X.Org Server Extension, version 10.0
[     7.505] (II) LoadModule: "nvidia"
[     7.505] (II) Loading /nix/store/3p47nm0ifdbrv50ylngqdj3j8ks5w9lx-nvidia-x11-570.153.02-6.12.33-bin/lib/xorg/modules/drivers/nvidia_drv.so
[     7.511] (II) Module nvidia: vendor="NVIDIA Corporation"
[     7.511] 	compiled for 1.6.99.901, module version = 1.0.0
[     7.511] 	Module class: X.Org Video Driver
[     7.512] (II) NVIDIA dlloader X Driver  570.153.02  Tue May 13 16:24:29 UTC 2025
[     7.512] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[     7.527] (II) Loading sub module "fb"
[     7.527] (II) LoadModule: "fb"
[     7.527] (II) Module "fb" already built-in
[     7.527] (II) Loading sub module "wfb"
[     7.527] (II) LoadModule: "wfb"
[     7.527] (II) Loading /nix/store/pl2mapfil2bi7bdsypqyi6xa7b7asmjm-xorg-server-21.1.16/lib/xorg/modules/libwfb.so
[     7.529] (II) Module wfb: vendor="X.Org Foundation"
[     7.529] 	compiled for 1.21.1.16, module version = 1.0.0
[     7.529] 	ABI class: X.Org ANSI C Emulation, version 0.4
[     7.530] (II) NVIDIA(0): Creating default Display subsection in Screen section
	"Screen-nvidia[0]" for depth/fbbpp 24/32
[     7.530] (==) NVIDIA(0): Depth 24, (==) framebuffer bpp 32
[     7.530] (==) NVIDIA(0): RGB weight 888
[     7.531] (==) NVIDIA(0): Default visual is TrueColor
[     7.531] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[     7.531] (**) NVIDIA(0): Option "SidebandSocketPath" "/run/nvidia-xdriver/"
[     7.531] (**) NVIDIA(0): Enabling 2D acceleration
[     7.531] (II) Loading sub module "glxserver_nvidia"
[     7.531] (II) LoadModule: "glxserver_nvidia"
[     7.531] (II) Loading /nix/store/3p47nm0ifdbrv50ylngqdj3j8ks5w9lx-nvidia-x11-570.153.02-6.12.33-bin/lib/xorg/modules/extensions/libglxserver_nvidia.so
[     7.694] (II) Module glxserver_nvidia: vendor="NVIDIA Corporation"
[     7.694] 	compiled for 1.6.99.901, module version = 1.0.0
[     7.694] 	Module class: X.Org Server Extension
[     7.694] (II) NVIDIA GLX Module  570.153.02  Tue May 13 16:28:30 UTC 2025
[     7.695] (II) NVIDIA: The X server supports PRIME Render Offload.
[     7.698] (--) NVIDIA(0): Valid display device(s) on GPU-0 at PCI:1:0:0
[     7.698] (--) NVIDIA(0):     DFP-0
[     7.698] (--) NVIDIA(0):     DFP-1 (boot)
[     7.698] (--) NVIDIA(0):     DFP-2
[     7.698] (--) NVIDIA(0):     DFP-3
[     7.698] (--) NVIDIA(0):     DFP-4
[     7.698] (--) NVIDIA(0):     DFP-5
[     7.698] (--) NVIDIA(0):     DFP-6
[     7.698] (--) NVIDIA(0):     DFP-7
[     7.703] (II) NVIDIA(0): NVIDIA GPU NVIDIA GeForce GTX 1080 (GP104-A) at PCI:1:0:0
[     7.703] (II) NVIDIA(0):     (GPU-0)
[     7.703] (--) NVIDIA(0): Memory: 8388608 kBytes
[     7.704] (--) NVIDIA(0): VideoBIOS: 86.04.60.00.a8
[     7.704] (II) NVIDIA(0): Detected PCI Express Link width: 16X
[     7.737] (--) NVIDIA(GPU-0): DFP-0: disconnected
[     7.737] (--) NVIDIA(GPU-0): DFP-0: Internal TMDS
[     7.737] (--) NVIDIA(GPU-0): DFP-0: 330.0 MHz maximum pixel clock
[     7.737] (--) NVIDIA(GPU-0): 
[     7.780] (--) NVIDIA(GPU-0): Acer EI272UR (DFP-1): connected
[     7.780] (--) NVIDIA(GPU-0): Acer EI272UR (DFP-1): Internal TMDS
[     7.780] (--) NVIDIA(GPU-0): Acer EI272UR (DFP-1): 600.0 MHz maximum pixel clock
[     7.780] (--) NVIDIA(GPU-0): 
[     7.780] (--) NVIDIA(GPU-0): DFP-2: disconnected
[     7.780] (--) NVIDIA(GPU-0): DFP-2: Internal DisplayPort
[     7.780] (--) NVIDIA(GPU-0): DFP-2: 1440.0 MHz maximum pixel clock
[     7.780] (--) NVIDIA(GPU-0): 
[     7.780] (--) NVIDIA(GPU-0): DFP-3: disconnected
[     7.780] (--) NVIDIA(GPU-0): DFP-3: Internal TMDS
[     7.780] (--) NVIDIA(GPU-0): DFP-3: 165.0 MHz maximum pixel clock
[     7.780] (--) NVIDIA(GPU-0): 
[     7.780] (--) NVIDIA(GPU-0): DFP-4: disconnected
[     7.780] (--) NVIDIA(GPU-0): DFP-4: Internal DisplayPort
[     7.780] (--) NVIDIA(GPU-0): DFP-4: 1440.0 MHz maximum pixel clock
[     7.780] (--) NVIDIA(GPU-0): 
[     7.781] (--) NVIDIA(GPU-0): DFP-5: disconnected
[     7.781] (--) NVIDIA(GPU-0): DFP-5: Internal TMDS
[     7.781] (--) NVIDIA(GPU-0): DFP-5: 165.0 MHz maximum pixel clock
[     7.781] (--) NVIDIA(GPU-0): 
[     7.781] (--) NVIDIA(GPU-0): DFP-6: disconnected
[     7.781] (--) NVIDIA(GPU-0): DFP-6: Internal DisplayPort
[     7.781] (--) NVIDIA(GPU-0): DFP-6: 1440.0 MHz maximum pixel clock
[     7.781] (--) NVIDIA(GPU-0): 
[     7.781] (--) NVIDIA(GPU-0): DFP-7: disconnected
[     7.781] (--) NVIDIA(GPU-0): DFP-7: Internal TMDS
[     7.781] (--) NVIDIA(GPU-0): DFP-7: 165.0 MHz maximum pixel clock
[     7.781] (--) NVIDIA(GPU-0): 
[     7.784] (==) NVIDIA(0): 
[     7.784] (==) NVIDIA(0): No modes were requested; the default mode "nvidia-auto-select"
[     7.784] (==) NVIDIA(0):     will be used as the requested mode.
[     7.784] (==) NVIDIA(0): 
[     7.784] (II) NVIDIA(0): Validated MetaModes:
[     7.784] (II) NVIDIA(0):     "DFP-1:nvidia-auto-select"
[     7.784] (II) NVIDIA(0): Virtual screen size determined to be 2560 x 1440
[     7.794] (--) NVIDIA(0): DPI set to (108, 107); computed from "UseEdidDpi" X config
[     7.794] (--) NVIDIA(0):     option
[     7.794] (WW) NVIDIA: Failed to bind sideband socket to
[     7.794] (WW) NVIDIA:     '/run/nvidia-xdriver//nvidia-xdriver-3ba4508e' No such
[     7.794] (WW) NVIDIA:     file or directory
[     7.794] (II) NVIDIA: Reserving 24576.00 MB of virtual memory for indirect memory
[     7.794] (II) NVIDIA:     access.
[     7.811] (II) NVIDIA(0): Setting mode "DFP-1:nvidia-auto-select"
[     7.836] (==) NVIDIA(0): Disabling shared memory pixmaps
[     7.836] (==) NVIDIA(0): Backing store enabled
[     7.836] (==) NVIDIA(0): Silken mouse enabled
[     7.837] (==) NVIDIA(0): DPMS enabled
[     7.837] (WW) NVIDIA(0): Option "RandRRotation" is not used
[     7.837] (II) Loading sub module "dri2"
[     7.837] (II) LoadModule: "dri2"
[     7.837] (II) Module "dri2" already built-in
[     7.837] (II) NVIDIA(0): [DRI2] Setup complete
[     7.837] (II) NVIDIA(0): [DRI2]   VDPAU driver: nvidia
[     7.837] (II) Initializing extension Generic Event Extension
[     7.837] (II) Initializing extension SHAPE
[     7.837] (II) Initializing extension MIT-SHM
[     7.838] (II) Initializing extension XInputExtension
[     7.838] (II) Initializing extension XTEST
[     7.838] (II) Initializing extension BIG-REQUESTS
[     7.838] (II) Initializing extension SYNC
[     7.838] (II) Initializing extension XKEYBOARD
[     7.838] (II) Initializing extension XC-MISC
[     7.838] (II) Initializing extension SECURITY
[     7.838] (II) Initializing extension XFIXES
[     7.838] (II) Initializing extension RENDER
[     7.838] (II) Initializing extension RANDR
[     7.839] (II) Initializing extension COMPOSITE
[     7.839] (II) Initializing extension DAMAGE
[     7.839] (II) Initializing extension MIT-SCREEN-SAVER
[     7.839] (II) Initializing extension DOUBLE-BUFFER
[     7.839] (II) Initializing extension RECORD
[     7.839] (II) Initializing extension DPMS
[     7.839] (II) Initializing extension Present
[     7.839] (II) Initializing extension DRI3
[     7.839] (II) Initializing extension X-Resource
[     7.839] (II) Initializing extension XVideo
[     7.839] (II) Initializing extension XVideo-MotionCompensation
[     7.839] (II) Initializing extension GLX
[     7.839] (II) Initializing extension GLX
[     7.839] (II) Indirect GLX disabled.
[     7.839] (II) GLX: Another vendor is already registered for screen 0
[     7.839] (II) Initializing extension XFree86-VidModeExtension
[     7.839] (II) Initializing extension XFree86-DGA
[     7.839] (II) Initializing extension XFree86-DRI
[     7.840] (II) Initializing extension DRI2
[     7.840] (II) Initializing extension NV-GLX
[     7.840] (II) Initializing extension NV-CONTROL
[     7.840] (II) Initializing extension XINERAMA
[     8.022] (II) config/udev: Adding input device Power Button (/dev/input/event8)
[     8.022] (**) Power Button: Applying InputClass "Keyboard catchall"
[     8.022] (**) Power Button: Applying InputClass "evdev keyboard catchall"
[     8.022] (**) Power Button: Applying InputClass "libinput keyboard catchall"
[     8.022] (II) LoadModule: "libinput"
[     8.025] (II) Loading /nix/store/xz3prvidaybzs46a8jb3wmdnsaqa1k7r-xf86-input-libinput-1.5.0/lib/xorg/modules/input/libinput_drv.so
[     8.029] (II) Module libinput: vendor="X.Org Foundation"
[     8.029] 	compiled for 1.21.1.16, module version = 1.5.0
[     8.029] 	Module class: X.Org XInput Driver
[     8.029] 	ABI class: X.Org XInput driver, version 24.4
[     8.029] (II) Using input driver 'libinput' for 'Power Button'
[     8.029] (**) Power Button: always reports core events
[     8.029] (**) Option "Device" "/dev/input/event8"
[     8.034] (II) event8  - Power Button: is tagged by udev as: Keyboard
[     8.034] (II) event8  - Power Button: device is a keyboard
[     8.035] (II) event8  - Power Button: device removed
[     8.047] (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input9/event8"
[     8.047] (II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD, id 6)
[     8.047] (**) Option "xkb_model" "pc104"
[     8.047] (**) Option "xkb_layout" "us"
[     8.047] (WW) Option "xkb_variant" requires a string value
[     8.047] (**) Option "xkb_options" "terminate:ctrl_alt_bksp"
[     8.095] (II) event8  - Power Button: is tagged by udev as: Keyboard
[     8.095] (II) event8  - Power Button: device is a keyboard
[     8.096] (II) config/udev: Adding input device Video Bus (/dev/input/event9)
[     8.096] (**) Video Bus: Applying InputClass "Keyboard catchall"
[     8.096] (**) Video Bus: Applying InputClass "evdev keyboard catchall"
[     8.096] (**) Video Bus: Applying InputClass "libinput keyboard catchall"
[     8.096] (II) Using input driver 'libinput' for 'Video Bus'
[     8.096] (**) Video Bus: always reports core events
[     8.096] (**) Option "Device" "/dev/input/event9"
[     8.097] (II) event9  - Video Bus: is tagged by udev as: Keyboard
[     8.097] (II) event9  - Video Bus: device is a keyboard
[     8.097] (II) event9  - Video Bus: device removed
[     8.108] (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input10/event9"
[     8.108] (II) XINPUT: Adding extended input device "Video Bus" (type: KEYBOARD, id 7)
[     8.108] (**) Option "xkb_model" "pc104"
[     8.108] (**) Option "xkb_layout" "us"
[     8.108] (WW) Option "xkb_variant" requires a string value
[     8.108] (**) Option "xkb_options" "terminate:ctrl_alt_bksp"
[     8.109] (II) event9  - Video Bus: is tagged by udev as: Keyboard
[     8.109] (II) event9  - Video Bus: device is a keyboard
[     8.110] (II) config/udev: Adding input device Power Button (/dev/input/event7)
[     8.110] (**) Power Button: Applying InputClass "Keyboard catchall"
[     8.110] (**) Power Button: Applying InputClass "evdev keyboard catchall"
[     8.110] (**) Power Button: Applying InputClass "libinput keyboard catchall"
[     8.110] (II) Using input driver 'libinput' for 'Power Button'
[     8.110] (**) Power Button: always reports core events
[     8.110] (**) Option "Device" "/dev/input/event7"
[     8.111] (II) event7  - Power Button: is tagged by udev as: Keyboard
[     8.111] (II) event7  - Power Button: device is a keyboard
[     8.111] (II) event7  - Power Button: device removed
[     8.117] (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input8/event7"
[     8.117] (II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD, id 8)
[     8.117] (**) Option "xkb_model" "pc104"
[     8.117] (**) Option "xkb_layout" "us"
[     8.117] (WW) Option "xkb_variant" requires a string value
[     8.117] (**) Option "xkb_options" "terminate:ctrl_alt_bksp"
[     8.118] (II) event7  - Power Button: is tagged by udev as: Keyboard
[     8.118] (II) event7  - Power Button: device is a keyboard
[     8.119] (II) config/udev: Adding input device Sleep Button (/dev/input/event6)
[     8.119] (**) Sleep Button: Applying InputClass "Keyboard catchall"
[     8.119] (**) Sleep Button: Applying InputClass "evdev keyboard catchall"
[     8.119] (**) Sleep Button: Applying InputClass "libinput keyboard catchall"
[     8.119] (II) Using input driver 'libinput' for 'Sleep Button'
[     8.119] (**) Sleep Button: always reports core events
[     8.119] (**) Option "Device" "/dev/input/event6"
[     8.120] (II) event6  - Sleep Button: is tagged by udev as: Keyboard
[     8.120] (II) event6  - Sleep Button: device is a keyboard
[     8.120] (II) event6  - Sleep Button: device removed
[     8.126] (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input7/event6"
[     8.126] (II) XINPUT: Adding extended input device "Sleep Button" (type: KEYBOARD, id 9)
[     8.126] (**) Option "xkb_model" "pc104"
[     8.126] (**) Option "xkb_layout" "us"
[     8.126] (WW) Option "xkb_variant" requires a string value
[     8.126] (**) Option "xkb_options" "terminate:ctrl_alt_bksp"
[     8.127] (II) event6  - Sleep Button: is tagged by udev as: Keyboard
[     8.127] (II) event6  - Sleep Button: device is a keyboard
[     8.129] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=3 (/dev/input/event11)
[     8.129] (II) No input driver specified, ignoring this device.
[     8.129] (II) This device may have been added with another device file.
[     8.129] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=7 (/dev/input/event12)
[     8.129] (II) No input driver specified, ignoring this device.
[     8.129] (II) This device may have been added with another device file.
[     8.130] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=8 (/dev/input/event13)
[     8.130] (II) No input driver specified, ignoring this device.
[     8.130] (II) This device may have been added with another device file.
[     8.130] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=9 (/dev/input/event14)
[     8.130] (II) No input driver specified, ignoring this device.
[     8.130] (II) This device may have been added with another device file.
[     8.132] (II) config/udev: Adding input device DELL Dell USB Entry Keyboard (/dev/input/event4)
[     8.132] (**) DELL Dell USB Entry Keyboard: Applying InputClass "Keyboard catchall"
[     8.132] (**) DELL Dell USB Entry Keyboard: Applying InputClass "evdev keyboard catchall"
[     8.132] (**) DELL Dell USB Entry Keyboard: Applying InputClass "libinput keyboard catchall"
[     8.132] (II) Using input driver 'libinput' for 'DELL Dell USB Entry Keyboard'
[     8.132] (**) DELL Dell USB Entry Keyboard: always reports core events
[     8.132] (**) Option "Device" "/dev/input/event4"
[     8.134] (II) event4  - DELL Dell USB Entry Keyboard: is tagged by udev as: Keyboard
[     8.134] (II) event4  - DELL Dell USB Entry Keyboard: device is a keyboard
[     8.134] (II) event4  - DELL Dell USB Entry Keyboard: device removed
[     8.144] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11:1.0/0003:413C:2107.0004/input/input4/event4"
[     8.144] (II) XINPUT: Adding extended input device "DELL Dell USB Entry Keyboard" (type: KEYBOARD, id 10)
[     8.144] (**) Option "xkb_model" "pc104"
[     8.144] (**) Option "xkb_layout" "us"
[     8.144] (WW) Option "xkb_variant" requires a string value
[     8.144] (**) Option "xkb_options" "terminate:ctrl_alt_bksp"
[     8.146] (II) event4  - DELL Dell USB Entry Keyboard: is tagged by udev as: Keyboard
[     8.146] (II) event4  - DELL Dell USB Entry Keyboard: device is a keyboard
[     8.147] (II) config/udev: Adding input device fifine Microphone fifine Microphone Consumer Control (/dev/input/event5)
[     8.147] (**) fifine Microphone fifine Microphone Consumer Control: Applying InputClass "Keyboard catchall"
[     8.147] (**) fifine Microphone fifine Microphone Consumer Control: Applying InputClass "evdev keyboard catchall"
[     8.147] (**) fifine Microphone fifine Microphone Consumer Control: Applying InputClass "libinput keyboard catchall"
[     8.147] (II) Using input driver 'libinput' for 'fifine Microphone fifine Microphone Consumer Control'
[     8.147] (**) fifine Microphone fifine Microphone Consumer Control: always reports core events
[     8.147] (**) Option "Device" "/dev/input/event5"
[     8.149] (II) event5  - fifine Microphone fifine Microphone Consumer Control: is tagged by udev as: Keyboard
[     8.149] (II) event5  - fifine Microphone fifine Microphone Consumer Control: device is a keyboard
[     8.150] (II) event5  - fifine Microphone fifine Microphone Consumer Control: device removed
[     8.160] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:14.0/usb1/1-12/1-12:1.3/0003:3142:0A80.0005/input/input5/event5"
[     8.160] (II) XINPUT: Adding extended input device "fifine Microphone fifine Microphone Consumer Control" (type: KEYBOARD, id 11)
[     8.160] (**) Option "xkb_model" "pc104"
[     8.160] (**) Option "xkb_layout" "us"
[     8.160] (WW) Option "xkb_variant" requires a string value
[     8.160] (**) Option "xkb_options" "terminate:ctrl_alt_bksp"
[     8.162] (II) event5  - fifine Microphone fifine Microphone Consumer Control: is tagged by udev as: Keyboard
[     8.162] (II) event5  - fifine Microphone fifine Microphone Consumer Control: device is a keyboard
[     8.163] (II) config/udev: Adding input device Razer Razer DeathAdder Essential White Edition (/dev/input/event0)
[     8.163] (**) Razer Razer DeathAdder Essential White Edition: Applying InputClass "evdev pointer catchall"
[     8.163] (**) Razer Razer DeathAdder Essential White Edition: Applying InputClass "libinput pointer catchall"
[     8.163] (**) Razer Razer DeathAdder Essential White Edition: Applying InputClass "libinput mouse configuration"
[     8.163] (II) Using input driver 'libinput' for 'Razer Razer DeathAdder Essential White Edition'
[     8.163] (**) Razer Razer DeathAdder Essential White Edition: always reports core events
[     8.163] (**) Option "Device" "/dev/input/event0"
[     8.219] (II) event0  - Razer Razer DeathAdder Essential White Edition: is tagged by udev as: Mouse
[     8.219] (II) event0  - Razer Razer DeathAdder Essential White Edition: device is a pointer
[     8.220] (II) event0  - Razer Razer DeathAdder Essential White Edition: device removed
[     8.237] (**) Option "AccelProfile" "adaptive"
[     8.237] (II) libinput: Razer Razer DeathAdder Essential White Edition: Step value 0 was provided, libinput Fallback acceleration function is used.
[     8.237] (II) libinput: Razer Razer DeathAdder Essential White Edition: Step value 0 was provided, libinput Fallback acceleration function is used.
[     8.237] (II) libinput: Razer Razer DeathAdder Essential White Edition: Step value 0 was provided, libinput Fallback acceleration function is used.
[     8.237] (**) Option "NaturalScrolling" "off"
[     8.237] (**) Option "SendEventsMode" "enabled"
[     8.237] (**) Option "LeftHanded" "off"
[     8.237] (**) Option "ScrollMethod" "twofinger"
[     8.237] (**) Option "MiddleEmulation" "on"
[     8.237] (**) Option "HorizontalScrolling" "on"
[     8.237] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:14.0/usb1/1-9/1-9:1.0/0003:1532:0071.0001/input/input0/event0"
[     8.237] (II) XINPUT: Adding extended input device "Razer Razer DeathAdder Essential White Edition" (type: MOUSE, id 12)
[     8.237] (EE) libinput: Razer Razer DeathAdder Essential White Edition: Failed to set scroll to twofinger
[     8.238] (**) Option "AccelerationScheme" "none"
[     8.238] (**) Razer Razer DeathAdder Essential White Edition: (accel) selected scheme none/0
[     8.238] (**) Razer Razer DeathAdder Essential White Edition: (accel) acceleration factor: 2.000
[     8.238] (**) Razer Razer DeathAdder Essential White Edition: (accel) acceleration threshold: 4
[     8.294] (II) event0  - Razer Razer DeathAdder Essential White Edition: is tagged by udev as: Mouse
[     8.294] (II) event0  - Razer Razer DeathAdder Essential White Edition: device is a pointer
[     8.295] (EE) libinput: Razer Razer DeathAdder Essential White Edition: Failed to set scroll to twofinger
[     8.297] (II) config/udev: Adding input device Razer Razer DeathAdder Essential White Edition (/dev/input/mouse0)
[     8.298] (II) No input driver specified, ignoring this device.
[     8.298] (II) This device may have been added with another device file.
[     8.301] (II) config/udev: Adding input device Razer Razer DeathAdder Essential White Edition Keyboard (/dev/input/event1)
[     8.301] (**) Razer Razer DeathAdder Essential White Edition Keyboard: Applying InputClass "Keyboard catchall"
[     8.301] (**) Razer Razer DeathAdder Essential White Edition Keyboard: Applying InputClass "evdev keyboard catchall"
[     8.301] (**) Razer Razer DeathAdder Essential White Edition Keyboard: Applying InputClass "libinput keyboard catchall"
[     8.301] (II) Using input driver 'libinput' for 'Razer Razer DeathAdder Essential White Edition Keyboard'
[     8.301] (**) Razer Razer DeathAdder Essential White Edition Keyboard: always reports core events
[     8.301] (**) Option "Device" "/dev/input/event1"
[     8.306] (II) event1  - Razer Razer DeathAdder Essential White Edition Keyboard: is tagged by udev as: Keyboard
[     8.306] (II) event1  - Razer Razer DeathAdder Essential White Edition Keyboard: device is a keyboard
[     8.306] (II) event1  - Razer Razer DeathAdder Essential White Edition Keyboard: device removed
[     8.318] (II) libinput: Razer Razer DeathAdder Essential White Edition Keyboard: needs a virtual subdevice
[     8.318] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:14.0/usb1/1-9/1-9:1.1/0003:1532:0071.0002/input/input1/event1"

(I got rid of some of the end as it was too long to upload and repetetive)
The main potential issue I see is this line

[     7.794] (WW) NVIDIA: Failed to bind sideband socket to
[     7.794] (WW) NVIDIA:     '/run/nvidia-xdriver//nvidia-xdriver-3ba4508e' No such
[     7.794] (WW) NVIDIA:     file or directory

Also I removed and updated the channel and again no changes.

As a note just to be clear between all of the changes I am rebooting just to make sure that’s not an issue.

Ah, d’oh, didn’t spot it: nixos-config/configuration.nix at 6c1a762db3d072e9a2c722f7144ceb1b5e9f5db2 · SerrialError/nixos-config · GitHub

Well, so far so good. Xorg is running on your GPU, and will be using opengl for that. I’m fairly certain that the driver itself isn’t the issue.

Nothing about your configuration strikes me as potentially problematic. Your glxinfo should be coming from the same nixpkgs as the rest of your system. There’s no strange configuration, no nix-ld, etc.

The only thing I can think of at this point is that you have leftover state lying around somewhere. For the sake of argument, could you temporarily switch to nouveau and see if you still fail to run glxinfo?

If you do, we can then run your config in a VM to assert that it’s caused by state, at which point we can probably diff some directories and end up with an actual root cause.

So I got even worse when I ran with the open source driver. The display manager failed to start. All I changed was hardware.nvidia.open from false to true. Here was the systemctl output

Ă— display-manager.service - Display Manager
     Loaded: loaded (/etc/systemd/system/display-manager.service; linked; preset: ignored)
     Active: failed (Result: exit-code) since Tue 2025-06-17 14:21:45 PDT; 2min 30s ago
   Duration: 815ms
 Invocation: 267f9452a31f49e4903b7a36785b1fde
    Process: 1633 ExecStartPre=/nix/store/kyf8nlwbrshmciky9byc65sd9hxhkgll-unit-script-display-manager-pre-start/bin/display-manager-pre-start (code=exited, status=0/SUCCESS)
    Process: 1643 ExecStart=/nix/store/y5zvr2rgpq3hpbsj16pqkzdrxs7s8rkw-unit-script-display-manager-start/bin/display-manager-start (code=exited, status=1/FAILURE)
   Main PID: 1643 (code=exited, status=1/FAILURE)

Jun 17 14:21:45 nixos systemd[1]: display-manager.service: Scheduled restart job, restart counter is at 3.
Jun 17 14:21:45 nixos systemd[1]: display-manager.service: Start request repeated too quickly.
Jun 17 14:21:45 nixos systemd[1]: display-manager.service: Failed with result 'exit-code'.
Jun 17 14:21:45 nixos systemd[1]: Failed to start Display Manager.
Jun 17 14:21:45 nixos systemd[1]: display-manager.service: Triggering OnFailure= dependencies.
Jun 17 14:21:45 nixos systemd[1]: display-manager.service: Failed to enqueue OnFailure=plymouth-quit.service job, ignoring: Unit plymouth-quit.service not found.

and here was the journalctl output

-- Boot cc25233e81b049949efc4dddd3acfd6c --
Jun 17 14:25:11 nixos systemd[1]: display-manager.service: Failed to enqueue OnFailure=plymouth-quit.service job, ignoring: Unit plymouth-quit.service not found.
Jun 17 14:25:11 nixos systemd[1]: display-manager.service: Triggering OnFailure= dependencies.
Jun 17 14:25:11 nixos systemd[1]: Failed to start Display Manager.
Jun 17 14:25:11 nixos systemd[1]: display-manager.service: Failed with result 'exit-code'.
Jun 17 14:25:11 nixos systemd[1]: display-manager.service: Start request repeated too quickly.
Jun 17 14:25:11 nixos systemd[1]: display-manager.service: Scheduled restart job, restart counter is at 3.
Jun 17 14:25:10 nixos systemd[1]: display-manager.service: Failed to enqueue OnFailure=plymouth-quit.service job, ignoring: Unit plymouth-quit.service not found.
Jun 17 14:25:10 nixos systemd[1]: display-manager.service: Triggering OnFailure= dependencies.
Jun 17 14:25:10 nixos systemd[1]: display-manager.service: Failed with result 'exit-code'.
Jun 17 14:25:10 nixos systemd[1]: display-manager.service: Main process exited, code=exited, status=1/FAILURE
Jun 17 14:25:09 nixos systemd[1]: Started Display Manager.
Jun 17 14:25:09 nixos systemd[1]: Starting Display Manager...
Jun 17 14:25:09 nixos systemd[1]: display-manager.service: Scheduled restart job, restart counter is at 2.
Jun 17 14:25:09 nixos systemd[1]: display-manager.service: Failed to enqueue OnFailure=plymouth-quit.service job, ignoring: Unit plymouth-quit.service not found.
Jun 17 14:25:09 nixos systemd[1]: display-manager.service: Triggering OnFailure= dependencies.
Jun 17 14:25:09 nixos systemd[1]: display-manager.service: Failed with result 'exit-code'.
Jun 17 14:25:09 nixos systemd[1]: display-manager.service: Main process exited, code=exited, status=1/FAILURE
Jun 17 14:25:08 nixos systemd[1]: Started Display Manager.
Jun 17 14:25:08 nixos systemd[1]: Starting Display Manager...
Jun 17 14:25:08 nixos systemd[1]: display-manager.service: Scheduled restart job, restart counter is at 1.
Jun 17 14:25:07 nixos systemd[1]: display-manager.service: Failed to enqueue OnFailure=plymouth-quit.service job, ignoring: Unit plymouth-quit.service not found.
Jun 17 14:25:07 nixos systemd[1]: display-manager.service: Triggering OnFailure= dependencies.
Jun 17 14:25:07 nixos systemd[1]: display-manager.service: Failed with result 'exit-code'.
Jun 17 14:25:07 nixos systemd[1]: display-manager.service: Main process exited, code=exited, status=1/FAILURE
Jun 17 14:25:06 nixos systemd[1]: Started Display Manager.
Jun 17 14:25:06 nixos systemd[1]: Starting Display Manager...
Jun 17 14:21:45 nixos systemd[1]: display-manager.service: Failed to enqueue OnFailure=plymouth-quit.service job, ignoring: Unit plymouth-quit.service not found.
Jun 17 14:21:45 nixos systemd[1]: display-manager.service: Triggering OnFailure= dependencies.
Jun 17 14:21:45 nixos systemd[1]: Failed to start Display Manager.
Jun 17 14:21:45 nixos systemd[1]: display-manager.service: Failed with result 'exit-code'.
Jun 17 14:21:45 nixos systemd[1]: display-manager.service: Start request repeated too quickly.
Jun 17 14:21:45 nixos systemd[1]: display-manager.service: Scheduled restart job, restart counter is at 3.
Jun 17 14:21:44 nixos systemd[1]: display-manager.service: Failed to enqueue OnFailure=plymouth-quit.service job, ignoring: Unit plymouth-quit.service not found.
Jun 17 14:21:44 nixos systemd[1]: display-manager.service: Triggering OnFailure= dependencies.
Jun 17 14:21:44 nixos systemd[1]: display-manager.service: Failed with result 'exit-code'.
Jun 17 14:21:44 nixos systemd[1]: display-manager.service: Main process exited, code=exited, status=1/FAILURE
Jun 17 14:21:44 nixos systemd[1]: Started Display Manager.
Jun 17 14:21:43 nixos systemd[1]: Starting Display Manager...
Jun 17 14:21:43 nixos systemd[1]: display-manager.service: Scheduled restart job, restart counter is at 2.
Jun 17 14:21:43 nixos systemd[1]: display-manager.service: Failed to enqueue OnFailure=plymouth-quit.service job, ignoring: Unit plymouth-quit.service not found.
Jun 17 14:21:43 nixos systemd[1]: display-manager.service: Triggering OnFailure= dependencies.
Jun 17 14:21:43 nixos systemd[1]: display-manager.service: Failed with result 'exit-code'.
Jun 17 14:21:43 nixos systemd[1]: display-manager.service: Main process exited, code=exited, status=1/FAILURE
Jun 17 14:21:42 nixos systemd[1]: Started Display Manager.
Jun 17 14:21:42 nixos systemd[1]: Starting Display Manager...
Jun 17 14:21:42 nixos systemd[1]: display-manager.service: Scheduled restart job, restart counter is at 1.
Jun 17 14:21:41 nixos systemd[1]: display-manager.service: Failed to enqueue OnFailure=plymouth-quit.service job, ignoring: Unit plymouth-quit.service not found.
Jun 17 14:21:41 nixos systemd[1]: display-manager.service: Triggering OnFailure= dependencies.
Jun 17 14:21:41 nixos systemd[1]: display-manager.service: Consumed 658ms CPU time, 75.3M memory peak, 34.5M read from disk.
Jun 17 14:21:41 nixos systemd[1]: display-manager.service: Failed with result 'exit-code'.
Jun 17 14:21:41 nixos systemd[1]: display-manager.service: Main process exited, code=exited, status=1/FAILURE
Jun 17 14:21:40 nixos systemd[1]: Started Display Manager.
Jun 17 14:21:40 nixos systemd[1]: Starting Display Manager...

It says something about plymouth, but I think it’s just a warning and doesn’t matter. No idea why it immediately crashes tho

Yeah, that’s expected, your GPU isn’t supported. Please use nouveau instead of the official drivers, i.e.:

services.xserver.videoDrivers = [ "nouveau" ];

That’s also the default if you simply remove the videoDrivers setting.

Sorry, that’s completely my fault.
Anyways I changed that and made sure I was using nouveau with the lsmod | grep nouveau command and it outputted

nouveau              3768320  1
drm_gpuvm              45056  1 nouveau
mxm_wmi                12288  1 nouveau
drm_exec               12288  2 drm_gpuvm,nouveau
gpu_sched              65536  1 nouveau
drm_ttm_helper         16384  2 nouveau
ttm                   110592  3 drm_ttm_helper,i915,nouveau
drm_display_helper    294912  2 i915,nouveau
led_class              20480  5 snd_hda_codec_generic,videodev,input_leds,ath10k_core,nouveau
i2c_algo_bit           24576  2 i915,nouveau
video                  81920  3 dell_wmi,i915,nouveau
wmi                    32768  9 video,intel_wmi_thunderbolt,dell_wmi,wmi_bmof,dell_smm_hwmon,dell_smbios,dell_wmi_descriptor,mxm_wmi,nouv
button                 28672  1 nouveau

so ik it’s right, and glxinfo gave the same error, I’ma start setting up a vm then