Hacker News new | past | comments | ask | show | jobs | submit login

Yes, I agree. X11 is a historic artifact that is supposed to be honored in the museum now.

The C/S architecture of X11 hits the spot when terminals and thin client are the norm, that means 20-30 years ago, but today, we all have dedicated graphics display devices (GPU, monitors) even in our pocket smartphone, and the way X11 works is holding Linux desktop scene back.

But without X11 there you can't show how much improvement Wayland has. We shall not forget X11.




Counterpoint: while I would've jumped ship from X to Wayland or anything else 15 years ago because I kept having to mess with my Xorg.conf every other week to resolve some breakage or tweak anything, I haven't really had any significant issue with Xorg in the past 5 years at the very least. It just works for me.

I think X11 not seeing a lot of development doesn't necessarily mean that it's abandonware, it's probably more that people like me who still use it feel like it's effectively feature-complete.

And I won't take the word from some graphics hardware vendor that it is abandonned. Over the years they've always done the bare minimum to support the Linux desktop so of course they'll take the first opportunity to claim that X is "abandonware" so that they have a plausible excuse for dropping support.


Where is that supposed Wayland progress after a decade? Input is broken and inconsistent, screenshots don't work, remoting is broken, every WM has to be rewritten or abandoned, trivialities like c&p handling are not yet there. Wayland is still in the early phase of catching up to X11, for any progress it will take another decade or maybe even a Wayland replacement. We should face it, Wayland is a dead end.


It’s this kind of endless stream of broken and incompatible technologies that makes me use Linux in server and embedded scenarios only. Every time I’ve had to use desktop Linux it’s just been one problem after another.


Not sure what you're trying to use it for but I've been on Mint for the past 4 years and I've had no problem with it, other than the fact that every time I turn on the computer I have to run a shell script that fixes my resolution. I'm using it for development, I also have a personal Mac and my work PC is Windows and I can say the Linux is miles ahead of both of them. And the Mac and Windows computers have been $1500 and $700 respectively, while the one that runs Mint cost me $300. Linux is #1 for me for development just because of how fast and non intrusive it is, no resources spent on user tracking, no unwanted updates shoved down your throat and so on.


> I've had no problem with it, other than the fact that every time I turn on the computer I have to run a shell script that fixes my resolution

I can’t tell if this post is a parody or not. The fact that it’s 2020 and minor annoyances like this are still fairly common in desktop Linux is telling.

macOS SSHing into a Linux VM (either locally hosted or on the cloud) is the sweet spot for me.


I have far more issues with my OSX laptop than having to run a script once every few months (presumably that script is called automatically)

I've just had another popup from OSX wanting a password for google, sophos pops up saying it's upset a fair bit, on occasion the entire machine just hangs, and wireguard doesn't set my search domain. There are other niggles but those are the ones that have affected me in the last 30 minutes.

On the other hand the biggest hassle from my desktop is ssh connections time out if I suspend the machine overnight.

(I've used ubuntu LTS on the desktop since 2006, before then it was debian testing since 1999)


Following is just an anecdote, I am aware that I may not be a representative sample, so read accordingly.

My current desktop PC has been on Debian (mostly Stable, sometimes Testing) for about fifteen years now, and apart from some minor bug here and there, everything works. Including gaming (Steam, as well as some standalone games), work, software development, multimedia.

From where I'm standing, I find Linux desktop much less bothersome than Windows or Mac these days. Every other week, there is an outcry about some new Bad Thing that Apple or Microsoft has done to their OS and half the tech community is up in arms about how all of their workflows are broken.

Or random Twitch streamers often having to fight against Windows more often than I thought reasonable, in order to get their streaming setup back under control.

Or work colleagues annoyed every other month about some VPN app not playing nice with Windows TCP/IP stack and locking them out of company network until they reboot.

Meanwhile, I'm in my little Linux corner, quietly doing my thing and not really having to fix anything other than mistakes I make, and bugs I cause.


And Debian is ironically hard mode! Packages are so outdated and Debian is so unfriendly and clunky. Like a worse Ubuntu.

IME, Manjaro/Arch unironically provide a better, less buggy experience. Maybe the bugfixes come in faster than the bugs and the devs pay most of their attention to current versions.

And more anecdata: I wouldn't say scripts to fix your resolution are "common" pains on Linux. (Though crashes on Cinnamon are ;p -- stick to KDE or GNOME if you want polish.) The closest I've come to that lately was having to reset the sound daemon due to a Manjaro bug, but that's the only thing in two years I've had to do. Meanwhile, on Windows, the internet dies when I turn my VPN off (the same VPN I use on Linux, at that). And, for that, the scriptable solution's more elusive. "Reinstall and pray" is the only way to go.


> I've been on Mint for the past 4 years and I've had no problem with it, other than the fact that every time I turn on the computer I have to run a shell script that fixes my resolution.

That's funny. I was on Linux Mint (windows PC with dual boot) for a few years, then I bought a Dell XPS13 with Ubuntu installed from the factory. I really wanted to like the XPS13, but both the hardware and the OS were just so poor compared to my Mac (that I used at work) that after a few broken things (power source plug broke, the fan was very noisy when I was coding on an IDE, the trackpad was not nearly as advanced as the Macs', shortcuts broke when I upgraded to Ubuntu 19, then to 20, language switching suddenly started taking 2 seconds for no reason, etc etc etc I hope you get the point) that I decided to finally hit the bank and get a little MacBook Air... what a life changing experience: even though the specs of the MacBook Air are a lot lower than the XPS13, it's just a incredibly superior UX. No fan noise even when using the most out of my IDE... trackpad is awesome... even the keyboard is excellent (after the fiasco of the previous Macs, they did get it right), quite superior to the XPS13. The OS itself is just much prettier in all aspects. I feel a small amount of delay sometimes when putting some pressure on the processor, but that's still not something I would call remotely annoying (as opposed to the incredibly annoying Linux UX).

As much as I don't like using Apple stuff due to price and their closed-garden policies, I just can't pass on the superior UX.

Even though my Windows and Linux machines are still available in my closet, I just never had the desire to touch them again since I got the Mac. Unfortunately!


Yeah, but Wayland won't ever be able to "catch up to X11", because it's broken by design. (See my next comment.)


Waylands design is even more broken and leads to common functionality being duplicated and broken all over the place. Each app has to do input handling on its own? Comeon, a 5yearold could tell you that that is a huge design flaw. There are equally problematic design flaws in X11, just less of them and in different areas. Where Wayland tries to get rendering right and botches all the rest, X11 is weird for rendering, but at least has kind-of-ok answers for remoting, input, clipboard, screenshots, etc.


There is no reason why window managers can't share functionality via libraries. In fact, some do (wlroots).

X11 and its separation of graphic server and window manager encouraged code reuse by placing it in the server, but with Wayland that separation (and the extra context switches) are gone so there is less incentive to share code.


Which would be fine if we had something like COM to enable portable interfacing between libraries and certain level of separation, especially when a library plonks something breaking your runtime by messing with global resources (for example, threads and signals).

But we don't, and the libraries push other issues into your design as you often are forced to follow their specific idiosyncracies.


Not sure what you referring to with regards to screenshots as they're working fine for me. I've been using Wayland for a few months now (wayfire which I switched to from bspwm) and overall it's seemed like a huge improvement in terms of smoothness and I have yet to run into any issues. Input seems to work fine even with things like multitouch gestures. I've never tried remoting into my machine graphically but there seem to be working vnc servers for Wayland.


If those are your best arguments against Wayland you are making a good case for it because:

input is broken and inconsistent – what?

screenshots don't work – they do. I use them all the time.

remoting is broken – I know it's supported but I've never wanted to do it.

every WM has to be rewritten or abandoned – of course, that's by design. Wayland doesn't even have WMs.

c&p handling are not yet there – do you mean copy and paste? That works fine; it also has a clipboard manager protocol.


> screenshots don't work – they do. I use them all the time.

they don't work on wayland, they work on specific compositors that implement an extension.


While technically correct, this misses the point. Very few features are part of the core Wayland protocol; off the top of my bind, there's the input methods, and a few ways to describe shared memory with the compositor and some callbacks to handle device registration. That's it.

For example, top level windows and popups themselves are an extension in Wayland (xdg_shell protocol rather than the defunct wl_shell), and so is the rather basic feature of compositing on the GPU (dma_buf) rather than going through some shared CPU memory.


> Very few features are part of the core Wayland protocol;

but that is the main critique. Most of the things not being part of core means that there is a lot more fragmentation of the linux desktop than there was with X, which is unilaterally a bad thing.


The Wayland base can be implemented in a library, like wlroots, which complete compositors could use.

Currently compositor developers prefer separate implementations and it's really their choice.


the fact that the system provides a choice is the issue that leads to fragmentation (which is the main problem).

Saying "people could just do / not do X" absolutely never ever ever works, not in politics, not in programming, not in "not being an asshole to each other", not in "not using firearms", etc - things have to be enforced & unescapable at some point if we want sanity.


I’m not entirely sure that I understand your point. Here are the facts which I think we can agree on.

* X11 is a protocol

* Wayland is a protocol

* X11 and Wayland are not compatible protocols

* Wayland protocols are all public

* XOrg is an implementation of the compositor of the X11 protocol

* wl_roots is a toolkit used for creating compositors

From this, it follows that:

* Anyone can theoretically write another X11 compositor which implements a subset of the functionality

* Anyone can write a Wayland compositor which implements a subset of the functionality

I really don’t understand where this supposed extra fragmentation is coming from — unless your objection is that we have more than one Wayland compositor? I don’t see that as a particularly bad; in the same way I don’t see having GNOME, i3 and XFCE existing is necessarily problematic.


The wayland protocol (with the very few standard common extensions) does far less than the X11 protocol. There are extensions to Wayland that add missing functionality, but those are compositor-specific. Meaning effectively that each compositor has its own incompatible variant of the Wayland protocol. In that sense, it is not one Wayland protocol but a whole cesspool of them...

It will also get worse, because the architecture of wayland forces an implementer of a compositor (which replaces an X11 window manager) to implement a lot of the display functionality all over again. Wayland itself is just a lib that helps a little with it. In X11 terms, just imagine every window manager developer doing development against their own fork of X.org or a reimplementation of it. Wayland is designed in such a way that it causes incompatibility and fragmentation.


> There are extensions to Wayland that add missing functionality, but those are compositor-specific. Meaning effectively that each compositor has its own incompatible variant of the Wayland protocol.

Well no — this is where I disagree. The extensions are standard and hosted within the repository [1]. A repository may support their own proprietary protocol, after all it’s an XML file, but practically speaking without distributing it through the repository means that you won’t get any clients to actually use it. It is wrong to suggest that there is a huge proliferation of interfaces.

It is true that the core Wayland protocols support less functionality than X11. It’s also true that developers implementing windowing managers need to do more work — however, again I point you towards wl_roots, libinput etc. as examples to show that you don’t need to implement anything from scratch unless you want to.

I don’t believe this particular design doesn’t have trade-offs, but to pretend that it has no benefits is also incorrect. The fact that there are less core protocols means that you can implement a simpler compositor if you should so wish. There are comments in this thread pointing to the usage of Wayland in different devices as an application of this.

[1] https://github.com/wayland-project/wayland-protocols


Are there even any Wayland compositors in actual use that don't support that extension?


if you go to r/unixporn there are a ton of custom X11 WMs with very very small userbase - sometimes a dozen individuals. Screenshotting works with all of them.


WMs are not compositors. Compositors are more like a WM combined with X.org.


yes, that's the issue - writing a different desktop metaphor like the various tiling WMs was something that took as few as a couple hundred lines of C. Now with Wayland the person who wants to write his own desktop environment has to rewrite much more to get to something that doesn't even provide half of what Xorg gives.

Also, compositors are not mandatory anyways on X (I don't use one personnally and prefer it like that) so it's a weird remark to make.


Wayland is a protocol, like X. X.org is an implementation, like a compositor.

Screenshots require a privileged application to have access to the whole screen. The X protocol doesn’t provide that, though some implementation might.


I've been using Wayland for 4 years now. I haven't encountered any of those issues.


> The C/S architecture of X11 hits the spot when terminals and thin client are the norm, that means 20-30 years ago, but today, we all have dedicated graphics display devices (GPU, monitors) even in our pocket smartphone, and the way X11 works is holding Linux desktop scene back.

I used X11 forwarding just yesterday to open & control my linux desktop's music player from my mac - which other 2020 technology allows me to just run

    $ ssh -Y my_desktop
    > my_music_player&
and being able to do that without lag (scrolling through the list views was much more fluid that my experiences with e.g. RDP or VNC even though it's a Qt 5 app, strawberry, which likely does most of the drawing server-side) or blurry jpeg-compressed pixmaps, and with the ability to resize, minimize, etc this individual window without any issue ?


good luck doing that with wayland



What about e.g., being able to run guis like pycharm/clion that run on Linux in corporate environments where you only have direct access to a windows box?


Microsoft's Wayland based Linux GUI support with WSL2 is in development (https://devblogs.microsoft.com/commandline/whats-new-in-the-...) . That'll hopefully be a good solution for that usecase in the not too distant future.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: