Hacker News new | ask | show | jobs
by sterwill 1112 days ago
So much is written about Wayland not "being ready." I've used it exclusively on my desktop and laptops for... as long as it's been available in Ubuntu. It works fine. I don't have any issues with input methods. It puts pixels on my monitors. The screen doesn't tear when I move windows around like X did. It's fine for me.
9 comments

Me and my friend both installed arch at the same time and both tried to use gnome + wayland.

Both of us experienced issues with games being inconsistent in frame times, black rectangles over electron apps like spotify/discord, for him his multi monitor setup was somehow broken on wayland but fine with X.

Chromium apps in general appear to have varying levels of issues, some applications don't support wayland at all, most can run with the xwayland which IMO mostly defeats the purpose especially when it's still not seamless.

We've both switched to X and no longer have any of the above issues. That's not to say the desktop experience on X is seamless of course, but the above issues were all solved.

I'm really under the impression that people who use wayland either don't use a wide range of applications (which is perfectly fine!) and/or are used to putting up with "typical linux issues" and accept the quirks.

I remember when wayland came out and was supposed to solved the "fragmented/bloated mess of xorg" but it literally just appears to have been a half-baked solution for ~15 years.

IMO the issue with the "linux desktop" has always been consistency. You don't have to worry about adding launch arguments, compositor support, graphics drivers, AMD/Nvidia, wine, broken audio/networking when you do an update, etc. MacOS/Windows "just work" - at least with far more consistency.

I'm afraid you're a bit optimistic saying that Windows is consistent, or has no audio or graphics problems. My Linux laptop (xfce) is way more visually consistent than my wife's Windows desktop, and I had to troubleshoot audio issues on it, and on Windows laptops at work, but never on Linux (pipewire, onboard / USB / Bluetooth audio).

And yes, I run X, Wayland is too restrictive currently. I should give it another try some day though.

>and I had to troubleshoot audio issues on it, and on Windows laptops at work, but never on Linux (pipewire, onboard / USB / Bluetooth audio).

Funny, it's always been the other way around for me.

My Ubuntu 22.04 at work keeps randomly switching the default audio output to the headphone jack of the machine and off my Bluetooth headphones leaving me without sound in my headphones until I go to the settings and switch it back to Bluetooth. Never had such issues with Windows, it's always been rock solid in this regard.

Would you mind sharing the exact audio issues you had with Windows?

Win10, desktop, USB Bluetooth: audio not switching correctly when connecting / disconnecting headphones. Now appears to be fixed by some update. Digging through audio settings to find controls of particular audio interfaces is also fun.

HP Spectre x360 laptop (2020), factory-installed Win10: audio just dies sometimes. The Realtek's control panel (also factory-installed) periodically crashes. Funnily, booting a Linux live from a flash drive gave audio that worked without said problems. The laptop was later replaced with an updated one, when its graphics hardware visibly failed. The replacement did not have the audio problem (IDK if it was a different audio chip revision, firmware, or driver), but the Realtek control panel was still unstable.

(Visually Win10 has at least three UI toolkits that can barely agree on colors, and cannot agree on fonts or the shape of controls. Under X, I have all GTK2, GTK3, Qt5, Qt6 programs use the same fonts and a common theme, with controls, if not exactly uniform, at least having common colors, shapes, and sizes.)

>HP Spectre x360 laptop (2020), factory-installed Win10 [...] but the Realtek control panel was still unstable

Well there's your problem, or more precise HP's problem, not Windows's problem. Don't use vendor crapware on your machine.

Always install a fresh copy of windows of a USB drive, not the recovery partition which holds the vendor crapware.

The built in windows audio switcher and audio drivers works just fine no need to use third party apps.

> Don't use vendor crapware on your machine

Wouldn't it be installed windows update anyway? I'm pretty sure windows installs whatever software is in it's repo the moment a device is discovered by default?

> Never had such issues with Windows, it's always been rock solid in this regard

I can’t even count the number of times windows reinstalling the sound driver or whatever it does at runtime, requiring a reboot.

