Frequent crashes. NixOs 25.05 - Plasma 6

I’ve been having repeated crashes for a few weeks now on a NixOS unstable with Plasma 6 and Wayland.
Two monitors are connected. It usually starts with it flickering, often KWIN is listed as a crashed process in this small application. But other applications too… You can’t really use it anymore. And only a restart helps. Just logging out isn’t enough. If I select X11 when logging in, nothing like that has happened so far.
The crashes often happen after a long period of use with several windows open. I always sent the crash reports.

Is there anything I can do to narrow down the error further?

Thank you very much

Hello
Can you please post your system info (especially if you are using nvidia) and your config?
Also when did this start to happen? After an update or just random?

You mean this?

Operating System: NixOS 25.05
KDE Plasma Version: 6.3.0
KDE Frameworks Version: 6.10.0
Qt Version: 6.8.2
Kernel Version: 6.12.14 (64-bit)
Graphics Platform: Wayland
Processors: 8 × Intel® Xeon® CPU E5-1620 v2 @ 3.70GHz
Memory: 15.6 GiB of RAM
Graphics Processor: NVD9
Manufacturer: Dell Inc.
Product Name: Precision T3610
System Version: 01

02:00.0 VGA compatible controller: NVIDIA Corporation GF119 [NVS 310] (rev a1)
02:00.1 Audio device: NVIDIA Corporation GF119 HDMI Audio Controller (rev a1)

Thats the configuration.nix
configuration.nix

yeah the issue is pretty clear. It is your old nvidia card. Nvidia is known for bad driver support on especially on wayland. This has gotten better in recent years but only for the newer drivers. Your graphic card is too old for these updates.

I really recommend you to use X11.
But first try setting up your nvidia config the right way:
https://nixos.wiki/wiki/Nvidia
You will need nvidiaPackages.legacy_340 package for your gpu.
Or you could try out nouveau drivers instead of NVIDIAs closed source.

I’ve played around with the nvidia driver, but that is commented out due to only one screen and only 1024x… res.
So i mean i’m already running nouveau.

So can you try this:

  hardware.graphics.enable = true;
  boot.blacklistedKernelModules = [
    "nvidia"
    "nvidiafb"
    "nvidia-drm"
    "nvidia-uvm"
    "nvidia-modeset"
  ];

OK, done that. Rebooting… :wink:

OK, seems that it is running so far… How to check what has changed now?

So you have blacklisted any nvidia kernel modules as mentioned in the wiki:
https://wiki.nixos.org/wiki/NVIDIA#Disabling
to see which modules are loaded simply run this command lsmod.
The hardware.graphics.enable = true; is for hardware acceleration, which is definitly needed for any graphics config.

Like this:

There is no nvidia, when grepping for it…

sudo lsmod | grep nou
nouveau 3686400 63
mxm_wmi 12288 1 nouveau
drm_gpuvm 45056 1 nouveau
drm_exec 12288 2 drm_gpuvm,nouveau
gpu_sched 65536 1 nouveau
drm_ttm_helper 16384 2 nouveau
ttm 110592 2 drm_ttm_helper,nouveau
drm_display_helper 274432 1 nouveau
i2c_algo_bit 24576 1 nouveau
video 81920 1 nouveau
led_class 20480 3 snd_hda_codec_generic,input_leds,nouveau
wmi 32768 6 video,dell_smm_hwmon,dell_smbios,dell_wmi_descriptor,mxm_wmi,nouveau
button 28672 1 nouveau

That right. Normally you should not need to blacklist the nvidia modules, since the should be removed when you remove "nvidia" from services.xserver.videoDrivers option.
But to be safe that no nvidia module is causing the issue by interfering with noueveau it is good to have nvidia blacklisted.

OK, thanks. Will test some days and report if that was successful.

1 Like

