Updated NixOS to change plasma/kwayland to 6.5.2, extreme lag and hangs after lock screen, Gaussian blur desktop effect broken and amplifies lag

Hello, not sure if this is a nix issue or a compositor/desktop environment issue. If this is the wrong forum to ask help for in please help me identify if I should post log information in the plasma repo or the wayland repo.

I updated my system and everything was smooth and responsive in the lock screen, but after logging in the frames plummet. If I have a larger region with a transparent or blur effect, it freezes more frequently. Maybe 20 fps if there’s nothing transparent on the screen, maybe 1fps if there is.

I assume this is a problem with either wayland, plasma, sddm, mesa, or nvidia. Here are the version changes:

[yboutros@nixos:/nix/var/nix/profiles]$ nix store diff-closures ./system-21-link ./system-22-link | grep -i wayland
kwayland: 6.4.5 → 6.5.2
kwayland-integration: 6.4.5 → 6.5.2
qtwayland: 5.15.17, 6.9.2, 6.9.2-only-plugins → 5.15.18, 6.10.0, 6.10.0-only-plugins, -4407.9 KiB
xwayland: 24.1.8 → 24.1.9, +12.5 KiB
xwaylandvideobridge: 0.4.0 → ∅, -276.0 KiB

[yboutros@nixos:/nix/var/nix/profiles]$ nix store diff-closures ./system-21-link ./system-22-link | grep -i plasma
kdeplasma-addons: 6.4.5 → 6.5.2, +4118.4 KiB
libplasma: 6.4.5 → 6.5.2, +2335.6 KiB
plasma-activities: 6.4.5 → 6.5.2, -41.6 KiB
plasma-activities-stats: 6.4.5 → 6.5.2
plasma-browser-integration: 6.4.5 → 6.5.2
plasma-desktop: 6.4.5 → 6.5.2, +4304.6 KiB
plasma-integration: 6.4.5, 6.4.5-qt5 → 6.5.2, 6.5.2-qt5, +9.2 KiB
plasma-nano: 6.4.5 → 6.5.2
plasma-nm: 6.4.5 → 6.5.2, +473.3 KiB
plasma-pa: 6.4.5 → 6.5.2, +148.7 KiB
plasma-systemmonitor: 6.4.5 → 6.5.2, +315.4 KiB
plasma-workspace: 6.4.5 → 6.5.2, -3555.5 KiB
plasma-workspace-wallpapers: 6.4.5 → 6.5.2, +39306.6 KiB
plasma5support: 6.4.5 → 6.5.2, +7042.0 KiB

[yboutros@nixos:/nix/var/nix/profiles]$ nix store diff-closures ./system-21-link ./system-22-link | grep -i nvidia
nvidia-container-toolkit: 1.17.8 → 1.18.0, +10346.6 KiB
nvidia-settings: 580.95.05 → 580.105.08
nvidia-x11: 580.95.05-6.17.3 → 580.105.08-6.17.8, +53.6 KiB
wait-for-nvidia: ∅ → ε

[yboutros@nixos:/nix/var/nix/profiles]$ nix store diff-closures ./system-21-link ./system-22-link | grep -i mesa
mesa: 25.2.5 → 25.3.0, +22077.5 KiB

System-22 is the generation that is very laggy, system-21 is my current generation.

I dumped journalctl -x for each successful boot, these are the errors that were in system-22 that were not in system-21:

