Run xrandr to see the current configuration, pick the desired resolution for the second screen from the LVDS1 list and run "xrandr --addmode HDMI1 1920x1080" to tell X11 that that output supports that resolution, then do "xrandr --output HDMI1 --mode 1920x1080 --right-of LVDS1". This should now have extended your desktop and with a bit of luck you can share that screen with Deskreen. I've used that trick with x11vnc in the past at least. (If Deskteen supports sharing arbitrary regions of your screen you can even skip the whole output fakery and just make your virtual screen larger than your display using --fb, but that's a little fragile since most software assumes that the whole usable screen is covered by outputs.)
Please note I typed this on my phone so there might be some mistakes or typos in there but you should be able to fix those. :-)
If you want a custom resolution that isn't in the list of your primary screen you need to create that first using cvt and then xrandr --newmode before anything else.
Any engineering going towards doing this on X11 is wasted at this point and waiting on the Wayland community to agree on and implement a common interface is going to take years, so a kernel-level solution seems like the only way to have this right now. FWIW, that is how SpaceDesk does it on Windows and their performance is great, so it's not like it's impossible to make it work.
I've actually already managed to get a kernel-level virtual display working, but haven't tested with Deskreen yet as it's 1am and I've been staring at C code for too long now. Might post it on HN if I end up actually packaging it up into something usable.
I guess for Windows, a dummy driver is the only way to go since the layers above that are off limits for 3rd parties and it would be Microsoft who had to go ahead and do something there. But as you mentioned the wayland community is pretty chaotic with getting basic features implemented, so effectively it might be the same situation as with Windows ;-)
I'd be interested in seeing your finished product and trying out how it will handle different things you throw at it though.
I dreamed of people like you with deep knowledge of internals of operating systems will come together to solve the problem of virtual drivers! I mostly made Deskreen for that purpose. To bring a problem to community so we can make a really cool stuff that will outshine all the commercial applications out there and be the best screen sharing solution. That is a wonder of collective learning :)
It would be really great if you share a solution on Deskreen github.
Cheers
I merely wrote a userspace utility that lets you make virtual screens without worrying about the low-level stuff like EDID and such. I'll definitely be posting something on GH once I've tested it more tho.
On Windows there is SpaceDesk, which actually contains a proper virtual display driver and so doesn't need any of those dumb plugs.
Does anyone know of a Linux kernel module that would acomplish that? There's X11-specifc solutions and Weston has a config option for this, but I would absolutely love to be able to just load a kernel module that I could pass a number of displays and their resolutions and it would pop them up seamlessly, just as if I plugged in a display adapter.
EDIT: I did find evdi [0], but it's broken for the kernel I'm using. Does anyone have any experience with it?
[0] https://github.com/DisplayLink/evdi