I'm glad to hear I've understood correctly! I don't know of any system that solves this problem well. I've also had this issue where I'd like a single input to be used across multiple machines on a single display, or where I'd like a single input to be useful across multiple machines with multiple displays. There are occasions where the remote terminal philosophy just isn't as convenient or applicable as some kind of local KVM setup. I'm looking at this particular email chain thinking, "What if each video card output was associated with a particular set of input devices?" I think there are unsolved HCI/UX problems here, and also with KVM setups where a single set of inputs should be multiplexed onto a single display.
This specific problem seems entirely composable in Plan 9 given Dan's instruction. Virtual terminals and X historically solved this problem decades ago, so I don't know that Plan 9 is unique here. If "video over IP" is fundamental to the goal despite this support, I think it highlights a need for higher-level abstractions. One could consider for example an abstract windowing protocol that implemented only CUJs for a windowing system such that the video events were entirely local but the known state was known on both client and server. Abstracting pixel-level delegation to a local system that can be oblivious to window-level events probably has value, especially given the amount of client-side interaction we have in applications these days. I don't have any Good Ideas on this that are any better than what Plan 9 does with /dev/draw, or what X11 did/does. I'd be happy to talk with people about it. Kind regards, --dho --dho On Sun, Sep 13, 2026 at 3:33 PM plat via 9fans <[email protected]> wrote: > > On Sunday, September 13, 2026, at 2:01 AM, Dan Cross wrote: > > I'm not sure I follow what you mean. You'd just attach a keyboard and mouse > to the CPU server (or attach those to a USB hub or something that is attached > to the to the CPU server) and you arrange for a shell to be running as some > user, binding those devices int its namespace, along with the draw device. > Other users would just `cpu` into the CPU server normally. Whether that > keyboard/mouse is the console keyboard or mouse is up to you. > > Makes sense, I wrote this response midnight, so I haven't thought of that > > On Sunday, September 13, 2026, at 2:01 AM, Dan Cross wrote: > > Muxing of what, exactly? > > Muxing of video. As in if I can draw one graphical application (i.e. rio) > over one monitor and then another graphical application (i.e. a second > instance of rio) over a second monitor. vga(8) contains some information on > it, but I lack a way to test it in any capacity currently. Either way, I > don't have a need for multiplexing videos this way, but I was interested. > Thanks either way! > > > On Sunday, September 13, 2026, at 6:20 AM, Devon H. O'Dell wrote: > > No idea if I’m hitting the mark; is this the question being asked? > > Yes! Video over IP has some serious limitations, which is why I was looking > for a way to circumvent it without employing heavy compression. You > understood me entirely correctly > 9fans / 9fans / see discussions + participants + delivery options Permalink ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/T248f62cc83f47b6d-Ma7b56c066b2193e795c21ed4 Delivery options: https://9fans.topicbox.com/groups/9fans/subscription
