NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
18.27k stars 14.25k forks source link

SDDM fails to launch Plasma wayland session #355533

Open vendion opened 1 week ago

vendion commented 1 week ago

Describe the bug

On three different machines, all using SDDM and Plasma, when I try to launch a Plasma wayland session SDDM disappears as if it was launching the selected session, but then it reappears. Under $HOME/.local/share/sddm/wayland-session.log I see the following:

/nix/store/wyzxp9h0rpj4azidqgsrdfhhd3fi2i9s-sddm-unwrapped-0.21.0/share/sddm/scripts/wayland-session:49: no such file or directory: /nix/store/jvbwa9pj296g0jmcv9cncw6v50992vw1-plasma-workspace-6.2.2/libexec/plasma-dbus-run-session-if-needed /nix/store/jvbwa9pj296g0jmcv9cncw6v50992vw1-plasma-workspace-6.2.2/bin/startplasma-wayland

Oddly enough, if I switch to a TTY session and login, I can execute startplasma-wayland just fine and checking the paths the all look correct to me

vendion on vili ~
➜ ls /nix/store/jvbwa9pj296g0jmcv9cncw6v50992vw1-plasma-workspace-6.2.2/libexec/
baloorunner      kfontprint                         plasma-fallback-session-restore
fontinst         ksmserver-logout-greeter           plasma-fallback-session-save
fontinst_helper  plasma-changeicons                 plasma-sourceenv.sh
fontinst_x11     plasma-dbus-run-session-if-needed

vendion on vili ~ took 0s
➜ ls /nix/store/jvbwa9pj296g0jmcv9cncw6v50992vw1-plasma-workspace-6.2.2/bin
gmenudbusmenuproxy           ksplashqml                   plasma-shutdown
kcminit                      lookandfeeltool              plasma_session
kcminit_startup              plasma-apply-colorscheme     plasma_waitforname
kcolorschemeeditor           plasma-apply-cursortheme     plasmashell
kde-systemd-start-condition  plasma-apply-desktoptheme    plasmawindowed
kfontinst                    plasma-apply-lookandfeel     startplasma-wayland
kfontview                    plasma-apply-wallpaperimage  startplasma-x11
krunner                      plasma-interactiveconsole    xembedsniproxy
ksmserver                    plasma-localegen-helper

vendion on vili ~ took 0s
➜ ls /nix/store/wyzxp9h0rpj4azidqgsrdfhhd3fi2i9s-sddm-unwrapped-0.21.0/share/sddm/scripts/
wayland-session  Xsession

Steps To Reproduce

Steps to reproduce the behavior:

  1. Install KDE Plasma 6 and SDDM with the following

    environment.systemPackages = with pkgs; [
    kdePackages.dragon
    #kdePackages.falkon
    kdePackages.filelight
    kdePackages.krdc
    kdePackages.ktimer
    kdePackages.kweather
    ];
    
    services = {
    desktopManager = {
      plasma6.enable = true;
    };
    
    avahi = {
      enable = true;
      ipv6 = true;
    };
    
    geoclue2 = {
      enable = true;
      geoProviderUrl = "https://beacondb.net/v1/geolocate";
      submitData = true;
      submissionUrl = "https://beacondb.net/v2/geosubmit";
    };
    
    tlp.enable = lib.mkForce false;
    };
    
    environment.systemPackages = with pkgs; [ wayland waydroid ];
    
    services = {
    xserver = {
      enable = true;
      xkb = {
        layout = "us";
        variant = "";
        options = "caps:escape";
      };
      excludePackages = [ pkgs.xterm ];
    };
    displayManager.sddm = {
      enable = true;
      wayland.enable = true;
      enableHidpi = true;
    };
    libinput = { touchpad.disableWhileTyping = true; };
    };

Expected behavior

SDDM to launch Plasma wayland session.

Notify maintainers