Nov 22 08:47:59 nixos sddm-helper-start-wayland[1352]: "kwin_scene_opengl: eglInitialize failed\nkwin_scene_opengl: Error during eglInitialize  \"EGL_NOT_INITIALIZED\"\nkwin_scene_opengl: Creating the OpenGL rendering failed:  \"Could not initialize egl\"\n"
Nov 22 08:48:00 nixos sddm-helper-start-wayland[1352]: "MESA: error: ZINK: failed to choose pdev\n"
Nov 22 08:48:18 nixos sddm[1285]: Authentication error: SDDM::Auth::ERROR_AUTHENTICATION "Authentication failure"
Nov 22 08:48:24 nixos ksplashqml[2019]: MESA: error: ZINK: failed to choose pdev
Nov 22 08:48:24 nixos kded6[2123]: MESA: error: ZINK: failed to choose pdev
Nov 22 08:48:24 nixos plasmashell[2216]: MESA: error: ZINK: failed to choose pdev
Nov 22 08:48:25 nixos polkit-kde-authentication-agent-1[2296]: MESA: error: ZINK: failed to choose pdev
Nov 22 08:48:26 nixos org.kde.kwalletd6[2499]: MESA: error: ZINK: failed to choose pdev
Nov 22 08:48:26 nixos org.kde.kwalletd6[2499]: libEGL warning: egl: failed to create dri2 screen
Nov 22 08:48:26 nixos plasma-fallback-session-restore[2516]: MESA: error: ZINK: failed to choose pdev
Nov 22 08:48:26 nixos plasma-fallback-session-restore[2516]: libEGL warning: egl: failed to create dri2 screen
Nov 22 08:48:26 nixos kdeconnectd[2504]: MESA: error: ZINK: failed to choose pdev
Nov 22 08:48:26 nixos kdeconnectd[2504]: libEGL warning: egl: failed to create dri2 screen
Nov 22 08:48:26 nixos .kwalletd6-wrap[2499]: g_dbus_proxy_get_object_path: assertion 'G_IS_DBUS_PROXY (proxy)' failed
Nov 22 08:48:26 nixos dbus-daemon[1942]: [session uid=1000 pid=1942] Successfully activated service 'org.kde.kwalletd6'
Nov 22 08:48:26 nixos xdg-desktop-portal-kde[2563]: libEGL warning: failed to get driver name for fd -1
Nov 22 08:48:26 nixos xdg-desktop-portal-kde[2563]: libEGL warning: MESA-LOADER: failed to retrieve device information
Nov 22 08:48:26 nixos xdg-desktop-portal-kde[2563]: libEGL warning: failed to get driver name for fd -1
Nov 22 08:48:26 nixos kernel: warning: `.kdeconnectd-wr' uses wireless extensions which will stop working for Wi-Fi 7 hardware; use nl80211
Nov 22 08:48:26 nixos xdg-desktop-portal-kde[2563]: MESA: error: ZINK: failed to choose pdev
Nov 22 08:48:26 nixos xdg-desktop-portal-kde[2563]: libEGL warning: egl: failed to create dri2 screen
Nov 22 08:48:26 nixos kdeconnectd[2504]: Bluetooth device is powered off
Nov 22 08:48:26 nixos dbus-daemon[1942]: [session uid=1000 pid=1942] Activating service name='org.freedesktop.Notifications' requested by ':1.46' (uid=1000 pid=2504 comm="/nix/store/6mndxsa4w31pp9pam24l6pdxgh6167kl-kdecon")
Nov 22 08:48:26 nixos orca[2508]: Traceback (most recent call last):
Nov 22 08:48:26 nixos orca[2508]:   File "/nix/store/ry43cb84lmpkbdi8c5kpw1bj84a2vc3b-orca-49.4/bin/.orca-wrapped", line 341, in <module>
Nov 22 08:48:26 nixos orca[2508]:     sys.exit(main())
Nov 22 08:48:26 nixos orca[2508]:              ~~~~^^
Nov 22 08:48:26 nixos orca[2508]:   File "/nix/store/ry43cb84lmpkbdi8c5kpw1bj84a2vc3b-orca-49.4/bin/.orca-wrapped", line 338, in main
Nov 22 08:48:26 nixos orca[2508]:     return orca.main()
Nov 22 08:48:26 nixos orca[2508]:            ~~~~~~~~~^^
Nov 22 08:48:26 nixos orca[2508]:   File "/nix/store/ry43cb84lmpkbdi8c5kpw1bj84a2vc3b-orca-49.4/lib/python3.13/site-packages/orca/orca.py", line 205, in main
Nov 22 08:48:26 nixos orca[2508]:     if not settings_manager.get_manager().is_accessibility_enabled():
Nov 22 08:48:26 nixos orca[2508]:            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
Nov 22 08:48:26 nixos orca[2508]:   File "/nix/store/ry43cb84lmpkbdi8c5kpw1bj84a2vc3b-orca-49.4/lib/python3.13/site-packages/orca/settings_manager.py", line 384, in is_accessibility_enabled
Nov 22 08:48:26 nixos orca[2508]:     rv = _PROXY.Get('(ss)', 'org.a11y.Status', 'IsEnabled')
Nov 22 08:48:26 nixos orca[2508]:   File "/nix/store/6p1zq8x1ag4ha1b4jw08m8q6w9cjf3q9-python3.13-pygobject-3.54.3/lib/python3.13/site-packages/gi/overrides/Gio.py", line 402, in __call__
Nov 22 08:48:26 nixos orca[2508]:     result = self.dbus_proxy.call_sync(
Nov 22 08:48:26 nixos orca[2508]:         self.method_name, arg_variant, flags, timeout, None
Nov 22 08:48:26 nixos orca[2508]:     )
Nov 22 08:48:26 nixos orca[2508]: gi.repository.GLib.GError: g-dbus-error-quark: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files (2)
Nov 22 08:48:26 nixos dbus-daemon[1942]: [session uid=1000 pid=1942] Successfully activated service 'org.freedesktop.impl.portal.desktop.kde'
Nov 22 08:48:27 nixos orca[2710]: gi.repository.GLib.GError: g-dbus-error-quark: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files (2)
Nov 22 08:48:27 nixos systemd[1913]: orca.service: Main process exited, code=exited, status=1/FAILURE
Nov 22 08:48:27 nixos orca[2710]: gi.repository.GLib.GError: g-dbus-error-quark: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files (2)
Nov 22 08:48:27 nixos systemd[1913]: orca.service: Main process exited, code=exited, status=1/FAILURE
Nov 22 08:48:27 nixos orca[2710]: gi.repository.GLib.GError: g-dbus-error-quark: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files (2)
Nov 22 08:48:27 nixos systemd[1913]: orca.service: Main process exited, code=exited, status=1/FAILURE
Nov 22 08:48:27 nixos orca[2710]: gi.repository.GLib.GError: g-dbus-error-quark: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files (2)
Nov 22 08:48:27 nixos systemd[1913]: orca.service: Main process exited, code=exited, status=1/FAILURE
Nov 22 08:48:29 nixos plasmashell[2854]: /nix/store/6aha9w3g84wfzw84xk3mbqrial15d59f-mariadb-server-11.4.8/bin/mysqlcheck: Got error: 2026: TLS/SSL error: SSL is required, but the server does not support it when trying to connect
Nov 22 08:48:29 nixos plasmashell[2856]: /nix/store/6aha9w3g84wfzw84xk3mbqrial15d59f-mariadb-server-11.4.8/bin/mysql_upgrade: Deprecated program name. It will be removed in a future release, use '/nix/store/6aha9w3g84wfzw84xk3mbqrial15d59f-mariadb-server-11.4.8/bin/mariadb-upgrade' instead
Nov 22 08:48:29 nixos plasmashell[2856]: Reading datadir from the MariaDB server failed. Got the following error when executing the 'mysql' command line client
Nov 22 08:48:29 nixos plasmashell[2856]: ERROR 2026 (HY000): TLS/SSL error: SSL is required, but the server does not support it
Nov 22 08:48:29 nixos akonadi_newmailnotifier_agent[2886]: Couldn't load pipewire-0.3 library
Nov 22 08:48:29 nixos akonadi_newmailnotifier_agent[2886]: Couldn't resolve pipewire-0.3 symbols
Nov 22 08:48:29 nixos ModemManager[2447]: <msg> [base-manager] couldn't check support for device '/sys/devices/pci0000:00/0000:00:14.3': not supported by any plugin
Nov 22 08:48:29 nixos ModemManager[2447]: <msg> [base-manager] couldn't check support for device '/sys/devices/pci0000:00/0000:00:1c.4/0000:3d:00.0': not supported by any plugin
Nov 22 08:48:29 nixos plasmashell[2884]: libEGL warning: failed to get driver name for fd -1
Nov 22 08:48:29 nixos plasmashell[2884]: libEGL warning: MESA-LOADER: failed to retrieve device information
Nov 22 08:48:29 nixos plasmashell[2884]: libEGL warning: failed to get driver name for fd -1
Nov 22 08:48:29 nixos plasmashell[2885]: libEGL warning: failed to get driver name for fd -1
Nov 22 08:48:29 nixos plasmashell[2885]: libEGL warning: MESA-LOADER: failed to retrieve device information
Nov 22 08:48:29 nixos plasmashell[2885]: libEGL warning: failed to get driver name for fd -1
Nov 22 08:48:29 nixos plasmashell[2886]: libEGL warning: failed to get driver name for fd -1
Nov 22 08:48:29 nixos akonadi_google_resource[2881]: Couldn't load pipewire-0.3 library
Nov 22 08:48:29 nixos akonadi_google_resource[2881]: Couldn't resolve pipewire-0.3 symbols
Nov 22 08:48:29 nixos plasmashell[2886]: libEGL warning: MESA-LOADER: failed to retrieve device information
Nov 22 08:48:29 nixos plasmashell[2886]: libEGL warning: failed to get driver name for fd -1
Nov 22 08:48:29 nixos plasmashell[2884]: MESA: error: ZINK: failed to choose pdev
Nov 22 08:48:29 nixos plasmashell[2884]: libEGL warning: egl: failed to create dri2 screen
Nov 22 08:48:29 nixos plasmashell[2885]: MESA: error: ZINK: failed to choose pdev
Nov 22 08:48:29 nixos plasmashell[2885]: libEGL warning: egl: failed to create dri2 screen
Nov 22 08:48:29 nixos plasmashell[2886]: MESA: error: ZINK: failed to choose pdev
Nov 22 08:48:29 nixos plasmashell[2886]: libEGL warning: egl: failed to create dri2 screen
Nov 22 08:48:29 nixos plasmashell[2881]: libEGL warning: failed to get driver name for fd -1
Nov 22 08:48:29 nixos plasmashell[2881]: libEGL warning: MESA-LOADER: failed to retrieve device information
Nov 22 08:48:29 nixos plasmashell[2881]: libEGL warning: failed to get driver name for fd -1
Nov 22 08:48:30 nixos plasmashell[2881]: MESA: error: ZINK: failed to choose pdev
Nov 22 08:48:30 nixos plasmashell[2881]: libEGL warning: egl: failed to create dri2 screen
Nov 22 08:48:30 nixos orca[2898]: Traceback (most recent call last):
Nov 22 08:48:30 nixos orca[2898]:   File "/nix/store/ry43cb84lmpkbdi8c5kpw1bj84a2vc3b-orca-49.4/bin/.orca-wrapped", line 341, in <module>
Nov 22 08:48:30 nixos orca[2898]:     sys.exit(main())
Nov 22 08:48:30 nixos orca[2898]:              ~~~~^^
Nov 22 08:48:30 nixos orca[2898]:   File "/nix/store/ry43cb84lmpkbdi8c5kpw1bj84a2vc3b-orca-49.4/bin/.orca-wrapped", line 338, in main
Nov 22 08:48:30 nixos orca[2898]:     return orca.main()
Nov 22 08:48:30 nixos orca[2898]:            ~~~~~~~~~^^
Nov 22 08:48:30 nixos orca[2898]:   File "/nix/store/ry43cb84lmpkbdi8c5kpw1bj84a2vc3b-orca-49.4/lib/python3.13/site-packages/orca/orca.py", line 205, in main
Nov 22 08:48:30 nixos orca[2898]:     if not settings_manager.get_manager().is_accessibility_enabled():
Nov 22 08:48:30 nixos orca[2898]:            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
Nov 22 08:48:30 nixos orca[2898]:   File "/nix/store/ry43cb84lmpkbdi8c5kpw1bj84a2vc3b-orca-49.4/lib/python3.13/site-packages/orca/settings_manager.py", line 384, in is_accessibility_enabled
Nov 22 08:48:30 nixos orca[2898]:     rv = _PROXY.Get('(ss)', 'org.a11y.Status', 'IsEnabled')
Nov 22 08:48:30 nixos orca[2898]:   File "/nix/store/6p1zq8x1ag4ha1b4jw08m8q6w9cjf3q9-python3.13-pygobject-3.54.3/lib/python3.13/site-packages/gi/overrides/Gio.py", line 402, in __call__
Nov 22 08:48:30 nixos orca[2898]:     result = self.dbus_proxy.call_sync(
Nov 22 08:48:30 nixos orca[2898]:         self.method_name, arg_variant, flags, timeout, None
Nov 22 08:48:30 nixos orca[2898]:     )
Nov 22 08:48:30 nixos orca[2898]: gi.repository.GLib.GError: g-dbus-error-quark: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files (2)
Nov 22 08:48:42 nixos konsole[3147]: MESA: error: ZINK: failed to choose pdev

Here is my configuration.nix (with some lines removed to fit within the 36000 character limit:


{ config, pkgs, inputs, lib,  ... }: let
nix-gaming = import (builtins.fetchTarball "https://github.com/fufexan/nix-gaming/archive/master.tar.gz");
in
{
        imports =
                [ # Include the results of the hardware scan.
                        ./hardware-configuration.nix
                        inputs.nix-gaming.nixosModules.pipewireLowLatency
                        inputs.nix-gaming.nixosModules.platformOptimizations
                        inputs.lsfg-vk-flake.nixosModules.default
                ];

        # Bootloader.
        boot.loader = {
                systemd-boot = {
                        enable = true;
                };
                #boot.loader.grub = {
                #  enable = true;
                #  useOSProber = true;
                #  device = "/dev/";
                #  efiSupport = true;
                #};
                efi = { 
                        canTouchEfiVariables = true;
                        efiSysMountPoint = "/boot";
                };
        };
        hardware.xpadneo.enable = true;
        boot.initrd.kernelModules = [  "usbhid" "joydev" "xpad" "nvidia" "pcspkr" ];#"snd_hda_intel"];

        networking.hostName = "nixos"; # Define your hostname.
        #networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant.

        # Enable networking
        networking.networkmanager.enable = true;

        # Set your time zone.
        time.timeZone = "America/Los_Angeles";

        # Select internationalisation properties.
        i18n.defaultLocale = "en_US.UTF-8";

        i18n.extraLocaleSettings = {
                LC_ADDRESS = "en_US.UTF-8";
                LC_IDENTIFICATION = "en_US.UTF-8";
                LC_MEASUREMENT = "en_US.UTF-8";
                LC_MONETARY = "en_US.UTF-8";
                LC_NAME = "en_US.UTF-8";
                LC_NUMERIC = "en_US.UTF-8";
                LC_PAPER = "en_US.UTF-8";
                LC_TELEPHONE = "en_US.UTF-8";
                LC_TIME = "en_US.UTF-8";
        };

        # Enable the X11 windowing system.
        xdg = {
                portal = {
                        enable = true;
                        xdgOpenUsePortal = true;
                        extraPortals = [ pkgs.xdg-desktop-portal-termfilechooser ];
                };
        };
        services.xserver.enable = true;
        services.gvfs.enable = true;
        services.udisks2.enable = true;
        programs.openvpn3.enable = true;
        services.openvpn.servers = {
                bwsnix = {
                        config = ''
                                config /home/yboutros/openvpn/client.ovpn
                        '';
                        autoStart = false;
                };
        };
        services.lsfg-vk = {
                enable = true;
                ui.enable = true;
        };

        # Enable the KDE Plasma Desktop Environment.
        services.displayManager.sddm.enable = true;
        services.desktopManager.plasma6.enable = true;

        # Enable CUPS to print documents.
        services.printing.enable = true;
        hardware.bluetooth.enable = true;
        hardware.bluetooth.powerOnBoot = true;


        # Enable sound with pipewire.
        services.pulseaudio.enable = false;
        security.rtkit.enable = true;
        services.pipewire = {
                enable = true;
                wireplumber.enable = true;
                alsa.enable = true;
                alsa.support32Bit = true;
                pulse.enable = true;
                # If you want to use JACK applications, uncomment this
                jack.enable = true;

                lowLatency = {
                        enable = true;
                        quantum = 64;
                        rate = 48000;
                };
        };
        virtualisation = {
                docker.enable = true;
        };

        programs.adb.enable = true;
        # Define a user account. Don't forget to set a password with ‘passwd’.
        users.users.yboutros = {
                isNormalUser = true;
                description = "Yanall Boutros";
                extraGroups = [ "networkmanager" "wheel" "audio" "kvm" "adbusers" "docker"];
                packages = [
                        pkgs.xdotool
                        pkgs.xmacro
                        pkgs.scanmem
                        pkgs.gparted
                        pkgs.fpc
                        pkgs.aspell
                        pkgs.gamemode
                        pkgs.gdb
                        pkgs.proxychains
                        pkgs.tor
                        pkgs.tor-browser
                        pkgs.signal-desktop
                        pkgs.bleachbit
                        pkgs.qdirstat
                        pkgs.tree
                        pkgs.qpwgraph
                        pkgs.vesktop
                        pkgs.lm_sensors
                        pkgs.slack
                        pkgs.spotify
                        pkgs.librewolf
                        pkgs.mumble
                        pkgs.nmap
                        pkgs.dig
                        pkgs.vlc
                        pkgs.wireshark
                        pkgs.zap
                        pkgs.ffmpeg-full
                        pkgs.metasploit
                        pkgs.obsidian
                        pkgs.imagemagick
                        pkgs.audacity
                        pkgs.htop-vim
                        pkgs.freetube
                        pkgs.kdePackages.plasma-browser-integration
                        pkgs.kdePackages.kate
                        pkgs.tectonic
                        pkgs.lutris
                        pkgs.wineWowPackages.stable
                        pkgs.wineWowPackages.waylandFull
                        pkgs.winetricks
                        pkgs.protontricks
                        pkgs.python314
                        (inputs.nix-citizen.packages.${pkgs.system}.star-citizen.override {
                          tricks = ["mdac28" "jet40"];
                          preCommands = "export DXVK_LOADER_DEBUG=all";
                        })
                        #inputs.nix-citizen.packages.${pkgs.system}.lug-helper
                ];

        };

        programs.dconf.enable = true;
        programs.kdeconnect.enable=true;
        networking.firewall = { 
                enable = true;
                allowedTCPPortRanges = [ 
                        { from = 1714; to = 1764; } # KDE Connect
                ];  
                allowedUDPPortRanges = [ 
                        { from = 1714; to = 1764; } # KDE Connect
                ];  
        };

        hardware.graphics = {
                enable = true;
                enable32Bit = true;
                package =  pkgs.mesa;
                extraPackages = with pkgs; [
                                libva-vdpau-driver
                                libvdpau-va-gl
                                nvidia-vaapi-driver
                                vulkan-loader
                                vulkan-validation-layers
                                vulkan-extension-layer
                                vulkan-tools
                                vulkan-headers
                                vulkan-tools-lunarg 
                                glslang
                                vulkan-utility-libraries
                ];
        };

        # Install firefox
        programs.firefox.enable = true;

        # Allow unfree packages
        nixpkgs.config.allowUnfree = true;

        services.xserver.videoDrivers = ["nvidia"];
        boot.kernelParams = [ "nvidia_drm.fbdev=1" "nvidia-drm.modeset=1" ];
        boot.kernelPackages = pkgs.linuxPackages_xanmod_latest;
        # Kernel modifications for star citizen
        boot.kernel.sysctl = {
        #    "vm.max_map_count" = 2147483642;
                "fs.file-max" = 524288;
        };
        hardware.nvidia-container-toolkit.enable = true; 
        hardware.nvidia = {
                # Modesetting is required.
                modesetting.enable = true;

                # Nvidia power management. Experimental, and can cause sleep/suspend to fail.
                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+
                # Currently alpha-quality/buggy, so false is currently the recommended setting.
                open = true;
                package = config.boot.kernelPackages.nvidiaPackages.beta;
                #
                # accessible via `nvidia-settings`.
                nvidiaSettings = true;
        };

        programs.steam = {
                package = pkgs.steam.override {
                        extraBwrapArgs = [ "--unsetenv TZ" ];
                };
                platformOptimizations.enable = true;
                enable = true;
                remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
                        dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
        };
        programs.zsh = {
                enable = true;
                enableCompletion = true;
                shellAliases = {
                        ll = "ls -l";
                };
        };

        fonts.fontDir.enable=true;

        programs.nix-ld.enable = true;
        programs.nix-ld.libraries = with pkgs; [
                stdenv.cc.cc
                bash
                zlib
                fuse3
                icu
                zlib
                nss
                openssl
                curl
                expat
                envfs
                glibc
        ];
        hardware.steam-hardware.enable  = true;
        hardware.enableRedistributableFirmware = true;
        hardware.enableAllFirmware  = true;
        programs.steam.gamescopeSession.enable=true;
        programs.gamemode.enable = true;
        environment.sessionVariables = {
                STEAM_EXTRA_COMPAT_TOOLS_PATHS = "/home/yboutros/.steam/root/compatibilitytools.d";
                NIXOS_OZONE_WL = "1";
                # LD_LIBRARY_PATH = "${pkgs.vulkan-loader}/lib:${pkgs.vulkan-validation-layers}/lib";
                VULKAN_SDK = "${pkgs.vulkan-headers}";
                VK_LAYER_PATH = "${pkgs.vulkan-validation-layers}/share/vulkan/explicit_layer.d";
                HISTSIZE=10;
                XDG_CACHE_HOME  = "$HOME/.cache";
                XDG_CONFIG_HOME = "$HOME/.config";
                XDG_DATA_HOME   = "$HOME/.local/share";
                XDG_STATE_HOME  = "$HOME/.local/state";
        };
        
        environment.systemPackages = with pkgs; [
                telegram-desktop
                xorg.xauth
                freerdp
                xpra-html5
                sof-firmware
                steamtinkerlaunch
                adwsteamgtk
                kdePackages.plasma-workspace
                kdePackages.kdepim-addons
                kdePackages.qtstyleplugin-kvantum
                libsForQt5.qt5ct
                kdePackages.qt6ct
                kdePackages.korganizer
                kdePackages.kdeplasma-addons
                gtk3
                google-chrome
                unetbootin
                android-studio
                android-studio-tools
                zig
                fzf
                dotnetCorePackages.sdk_8_0_4xx
                vscode.fhs
                clang-tools
                neovim
                ascii
                busybox
                android-tools
                dmidecode
                qFlipper
                protonup-ng
                mesa-demos
                nvidia-vaapi-driver
                egl-wayland
                nvd
                mangohud
                intel-vaapi-driver
                libva-vdpau-driver
                libvdpau-va-gl
                nvidia-vaapi-driver
                vulkan-headers vulkan-tools vulkan-tools-lunarg vulkan-loader vulkan-validation-layers vulkan-extension-layer glslang vulkan-utility-libraries vulkan-utility-libraries
                libva-utils
                vdpauinfo
                libvdpau-va-gl
                wgpu-utils
                glibc
                mesa
                libglvnd
                # nvtopPackages.full
                nvitop
                libGL
                joycond
                SDL2
                linuxKernel.packages.linux_xanmod_stable.xpadneo
                  inputs.nix-gaming.packages.${pkgs.system}.wine-ge
                inputs.nix-gaming.packages.${pkgs.system}.wine-tkg
                wlx-overlay-s
                dxvk
                vim 
                wget
                kdePackages.plasma-pa
                # blender
                # gnome-network-displays
                openvpn
                wineWowPackages.waylandFull
                easyrsa
                (pkgs.wrapOBS {
                        plugins = with pkgs.obs-studio-plugins; [
                                wlrobs
                                obs-backgroundremoval
                                obs-pipewire-audio-capture
                        ];
                 })
                vim
                spacevim 
                wget
                xow_dongle-firmware
                cachix
                gcc
                libsForQt5.qt5ct
                #libsForQt5.kf5gpgmepp
                #libsForQt5.qtstyleplugin-kvantum 
                #libsForQt5.kleopatra
                tldr
                tmux
                gnupg
                zathura
                nix-ld
                git
                git-lfs
                ydotool
                dive
                docker
                # nvidia-podman
                # podman-tui
                # podman-compose
                file
                envfs
                gnumake
                ];

        fonts.packages = with pkgs; [
                noto-fonts-cjk-sans
                noto-fonts-color-emoji
                liberation_ttf
                fira-code
                fira-code-symbols
                mplus-outline-fonts.githubRelease
                dina-font
                proggyfonts
        ];

        # Some programs need SUID wrappers, can be configured further or are
        # started in user sessions.
        programs.mtr.enable = true;
        programs.gnupg.agent = {
                enable = true;
                enableSSHSupport = true;
        };

        # Open ports in the firewall.
        networking.firewall.allowedTCPPorts = [ 22 3216 27040 8000 8080 ]; #7236 7250 ];

        networking.firewall.allowedUDPPorts = [ 27031 3216 27032 27033 27034 27035  27036 ];
   
        services.displayManager.sessionPackages = [
                pkgs.kdePackages.plasma-workspace
        ];

        nix.settings = {
                experimental-features = [ "nix-command" "flakes" ];
                substituters = ["https://nix-gaming.cachix.org" "https://nix-citizen.cachix.org"];
                trusted-public-keys = ["nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" "nix-citizen.cachix.org-1:lPMkWc2X8XD4/7YPEEwXKKBg+SVbYTVrAaLA2wQTKCo="];
        };
}

Sorry for the wall of text, as well as if this isn’t the right place to request for help

Hm, your config has a lot of the usual cargo-culting indicators that look like they could lead to issues, but I can’t see a direct path to these symptoms.

The error is quite clear though:

Your desktop is being rendered entirely on your CPU.

Usually this happens when the nvidia userspace and kernel driver disagree about what version of the driver you’re running. Did you reboot?

If you did, some of the env variables you’re setting may well cause that, but again, hard to tell exactly without lots of debugging.

I’d suggest one of two pathways:

  1. Start with a fresh configuration.nix with almost no options enabled besides what is absolutely necessary (I think that would be ~10 lines) and see if you can reproduce the issue.
  2. Start by checking what eglinfo gives you on both versions.

It’s unfortunate that this looks like a regression, but your config is sufficiently hacky that I’m not surprised; You’re playing with environment variables and kernel params that are expected to be managed upstream, and can probably not be fully expected to stay stable, especially when using beta nvidia drivers on non-LTS Linux. At least that stuff should be decorated with huge comments explaining why you’re doing it.

1 Like

your intuition was correct, deleting everything but the necessities in my configuration.nix fixed everything, I will spend more time today trying to identify exactly which lines contributed to this error. Thanks!