Universal Split Screen
universalsplitscreen.github.io
universalsplitscreen.github.io
But it seems to have gone by the wayside as the upper limit is really the number of video outputs, and driving 30+ displays off one computer starts getting into custom setups that are going to be more expensive, even if the goal was just running 30 instances of Firefox on one computer. The wiki hasn't been updated in 6 years, so I assume it's not viable in modern Ubuntu?
Procedures are more or less same for every Unix or GNU/Linux systems. You somehow get dozens of display outputs, give Xorg with necessary config as to where to output and what input to watch, and run it. Unix and Linux are a multi-user operating systems so there's no inherent problem with it. Windows can do the same using the feature called Terminal Service. macOS Server had the same kind of feature years ago.
On GNU/Linux, DisplayLink(not to be confused with DisplayPort) USB graphics adapters should work for this, or virtual framebuffers using Xvfb can be used to connect over VNC or RDP. Or some sort of PCIe hub can be used to connect grapevine full of Quadros. Whatever.
The practicality problem of it is user experience tends to be rather suboptimal due to collectively massive issues, from network overheads, hardware acceleration issues or lack of support for it, workloads of sysadmin to constantly fighting outages, cost of client console hardware that aren't supposed to be full standalone computers but virtually it, etc.
It surprises me that it works so well, but I think that the original technology was designed exactly for this.
It sounds like the idea was to use it at the same time.
That's what we're talking about here.
https://en.wikipedia.org/wiki/Compatible_Time-Sharing_System
https://www.reddit.com/r/localmultiplayergames/comments/ce8m...
Both are free and open source.
NucleusCoop: https://github.com/lucasassislar/nucleuscoop/
Universal Split Screen: https://github.com/UniversalSplitScreen/UniversalSplitScreen
For example, in the way I was originally imagining it, you and me would sit down at a computer and I’d open the editor and we’d make concurrent edits. But then when I want to scroll, the suddenly you would not be able to scroll. And another example, if you were pointing and clicking at something, say for example that you were drawing a painting in Photoshop, and I try to move another window from one side of the screen to the other and suddenly I am occluding your window, and on top of that you might click in my window.
This was a few years ago so I was imagining a situation where both people were sharing the same computer and sitting together physically in front of it.
But I like what you said a lot. A split screen view with separate working areas that we both see, like in a video game, that would probably be nice. Both for local and remote collaboration.
If you are on a shared account, it is even easier by running `(start-server)` and then connecting to it with emacsclient. The only downside is that marked regions are shared between clients.
Basically, along the same vein. I have multiple offices at my house, it would be nice to just have one POWER-horse, that I can use throughout my home when working. Instead of have to use slower-laptops occassionally. I don't understand why this hasn't been solved as a problem before.
Aren't you basically describing mainframes?
I'm doing this with Windows all the time, connecting from laptop my desktop where I have all the apps running. It's pretty usable even with 4G connections.
https://www.howtogeek.com/howto/windows-vista/turn-on-remote...
you can portforward or setup a vpn to make it accessible anywhere in the world.
There are rdc clients for nearly every device out there (android, iphone\pad, raspberrypi, window, mac, etc)
There are people running super long active HDMI or USB extension cables so perhaps that kind of setup paired with HDMI splitters could work. Security is going to be an issue though.
Here is an example of the program modifying Left 4 Dead 2 so that it can run a separate instance. https://youtu.be/1RHWgHh2Q6M?t=120
Others require a Steam API emulator: https://universalsplitscreen.github.io/docs/goldberg/
> Some games use Steam to prevent you from launching multiple instances, and some games use Steam for matchmaking, preventing you playing with one copy.
> The Goldberg emulator replaces the Steam API dll, tricking games into letting you launch multiple instances and join the same server.
There are also a few warnings on the site that the hooks used by universal split screen will likely trip anticheat software.
Yikes, they should make that warning more prominent. Like a big yellow banner across the top of the landing page.
If you trip VAC for example, you're banned from online play for all of your VAC-enabled Steam games, IIRC. I imagine programs like this that do all sorts of weird Windows API plumbing/injection are pretty likely to look anomalous to even the most basic anti-cheat.
Vac is also only triggered if you try to sign into VAC-secured servers and VAC detects a cheat. In the unlikely event that something like this is ever classified as a cheat (unlikely since valve manually detects and adds cheats to the blacklist), simply running a local server would not trigger a VAC ban.
See also: https://github.com/symless/synergy-core (share one mouse/kb across multiple computers with their own displays via network)