7 ms·
Linux desktop is full of such jank. Fortunately, thanks to contributors like OP, the jank is gradually getting fixed. The whole point of Wayland is to eliminate
by porphyra 2y ago
Linux desktop is full of such jank. Fortunately, thanks to contributors like OP, the jank is gradually getting fixed. The whole point of Wayland is to eliminate a whole class of jank (screen tearing) that was essentially unfixable with X.
- o11c 2y agoAnd yet, empirically, jank is far more common on Wayland than X11. With X11, on the rare case I noticed, it was usually just a matter of "okay, which toolkit or driver do I need to look up the vsync environment variable for?" I have no opposition to Wayland in theory; my concerns are entirely practical and unignorable.
- porphyra 2y agoYeah I have experienced all sorts of flickering and artifacts on Wayland, especially on nvidia. Recently it has gotten a lot better though.
- seba_dos1 2y agoFWIW, Nvidia problems on Wayland were Nvidia's problems, not Wayland's. Wayland was just a victim of Nvidia's bugs and lacking implementations.
- p_l 2y agoExcept for tearing, which turned out to be a combination of Mesa/DRM bugs and Wayland naively assuming the behaviour of those bugs. Then nVidia decided to switch to GBM/EGL way of doing things and it turned out everyone had incorrect assumptions...
- deleted 2y ago[deleted]
- pmontra 2y agoYou mean this https://www.phoronix.com/news/NVIDIA-EGL-Wayland-1.15 https://www.phoronix.com/news/NVIDIA-EGL-Wayland-1.15 and the multy year story that I can guess from the comments in there?
- p_l 2y agoExplicit Sync, yes. The reason why I consider previous implicit sync a bug is that it was essentially unfounded expectation - nothing guaranteed you'd get a magic mutex in the sky that synchronized renders for you, and in fact, you do not want one for maximum performance. Lack of explicit sync also essentially meant common multi-gpu setups would be broken.
- ChocolateGod 2y agoAndroids graphics stack and drivers also use explicit sync, it isn't just a Nvidia thing.
- p_l 2y agoI was not saying it's an nvidia thing, just that significant majority of devices used by wayland proponents had undeclared implicit sync issues that were invalidated when faced with a driver that didn't have them.
- seba_dos1 2y agoI don't think that's an honest representation of what happened. Wayland relied on implicit sync by design, it wasn't "a bug" but a choice. The fact that in the end there were valid reasons to start moving towards explicit sync besides of lacking Nvidia implementation is irrelevant to the fact that Nvidia did not implement a correct driver for the existing requirements of the platform.
- p_l 2y agoIt relied on implicit sync as far as I know by accident. But since it worked for the popular configuration, no one dug deeper that support for accelerated drawing without multi-frame lag of manually calling commit on surfaces had gaps in design.
- seba_dos1 2y agoImplicit sync worked by design. There were years of discussions whether it's a good idea to rely on it and how exactly explicit sync would actually look like, with protocols such as zwp_linux_explicit_synchronization_v1 (eventually deprecated) being worked on almost a decade ago already, but it's definitely not an "accident". Explicit sync offers several advantages, but implicit sync is how DRM was designed and what Wayland consciously relied on, and what Nvidia disregarded because it would be rather challenging to implement it in their driver. The ecosystem slowly moves towards explicit sync now, but Nvidia was supposed to provide a driver already before that was happening and they didn't comply with platform's requirements at date, resulting in user-facing issues. With this one, they just got lucky that the consensus happens to move towards what they had already asserted.
- talldayo 2y ago> And yet, empirically, jank is far more common on Wayland than X11 It depends on the type of jank you're talking about. It's wholly disingenuous to characterize Wayland as janky but x11 as not - the jank inherent to x11 is what made the original Xorg developers start making Wayland in the first place. Empirically, if x11 was perfectly fine there would be no motivation to design a successor. x11 gets the first-mover advantage of a lot of implementations and a straightforward design goal, but that's about it. It's not secure enough to recommend as a serious alternative to Mac and Windows users, and it's too slow and unopinionated to present a friendly face to new users. Features like 1:1 trackpad gestures, genuine HDR pipelines and a locked compositor framerate are all getting to the point that regular consumers expect them as default. If you want to keep using x11, it's unlikely someone is going to take it away from you. But it's on track for depreciation and hasn't been actively developed in years. Recommending it as a panacea to new users is a bad idea.
- FeepingCreature 2y ago> x11 gets the first-mover advantage of a lot of implementations and a straightforward design goal, but that's about it. It's not secure enough to recommend as a serious alternative to Mac and Windows users, and it's too slow and unopinionated to present a friendly face to new users. I've been recommending it as a serious alternative for years, and it's always presented a friendly face. > Features like 1:1 trackpad gestures, genuine HDR pipelines and a locked compositor framerate are all getting to the point that regular consumers expect them as default. I have never heard anyone not already a Linux user comment on even one of those as a problem.
- bpye 2y agoIn my experience Wayland has been a better experience than X11, I have two monitors with different refresh rates and I could never eliminate tearing with X11 whilst Wayland works as expected.
- immibis 2y agoWayland does some things well; X11 does some things well. Unfortunately Wayland is not a straightforward improvement. At some point they climbed the abstraction ivory tower and lost sight of the system they were supposed to implement.
- account42 2y agoI have not noticed any tearing issues with X11 for a long time, with or without multiple monitors. Were you using X.Org graphics drivers or external vendor blobs?
- bpye 2y agoI had that issue with both AMD and Nvidia with the open source and proprietary drivers respectively. If I ran both at 60Hz it was fine, but my primary monitor is 144Hz and I couldn’t make 144Hz and 60Hz work well under X11.
- Flimm 2y agoFor me, fractional scaling on a HiDPI screen is broken on X11, but works well in Wayland. Here's an example from yesterday: I was playing Factorio full-screen, and some of the GUI elements were too large and wouldn't fit it in the screen. I found a Factorio setting that enabled Wayland, and it instantly fixed the problem. Kudos to Factorio for supporting Wayland! You wouldn't think it was needed for a full screen game, but it was.
- kaba0 2y agoHeh? That hasn’t been true on even the very first POC wayland compositor, Weston. I mean, it used to crash from time to time in the very early days, but visual artifacts? I don’t remember any, besides the occasional xwayland app (which is literally an X app running inside wayland).
- timdiggerm 2y ago> With X11, on the rare case I noticed, it was usually just a matter of "okay, which toolkit or driver do I need to look up the vsync environment variable for?" This is not something you should ever have to do
- chaxor 2y agoThis does not make sense at all as an argument really. I think your argument is about specific implementations of WM. While the argument of "I deal with X11-based WMs because it's fine when I don't care about security at all" may be valid in very narrow cases (such as air-gapped systems), the argument more generally is pretty weak. Its not surpising that x11 based WMs, such as the almighty [awesomeWM](https://github.com/awesomeWM/awesome https://github.com/awesomeWM/awesome), have more features implemented than, for instance, [jay](https://github.com/mahkoh/jay https://github.com/mahkoh/jay) due to the enormous time it has had to develop (though I am _very_ excited to see `jay` develop more fully, and expect it to be well used by the more tech-savy devs). However, some WMs in the Wayland space are doing quite well on that front. I recently had some substantial problems arise in my system which (surprisingly to me, but perhaps some are getting used to this) would have been prevented by using a memory safety language for my WM, so I have made the switch to (for better or worse) only ever consider Wayland+Rust WMs. In this space, [niri](https://github.com/YaLTeR/niri https://github.com/YaLTeR/niri) is actually quite good, and to the point - it is developing correctly _and very quickly_. So, any issues on some WM not implementing some desired feature are quickly disappearing. IIRC, all the major 'gateway' linux distros, such as Ubuntu or Fedora, are all on Wayland by default now - so I don't imagine x11 will stay relevant much longer.
- funcDropShadow 2y ago... while introducing lot's of other jank that was solved before.