9 ms·
I continue to be amazed that X is still around. I can sort of understand why it was done the way it was done back when it was first created (although even then
by commandlinefan 4y ago
I continue to be amazed that X is still around. I can sort of understand why it was done the way it was done back when it was first created (although even then, the concept of running the actual code remotely but the X server locally seems strange). There must be more efficient ways to organize a graphics library now; it seems like X continues to be the Linux standard from inertia.
- lproven 4y ago> X continues to be the Linux standard Part of it is, of course, that it is not just the Linux standard. It's also the FreeBSD, OpenBSD, NetBSD, DragonflyBSD, GNU HURD, Minix 3, Solaris, OpenSolaris/Illumos, AIX, HP/UX, z/OS, and OpenVMS standard. I am sure I missed some currently-maintained OSes in there. X is a core part of the interoperable, cross-platform, open systems world, as it has been for decades. Since most of those will never undertake large new development now, it will probably never be replaced in this, but some of those systems will keep running the world for decades to come, until the collapse of technological civilisation. Personally, since nobody can kill off or totally replace X, my suggestion is that we collectively decide what bits we don't need any more, and cut it down to the core stuff that we need to keep. Byte-swapped clients just were banished. Why not get ruthless and strip out all the ancient stuff that nobody uses in the 21st century, keep just the essentials, and call the result X12? I am no expert in this area but I gather that most of the font server stuff is obsolete now. It is probably safe to assume only 24-bit colour now. In the mid-1990s I ran X11 over DECnet on VAX/VMS. I am sure everything but TCP/IP can go now. I am willing to bet there is lots of other stuff that could be removed, leaving a smaller, more maintainable core that someone somewhere is going to need for years to come.
- 59nadir 4y agoI'll be honest, it's embarrassing the amount of issues my friends who use Wayland have with basic things like sharing screens, global hotkeys for applications (push-to-talk in Discord is somehow an issue) and other things. I chose Xorg for a new install I did coming back to Linux and I'm super happy I did. Everything just works; even the stuff that I was worried wouldn't (differing resolutions on my monitors was something I expected to have to "deal with" somehow and I just never had to). I think Wayland is an admirable project in a lot of ways, but it's practically speaking a bit of a disappointment. In 5-10 years they're likely to have sorted stuff out and it's probably going to be worth switching to by then.
- johnny22 4y agowhat is "standard"? The default way to display/interact with gui applications on many distros is no longer X based.
- badsectoracula 4y agoI don't think that is the case. Pretty much all distros have an X server available. A few distros install some desktop environment out of the box and some of those use a desktop environment that uses a Wayland compositor instead of an X server using the kernel graphics APIs, but even in those environments there is an X server (XWayland) right above the compositor (technically you can have a Wayland setup without XWayland but that'd just make the desktop less useful so i don't think there is any distro doing that by default - though even if there is, i don't think it'd be majority). But TBH i think most distros either use X server based environments or do not provide a default OOTB environment at all.
- johnny22 4y agoi never said they don't have an x server available. They all do. All of the general purpose ones that provide wayland sessions still provide an x11 fallback session where both are possible, and of course for those DE/WM where wayland based solutions don't exist. RHEL has deprecated xorg-server and will provide support for those x11 DE/WM via rootful xwayland sessions.
- hulitu 4y ago> RHEL has deprecated xorg-server and will provide support for those x11 DE/WM via rootful xwayland sessions. RHEL also bring us: systemd, dbus, pulseaudio, GNOME 3 etc. I think is it safe to consider now that everything they do is hostile for linux and stay away as much as possible from their "technology".
- QUrprUd1nCeicw 4y agoCan you please knock off the conspiracy theories? You don't have to bring yourself down to that level. Maybe consider how those things could actually be useful to people who don't use Red Hat?
- throwawaybutwhy 4y agoNot from inertia, but from the overwhelming hubris of those who aimed to supplant it with something new. IPv6 and Wayland have a lot in common.
- eikenberry 4y agoWayland seems more in line with Python3 than IPv6. With Valve now helping with the development and nearly all other issues addressed... seems it will be the default on all major distros within the next few years.
- stonogo 4y agoX runs on so many more platforms than Wayland, even if every single Linux distribution switched tomorrow there would still be good reason to support X. Python3 is strictly an improvement on every platform, I don't think they're analogous because there really is no good reason to keep Python2 around.
- kirbyfan64sos 4y ago> X runs on so many more platforms than Wayland [...] Python3 is strictly an improvement on every platform, I don't think they're analogous because there really is no good reason to keep Python2 around X runs on more platforms than Wayland because...it was ported to them. Just like things use Python 3 because they were ported to it. This is also understating the reach of X I think: it's widely used in the embedded world, is seeing increasing support in BSDs, and has even been used on macOS (https://github.com/owl-compositor/owl https://github.com/owl-compositor/owl). People have even used it to embed an entire compositor inside a GTK app (https://github.com/alexlarsson/wakefield https://github.com/alexlarsson/wakefield). That isn't to say that libwayland has a lot of Linux-isms in it, but afaik they're not really structural as much as there is lack of interest to generalize things more. Heck, the protocol-oriented architecture would even make it easier for anything Linux-esque to be removed in favor of alternative protocols.
- 4y ago
- digitalsankhara 4y agoSeems logical to me when the technology of the era is taken into account. Having the application code running on the most powerful machine i.e the server and then sending the graphics commands to be rendered on your specialist graphics workstation would make sense. I don't know enough about the actual efficiency of the X Window protocol though. But don't we model this type of protocol today with the web?
- kaba0 4y agoWell, the web can shift rendering between server and client side depending on the developers’ needs, but graphics is done mostly on the client side with their hardware. And while things tend to cycle between “centralized” then “edge computing” and back, graphics does make more sense to stuck to the client device, especially with ever bigger screen resolutions/color spaces/refresh rates paired with low-latency requirements.
- digitalsankhara 4y agoYes, of course, high performance graphics is better closer to the display hardware. But I've felt that the terminology of server side rendering w.r.t. the web seems to imply something else in my mind. I agree with your comment but, to me, nothing actually gets rendered on the server - the code TO render in the client gets constructed on the server, e.g. a web page, partial page etc and sent to the client to be interpreted for display in a graphical environment (the browser). Splitting hairs, technically a bitmap graphic could be said to be rendered remotely and it's display is simply a transfer function - sorry, I realise I'm been overly pedantic.
- badsectoracula 4y ago> although even then, the concept of running the actual code remotely but the X server locally seems strange I don't think it is strange when you consider that terminals (including some with graphical capabilities) where common back in the day, with multiple terminals connecting to a single beefy computer. In fact there were even dedicated X terminals (basically cheap computers running an X server) in the early 90s: https://en.wikipedia.org/wiki/X_terminal https://en.wikipedia.org/wiki/X_terminal
- JackFr 4y agoI had a Tektronix dumb X terminal die with literal black smoke pouring out the back of it at work circa 1992. It turned out great cause I got a Sun as a replacement.
- yamtaddle 4y agoI dunno. I only recently tried an X-Client with persistent sessions (that is, you can disconnect then reconnect later and all your stuff will still be running, right where you left off) and if it didn't feel like a kinda-janky barely-used-and-supported afterthought of a project, it'd have felt like the most-correct way to work in this, the year 2023 (well, I first tried it in like 2020, I guess). ... and I'm a happy Mac user, haven't been deep in Linux-on-the-Desktop land in over a decade, and still felt that way.
- vermaden 4y agoAmazed? I am amazed that people try to force limited and unfinished Wayland instead of X11. I recently had RHEL on ThinkPad T14 at work - which by default uses Wayland - yet even employer by default switches settings to X11 because EVERYTHING works there as desired - including screen sharing and/or recording. ... and for my personal stuff? I have ZERO issues with X11 on FreeBSD - why would I switch to Wayland if everything works as desired on X11? FreeBSD of course supports Wayland and you can use it there if you wish - but I just do not see the point of it. I do not have ANY screen flickering or other issues on X11. Not to mention that A LOT of stuff is X11 only and not ported (and never will be) to Wayland.
- spijdar 4y agoWayland is a complicated and sore topic for a lot of people, but I think I've gained some perspective over time. From a historical perspective, the "why Wayland?" question is incredibly obvious IMO. The old Linux graphics stack consisted of the dumb Linux framebuffer and fbcon, and the separate Xorg stack with all its DDX/UMS drivers that required root-level permissions, and only provided a graphics API for ... Xorg. Your options were either Xorg, or the framebuffer, which IIRC didn't always support all of the available display modes. Wayland was part of a wider push to rewrite the Linux graphics stack, with the new stack of KMS/DRM/DRI3/Mesa being a huge improvement over the 2000s Linux GUI stack. This came at the cost of old UMS and DRI drivers, making e.g. PowerPC Mac GPUs largely useless now (very unstable and incapable of suspend-to-RAM), while unifying mode-setting between the kernel and userland (no more praying the video card doesn't crash when ctrl-alt-f2'ing), also allowing for an arbitrary number of shared video buffers to be created (including by non GLX video applications) which makes compositors work in a not-hacked-together sense, but also allows for e.g. hardware video decoders to work in a not-hacky way. Coupled with the addition of evdev to replace the Xorg DDX stuff like all the custom peripheral drivers, and you finally had a kernel-level API for accessing your video and input hardware. These were all prerequisites for the idea of "Wayland", decoupling the video and input layers from the display server and creating a low level API for window server things, so that you can have both small window servers (e.g. wlroots-based compositors) as well as "thick" environments (Mutter/KWin-based desktops). Part of what makes this confusing is a lot of these benefits trickled down to Xorg itself. Nowadays evdev (and libinput) have replaced the old DDXs on Xorg, and I think most distros have switched to using xf86-video-modesetting, which could be thought of as "Wayland-style rendering on Xorg", in the sense it uses pure DRM and Mesa to render instead of GPU-specific DDX drivers. So Xorg has gotten a lot of the benefits of Wayland's development "for free" anyway. This is intentional, as you mention, a lot of things will never be ported to Wayland. Wayland is not a replacement for X11, but an API for implementing the display server at a lower level than X11 allowed, while allowing us to implement full X11 compatibility "for free", by embedding Xorg in the form of Xwayland. I think this makes a ton of sense for the majority of desktop-environment level compositors like Mutter (GNOME) and KWin (Plasma), which were already massive and implemented so much of their own functionality outside of Xorg, that it made sense to just let them do their own compositing. Same with GTK and Qt, which were already doing "their own rendering" outside of X. Didn't mean for this to become an apologetic rant for Wayland, but as a "wayland skeptic" myself I feel like most anti-wayland arguments miss the forest for the trees (screen sharing not working). As an olive branch, though, I'll also add I don't think the wayland version of the big compositors like Mutter or KWin actually do much for end users, and it's pretty shameful how they've been launched with so many bugs, with no compelling user story beyond "better scaling" and "flicker".
- silon42 4y agosystem UI is not a simple graphics library... that's a huge oversimplification...
- Koshkin 4y ago> X server locally seems strange Why does it seem strange? It's the same as what you do when you run, say, a web browser locally. (The only difference is, we do not call the browser "web server.")
- bmacho 4y agoIsn't the concept of remotely running graphic applications more important now than ever before? Everything runs through WSL, and different containers and virtual machines and emulators now.
- erik_seaberg 4y agoIn this era I have access to a lot of computers. I don’t want to run everything on the one under my desk that happens to have a GPU. It’s kind of crazy that popular frameworks are getting worse at remote rendering, and it’s one reason backend services are switching to Javascript and Wasm frontends.
- amelius 4y ago> There must be more efficient ways to organize a graphics library now You can perhaps write a more efficient graphics library now, but what if in a few decades the servers are way more powerful again compared to the clients/terminals?
- steponlego 4y agoIs this really necessary? Wayland blows ass and mostly functions as a launcher for x.org processes. Nobody needs, wants or asked for Wayland. It's nobody's fault but the assholes at FreeDesktop that x.org isn't accepting patches. Shit they THROW OUT good patches like xgl. It's obvious that the plot to kill x.org is being advanced not just by insider "maintainers" who work for OTHER COMPANIES while doing NOTHING when it comes to maintenance of x.org, they're actively trying to kill it off with the help of people like you. Wayland disgusts me, and I go to great lengths to avoid trash that MS and Amazon want to shove up my ass or down my gullet. You, your whole operation, it's as insufferable as the Rust "advocacy" that goes way beyond shilling at this point. It's not cute, fully, or clever. You're not helping.
- QUrprUd1nCeicw 4y agoCan you please knock off the conspiracy theories and baseless personal attacks? Why are you doing this? You don't have to bring yourself down to that level.
- steponlego 4y agoFight fire with fire. I won’t tolerate any more Wayland shilling. Anywhere.
- QUrprUd1nCeicw 4y agoFight who's fire? The Wayland developers are former X11 developers, so you're accusing them of "shilling" against their own project?
- eternityforest 4y agoRust has a very real purpose. Make certain common classes of bug stop. I don't see any real alternatives to it that go as far as Rust does for safety. I'm not a Wayland fan due to the lack of keylogging (Needed for global shortcuts and easily writing daemons that use keyboard input) and screenshotting as standard features, but it's not like it's being forced on people, the community as a whole is demanding stronger and stronger security guarantees, "All your stuff has access to all your other stuff" doesn't seem to be good enough for many people.