Idea
Primary laptop will run DE with 1 screen (its own).
Second laptop is to be used as a secondary (extended) monitor for primary laptop.
Both laptops will run Linux.
Tested solutions and their issues
krfb-virtualmonitor:
Creates virtual display and runs a VNC server, exactly as desired.
Issue: Slow as hell. FPS become SPF even on 0.3ms 1Gbps point-to-point connection.
KDE Connect virtual display
Creates virtual display and runs an RDP server, exactly as desired.
Issue(s): Really needs that high quality connection to run reasonably well. That isn’t much of a problem, I can use a cable. The biggest problem is, no matter the settings, both with Remmina and KRDC the mouse pointer does not show up. Silly issue, but yeah.
Also, the Debian 13 KDE Connect package is too outdated to work with this, but I was able to use it in KDE Neon and Arch.
So, basically what I want exists, just with a major bug. Not seeing the mouse pointer is quite a problem.
Also, at first I hoped to use the already existing “network”, my phone’s hotspot. I can get 300Mbps and 3ms between phone and client. But between 2 clients? 400ms and with ping I see 1/3 of packets being duplicated.
Create virtual display, Run Sunshine on main PC, Moonlight on guest, it should work
I used the 2nd option to connect a macbook pro 17 2006 to my desktop; can’t let go of that stupid thing, no idea why. can’t remember having issues with the cursor displaying (also Plasma, Fedora desktop + arch 32-bit on laptop), but the lag was annoying and the fans wouldn’t stop hollering (Core 2 Duo and ATI X1600 struggling to keep up) so I tore it down. before that tried using an android tablet to same end but also gave up as it wasn’t useful for anything.
Just to address the networking part…
Wifi is a 1:1 link, usually half-duplex (unless you’ve got something like a MuMiMo router) so you’ll transmit a block of video to the phone and then have to wait for the phone to transmit that block to the laptop, then repeat.
You don’t state the screen sizes, but I suspect you’ll only get decent FPS (I presume this is for gaming) with a cable as that will be full duplex.
For the application, maybe take a look at something like Deskflow
So like a virtual KVM switch? Barrier was discontinued, but I think solutions like Synergy, Deskflow, or InputLeap still exist. There might be a better community suggested alternative to those as well.
I have been using deskflow for a year now locally and sometimes over tailscale. One with plasma and other gnome. It’s working great but clipboard don’t sync sometimes
They are great, I use InputLeap regularly. But the things mentioned in the post transfer video as well, which is a different use case. The synergy family of tools allows to share input devices with another machine, but not use it as a second screen for software on the first system. Depending on the goal, one can work around that with network file systems and having the same software installed on both PCs.
What you want was very performant and easy doable with X11 (by its nature as a client/server architecture), but not with wayland. The additional Software layers on top of wayland will destroy performance and introduce all kind of issues.
Thats the price we have to pay for the shiny new things
Not sure what you mean about the mouse cursor not showing up. You mean you can interact with the mouse, but just see a cursor? Or no matter which direction you move the mouse the cursor doesn’t get there?
You sure after setting up the virtual display you’re going through the steps to setup the orientation of monitors?
What I mean is the mouse cursor isn’t there when I move it over there. Well, isn’t visible. It still interacts with objects.
Same as this person’s issue: https://discuss.kde.org/t/show-cursor-on-virtual-display-kde-connect-krdc/43421
If I get a minute I’ll see if I can replicate, but my initial guesses are:
- Hardware cursor mismatch: try disabling hardware acceleration on the client OR see if there is a setting for forcing or disabling hardware cursors
- Check the CLI arguments for cursor specific options and mapping to movement. Sometimes there are movement acceleration tweaks that mess things up
Edit: also maybe give this a shot. https://www.azdanov.dev/articles/2025/how-to-create-a-virtual-display-for-sunshine-on-arch-linux
Solution is jetkvm or pikvm. Also reasonably cheap.



