• Skull giver@popplesburger.hilciferous.nl
    link
    fedilink
    English
    arrow-up
    9
    ·
    9 months ago

    The thing is, Wayland does to through a UNIX socket on the file system. Just like X, actually. Well, not entirely, because sending everything through a FIFO would be terrible so there’s tons of shared memory in both X and Wayland, but in theory you could totally write an X/Wayland client that works completely through a socket.

    X11 forwarding and Waypipe do exactly that, although Waypipe tends to default to remote GPU acceleration. And yes, that remote socket can be found in /proc/<pid> if you care to look.

    The way X11 came together made it a very weird protocol (seriously, the concept of window managers isn’t some kind of revolutionary idea, it’s an addition to an older protocol (X10) that demanded you use the command line to place and resize windows, maybe with a few shortcuts to switch windows for you, like some kind of prehistoric i3). It’s designed to run one single application on your local computer, and everything else on a bunch of different computers connected through the network. This has been patched to hell and back to support GPUs and whatnot, but the base protocol was never designed to serve the way we use computers today (read: run applications on the machine in front of you).

    Unix isn’t some kind of holy grail of computing. It took 11 versions of the protocol to become usable, designed by a team of people all working for different megacompanies. What worked for the PDP-11 doesn’t necessarily work when you add SSDs and WiFi. I’m honestly baffled X stayed around for so long, but I suppose there wasn’t really anything else out there when Linux gained popularity on the desktop.