Bug 514092

Summary: plasma login manager multi seat
Product: [Plasma] plasma-login-manager Reporter: Kasper Sandberg <redeeman>
Component: generalAssignee: Plasma Bugs List <plasma-bugs-null>
Status: REPORTED ---    
Severity: wishlist CC: kde, mark, nicolas.fella, olib141
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Kasper Sandberg 2026-01-03 01:18:15 UTC
now that a fork of SDDM is being made, I just wish report some feedback on multi seat on sddm.

sddm does not work with multi-seat (here i mean for example 2xgpu+mouse+keyboard, running simultaneous separate sessions).

when X11, it has somewhat worked on sddm, breaking in some versions, but in latest version working, however, it is currently not possible to launch two wayland sessions using sddm, atleast not while sddm itself runs in X11 mode. The issue that happens is that the new (for example) plasma wayland session tries to launch, but does noget get access to the DRI device, for some reason X doesnt release it. This only happens on seat0, seat1 is able to login to a wayland session. - most probably because seat0 is bound to a vt.

I was unable to make wayland mode work in sddm, so I have not tested that. As a workaround, I have switched to greetd, which needed a tiny patch to work(it hardcoded XDG_SEAT=seat0). But with that, i have 2x greetd running with sway + qtgreet as greeters, each fully capable of launching plasma wayland sessions.

My rationale for this "bug report" is to give feedback so that hopefully this scenario can be working in plasma login manager
Comment 1 David Edmundson 2026-01-03 11:37:18 UTC
Can you be sure to test it when it comes out and provide feedback. I don't have a setup where I can test currently.
Comment 2 Mark Bolhuis 2026-01-08 19:39:34 UTC
Not OP but here is some extra feedback on the lack of multi-seat support.

I was trying to switch to PLM and also set up multi-seat. However since PLM uses a single UID, systemd only starts a single user@.service. As such only one instance of plasma-login-kwin_wayland.service and others are running. Hence only one wayland socket, one pipewire socket etc...

```
systemd[1]: Started Simple Desktop Display Manager.
plasmalogin[1353]: Initializing...
plasmalogin[1353]: Starting...
plasmalogin[1353]: Logind interface found
plasmalogin[1353]: Adding new display...
plasmalogin[1353]: Using VT -1
plasmalogin[1353]: Adding new display...
plasmalogin[1353]: Using VT 1
plasmalogin[1353]: Display server started.
plasmalogin[1353]: Socket server starting...
plasmalogin[1353]: Socket server started.
plasmalogin[1353]: Greeter starting...
plasmalogin[1353]: Display server started.
plasmalogin[1353]: Socket server starting...
plasmalogin[1353]: Socket server started.
plasmalogin[1353]: Greeter starting...
plasmalogin-helper[1355]: [PAM] Starting...
plasmalogin-helper[1355]: [PAM] Authenticating...
plasmalogin-helper[1356]: [PAM] Starting...
plasmalogin-helper[1356]: [PAM] Authenticating...
plasmalogin-helper[1355]: [PAM] returning.
plasmalogin-helper[1356]: [PAM] returning.
plasmalogin-helper[1356]: pam_unix(plasmalogin-greeter:session): session opened for user plasmalogin(uid=951) by (uid=0)
plasmalogin-helper[1355]: pam_unix(plasmalogin-greeter:session): session opened for user plasmalogin(uid=951) by (uid=0)
plasmalogin-helper[1356]: Starting Wayland user session: "/usr/share/plasmalogin/scripts/wayland-session" "/usr/bin/startplasma-login-wayland"
plasmalogin-helper[1355]: Starting Wayland user session: "/usr/share/plasmalogin/scripts/wayland-session" "/usr/bin/startplasma-login-wayland"
plasmalogin[1353]: Greeter session started successfully
plasmalogin[1353]: Greeter session started successfully
plasmalogin[1353]: Message received from greeter: Connect
```

```
user-951.slice
├─session-c1.scope
│ ├─1356 /usr/lib/libexec/plasmalogin-helper --socket /tmp/plasmalogin-auth-a80a27ec-d89b-4fd3-8788-4cdd9f701b69 --id 4 --start /usr/bin/startplasma-login-wayland --user plasmalogin --greeter
│ └─1391 /usr/bin/startplasma-login-wayland
├─session-c2.scope
│ ├─1355 /usr/lib/libexec/plasmalogin-helper --socket /tmp/plasmalogin-auth-a80a27ec-d89b-4fd3-8788-4cdd9f701b69 --id 3 --start /usr/bin/startplasma-login-wayland --user plasmalogin --greeter
│ └─1390 /usr/bin/startplasma-login-wayland
└─user@951.service
  ├─background.slice
  │ └─plasma-wallpaper.service
  │   └─1488 /usr/bin/plasma-login-wallpaper
  ├─init.scope
  │ ├─1372 /usr/lib/systemd/systemd --user
  │ └─1379 "(sd-pam)"
  └─session.slice
    ├─dbus-broker.service
    │ ├─1423 /usr/bin/dbus-broker-launch --scope user
    │ └─1424 dbus-broker --log 11 --controller 10 --machine-id 00000000000000000000000000000000 --max-bytes 100000000000000 --max-fds 25000000000000 --max-matches 5000000000
    ├─pipewire.service
    │ └─1489 /usr/bin/pipewire
    ├─plasma-login-kwin_wayland.service
    │ └─1425 /usr/bin/kwin_wayland --no-lockscreen --no-global-shortcuts --no-kactivities
    ├─plasma-login.service
    │ └─1487 /usr/lib/libexec/plasma-login-greeter
    ├─wireplumber.service
    │ └─1491 /usr/bin/wireplumber
    └─xdg-permission-store.service
      └─1674 /usr/lib/xdg-permission-store
```

STEPS TO REPRODUCE
1. Create a new seat1 using loginctl attach /path/to/card1
2. Enable plasmalogin.service
3. Reboot.

OBSERVED RESULT
On seat0 the boot process stops at 'systemd[1]: Reached target Graphical Interface.'
On seat1 a graphical login prompt is shown.
Both greeters are connecting to the single wayland compositor on one seat.

EXPECTED RESULT
A separate user session for PLM should be used for every seat.

POSSIBLE SOLUTIONS
I think this problem is exactly why GNOME now depends of something like systemd-userdbd to allocate user ids dynamically, and a new user@.service can be spawned for each seat. PLM could could follow suit.

SOFTWARE/OS VERSIONS
Operating System: Arch Linux 
KDE Plasma Version: 6.5.4
KDE Frameworks Version: 6.21.0
Qt Version: 6.10.1
Kernel Version: 6.18.3-arch1-1 (64-bit)
Graphics Platform: Wayland
Processors: 28 × Intel® Core™ i7-14700K
Memory: 32 GiB of RAM (30.9 GiB usable)
Graphics Processor 1: Intel® Graphics
Graphics Processor 2: llvmpipe