7 ms·
Some might not see how much work it was to maintain xorg server
- gumballindie 3y agoWhat lessons have been learned and what has changed that give confidence wayland wont end up in a similar state?
- dralley 3y agoTo start with, Wayland isn't a server, it's a protocol.
- yobert 3y agoX11 is a protocol too :p
- yjftsjthsd-h 3y agoThat just pushes the problem to the compositors
- hsbauauvhabzb 3y agoDoes the multiple compositor situation result in duplicated effort and/or constraints for the end user such as being unable to run Konsole on Gnome3 etc?
- yjftsjthsd-h 3y agoMy understanding is that simple applications like Konsole should be fine because they only use widely-implemented protocols. Where it goes off the rails is when you want to do exotic things like take a screenshot, and GNOME, KDE, and wlroots have each implemented a different protocol to do so.
- t0b1 3y ago> exotic things like take a screenshot I'm not sure but is this meant ironically? Because taking a screenshot is a thing people do very often. Capturing your screen is, too. Even by third-party programs. And yet they never put it in the protocol but just said to go to dbus. > GNOME, KDE, and wlroots have each implemented a different protocol Is that true? My understanding was that GNOME never put forth a protocol but always did their dbus thing. I know that wlroots proposed a bunch of protocol extensions but those never went anywhere since, well, GNOME didn't want to implement them[1]. Nowadays I think every compositor(?) just implements the xdg-portal stuff. [1]: https://gitlab.freedesktop.org/wayland/wayland/-/issues/32#note_367228 https://gitlab.freedesktop.org/wayland/wayland/-/issues/32#n...
- eadmund 3y agoI think to the Wayland folks, anything other than using Windows is an exotic use case. They’re not entirely wrong, but if we wanted to use Windows, we … would be using Windows. The great thing about Linux was that we could do more than Windows or macOS permitted.
- jdiff 3y agoWeird take. Windows and macOS both let you do things Wayland doesn't currently have widely adopted protocols for. Only thing Xorg can do that any of the others can't is let a client application manage windows, and it's only macOS that really doesn't like that.
- yjftsjthsd-h 3y ago> I'm not sure but is this meant ironically? Because taking a screenshot is a thing people do very often. Yes, I was intending to mock Wayland for failing, after 15 years of development, to have a single way of taking screenshots that works in all environments. I understand wanting to make things modular and flexible and make as much optional as possible[0], and I understand wanting to ship the core protocol first and then follow up with drafting other things and building consensus, but the fact that this thing was allowed to hit end-users with screenshots this broken - and that it still hasn't been fixed, and AIUI never will be fixed because GNOME seems to think that the situation doesn't need fixing - is a fairly damning incitement of Wayland as a whole. > Is that true? My understanding was that GNOME never put forth a protocol but always did their dbus thing. I know that wlroots proposed a bunch of protocol extensions but those never went anywhere since, well, GNOME didn't want to implement them[1]. Nowadays I think every compositor(?) just implements the xdg-portal stuff. I think it's true, though it's honestly hard to tell. Most of the screenshot tools I could find are using the wlroots protocol, KDE's official tool notes, > Spectacle is a screenshot taking utility for the KDE desktop. Spectacle can also be used in non-KDE X11 desktop environments. which doesn't really explicitly say much, and in fact the only tool I could find that claimed to be able to support everything was ksnip, which seems to work fine with wlroots but beyond that https://github.com/ksnip/ksnip#known-issues https://github.com/ksnip/ksnip#known-issues outlines the situation well enough; KDE is at least only temporarily broken, but GNOME isn't going to improve because GNOME did that on purpose. Now, that readme says you can use xdg-desktop-portal, but I have a GNOME+Wayland machine on hand, and I couldn't get it to actually work. I think what's supposed to happen is that every time I do a screenshot it prompts for permission, which I wanted to verify so I could complain that that was totally unreasonable, but what actually happens is that it just fails, which is... not better. Oh, and while searching for solutions to that I found flameshot, but that just refuses to even run. So... maybe someday the portal solution will work; in the meantime, I feel comfortable describing the situation as Wayland not having a uniform working way of taking screenshots. [0] In particular, so we can avoid the situation from X11 where a load of drawing primitives are baked in that nobody has any use for anymore.
- csande17 3y agoYou definitely get discrepancies in hardware support. Historically, different Wayland desktops had wildly differing support for Nvidia cards, for example, from "works perfectly" to "deliberately rejects them because the maintainer is angry about their lack of commitment to Wayland".
- zlg_codes 3y agoWhat semantics do you think you're conveying? If you implement the protocol, you have a server. A protocol without a server implementation is useless.
- bitwize 3y agoSo is X11. Xorg is a server.
- MadnessASAP 3y agoThere's been volumes written about the problems with X and what would've been done differently. Of course given enough time I'm sure Wayland will end up in the same place, it does have the advantage that it was designed to be extended upon and for implementations to be built from interoperating components (vs the monolithic Xorg). The big difference really comes down too that X was designed to connect applications, input devices, and displays (including printers!!) across a network in a time when the concept of a untrusted network didn't really exist. Neither was there a concept of a GPU as they exist now. Conversely Wayland was designed to connect those items (sans printers) within a computer and to default to providing the minimum amount of trust to those things, particularly applications.
- yjftsjthsd-h 3y agoI don't think the network thing actually matters; modern Xorg doesn't expose anything to the network by default, and IIRC will actually fight you about trying to do so to the extent that when I wanted to use it that way I ended up using socat to bridge TCP to the local socket. The general comment about trust and security is true, though; ex. the usual complaints about any X11 application being able to keylog any other (which XACE exists to counter, but since nobody seems to have done so I'm assuming it had problems!?)).
- cptskippy 3y ago> I don't think the network thing actually matters; modern Xorg doesn't expose anything to the network by default... It matters from the design and architecture perspective. It's foundational underpinnings we're constructed to support remote terminals. That really hasn't been a usecase for a very long time but the core architecture was built with that in mind and the monolithic nature of the code makes it very hard to change that.
- roenxi 3y agoThe issues that got us to where we are with X are twofold and unlikely to repeat: 1) The nature of the hardware changed completely. The core X protocol [0] was designed around 2D shapes and is prepared to do things like FillPoly or PutImage. This means it was largely caught unaware by the move to shader-based graphics and the absurd amount of processing power we have todaty in graphics cards. Wayland from what I understand just manages buffers which is better design. Things like OpenGL were tacked on to X as an extension, and now pretty much everything wants to be handled through OpenGal, but the X design wasn't prepared for that. 2) That would have been enough to kill X from what I've seen, but ... the major vendors had horrible binary drivers that only supported X, so every fork or new project died. The big change was AMD buying ATI and taking the drivers open source from 2007, since then there have been the sound of plate tectonics as the Linux graphic stack has reformed because now it is possible to develop deep in the graphics stack independently of AMD/Nvidia support. Note that if Wayland needed to work well on Nvidia it would have likely died a decade ago. So the positive things are Wayland probably won't be hit by the same level of hardware change, and if it is it is much easier to replace. Really what has changed is that the majority of vendors have open source drivers, and Nvidia is eventually going to fold and join the club. Not that it matters, anyone who cares in the Linux ecosystem buys AMD - this deep learning thing has been an unfortunate stumbling block but that looks like it will be transient to me. [0] https://x.org/releases/X11R7.7/doc/xproto/x11protocol.html https://x.org/releases/X11R7.7/doc/xproto/x11protocol.html
- eadmund 3y agoThe cascade of attention-deficit teenagers pinky-promise that it won’t. Meanwhile, I understand that Wayland in 2023 still doesn’t support what X11 supported in 2000. If true, then it’s simply not fit for purpose.
- 1oooqooq 3y ago> confidence wayland wont end up in a similar state? wayland have the issues of today. So they are not the same as the issues of yesterday like x11. guaranteed a different state! In ten years you will probably be crying that opening a window on wayland requires you to enter a hostname which is long gone into your etc hosts file, pointing to a local server, so it can download the window theme on the fly, as root, or something. You know, today's problems.
- bsder 3y agoWayland is already there. However, the fundamental problem is that Linux is the only OS with more than one GUI toolkit. This means that you have to insert extra layers of abstractions that other OSes don't deal with. Every other OS has a native toolkit which is integrated with native drivers. The GUI and compositor and OS go together. And even those have lots of issues. When you try to sidestep that integration, you get lots of jank and problems (see: Flutter, for example). Wayland and Co. are wrangling a bear that other companies struggle with with way less resource and way less control over the interlocking layers.
- gaganyaan 3y agoWhat counts as a GUI toolkit? Microsoft has like a half dozen dead or deprecated attempts at GUI frameworks, unless you're using a different definition.
- simoncion 3y ago> Microsoft has like a half dozen dead or deprecated attempts at GUI frameworks... In addition to the major ones that are supported in X11 / Wayland!
- bsder 3y agoPick one. And note that all of those GUI toolkits still work on Windows 11, AFAICT. Touch screens work even on old VB6 programs, for example. Try that on Linux and watch the tears flow. This is my point. Everything is locked together and tested together. The OS, the toolkit, the input mechanism, the video driver, etc. all get developed together and don't need 4 layers of ill-defined abstraction between them.
- anthk 3y agoXenocara works right under OpenBSD and HyperBola GNU/Linux. It works on legacy devices and newer ones. Security? Use separate accounts for work and entertainment. Don't run untrusted crap. If any, use an UXterm with the keyboard locking option in the menus and do the sensitive stuff there.
- WesolyKubeczek 3y ago> Use separate accounts for work and entertainment. Doesn't quite save you if one of your work programs secretly siphons all your clipboard contents away to a third party. This is why we can't have nice things.
- foul 3y agoYou're thinking too much in the realm of user-friendly. Of course on openBSD you would enclose work programs in a xephyr and an ad hoc rdomain, or connect a xephyr to a vmm's Xenocara with its own tap device. Xephyrs don't share clipboard per default.
- anthk 3y agoAlso XTerm (UXTerm too) has a flag to lock the keyboard and mouse input to that XTerm and nothing can read or snoop that.
- yjftsjthsd-h 3y agoI guess I'll repeat something I kind of wondered in the other thread - if xwayland works, including in rootful mode, is it practical to just polish it a tiny bit and ship a... xorg-server-shim package or however is easiest, that acts as a drop-in replacement and just runs on top of Wayland? I've been playing with this on my local machine, and running cage[0] with xwayland seems to mostly[1] just work - you run cage, you run an X11 window manager on it using xwayland, and then you ignore the underlying Wayland stuff and run X11 programs, including things like xdotool or such that don't really work in a mixed environment. The advantage is that you can have it both ways - users who are ill served by Wayland can keep running an effectively pure X11 environment, but ex. graphics drivers only need to support Wayland. EDIT: Oh hey, it looks like Puppy Linux actually did exactly this, including using cage: https://github.com/puppylinux-woof-CE/woof-CE/pull/2265 https://github.com/puppylinux-woof-CE/woof-CE/pull/2265 [0] https://www.hjdskes.nl/projects/cage/ https://www.hjdskes.nl/projects/cage/ [1] Not 100% - there's some weirdness with keyboard configuration, and of all things xscreensaver-settings wouldn't run, even though everything else I ran worked just fine.
- deleted 3y ago[deleted]
- WesolyKubeczek 3y agoI think the reason for rootful XWayland to exist, and the fact that it's like 100% made by Red Hat, hints that this is why they are doing it. But I would like to run native Wayland clients too, and have them behave in such an environment. Can a compositor be made in such a fashion that it would cooperate with XWayland and manage native clients?
- yjftsjthsd-h 3y ago> I think the reason for rootful XWayland to exist, and the fact that it's like 100% made by Red Hat, hints that this is why they are doing it. I had assumed the same, but then they announced that they were discontinuing xorg-server without pointing to rootful xwayland, so I'm not sure how to read the situation. > But I would like to run native Wayland clients too, and have them behave in such an environment. Can a compositor be made in such a fashion that it would cooperate with XWayland and manage native clients? You can have a mix with non-rootful xwayland on a wayland compositor; that's the easy path, really. I don't know if there's a way to have a X11 window manager control Wayland windows in that kind of system, though.
- wharvle 3y agoJust 9 years to go before Wayland’s replacement protocol is revealed, going by the X11 timeline. Or, in the next year or two, going by the Xfree86/Xorg timeline. It’ll be interesting to see whether the (inevitable) Wayland or X11 compatibility layer is the more-heavily-used one in that future system.
- deleted 3y ago[deleted]
- MadnessASAP 3y agoA decade before people start looking for a replacement is pretty good numbers. Especially if you consider that's when the search for replacement starts. Xorg continued to see significant development for about a decade alongside Wayland. Of course W was only a couple years old before being replaced by X. So maybe we'll see Waylands replacement much sooner. I wonder if people were debating W vs X the way we debate X vs Wayland?
- bitwize 3y agoX was pretty much W, but async. Wayland is a fundamental rethink of the entire graphics stack -- much needed for modern systems.
- deleted 3y ago[deleted]
- dang 3y agoRecent and related: Red Hat Enterprise Linux 10 Plans for Wayland and Xorg Server - https://news.ycombinator.com/item?id=38440607 https://news.ycombinator.com/item?id=38440607 - Nov 2023 (160 comments)
- zelon88 3y agoWhenever I think of X or Wayland it always makes me think of what the Windows code must be like. What secret monolithic struggles have the Windows devs secretly been fighting with for the past 30 years that nobody will ever appreciate?
- deleted 3y ago[deleted]
- idonotknowwhy 3y agoYou can get some insights from the guy who made the task manager via his youtube channel
- xref 3y agolol I guess it’s left as an exercise for the reader to test their Google Fu?
- estebank 3y agohttps://devblogs.microsoft.com/oldnewthing/ https://devblogs.microsoft.com/oldnewthing/ Enjoy
- agumonkey 3y agoI think it was raymond chen's blog that made it clear a lot of work was done by MS trying to survive the market with competition, legacy, partnership constraints .. a lot that was never mentioned because it wasn't a business argument and was just expected to be done behind curtains.
- ndiddy 3y agoI don't really understand how one engineer working full-time on Xorg, two weeks of QA, two months for a feature, etc. should be even remotely considered a burden to a company as large as Red Hat.
- jtgeibel 3y agoWell RH is already locked into this level of maintenance support for existing RHEL releases. By dropping Xorg support now, they can fully drop this effort in a decade plus. If they keep Xorg support in new releases, it keeps pushing that horizon out further and further.
- baz00 3y ago[flagged]
- dralley 3y ago>two weeks of QA, What he said was, a couple of weeks of QA, per stack, per hardware enablement. Given that new hardware is constantly being released every couple of months, that adds up to a lot of QA. And as they said in a followup, that's "a couple of weeks" for a team of people and not just one or two. So yeah, "two (additional) weeks of QA" wouldn't be that bad, but really it's more like "two (additional) weeks of QA, multiple times a year, for a team of multiple people". And that's not insubstantial given the meager revenue opportunities in the desktop linux market.
- jancsika 3y ago> Customer with expectations that are difficult to match. e.g., using xorg modesetting you had tearing, which is not acceptable for e.g. digital signage. Intel-drv driver had tearfree, but then new hw didn't work. Solving took more than 2 months. This is standarized in Wayland. I'd like to know more about this one. I mean, suppose the digital signage hardware/software supported OpenGL GPU-accelerated rendering. In that case how would Xorg tearing/tearfree matter? The software is just rendering using OpenGL so Xorg vs. Wayland shouldn't make any difference. IIRC some game dev mentioned this once, how their game is just using a toolkit doing full-screen accelerated rendering-- the underlying display server didn't really make a difference. If I'm right, then the signage hardware must have been using non-accelerated path under Xorg. That leaves me wondering: * is most modern digital signage running without any GPU acceleration? * does software rendering work well enough under Wayland to deliver smooth animation for professional use cases on underpowered hardware? I'm just having trouble thinking of digital signage constraints that need high-enough framerate that Xorg was a problem, but also low enough that software rendering was feasible.
- wtallis 3y agoI expect a lot of digital signage is running through a browser engine these days, like everything else. Who would be targeting raw OpenGL surfaces these days?
- jdiff 3y agoEven if you render with whatever you please, software, OpenGL, Vulkan, you have to communicate with Xorg to slap it on the screen, and that'll result in tearing. On my Nvidia machine, the only escape from tearing is manually enabling the full composition pipeline in Nvidia's settings application. Nothing else, even Vsync settings, can save me from it.
- SuperNinKenDo 3y agoCould you point me in the direction of info about this? I have horrible tearing, and even enabling picom hasn't helped.
- andrewstuart 3y agoWhat does this mean? Is this saying xorg server is dead? I don't understand - there must be virtually infinite (relatively speaking) software built around xorg. Is there an official announcement of the death of xorg or something?
- chias 3y agoPresumably it refers to the removal of xorg from redhat's repositories.
- dralley 3y agoIn RHEL 10, a year and a half from now.
- wmf 3y agoYes, Xorg died years ago. It is barely maintained. https://www.theregister.com/2020/10/30/x_server_lead_maintainer_declares/ https://www.theregister.com/2020/10/30/x_server_lead_maintai...
- tapoxi 3y agoRed Hat maintains Xorg, and deprecated it back in RHEL 8. Someone can of course take up the mantle, but no one is interested and most of the Xorg team has moved on to Wayland.
- simoncion 3y ago> Is this saying xorg server is dead? That's what the sponsor of Wayland development is saying, yes. > Is there an official announcement of the death of xorg or something? No, because after fifteen fucking years of development, it still isn't good enough to work everywhere that xorg does. (Over those years it has also lost many of the much-touted "xorg server developers" that abandoned working on xorg to start on another project that was less awful to work on. Well... guess what Wayland turned into? XD xorg works, and -at least for me- most of the things that people seem to say doesn't work on it actually do [0]. Contrary to popular belief, you don't need a billion-dollar company to fund development on a piece of software that runs your application software just fine. And this isn't the fucking webdev world, so you don't need a team of twenty just to keep up with unending churn-for-churn's sake. [0] <https://news.ycombinator.com/item?id=38455077 https://news.ycombinator.com/item?id=38455077>
- Uptrenda 3y agoYeah, this makes sense to me. One problem that open source has is like a million fractured efforts for the same wheel. It can lead to a million half-baked solutions instead of maybe just a few solid options. I know it has pros, too, but in many ways it would be easier if there were less projects and more people contributing to main projects.
- hulitu 3y ago>One thing I saw in comments about the removal of xorg server is that some might not see how much work is/was to maintain xorg server. I understand is hard to see from outside, but maintaining xorg server with the standards we have in RHEL is not a small beast So you choose a big beast to maintain because "it's cool". And, btw, which standards do you have in RHEL ? (Some years ago fvwm was removed. The feeling at that time it was that fvwm ate to few memory, that's why it was removed)
- device_id 3y agoHow nice it would be to have a community run OS again.
- zlg_codes 3y agoI'm afraid it's too easy to characterize things as too hard and expect people to believe it. Protocols can be versioned, there's no reason Xorg can't become more of a compositor itself. I'd like to see someone describe ame compare building simple and medium complexity GUIs in both Xorg and Wayland. Maybe I'll do it myself if there's some interest or ideas for test targets.
- BadBadJellyBean 3y agoHow is rewriting Xorg to be very different from what it is now much different from writing Wayland from scratch? If you make it more like wayland it will break probably as much stuff. And rewriting can be harder than starting from a blank slate. Creating Wayland made it possible to do some very radical changes. When rewriting software you are much more careful to not break anything. Apart from that the discussion is pretty much settled. Most distros and major desktop environments have commited to wayland. You'd have to have a very compelling argument to move things back to Xorg.
- zlg_codes 3y agoWho decided the discussion was settled? That's needlessly dismissive. Just because Wayland devs used to work on Xorg and gave up? That's their decision, it doesn't dictate mine. Most things can be improved and adapted, that is especially true of software. I'm not convinced by what others are doing.