4 ms·
The people behind Plan 9 did a much better job than was done with X11 and that was completely ignored as a path forward from what I can tell. It’s tiny, secure
by naikrovek 7mo ago
The people behind Plan 9 did a much better job than was done with X11 and that was completely ignored as a path forward from what I can tell.
It’s tiny, secure, graphics subsystem independent (it’ll work on just about anything with or without a GPU, I would expect, given the API is so damn simple) and already designed.
Maybe it wouldn’t work, but I bet it would have.
- pjmlp 7mo agoEverything is a file doesn't play well with how GPUs work, especially modern ones. Plan 9 and later Inferno, just had plain 2D rendering.
- naikrovek 7mo agothe interface doesn't have to remain a file if that's not suitable. rendering to a texture (an image) then displaying the image is what window compositors do, and what some games do. plan9 has a file you can write to which just dumps the image to the window/screen. there is no reason this could not work for Plan9. And if you don't want to open a file, write to it, then close it every frame, don't. implement a faster system. writing syscalls for plan9 is not difficult.
- pjmlp 7mo agoThe first thing window compositors that care about performace do, is use shared memory, then there are a couple of other tricks that don't fit into everything is a file with a stream of bytes. Try to imagine how a Vulkan driver could be done on top of a plain file system interface. Not one that kind of works, one that can match the performance of existing implementations.
- naikrovek 7mo ago> The first thing window compositors that care about performace do, is use shared memory, then there are a couple of other tricks that don't fit into everything is a file with a stream of bytes. Then don't use "everything is a file" to do it. I already said that. Use shared memory, I don't care. I'm not talking about implementing anything on Plan9, I'm talking about implementing something new on Linux, instead of implementing Wayland. > one that can match the performance of existing implementations pretty easy if we're not talking about Linux anymore. FreeBSD can run Linux programs faster than Linux can, and given Plan9's size, if we wanted to do it there, we could perform even better than that.
- pjmlp 7mo agoSorry, I thought this was supposed to be how much better Plan 9 happens to be in operating system design for graphical interfaces. Apparently not.
- naikrovek 7mo agoI was talking about taking what Plan9 and Rio had done, with virtual devices for every window and using that kind of a system in Linux as a starting point. Wayland is certainly smaller than Plan9 but it is not smaller than Rio, and Rio is already designed and working. It might have been a great starting place and a real opportunity to rethink how Linux UIs work on a fundamental level. Putting syscalls in place of some of the files would not have been challenging. Changing how the mouse works would not have been challenging. And if none of it worked, maybe we’d have a better idea about how to do the next thing. Software needs to change more. As software people, we get to define our own reality, and make reality benefit us rather than get in our way. The people who wrote Plan9 knew that. Our industry has forgotten that. We keep working on old systems in old ways because that’s what we know. Because it’s easier than thinking about a new paradigm where the old rules don’t apply. I don’t care if it’s harder to do things in a smarter way. I care that things get better, and the only way to make things better is to do things in new ways. But we won’t do it and I don’t understand why we won’t.
- pjmlp 7mo agoOur industry certainly did not forgot that, people putting UNIX on a pedestal did. It is no accident that many of the most successful graphical technologies that originated in UNIX world, came from UNIX vendors that went beyond being yet another UNIX clone, like NeXT and SGI.