I think people are very likely to blame the software layer even when they use subpar hardware — no software will run fine on shitty hardware, and the very inconsistent reports from basically any OS is more than likely the result of some underlying, failing hardware components. This also mostly explains why OSX is considered more stable by some — it is much easier supporting 10 different configs, than all the others.

I think Linux has undergone a huge improvement in this regard and actually has the best, general support for any hardware nowadays — it may happen that a given driver is better/only works for windows, but the mainline has shifted to Linux now.

> and/or are used to putting up with "typical linux issues" and accept the quirks

As you later point out more explicitly, there is no way around that.

Linux is the epitome of bazaar style development - it has endless positives, but a huge drawback is not having a consistent direction, nor any real force behind any of the directions.

Apple can just say that they will now support a new compositor, if you wanna stay in business, change. And it will happen. But that’s not a technical thing at all, wayland’s first 10 years is very different from the next 5 one — since it has become mainstream now, its support and hands working on it will result in exponentially more improvements. A new direction needs critical mass, and wayland has only recently acquired that, imo.

Mainline Chromium (and subsequently Electron) support for wayland has only really landed in the last year or so. I'm curious how long ago this trial of yours was?
Yeah I think I remember seeing that, we did this around 6 months ago so not many actual applications used the newer version of electron, although IIRC a lot of electron applications don't update electron itself super frequently.

I might try wayland again, I'm just really frustrated with it. It's always been advertised to be better then X, and 15 years in it's still a rocky mess (as of ~6 months ago).

This isn't 100% waylands fault - but nvidia cards seem to add extra issues. I need CUDA support so AMD is not an option.

> This isn't 100% waylands fault - but nvidia cards seem to add extra issues. I need CUDA support

Well, there you go. NVIDIA for the longest time didn’t support linux, period. They add proprietary binary blobs to patch xserver to work. It’s no surprise that some normal userspace program can’t do something the kernel can’t do either.

I also know input methods work great on Ubuntu (Gnome Wayland) because Gnome has first-class support for ibus.

But the article is specifically about incompatibility of input methods among different DEs: Gnome, KDE, wlroots-based environments such as Sway and Hyprland.

After many years, ibus still doesn’t work with wlroots, because ibus supports input method protocol v1 and wlroots supports v2: https://github.com/ibus/ibus/issues/2182

The list of recommended IMEs on Sway are all WIP: https://github.com/swaywm/sway/wiki/Useful-add-ons-for-sway#...

There is even v3. Kitty refused to implement v3 because v3 appeared even more unstable: https://github.com/kovidgoyal/kitty/issues/2814#issuecomment...

The wayland input method protocol is stuck at v1, and DEs/applications disagree about which versions to support. That’s why it’s problematic.

I'm not disagreeing with any of the technical points in the article. I'm just saying that my experience with Wayland is pretty good. Someone (GNOME? Ubuntu? thousands of generous developers?) is doing all the work to make it work pretty well for me.
kitty added support for v3 a couple of years ago: https://github.com/kovidgoyal/kitty/issues/3410
Good to know. Thanks.
I've also been using wayland for a couple years now. Switched from i3 to sway and never had screen tearing as I did with X server.

Just recently moved to Hyprland and similar experience. Barely had any hiccups and switching to a non-english layout such as Arabic works like a charm.

Perhaps maybe our systems are just ideal? For the record I'm using a thinkpad which generally has good support but even on my Lenovo G505 it worked perfectly.

I can never go back to X11 and I think the greatest condemnation of it is that we're still talking about screen tearing in 2023.

Screen tearing is something that simply shouldn't exist by default. A person should be able to count on its absence, like a person should be able to count on a basic USB keyboard working without any headaches.

Now I'll brace myself for the "I've never noticed screen tearing" from people whose brains run on a different refresh rate than mine does.

Screen tearing is not really an X11 issue. It's an XFree86/X.Org issue in that they are to this day in many ways the lowest common denominator implementations, and at some point Intel removed VSync circuitry from their IGPs completely - so the only way to prevent screen tearing was to have global compositor doing page flips. So, a lot of that "never noticed screen tearing" is due to people running different GPUs and/or enabling some driver features mitigating vendor weirdness.

