7

Video TranscriptTwo keyboard and mice collaboratively share a single output on the Weston compositor. This is shown as two independent pointers on the screen. They each open weston-terminal and can independently and concurrently move around and type in the windows.


The plan is to install Linux for my brother this week!

He is excited, but one thing I'm trying to figure out is how best to make multi-seat work.

His use-case is a bit special: he turns his 2nd monitor into a 2nd seat when he invites a friend over to play games.

There seem to be 4 main ways to get this to work

  1. Using systemd-logind
  2. Using virtual machines with usb passthrough
  3. Using Xorg
  4. Using a supported Wayland compositor

Solution 1 doesn't work because the PC has a single GPU. Plasma wayland also needs a workaround to recognize other logind seats.

Solution 2 is not ideal because the PC is not very high-spec. It's a bit tedious, but it is straightforward and well supported.

Solution 3 is not ideal because Xorg is dead. I wasn't able to test this because at some point my Xorg installation broke, but apparently Xorg does support multi-cursor with xinput. (Note that it does not necessarily work in Xwayland, because Xwayland exposes wayland seats, not udev devices.)

Solution 4 is where I lack knowledge. I know the core Wayland protocol supports multi-seat, and clearly Weston implemented this feature. Does Plasma Wayland support this in any way? Even if it was configuring a seat and giving it exclusive access to a client? Or maybe it's possible to run a lightweight compositor underneath which understands multi-seat, and run two nested compositors on top of it?

Sigh

top 1 comments
sorted by: hot top controversial new old
[-] tuna@discuss.tchncs.de 2 points 2 weeks ago* (last edited 2 weeks ago)

I dug even deeper and installed Weston to see how seats are configured. Turns out this is done by attaching a udev property to the device called WL_SEAT, which libinput uses to make logical seats, which Weston uses for seat management. See: https://wayland.freedesktop.org/libinput/doc/latest/device-configuration-via-udev.html

Note: your udev filter (the ones with ==) matters!! I thought I could re-use the filter generated from loginctl (i.e. ENV{ID_FOR_SEAT}=="..."). This led to several confusing hours where I could set ENV{ID_SEAT} but not ENV{WL_SEAT}. Follow the docs above and you'll be fine.

Once I got it working in Weston, I tried it on Plasma, and got my answer: no, Plasma Wayland does not currently support multi-cursor.

It looks like the best solution in our case will be to use the Plasma X11 session. I was able to reinstall the x11 session on my pc and tested multi-cursor there, and it seemed to work as expected.

If the X11 session is too unstable, I guess Weston is there as a backup.

this post was submitted on 17 Aug 2025
7 points (100.0% liked)

KDE

7130 readers
2 users here now

KDE is an international technology team creating user-friendly free and open source software for desktop and portable computing. KDE’s software runs on GNU/Linux, BSD and other operating systems, including Windows.

Plasma 6 Bugs

If you encounter a bug, proceed to https://bugs.kde.org, check whether it has been reported.

If it hasn't, report it yourself.

PLEASE THINK CAREFULLY BEFORE POSTING HERE.

Developers do not look for reports on social media, so they will not see it and all it does is clutter up the feed.

founded 2 years ago
MODERATORS