32

I'd like to try to get fedora to host a second headless Wayland session in the background for a remote user. I have a GPU but I want to share its render and compute, not the physical HDMI output, so I need a virtual Wayland session for the second seat.

Supposedly logind could handle the seat and udev permission issues clean enough, but headless use is still beyond me there.

I'd like a KDE Plasma environment running headless and then sunshine can just stream this session out using the war capture method. I just don't know how to start up a separate Wayland session under another linux user in the background with a plasma session drawing to an imaginary monitor.

There seem to be 2 ways of doing this.

  • wlheadless-run - a young project made to solve this particular problem
  • kwin --virtual can theoretically do this, but I'm not finding clear examples of it
you are viewing a single comment's thread
view the rest of the comments
[-] muusemuuse@sh.itjust.works 1 points 4 days ago

I would need to use the headless backend in kwin, which apparently isn't something you can do from start plasma-wayland but you can do with kwin_wayland --virtual -s waylandR. I can give it a specific socket (waylandR) which lets me point sunshine at that, but I cannot get moonlight to accept a PIN that way. it seems mad about this setup and I'm not sure why.

Do you actually need the headless backend? Or do you need a background session that doesn't interfere with the main session?

[-] muusemuuse@sh.itjust.works 1 points 4 days ago

the physical display output is claimed by something else totally separate.

Anyway I did figure out how to the headless backend working, but I did not figure out the udev rules for this headless session

Allows Sunshine to access /dev/uinput

KERNEL=="uinput", SUBSYSTEM=="misc", OPTIONS+="static_node=uinput", GROUP="input", MODE="0660", TAG+="uaccess"

Allows Sunshine to access /dev/uhid

KERNEL=="uhid", GROUP="input", MODE="0660", TAG+="uaccess"

Joypads

KERNEL=="hidraw*", ATTRS{name}=="Sunshine PS5 (virtual) pad*", GROUP="input", MODE="0660", TAG+="uaccess" SUBSYSTEMS=="input", ATTRS{name}=="Sunshine X-Box One (virtual) pad*", GROUP="input", MODE="0660", TAG+="uaccess" SUBSYSTEMS=="input", ATTRS{name}=="Sunshine gamepad (virtual) motion sensors*", GROUP="input", MODE="0660", TAG+="uaccess" SUBSYSTEMS=="input", ATTRS{name}=="Sunshine Nintendo (virtual) pad*", GROUP="input", MODE="0660", TAG+="uaccess" SUBSYSTEMS=="input", ATTRS{name}=="Sunshine PS5 (virtual) pad*", GROUP="input", MODE="0660", TAG+="uaccess"

this is....not enough

[-] moonpiedumplings@programming.dev 1 points 4 days ago* (last edited 4 days ago)

the physical display output is claimed by something else totally separate.

Yes, and the above solution I laid out is a way to get around that, that potentially dodges the complexity of configuring a truly headless session. It's possible to run two KDE sessions at once, next to eachother, and then simply put one on the main display, with the second being "headless", and not shown.

I started fiddling with the above setup I described, actually installing and testing sunshine. Unfortunately I hit some hiccups. I got sunshine to run, but with no input, and then then it attached to the wrong KDE, even though it was streaming the correct one initially. Now I'm running the same KDE session as a different user (since I was on the same user before), but having pairing issues, but I suspect these are because moonlight is seeing the wrong SSL cert, since the sunshine as a new user generated a new cert.

[-] muusemuuse@sh.itjust.works 1 points 3 days ago

Sunshine has some documentation gaps that are annoying to figure out but there enough there you can get it done with some effort. Moonlight feels really crunchy though. Edges are rough and it always felt unfinished. I really think selkies v2 is going to kill it.

Sunshine+moonlight is better for an app based deployment, like set top boxes without web browsers. But if you have a browser available on the client, I can see some crazy possibilities with selkies.

Gamesonwhales solves the sunshine multi user issue in a different way. It’s better for renting out your box as a node for cloud gaming. It’s damn near turnkey for that and super clever. But that’s not what I’m trying to do here so it’s just adding complexity.

this post was submitted on 28 Jul 2026
32 points (97.1% liked)

Linux

66753 readers
1088 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 7 years ago
MODERATORS