Similarly, nothing says you need to request a redraw when moving a window instead of redrawing it from backing store - but at some point backing store became useless in X.Org even if you explicitly try to program its use.

> Now I'll brace myself for the "I've never noticed screen tearing" from people whose brains run on a different refresh rate than mine does.

I'm actually pretty sure this is a thing. I have a dissociative disorder and sometimes the "refresh rate" of my senses seems to go down. I have no idea why or how, but it's really weird to literally experience reality feeling like a slideshow.

But other times I can detect any flickering lighting, so I dunno.

Wow, can you please elaborate on the disorder like the name? When I was a kid this slideshow effect would happen to me repeatedly and then never again since high school. Nobody I've ever mentioned this to has a clue what it was.
oh it's dissociative identity disorder, but there are other dissociative disorders that don't include actual dissociative identities, like "derealization/depersonalization disorder" (DPDR). The slideshow thing isn't necessarily DPDR, but maybe you can use it as a search term.
Thanks, slideshow is such a great way to describe it. I always explained it as time slowed down, but maybe people did not understand how time went ... like ... this as a flip-book being released really slowly.
This verges on sounding like a neural disorder to me. I notice screen tearing. So what? Please kill my framerate and bloat my latency an order of mag so I'm rid of this awful graphical artifact!! While the compositor's at it, maybe it can add delays with animations to when I close or minimize windows! (Just kidding; don't do that; that's way worse -- unless there's people who don't notice that that's the cost of eliminating tearing.) I'm using a computer. It's drawing frames. There should be tearing. Why would you want to boil the ocean and make the snappiness of your game/entire desktop worse to sustain some denial of the fact that you're at a computer?

Here's another thing, which proves that directly addressing tearing is false dharma: it gets better with higher refresh rates. Having higher Hz is awesome, and it's improving the issue to boot! It's like antialiasing. You're rendering stuff multiple times, taking enormous performance hits, sometimes now even using semi-sentient AI to smooth the jaggies out... when it turns out that the jaggies get better when you increase your resolution. False dharma: trying to live the lie of no jaggies on 768p @ 43 FPS; TRUE DHARMA: accepting and advancing your computerized existence on 4K @ 53 FPS. Same with tearing and refresh rate.

Also??? These days, adaptive sync (on the monitor hardware level, NOT software driver level) completely eliminates tearing. Another dharmically truer solution.

Also, while you're so hung up on tearing that you'd leave X11 for Wayland, you've clearly never experienced the awesomeness of xdotool, which isn't available on Wayland. You're not truly living. You're trapped in a gilded cage, satisfying merely the basest petty natures of man.

> Please kill my framerate and bloat my latency an order of mag so I'm rid of this awful graphical artifact

Where do you live?

I don’t get how some people don’t see it. I remember running a very weird compiz setup just to alleviate screen tearing, many years ago.

It was such a relief the first time I used Mac OS X. Finally a unix that renders to the screen without artifacts.

> It was such a relief the first time I used Mac OS X. Finally a unix that renders to the screen without artifacts.

That was one of the reasons I used macOS too. Not for artifact-free rendering but for the fact that it's a real production-ready desktop OS with first-party app support from most companies, while being a true Unix with all the powerful Unix capabilities, like being able to run Valgrind and etc. without nesting virtual machines.

Because screen tearing is something that honestly showed up pretty late, around the time of i3/i5/i7 with IGP, as before that tearing was mitigated at least a little with VSync. (There's the issue that X11 didn't expose good sync primitives, but that's workable with extension, not total replacement)
Even with vsync it happened on X11 on dedicated GPUs. Plus a number of other buffer management artefacts.

It didn’t help that the drivers for everything were closed course, but even with perfect drivers X11’s design can’t deliver perfect frames.

The design can deliver perfect frames - it's extensible so pretty much you need to provide a way to handle double buffering right - and guess what, extensions for that were proposed (Present extension by Keith Packard, building on top of X Synchronization extension)
I notice it I just don't care at all. Latency is a much bigger deal to me and it may not be technically part of Wayland or the widget toolkits used by compatible apps but it is consistently a problem.
If latency is a real problem for you, buy a monitor with higher refresh rate. That’s the only meaningful way to decrease latency on modern software. Mind you, literally every single program you use will double buffer, unless you are using XMotif or so exclusively.
I actually do use a lot of XT/Motif apps. Mostly because of the lower latency but also they weren't infected with whatever brain damage generated the gtk3 design language.
GNOME supports my trackpad better than Windows and, dare I say it, macOS does. As in, it literally supports trackpad gestures and inputs that Apple doesn't, and it's actually really smooth and responsive.

You can right-click-drag, and you can middle click. macOS doesn't support either one of these, and Windows only supports assigning a bottom-right quadrant of the trackpad to right-clicking.

GNOME has the fatal flaw that you can't configure trackpad scroll sensitivity. That means, if your trackpad is too sensitive out of the box, GNOME is simply unusable. Every laptop I've used in the past many years (a couple of Dells and a Mac) have had touch pads with too sensitive scrolling in GNOME.

It's fine in Sway or KDE, as they have scroll sensitivity settings.

> GNOME has the fatal flaw that you can't configure trackpad scroll sensitivity.

Oh, I got bitten by that actually. I ended up just configuring Firefox since that was the main app I used, but most apps aren't Firefox and don't have settings for things that they would expect to be handled by your WM/DE/DM.

AFAIK it is a fundamental GTK problem, so Sway or KDE can only circumvent it for GTK apps.
I don't believe it's a fundamental GTK problem. When you scroll, the Wayland compositor sends scroll events to the app, with a float for the delta. KWin and Sway have an option to let you multiply that delta with a constant; multiply it by 0.5 and you have halved your scroll speed. GNOME doesn't have such an option.

GTK may have other scroll issues as well (I recall seeing some stuff about that, though I don't remember the details), but there is definitely stuff the compositor can do.

> When you scroll, the Wayland compositor sends scroll events to the app, with a float for the delta

GTK works through a bunch of heuristics and in-built multipliers, but the fundamental problem is that scroll effect depends on the “weight” of the content itself — kinematic scrolling is unfortunately quite missing from linux desktop, AFAIK. But do correct me if you know better, I’m not too well versed in that.

I wish there was an equivalent to "better touch tool" for linux, that program adds so many trackpad/other peripheral shortcuts and gestures it's crazy and doesn't involve editing config files from a wiki and half a dozen stack overflow pages.
Also been using Wayland for years via GNOME, everything works, I have cool new dbus APIs to control my desktop, the "press ctrl+alt+f2" to bypass the lockscreen" thing isn't a thing anymore, libinput is leaps and bounds above everything that came before it.
> libinput is leaps and bounds above everything that came before it

Oh Lord no. Clickpads are still basically unusable with libinput. There's a reason it hasn't actually displaced synaptics.

I don't think anyone doubts it works in limited circumstances with a curated set of software, provided you don't need anything like remoting or screen sharing.
I share my desktop (single windows and/or whole desktop) at least once every day. Usually with Google Meet in Firefox, but also with Slack, Microsoft Teams, and Zoom. I don't need remote access to my desktop or laptop (windowing system) though. SSH is just fine for me.
Guess you don't use cyrillic and extended latin.
As a relative Linux outsider, the X/Wayland situation is definitely putting people off switching. We consistently hear "X is deprecated, don't use X, Wayland is the future" yet every single time we find, read about, or are recommended something cool it always ends with "oh by the way this only works on X not Wayland".
> every single time we find, read about, or are recommended something cool it always ends with "oh by the way this only works on X not Wayland".

Eh, what? That's not at all common

Talking past the issues.
I used plan9 extensively (Almost all my machines including my mail server and primary desktop) before I went to college. That doesn't mean its ready for most people to use.