Unfortunately, I have to say that the crashes have persisted under Wayland. I guess there is no other option than to do without Wayland on the hardware. The last crash log from Xwayland…

           PID: 1543 (Xwayland)
           UID: 1000 (wolf)
           GID: 100 (users)
        Signal: 6 (ABRT)
     Timestamp: Tue 2025-03-11 08:07:37 CET (2h 53min ago)
  Command Line: /run/current-system/sw/bin/Xwayland :0 -auth /run/user/1000/xauth_GiAZHc -listenfd 8 -listenfd 9 -displayfd 63 -wm 65 -rootless -enable-ei-portal
    Executable: /nix/store/3w9hdr6zapfgx72q3mpszdngvlrga68x-xwayland-24.1.6/bin/Xwayland
 Control Group: /user.slice/user-1000.slice/user@1000.service/session.slice/plasma-kwin_wayland.service
          Unit: user@1000.service
     User Unit: plasma-kwin_wayland.service
         Slice: user-1000.slice
     Owner UID: 1000 (wolf)
       Boot ID: 5502d043307d43448daf5f599eecc665
    Machine ID: a63479e6672f400d91ee91138668e254
      Hostname: daw
       Storage: /var/lib/systemd/coredump/core.Xwayland.1000.5502d043307d43448daf5f599eecc665.1543.1741676857000000.zst (present)
  Size on Disk: 5.3M
       Message: Process 1543 (Xwayland) of user 1000 dumped core.
                
                Module libpciaccess.so.0 without build-id.
                Module libxml2.so.2 without build-id.
                Module libstdc++.so.6 without build-id.
                Module libdrm_intel.so.1 without build-id.
                Module libdrm_amdgpu.so.1 without build-id.
                Module libxcb-sync.so.1 without build-id.
                Module libsensors.so.5 without build-id.
                Module libzstd.so.1 without build-id.
                Module libxcb-present.so.0 without build-id.
                Module libxcb-dri3.so.0 without build-id.
                Module libxcb-shm.so.0 without build-id.
                Module libxcb-xfixes.so.0 without build-id.
                Module libxcb-randr.so.0 without build-id.
                Module libX11-xcb.so.1 without build-id.
                Module libEGL.so.1 without build-id.
                Module libxcb.so.1 without build-id.
                Module libkeyutils.so.1 without build-id.
                Module libkrb5support.so.0 without build-id.
                Module libcap.so.2 without build-id.
                Module libbrotlicommon.so.1 without build-id.
                Module libGLdispatch.so.0 without build-id.
                Module libXext.so.6 without build-id.
                Module libX11.so.6 without build-id.
                Module libGLX.so.0 without build-id.
                Module libcom_err.so.3 without build-id.
                Module libk5crypto.so.3 without build-id.
                Module libkrb5.so.3 without build-id.
                Module libgssapi_krb5.so.2 without build-id.
                Module libexpat.so.1 without build-id.
                Module libffi.so.8 without build-id.
                Module liblzma.so.5 without build-id.
                Module libgcc_s.so.1 without build-id.
                Module libbrotlidec.so.1 without build-id.
                Module libpng16.so.16 without build-id.
                Module libbz2.so.1 without build-id.
                Module libz.so.1 without build-id.
                Module libfreetype.so.6 without build-id.
                Module libfontenc.so.1 without build-id.
                Module libGL.so.1 without build-id.
                Module libXau.so.6 without build-id.
                Module libtirpc.so.3 without build-id.
                Module libdecor-0.so.0 without build-id.
                Module liboeffis.so.1 without build-id.
                Module libei.so.1 without build-id.
                Module libepoxy.so.0 without build-id.
                Module libdrm.so.2 without build-id.
                Module libxshmfence.so.1 without build-id.
                Module libxcvt.so.0 without build-id.
                Module libunwind.so.8 without build-id.
                Module libXdmcp.so.6 without build-id.
                Module libXfont2.so.2 without build-id.
                Stack trace of thread 1543:
                #0  0x00007f21b589916c __pthread_kill_implementation (libc.so.6 + 0x9916c)
                #1  0x00007f21b58416:300e86 raise (libc.so.6 + 0x40e86)
                #2  0x00007f21b582893a abort (libc.so.6 + 0x2893a)
                #3  0x0000000000589f3c n/a (n/a + 0x0)
                #4  0x00007ffd6c301d60 n/a (n/a + 0x0)
                ELF object binary architecture: AMD x86-64

Oh. That is not so great.
Nouveau still has some problems and wayland on older nvidia cards with nvidas drivers is really not great. I think the only thing you could do is that you post a issue on the nouveau github page.
They can help you much better. Or you just revert to using X.