7 ms·
I saw mention of X11 and thought, "this is not for me." macOS and Haiku are both free of X11, so I'm going to stick with those.
by maxharris 5y ago
I saw mention of X11 and thought, "this is not for me."
macOS and Haiku are both free of X11, so I'm going to stick with those.
- Aloha 5y agoWhy is avoiding X11 better? Like X11 is mostly just an abstraction layer for drawing objects to the screen.
- wmf 5y agoIt's a bad abstraction layer. Wayland is much better.
- amrcnimgrnt 5y agountil you need to forward X, which I sometimes find very useful (on a LAN it's not too bad)
- tokamak-teapot 5y agoI used to use it over the internet in 1995. It worked nicely then.
- handrous 5y agoAFAIK it worked a lot better back then because X programs sent basic drawing instructions, so messages were tiny. I'm pretty sure most of them send images over the wire now for the whole window, like VNC or what have you, thanks to all the fancy eye-candy and extra layers we've added.
- bitwize 5y agoThat's still a stupid way of doing it. What they should be doing is caching pixmap atlases server side and sending draw requests to draw subsets of those. If they send an entire image over the wire for each frame draw, it's purely due to developer laziness. Also, with "flat design", suddenly libXaw is on the cutting edge of UI look and feel again...
- rjsw 5y agoDevelopers don't get to see what is going on, everything is hidden in multiple layers of libraries, it isn't down to laziness.
- bitwize 5y agoSomeone had to write the libraries!
- audidude 5y agoYes, they do that. But they often use Xshm to upload those pictures to the display server, and that still means sending them to the peer for server-side blitting. Further more, by using TCP/X11 for the wire protocol, any dropped packets have to be retransmitted before you can update unrelated portions of the display because it requires in-order processing by design. This is why high-quality, high-frame-rate remote displays never use that design.
- AnonymousPlanet 5y agoYou might find waypipe interesting: https://gitlab.freedesktop.org/mstoeckl/waypipe/ https://gitlab.freedesktop.org/mstoeckl/waypipe/
- Teknoman117 5y agoNice to see someone is working on it. Over Christmas 2017 I threw together a simple demo of a "system compositor" (a compositor that runs another wayland compositor) that sent all of the video frames rendered into a hardware video encoder (libva on an Intel GPU) as well as the screen. I was able to record playing games without much CPU overhead at all. I never really got beyond nesting the weston reference compositor because both gnome's wayland compositor and kde's kwin compositor don't support running nested (or at least didn't at the time). Was quite proud of myself for being able to record steam games playing at full screen framerate (Crypt of the Necrodancer and other simple things, I had a i7-5600u in my laptop). I'd have probably turned it into a project like this, but I work for a streaming service professionally and they didn't approve of me working on open source work in that realm :(
- ozarkerD 5y agoDang that sounds really cool. Such a shame you couldn’t keep working on it
- CountSessine 5y agoBut you can do this with XWayland?
- amrcnimgrnt 5y agoI don't know, I didn't know about it :p
- cpach 5y agoHow often does one need to do that though? At ${dayjob} we do it once in a blue moon; not out of sheer necessity but for legacy reasons. Other than that I never do it.
- tablespoon 5y ago>> until you need to forward X, which I sometimes find very useful (on a LAN it's not too bad) > Other than that I never do it. If we got rid of all the features that someone never uses (or even a lot of people never use), we wouldn't have any features anymore.
- handrous 5y agoI think there's a lot of potential for "run an app remotely, draw it locally". A crippled, single-application version of that's an entire, recent, highly-publicized startup, even (the controversial remote-Chrome-as-a-service company that's been posted about quite a bit in the last couple months). I think it's not widely done because Apple and Microsoft haven't put out good tooling for it. If one of them released that kind of thing as a high-quality, polished feature, I bet it'd be big. Also, IMO the default set-up and behavior for it on Linux machines isn't very good (shocker, that). Much better would be persistent remote sessions that let you drop your connection on one machine and re-connect on another, and leave them running indefinitely when not connected. You can get that working with some extra software but it's a bit janky and the UX is nerd-only, like most of this stuff.
- amrcnimgrnt 5y agoWhen you need it you need it, no matter how often. in grad school we used it to share very powerful workstations without getting out of the office. Sometimes I need to use a GUI program on my Desktop while I'm away. It might be something as silly as adjusting a parameter on a simulation run. Sometimes I want to start a program on a remote computer (say VLC on my kids laptop downstairs) Embarrassing admission - sometimes I know how to adjust a setting from the GUI and not from terminal. Maybe I want to mute a computer downstairs (btw, just an example. I'd use alsamixer, if killall weren't an option). Honestly, I'd use it a lot more if it were faster and less laggy. Daily, even.
- fddddd 5y agoit's bad if you think local single user. if you actually use remote X capabilities, wayland is no replacement. also it deals better if you consider apps hostile and want to still run them with some integration with the desktop but still safely isolated. X complements chroot et al much better. which I guess fits this project since this is pretty much Wine but for bsd/osx instead of linux/win
- whywhywhywhy 5y agoThe extreme modular approach, while a strength in some situations is also the reason why you will never be able to build something like MacOS on any of that infrastructure. It will always have little bits of jank, always have inconsistencies and although all it does is draw objects on a screen it just doesn't do it to the level of quality as in tear and flicker free that MacOS can manage.
- AshamedCaptain 5y agoRidiculous, specially considering OS X's display server is actually rooted on Display PostScript of all things.
- agumonkey 5y agois Display Postscript bad ?
- huxley 5y agoDisplay Postscript got dropped after Rhapsody/MacOS X Server 1.x. None of the 10.0+ releases of macOS used DP, instead it used Quartz2D, eventually added OpenGL to the mix, and now uses a combo of Quartz and Metal.
- AshamedCaptain 5y agoAnd you forget the (Quartz/Display) PDF era. The point is, the window server on OS X is about an order of magnitude more historical than that of X, so the argument above is ridiculous.
- konart 5y agoX11 cannot handle two screens with different resolution scaling. For example.
- AshamedCaptain 5y agoOh yes it can; toolkits, on the other hand...
- konart 5y agoNo it can not. I've seen some xrandr magic solutions but they have their own set of issues. So they are not a solution.
- AshamedCaptain 5y agoSo it can :). I know of the issues you mention, but they are toolkit problems, since they also happen on Windows. And OS X.
- cesarvarela 5y agoThis has been a nightmare for me. Windows has lot of trouble with mixed dpi/scaling too. The only OS that has handled this flawlessly has been macOS.
- pjmlp 5y agoIf you want to stay with UNIX 1980's rendering model.
- colinthompson 5y agoOne argument might be that X11 does not support higher than 8bit display tech AFAIK, so if you wanted to do any sort of HDR display (potentially for something like grading or some other gfx development work) you’d be out of luck.
- trasz 5y agoThe problem is, FreeBSD graphic stack is essentially the same as with Linux - same DRM drivers, same Xorg, same toolkits etc - and Wayland is still missing some functionality.
- Rebelgecko 5y agoIs XQuartz substantively different than X11?
- cpach 5y agoIn my experience, it’s very rare having to resort to XQuartz.
- CountSessine 5y agoXQuartz is not the primary MacOS compositor/renderer. It’s analogous to XWayland.
- nmz 5y agoIt's unfortunate but afaik wayland isn't fully working on FBSD, the only other choice is arcan, but nobody will ever switch to that.