Metadata

 - system: `"x86_64-linux"`
 - host os: `Linux 6.11.5-xanmod1, NixOS, 24.11 (Vicuna), 24.11.20241105.4aa3656`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.24.10`
 - nixpkgs: `/nix/store/sh0v21n9zc03b94qjj4jkkg5mbsjkpzr-source`

Add a :+1: reaction to issues you find important.

KCynk commented 1 week ago

I also had problem with plasma 6 solution was: Migrate from stable to unstable channel

Here is my working config


kcynk@nixos:~/Documents/Containers/Whisper]$ cat /etc/nixos/configuration.nix 
# Edit this configuration file to define what should be installed on
# your system.  Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running ‘nixos-help’).

{ config, pkgs, ... }:

{
  imports =
    [ # Include the results of the hardware scan.
      ./hardware-configuration.nix
    ];

  # Bootloader.
  boot.loader.systemd-boot.enable = true;
  boot.loader.efi.canTouchEfiVariables = true;

  # Disable ping
  boot.kernel.sysctl."net.ipv4.icmp_echo_ignore_all" = "1";

  # Disable IPv6
  boot.kernel.sysctl."net.ipv6.conf.all.disable_ipv6" = "1";
  boot.kernel.sysctl."net.ipv6.conf.lo.disable_ipv6" = "1";
  boot.kernel.sysctl."net.ipv6.conf.enp0s31f6_ipv6" = "1";
  boot.kernel.sysctl."net.ipv6.conf.wlp0s20f3_ipv6" = "1";
  boot.kernel.sysctl."net.ipv6.conf.docker0_ipv6" = "1";

  # Hostname
  networking.hostName = "nixos"; # Define your hostname.

  # Enable networking
  networking.networkmanager.enable = true;

  # Hosts
  networking.extraHosts =
  ''
    192.168.122.36 al8-master1.centrum.ldap
    192.168.122.37 al8-master2.centrum.ldap
    192.168.122.11 al8-worker1.centrum.ldap
    192.168.122.168 al8-worker2.centrum.ldap
  '';

  # Set your time zone.
  time.timeZone = "Europe/Warsaw";

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

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

  # Enable the X11 windowing system.
  services.xserver.enable = true;

  # Enable the KDE Plasma Desktop Environment.
  services.displayManager.sddm.enable = true;
 # services.xserver.desktopManager.plasma5.enable = true;
  services.displayManager.defaultSession = "plasma";
  services.displayManager.sddm.wayland.enable = true;
  services.desktopManager.plasma6.enable = true;
  services.desktopManager.plasma6.enableQt5Integration = false;

  # Configure keymap in X11
  services.xserver.xkb = {
    layout = "pl";
    variant = "";
  };

  # Configure console keymap
  console.keyMap = "pl2";

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

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

    # use the example session manager (no others are packaged yet so this is enabled by default,
    # no need to redefine it in your config for now)
    #media-session.enable = true;
  };

  # Enable touchpad support (enabled default in most desktopManager).
  # services.xserver.libinput.enable = true;

  # Define a user account. Don't forget to set a password with ‘passwd’.
  users.users.kcynk = {
    isNormalUser = true;
    description = "xyz";
    extraGroups = [ "networkmanager" "wheel" "docker" "libvirtd" ];
    packages = with pkgs; [ kate ];
  };

  # Enable automatic login for the user.
  services.displayManager.autoLogin.enable = true;
  services.displayManager.autoLogin.user = "kcynk";

  # Install firefox.
  programs.firefox.enable = true;

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

  # Exclude software
  environment.plasma6.excludePackages = with pkgs.libsForQt5; [ plasma-browser-integration oxygen elisa ];

  # Disable xterm
  services.xserver.excludePackages = [ pkgs.xterm ];
  services.xserver.desktopManager.xterm.enable = false;

  # Docker
  virtualisation.docker.enable = true;

  # Libvirt + virt-manager
  virtualisation.libvirtd.enable = true;
 # virtualisation.libvirtd.hooks.network = {   };
  programs.virt-manager.enable = true;

  # Install software
  environment.systemPackages = with pkgs; [ 
    vim 
    foliate 
    keepassxc 
    git  
    ticktick 
    libreoffice-qt6-fresh 
    sshpass 
    ansible_2_16
  ];

  # Version
  system.stateVersion = "24.11"; # Did you read the comment?

}
``
vendion commented 4 days ago

I also had problem with plasma 6 solution was: Migrate from stable to unstable channel

I'm already using the unstable in my flake and seeing this on two different x86_64 and one aarch64 machines, all running Plasma6.

Direct links to my flake: