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

I am not necessarily against Wayland or new things in general.

But it bothers me when no clear upgrade path is defined ("drop your stuff" is not acceptable) and a half-hassed incomplete solution is proposed instead, and backwards compatibility is pretty much disregarded.

For what concerns my personal computing, I'll stay on Xorg until XFCE supports Wayland. Then I'll update.




I keep trying to use Wayland, but it never fully works. Everyone keeps saying how well the highdpi stuff works, but then it really only works for a subset of things. For the rest it's actually worse than Xorg.

Multiscreen is Xorg is kinda mushy so I thought maybe Wayland fixes it, but no it doesn't.

Wayland is now 12 years old and everything is still half-baked.

It quotes an intel developer saying they don't want to do any more stuff on Xorg. But the reality is that as much as I admire intels open source contributions. I don't remember a time where all the features in the Intel driver actually fully worked. But sure, maybe it's an Xorg issue, or they don't know how to do release management.

Either way, Wayland doesn't seem to solve the problems it promised to fix.


Having used Intel open source drivers for 12 years, I've never lost the opinion I gained back with X3100 gpu that Intel is the darling because technically open sourcing the driver papered over the many, many faults of their code.

Whenever I had a chance to run on nvidia binary drivers, the only things I occasionally missed were some new features, or having to wait a bit longer to update the kernel. Stability was better, drivers more performant, and I don't remember daily fighting with memory leaks.

And X.Org's driver architecture could be replaced completely (in fact, it could be made to run on the same stack as Wayland) - it wouldn't be the first compositing Xserver around, and could use methods that would deal with noticeable to many lag involved in compositor-based UI.


> Whenever I had a chance to run on nvidia binary drivers, the only things I occasionally missed were some new features, or having to wait a bit longer to update the kernel. Stability was better, drivers more performant, and I don't remember daily fighting with memory leaks.

I had a Nvidia Riva TNT2 and later on an Nvidia GeForce. I ran Linux on it.

I had stability issues with the driver, but I solved it the following way: ran one X server with a DE, and another X server with Nvidia's proprietary driver (mostly for games). This way, if I had to kill the X server using Nvidia's driver I didn't lose any work.

If that wasn't enough, all the bloody time there were massive security problems found in Nvidia's proprietary driver. I don't know if that is still the case, cause I switched away to ATi in the 00s, and Intel graphics cards + ThinkPad as laptop. ATi/AMD has come a long way ever since. Their FOSS drivers are stable, and they deliver (see various Phoronix benchmarks).


> And X.Org's driver architecture could be replaced completely (in fact, it could be made to run on the same stack as Wayland)

Many distros do this already. Both for graphics drivers (xf86-video-modesetting) and input drivers (xorg-input-libinput)


There's more to it - X.Org is based on lowest-common-denominator code from early days of X11, and the internal driver system despite upgrades is a bit lacking.

There's glamor, but AFAIK it's not as tested as it should, and is still shoehorned into old model.

An example of not following the old model is Xsgi, which was (hw) compositing and quite ingenious in many ways.


> I keep trying to use Wayland, but it never fully works. Everyone keeps saying how well the highdpi stuff works

I use Wayland daily and have for a few years. It’s clearly gotten better, and I rarely encounter problems. I do have my load of applications still running in XWayland though.

But yes. Support for varying DPI in my multi-monitor setup is handled much better on Wayland than on X11. I would say much better than on Windows too.


How's the forced v-sync? I assume all games run XWayland, which makes it a non-issue. (Otherwise, it'd presumably be an FPS hit in a world where adaptive sync [like G-SYNC but not really FreeSync since the latter doesn't really work in Linux lol] makes tearing a thing of the past and obviates v-sync entirely.)

Also, can you use xdotool for key input redirection or screen capture programs and stuff yet?


> How's the forced v-sync?

Not sure what you're talking about. Haven't noticed any adverse negative effects.

It's super nice to have a desktop without any tearing though.

> I assume all games run XWayland, which makes it a non-issue.

I don't do PC-gaming.

> Also, can you use xdotool for key input redirection

Not sure what xdotool is.

I'm using sway[1] with libinput. I haven't had a need to use external tools beyond what they support natively.

> or screen capture programs and stuff yet?

I have no issues to do screenshots ad-hoc (in fact, I have keybindings to do this, and throw it right in the wayland clipboard).

I do notice that most Xwayland-based programs which tries to do screen-sharing fails spectacularly though.

[1] https://github.com/swaywm/sway


I use sway with no issues and a much snappier Desktop with no screen tearing.


Wayland is a protocol. It has nothing to do with multi screen support. You're talking about the compositor you used. The one I use handles multi-screen setups quite well.


I never got to fully understand Wayland's model, but if this means that something that previously was handled by the display server for everybody, and now every single desktop environment (or at least something like wlroots) has to solve it over and over again... how isn't this a step back?


Cutting out bloat, just like you loose weight by cutting of your head.


Wayland is like X11. Xorg implements the X11 protocol. There are other X11 server implementations — XWin32 is one example on Windows.

Nothing has changed with Wayland except we have a new thing and lots of groups writing compositors. And this is great — Mutter, Kwin, wlroots, Mir — and they will all speak a common protocol for putting stuff on the screen and handing input events. And projects with similar use-cases “desktops” are standardizing on common dbus interfaces for non-display stuff.

This is genuinely so much better than the Xorg monoculture. Wayland’s design has made it possible for lots of different groups to implement display servers and have interoperability because what we had before was “X11 actually means do what Xorg does.”

There’s lots of in-fighting about the scope of Wayland and people that want to make a protocol for putting pixels on the screen also handle “desktop stuff” like audio, screenshots, screen recording, keybindings, input automation, authentication. I think this is misguided because it would effectively turn Wayland into a generic message bus between “apps with windows” and the display server when we already have a generic message bus for every application — dbus.

Right now we have things like:

org.gnome.Shell.Screenshot | org.kde.kwin.Screenshot

org.gnome.Shell.Screencast | org.kde.kwin.Screencast

which after shaking out will be promoted to org.freedesktop.* after standardization. Despite the fact that notifications have been "DE specific" in the same way for years and years nobody seems to complain about org.freedesktop.Notifications.


I agree. On one hand I can understand the need to shrink code, focus on the core functionality etc..., but on the other hand X has e.g. "xset" and "xbindkeys" which can be used for all X-desktops (or "Window Managers" or however they're called). With wayland each single desktop environment has to re-implement all that functionality => looks like wasted effort to me - the modularity (from the point of view of functionality) of X is lost in Wayland.


One of the innovations since the 1980s when X was designed are shared libraries, so you can have libweston and wlroots now https://github.com/swaywm/wlroots


X11 used shared libraries since its beginning in the 1980s.


SunOS paper about shared libraries, 1987

http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.37.9...

SunOS 4.0 lists "dynamic linking" as new feature, released 1988

https://en.wikipedia.org/wiki/SunOS

AT&T System V Release 3 got shared libraries in 1986

https://en.wikipedia.org/wiki/System_V_Release_4#SVR3

While the first X11 release was in 1987, the fundamental architecture was designed already since 1984, and this architecture includes a heavyweight server that implements things that in most other window systems are done client-side.


There’s nothing from someone implementing a single extensible compositor that everyone standardizes to build their DE. It’s the same as Xorg and X11.

Right now there’s a bunch of competing compositors with different use-cases but nothing says it has to be true forever.


> Wayland is a protocol.

A protocol definition could cover multi screen support, requiring implementors to do something sane. Of course one of the reasons that Wayland exists was to cut down the bloat X had accumulated over the years. Given that it is rather surprising that the Wayland spec isn't just an empty page.


> Wayland is a protocol. It has nothing to do with multi screen support. You're talking about the compositor you used. The one I use handles multi-screen setups quite well.

Which compositor do you use?


I use Wayfire [0], a customizable compositor based on wlroots, the same base as sway. It's quite involved and not absolutely perfect yet, but it has some features I haven't yet seen on other DEs like being able to swipe horizontally on your touchpad to smoothly switch workspaces (following your fingers) and the satisfaction of having it properly configured is pretty high.

There have been 3 issues I've had regarding it, 2 I'd call minor:

- I haven't found a way to rearrange external displays, though it is theoretically supported

- After a bug in my TV switching to the lowest possible resolution through switching the input in home assistant it would not work with 4K again until after a complete reboot (so it may not even be a wlroots issue)

- XWayland apps are unresponsive in the upper half of the second screen (4K at 1x scaling)

Using mostly native Wayland apps neither of these have been deal breakers for me. Something under-discussed is that virtual desktops are per-screen, which I find quite cool.

So that's my adventure with Wayfire, but I would assume that Gnome and KDE have perfected multi-screen usage on and off of Wayland by now.

[0]: https://wayfire.org/


>XWayland apps are unresponsive in the upper half of the second screen (4K at 1x scaling)

Seems to be a bit of a dealbreaker for people who want to use 100 percent of their screen instead of only 75 percent.


Wayfire's developer here, have you looked into output configuration on our wiki?

Also, is there a chance your 4K screen has negative coordinates? It is well known that Xwayland does not react if an output has negative coordinates (or at least partly negative coordinates).


I'm against Wayland because it forces compositing on all windowed applications. I'll stay on Xorg as long as possible because I'm not willing to sacrifice latency for no tearing.


yep, compositor latency is infuriating when you're used to non-composited UI


Can you really tell the difference? What's the latency? Are your eyes that sensitive?


I think our sight is all a little different. I can clearly see 50/60hz strobing in light when others can't. Back in the old CRT days I would get strained eye sight and nausea if I worked at monitors running below 85hz, unless it had long lasting phosphors like the old monochrome CRTs.


Good LCDs are static unless you're running a dvi-vga-displayport-vga-hdmi dongle monster where the pixels are inevitably shifting a bit every instant. What you're more likely to be seeing is PWM backlight flickering at you.

If it's indeed the LCD and not the backlight, pray tell us the model so we don't end up buying it.


They didn’t say anything about LCDs.


I dont have this problem with LCDs...


All your stuff is already composited, and if done well it doesn't add much latency at all. You're still paying it in X, just badly, and with none of the upsides (eg, no tearing). Even if you're trying to avoid a compositor, none of the UI toolkits are participating in that nonsense.


That's no reason to add another layer of avoidable compositing.


You're not. It's already there and already happening. The difference is just we all stop pretending anyone is doing anything else. As in, kill the terrible X vector crap, and add reliable compositing APIs so things like video playback in apps stops being so incredibly bad (see video in browsers sucking in linux and not anywhere else).

You know, catch up to what literally everything else is doing. Windows, MacOS, iOS, Android, etc.. are all exclusively compositor-based window management systems. And they don't have latency issues, as ways to avoid what little latency compositing adds can be avoided in cases when necessary, like front buffer rendering extensions on Android for VR. Literally only X remains stuck in the 90s.


Which Wayland compositor allows me to exclusively use front buffer rendering without vsync?


KDE seems to have a flag to turn of the compositor, which seems to result in no tearing.


Nvidia stereo 3d only works if the compositor is disabled in Xorg.


Wrong: https://www.gamingonlinux.com/articles/gnomes-mutter-gets-fu...

I get it, all these features that used to just be supported by the one Xorg server now need to be supported by individual compositors - but still, it is simply misinformation that "Wayland" is broken because Mutter / Kwin / Sway are incomplete.


How is a 1yo merge request about "surface fullscreen unredirect" relevant to a complaint about forcing compositing on WINDOWED applications?


If it isn’t broken, then give an example of a compositor that isn’t broken.

A protocol with zero practical implementations is, in practice, broken.


I specifically said "windowed applications". This is talking about fullscreen applications.


May be it's time for people to be against new things.

Open source I know is often a work of love, but it's a bit painful that everyone is chasing after new things instead of keeping things that already work working. It's like how there are dozens of js frameworks that have thousands of contributors whereas openssl had one which lead to the infamous heartbleed bug. We need to talk about how the culture of open source is broken in this regard and figure out how to fix it.


>May be it's time for people to be against new things.

Maybe it's time for people to stop whining in the internet and start writing code?

X.org code is there, support it, contribute to it, improve it if you want to.

> infamous heartbleed bug

Yeah. Because real open source is like that: millions are arguing in forums, few write code.

And that's the problem Wayland is trying to solve BTW, by removing quite a lot of obscure legacy which only a few properly understand.

Writing things from scratch is usually good, it allows:

1) To follow modern practices so modern devs can understand the code and contribute

2) To use modern languages and technologies which are inherently more safe and secure (due to better type systems, linters, language design)

3) To get rid of technical debt


> Writing things from scratch is usually good,

Joel Spolsky wrote a good argument to the contrary: https://www.joelonsoftware.com/2000/04/06/things-you-should-...

Any good examples of large projects where a rewrite from scratch has been good?


> It’s important to remember that when you start from scratch there is absolutely no reason to believe that you are going to do a better job

This is ridiculous. Maybe that's applicable in a very short timescale, but definitely not to the protocol which appeared in 1984.

There is a thing called progress, people invent quite a lot through the years: type systems, patterns, design ideas. Not to mention that hardware has changed quite a lot through the years: X11 was done in the age of terminals and absence of hardware acceleration.


Your last comment is a true statement but it isn't an argument. Just because X11 was done in the age of terminals and before gpus existed doesn't seem to support your point unless "old = bad" in your view. I understand how type systems can help, some patterns are good, but some of those ideas existed before X11 actually, so no period of time has a monopoly on good ideas.


>11 was done in the age of terminals and absence of hardware acceleration.

IRIX, OpenGL.

They invented it.


3) To get rid of technical debt

Technical debt i.e. "code that should be refactored, because it was originally implemented in a hurry"? Yes, technically you're right and deleting all of the code is a way to also get rid of the code that should be refactored.

The same way whole-limb amputation is a very effective way to remove nail polish.


> code

More like fundamental design decisions and API's which you can't refactor without breaking compatibility.


Trying out something new and fun is what you do in your free time. Working with decade-old legacy code is what you get paid huge amounts for and the reason you want to start from scratch in your free time.

I agree that this is not good overall, but it's going to be very hard to convince people to work on not-fun things for free. Some might see it more akin to volunteer work, but the amount of people willing to do this are far outnumbered by the people simply doing things for fun. Too be fair, it is at least pretty great in so far as that they're doing open-source work :)


I think the problem with Wayland is it isn't half-assed. The insistence on being a generic protocol instead of a product fragments an already small dev community. And being a protocol so incredibly slows down velocity.


Wayland was the last straw for me. It made me switch to Macs after 20 years of almost exclusive Linux on the desktop and a few dev stints. It was cool when my time was less expensive.

I check the state of the linux world about once a year still. And obviously keep using it on the servers.

Best of luck to everyone using it for desktop. I totally get why you do it, but it's just not for me right now.


But why? X11 works. I've tried wayland in 2010, second time today. If anything today's story shows that developers do not want to work on X11 and how much we depend on Red Hat.

X11 problems explained by Daniel Stone [1]. As I understand there are two parallel architectures, one uses X11 server primitives (xfontsel), another renders on client (fontconfig fc-list etc). It is very confusing.

[1] https://www.youtube.com/watch?v=GWQh_DmDLKQ


I was provided with a Macbook Pro 15" by my work and I struggle to understand comments like this.

Upgrades often break things, I'm forced to use brew to install software which leaves files strewn around the file system and regularly seems to have cross package conflicts.

And don't get me started on the hardware - the laptop is excessively heavy and the keyboard is awful (and I don't just mean the touch bar gimmick).

My personal laptop is a Lenovo Carbon X1 and Fedora runs very nicely on it, requiring very little thought put into management if you're running the default desktop (Gnome). I can update the firmware and BIOS from inside Linux, and Lenovo have even started shipping newer versions of the laptop with Fedora pre-installed.

There's massive scope of tinkering with Linux if you want to, but as long as you're careful with the hardware you buy there's absolutely no need to tinker at all if you don't want to.


Macports seems much better than brew generally, but also under maintained and vastly under-used compared to brew for some reason.


That's fine, there's no reason why everyone needs to understand why I do what I do :) I agree with you on FOSS software brittleness though, Linux is usually better on that front. Brew is a hack that works well enough in practice, however.


Nobody is forcing you to use Wayland. Or are they? On Fedora it's a single line change em /etc to disable it (which I do because of Nvidia).


Except that, in the name of progress, various things are broken in the x11 world too on fedora, as a direct consequence of the wayland updates. Which is unfortunate


Fedora switched to Wayland, that is unfortunate for X.Org users but basically it means someone stopped fixing issues.

You either fix them yourself and contribute back if possible. Or switch to distribution where someone still fixes these issues.

I've investigated X.Org caused bug just for two days and since then totally support Wayland development. What we have today is not healthy.


We used to have a well-functioning display server that was robust and battle-tested.

The wayland people replaced that with a half-baked solution because they insisted on boiling the ocean - replacing the entire thing in one go, instead of working piecemeal (which the X protocol was explicitly designed to allow).

Which is a great pity, because now the day of the Linux Desktop is even further off.


X.Org people replaced it with Wayland. Are you going to maintain X.Org? Who is going to maintain it? Maybe you are going to hire developers to preserve purity?

> instead of working piecemeal

That's exactly what happened. Do you remember fonts without anti-aliasing? Run xfontsel, that's X11 fonts rendering. Freetype, Fontconfig, Cairo, Pango, HarfBuzz work on client side and push pixels to X Server. Entire rendering model changed, X.Org become compositor. They've faced limits, they've implemented DRI, DRI2 [1].

Now developers decided to make good compositor. And they've done it without disturbing X11 ecosystem, with clean way to port toolkits. Window Managers can't be ported but they can be reimplemented, just look how many compositors people built [2]. It is a miracle.

Linux future is bright. Video drivers moved from X Server to kernel, display configuration parts replaced by KMS, we've got modern font rendering, text shaping, we've got open source AMD GPU driver!

I still use Intel GPU, X.Org and xmonad, but the times they are a changing.

[1] https://en.wikipedia.org/wiki/Direct_Rendering_Infrastructur...

[2] https://wiki.archlinux.org/index.php/wayland


> Do you remember fonts without anti-aliasing?

On a 200 dpi display the xfontsel display looks better. :)


I believe you can disable anti aliasing and font hinting in Fontconfig.


The day of the Linux desktop is Windows with WSL2.

The irony.


Did you ever actually setup a graphical environment with WSL2?

I run one, which is why to me the irony feels reversed to what you probably meant. It's clumsy, slow and tedious to setup.


Sounds like a Fedora problem then. Pick a different distro - problem solved.

There is nothing so special going on in Fedora that can’t be done in other distros. Try an Arch based Linux desktop. You’ll get newer packages and better package management. Manjaro has worked well for me.


Indeed. And thankfully nobody is forcing me to use Linux.


btw: Fedora automatically disables Wayland on Nvidia hardware (because Xwayland applications can't be accelerated IIRC).


Have you considered using a tiling window manager? I've been using bspwm for years and it just uses X. I don't really miss anything about floating window managers, and since switching everything feels more stable and portable


I'm using a tiling window manager on Mac


Which one?


Perhaps Amethyst[1] or yabai[2]. You can also write your own with Hammerspoon[3].

[1] https://github.com/ianyh/Amethyst [2] https://github.com/koekeishiya/yabai [3] https://github.com/Hammerspoon/hammerspoon


Yabai is the one I was using.


Not who you're responding to; there's Amethyst but I use Rectangle (the fork of now defunct Spectacles).


This. I'm not necessarily against moving to Wayland but the display server and compositor is a really important component and Wayland has been a long time coming, 12 years now to be exact. Either we need a clear path to Wayland or just keep maintaining Xorg.


> when no clear upgrade path is defined

This is not true. Developers have been working actively on Xwayland, and I believe it can run most of the applications now, even with hardware acceleration. Is that not a clear upgrade path for you?


>backwards compatibility is pretty much disregarded.

Wayland compositors provide backwards compatibility with most X11 apps via XWayland, I don't think it's fair to say that they completely disregard compatibility


last time i checked remote desktop (ala vnc) was not really a thing and opening remote apps on the local display (ala ssh -X) wasn't a thing either.

That's disregard for backwards compatibility to me.

edit: which is not to shit on wayland itself, it's to complain about the general attitude which is like "just don't do that" or "oh that's old, we don't support that"


wayvnc and waypipe work just fine nowadays.

I've actually used waypipe more often in the last year than I ever used ssh -X, thanks to a shift towards WFH :P It's sometimes useful to be able to run Firefox remotely from my workstation at the office.


Due to how XWayland works, a lot of applications (sometimes critical ones) won't work under XWayland ever (pretty much everything that works on interaction between X clients fails hard).


>> pretty much everything that works on interaction between X clients fails hard

It's supposed to fail hard. That isnt just a security hole in X, it's a total lack of security. The notion that any app should be able to monitor or manipulate any other app is archaic and wrong from a security perspective.


Maybe it's archaic and wrong to you. Maybe it's even a good idea to be able to configure this on a per-application basis. What isn't the case is that you get to know what is convenient and right in my workflow.


Fair point. I think not allowing by default and having some means to grant permission is a decent idea, but implementation has to be right so people dont develop a habit of allowing it every time they're asked.


There they go htop, netcat, kill, and the whole unix pipe system. No, thanks. Programs monitoring other programs is the very essence of computing for us greybeards, and you will take this from our cold, dead hands!


> That isnt just a security hole in X, it's a total lack of security.

That "security" is useless on a Desktop where you run all programs as the same user. If you want a platform to run locked down "apps" that's fine, just don't expect others to be happy with the cost of that "security" when it provides no benefit for them.


Exactly. Also, XTerm has a secure mode where the keyboard input is locked and no application can read from it ever.


Who are you expecting to provide this for you?


Let me fill in with my perspective as a Mac user: I expect the vendor (i.e Apple) to supply a decent desktop environment. The did a quite good job at it. I didn’t need to pay extra, it was included in the sale of the computer.


But X.org isn’t a hardware vendor. It’s not owned by any hardware vendor. It’s not even owned by an OS vendor, or by an OS at all.

Apple is a multi-trillion dollar company. Microsoft and Google are close behind. Of course they can give away their desktop environment away for free. System76 (et al) can’t compete with that. X.org can’t compete with that.

I mean, this is exactly the reason I use Mac, because it ships with a good DE out of the box supported by a trillion dollar vendor. But that doesn’t help people who prefer Linux.


It's worth noting that when Apple first developed the (early versions of the) current desktop environment, they were not just not a trillion-dollar company, they were still considered to be "doomed" and on their way out by a large percentage of those who paid any attention to them.




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

Search: