HackerTrans
TopNewTrendsCommentsPastAskShowJobs

Measuring Input Latency on Linux: X11 vs. Wayland, VRR, and DXVK(marco-nett.de)

335 points·by hoechst·قبل 7 ساعات·215 comments
marco-nett.de
Measuring Input Latency on Linux: X11 vs. Wayland, VRR, and DXVK

https://marco-nett.de/blog/measuring-input-latency-on-linux-x11-vs-wayland-vrr-dxvk/

217 comments

NelsonMinar·قبل 6 ساعات
One thing that's lovely about Linux is this kind of analysis is not only possible, but meaningful. These results will get reported back to the graphics software authors and the distribution packagers and the ecosystem will improve. There's no sense with Microsoft that kind of improvement is possible.

I recently switched to Linux after years on Windows desktop, mostly because the KDE Plasma desktop feels snappier than Windows 11. Also the feeling that if something isn't working right I can probably tinker and improve it. It's been really nice. If you haven't tried Linux desktops in awhile give Bazzite a whirl: it's a Fedora customized for gaming. Even if you don't game it's an easy way to get a very functional Linux desktop in no time at all.
Aardwolf·قبل 3 ساعات
> One thing that's lovely about Linux is this kind of analysis is not only possible, but meaningful.

If only they'd actually DO something with this meaningfulness. I love and use Linux as my daily driver, but desktop environments and everything around it have become so complicated yet worse than before.

In the past a simple config file with intuitive setting names inside of them could make you do anything you wanted.

Today they have all these layers of abstraction for themes, icon sets and light and dark mode and what not, but almost NO combination works!

If you set light mode, you'll get some light gray text on lighter gray background somewhere, but if you use dark mode, then you'll get some black text rendered on a black background elsewhere. And even if not involving light or dark mode, same misery with whatever themes like "Adwaita" and others, some things will work in one, other things in another, I've seen a PDF viewer that made everything black text on black background in some desktop themes... A PDF viewer can't even independently choose its own text and background color without the desktop environment messing with it?

No theme I found anywhere has _well visible_ scrollbars, they all seem to love making them as subtle as possible so you can hardly see where your scroll position actually is. No theme I found anywhere has a _clear visual distinction_ (different color, not just a subtle shade difference) for the selected window vs the non selected ones. This would be _extremely_ handy for knowing in what window you're typing now, even windows 3.11 got this (and the scrollbars, and the ability to customize your colors) better

While not latency, it's still a thing they just can't get right, and when things were less overdesigned it actually worked better, so what was all this for?
sph·قبل 40 دقيقة
My bet is that either you’re using a Mickey Mouse distro, or you tweaked your themes/thrashed your config and now you have all those issues that I haven’t seen in a decade since installing custom GTK themes.
doodlesdev·قبل ساعتين


   > If you set light mode, you'll get some light gray text on lighter gray background somewhere, but if you use dark mode, then you'll get some black text rendered on a black background elsewhere.
I've been using Linux (Linux Mint Cinammon, then Fedora Linux GNOME) for over five years and I've never had that. What kind of desktop environment, themes and applications are you using?
aljgz·قبل ساعتين
My experience has been reasonably consistent. My main DE is KDE, it switches between light and dark based on my location and time. It switches to warmer colors at night. I have never had a problem in the applications I use. I occasionally switch on the fancy effects like windows fall apart when I'm in the fun mode, or I'm showing something to friends, as a bit of fun makes everything more interesting, and all work perfectly well.
Someone·قبل 4 ساعات
> These results will get reported back to the graphics software authors and the distribution packagers and the ecosystem will improve. There's no sense with Microsoft that kind of improvement is possible.

It wouldn’t surprise me if Microsoft could turn a knob and get telemetry data from millions of devices, and feed that back to the software graphics authors.

Certainly both Intel (https://www.techpowerup.com/312122/psa-intel-graphics-driver...) and Nvidia (https://nateshoffner.com/blog/2017/05/disable-nvidia-telemet...) collect such data themselves (opt-in in both cases, so they may not get much data from the most hard-core gamers)
smokel·قبل 6 ساعات
Some things do indeed improve, but some other things require a massive effort that no hobbyist or small company can make happen.

This is most obvious in places where a lot of coordination is required, for example in supporting proper color correction throughout all applications, or decent support for advanced printer functions.

There are many incremental changes, but we often get stuck in local minima for years.

Still, I personally like that one can (relatively) easily watch what happens under the hood. It's not entirely clear to me why Windows and MacOS must remain closed source.
inigyou·قبل 5 ساعات
Because if it's open source you can't make money from it or have multiple tiers.
alightsoul·قبل 4 ساعات
If it's open source you can make money by selling managed services to companies. They don't want to deal with it really.
inigyou·قبل 4 ساعات
How is Red Hat's revenue compared to Microsoft's?
torginus·قبل 6 ساعات
This kind of thing is certainly possible under Windows - you can basically patch any kernel API call, replace any COM object instantiation, install filter drivers that intercept any request to and from a device, replace userland DLLs with your own.

It's really scary what you can do, to the point that I often asked myself 'why allow this?' - seeing as hits on certain APIs took me to blackhat forums and articles about writing exploits.
pbhjpbhj·قبل 6 ساعات
Oh sure, but if I just need to troubleshoot why Minecraft-launcher (a first party app) won't launch ... it didn't give any output; it didn't even exist apparently, but only because MS were hiding it, had to crack out Process Explorer just to get something to troubleshoot on ... then it turns out the "turnkey" app from their first-party app store, loading the first-party app, on the same company's OS just failed with no indications to the user at all, not even a "this app crashed". Solution was to cut out as much of MS as possible ... it's just infuriating when it doesn't work, which seems to be all-the-time.

More power to Bazzite and Valve, the sooner games app run in other OS the better.
wongarsu·قبل 5 ساعات
The developers of Process Explorer have a lot more to do with the OS than the makers of Minecraft, even if the company name is the same on all three
ivanjermakov·قبل 5 ساعات
> results will get reported back

Even better, most of the tech stack is open source and contributions are welcome!
wing-_-nuts·قبل 6 ساعات
>give Bazzite a whirl

I never really understood Bazzite's immutable fs thing. Can one install standard dev stuff (i.e. compilers, ides, etc) easily under bazzite?

This use case is the main reason why I lean towards maybe using cachyos
nikodunk·قبل 5 ساعات
I use Bazzite for development bc it works like a Mac with sane defaults and a just works approach:

- IDEs are no problem. Editors will "just work" for anything you type into the app store - Bazzite handles the special cases for you and installs them through brew taps or Flatpaks.

- For development it's basically just like a Mac where you also can't install system-level packages: Node, Python etc work through brew / nvm / uv same as on Mac. Development that involves containers will be unchanged from a Mac. For compilers specifically, same as on Mac: Install it through brew, or if you need a Debian or Fedora base you do `distrobox create` and you can apt-install in a transparent podman container.
mmh0000·قبل 5 ساعات
The immutable fs thing isn't just Bazzite; it's a fork of Fedora Silverblue[1] (it sounds like AI wrote this, but it didn't! I fear I am becoming the AI...)

Immutable filesystem-based operating systems became fairly widely used as the "base" system for Kubernetes nodes. Because on a container-focused system, you never need to touch the rootfs.

This started as a project called CoreOS[2], which was eventually acquired by Red Hat for its OpenShift (Red Hat Kubernetes) platform.

On servers, immutable rootfs makes a lot of sense. Silverblue (et. al.) was an attempt to see if that concept translated to Desktop systems well. Reviews are mixed. Some people swear it's the best thing since bread. Other people claim it's worse than having dental work done.

I'm personally somewhere in the middle. I think the concept is good, but if you want to do anything to change the core system, like installing custom video drivers, it quickly becomes a pain. I like to equate it to the "n00b"-OS. People who "just want the damn computer to work", immutable is great, because neither they nor an application can do anything to really break the system. On the other hand, it really limits (without complex work-arounds that other systems don't need) what "power users" can do.

In "the perfect immutable OS world", you would never directly install any application; instead, you run everything in a container (i.e., Flatpak). So you have layers of protection: an immutable root and a container-based permission system; the worst* thing an application could do is blow up your home directory. But if you manage permissions correctly, the most damaging thing would be an application blowing up only itself.

[1] https://fedoraproject.org/atomic-desktops/silverblue/

[2] https://www.redhat.com/en/technologies/cloud-computing/opens...
pelorat·قبل 5 ساعات
Yes of course, but you need to do it via the package manager. You can't "sudo make install". If you build your own software and want to install it system wide, you need to flatpack/brew it or run it in a docker container.

(obviously you can modify the filesystem if you really really really want to).

Bazzite is gaming oriented version of Fedora CoreOs. There are many different versions. I am running bluefin.

I've tried a lot of desktop linux distros, and to be honest, immutable linux feels like the future. Anything you do can simply be rolled back. Break something? Just roll it back.

And if you run something like Bazzite, but want to try out Bluefin-Dx which is developer oriented, then you can rebase your existing installation. If you don't like it, just revert back to Bazzite with a single command.

However, it's desktop oriented. Don't run CoreOs on a server.
ChocolateGod·قبل 34 دقيقة
> You can't "sudo make install"

You can if you're going to target /usr/local, which should be where make install installs if it's following the FHS correctly.
NelsonMinar·قبل 5 ساعات
Bazzite mostly suggests installing stuff via Flatpak or Homebrew. (No, really, brew on Linux lol). You can also layer in things with rpm-ostree but it's clunky. I think the immutable OS makes sense for a consumer but not for a developer.

So I'm using Nobara instead. It's a different Fedora-for-gaming but has most of the same improvements. It is a traditional system, not immutable. CachyOS is also very popular and that gets you an Arch-for-gaming. Just yesterday I learned of PikaOS, a Debian-for-gaming.

The main thing all these gaming-customized systems are doing is getting graphics drivers and proprietary codecs installed for you easily.
ChocolateGod·قبل 31 دقيقة
> but not for a developer

I disagree. Immutable distros are great for developers, you set your dev env up in a container environment and when it goes pear shape you can just tear it down and start again without needing to worry about leaving a mess on your host OS.
marcinostefano·قبل 5 ساعات
Why not for developers? You can install tools from flatpak or in home directory. My workflow includes toolbox containers. Distrobox is also good option.
michaelmrose·قبل 5 ساعات
Many flatpaks aren't actually maintained by the actual developer nor the normal way the package is normally used. You may have bugs that aren't present in the package that the dev isn't aware of or interested in fixing especially if they support a different channel and the bug relates to sandboxing.

There is also a risk that the person may be malicious from the start, sell out, or simply get malware. Given the nature of the ecosystem a malicious release to a previously safe package could propagate incredibly quickly.

Where there are multiple steps for a package to get from developers machine to yours and each is slow enough for malicious behavior to be noticed each step adds friction and decreases the chance of ultimate success. Where all steps are nearly simultaneous your risk multiplies with each step in which a different person has their hands in it and if any of them are malicious or compromised you are screwed.
admax88qqq·قبل 5 ساعات
mostly i'm trying to get out of the terminal and most IDEs don't understand devbox/distrobox well without lots of finagling.
tadfisher·قبل 4 ساعات
Why Nix is great; you can run the IDE from within a Nix-managed dev environment and not have to teach the IDE about it. You can point a .desktop shortcut at it too.

Requires a different way of working with projects though, so understandable if that's not your thing.
abhinavk·قبل 3 ساعات
I install the IDE as well as tools inside distrobox.
omnimus·قبل 5 ساعات
The immutable linux is pretty great if you find one that fits you type of dev work. The prebuilt images are powered by a config (so you could build your own) but it's great that you can just follow someones good "config". Switching/updates are suddenly easy.

For example i just need docker for webdev and there is bazzite-dx basically bazzite with docker and few things added. Works pretty great, sometimes when something goes bad i rollback the image and wait for future version.
abhinavk·قبل 6 ساعات
You can modify the fs using rpm-ostree. It will overlay your changes on top of the immutable image. The recommended way is to create toolbox/distrobox which uses containers to isolate stuff.
haunter·قبل 6 ساعات
Yes, rpm-ostree solves that

https://docs.bazzite.gg/Installing_and_Managing_Software/rpm...

https://coreos.github.io/rpm-ostree/
data-ottawa·قبل 5 ساعات
In addition to the other comment mentioning rpm-ostree, brew is installed on bazzite by default and works about as well as it does on macOS.

You can also use fedora toolboxes to create containers mounted on your home folder, though it is clunky.
Hikikomori·قبل 5 ساعات
It competes with steamos. There are other gaming distros that work like normal distros.
mikepurvis·قبل 6 ساعات
I think it depends who it is making noise. There are some famous Oculus-era stories about John Carmack tracing display latency issues and then writing lengthy screeds to Samsung engineers to get them to give him lower level access.

I bet if someone like him made enough noise, people at MS would pay attention.
cwillu·قبل 3 ساعات
Sure, but isn't that the point? Needing to be a celebrity to fix something?
Hikikomori·قبل 6 ساعات
Not Microsoft but Battlenonsense investigations on latency did get Nvidia to create reflex.
torginus·قبل 6 ساعات
Afaik reflex is a bit different - it times the input to frame latency in your game, and tries to start the gameloop as late as possible in the frame so that your input gets sampled at the latest possible time and the frame still makes it to the vsync period, this isn't really a compositor tech.
Arch-TK·قبل 6 ساعات
Why would it need to measure input to frame latency? Surely it just needs to measure how long it takes the game to go from vsync period to frame ready and delay when the game thinks vsync happened to force it to poll later in the cycle?
prhn·قبل 7 ساعات
Awesome article.

I switched my daily driver / gaming rig to Fedora a few months back.

Everything seems snappier compared to Windows, but not sure if it’s in my head, and I’ve been very curious about gaming input latency. This helps answer some questions.

I recently switched to hyprland and I’m very interested how that fits in these results. hyprland uses Wayland so I hope the author might revisit now that hyprland is gaining in popularity.

I’ve considered using gamescope to hopefully get in front of some of these concerns, but I’m on nvidia and there is some discussion about it not working well there.

Now the author's got me thinking about gaming-optimized kernels, which I did not realize was a thing.

I play competitive fighting games so input latency is a huge concern. Would love to hear from anyone else who’s been down this path.
Aurornis·قبل 6 ساعات
With the exception of XWayland, all of the tests had input latencies within a very small range. No human could tell them apart by those latency differences alone. I would be amazed if someone could notice the 3ms difference jump to XWayland.

The difference could be much larger on a slower monitor. However the differences between Wayland and X11 as protocols is negligible. XWayland as an implementation looks to have a limitation.
jandrese·قبل 5 ساعات
The context here is the article's author is a twitchy FPS player, those extra 3ms are something that community agonizes over. I appreciated how much effort was put into controlling the variables in this test. There's a whole lot of witchcraft associated with these kinds of efforts and he sat down and did the measurements and got real numbers. My hat is off to OP.
horsawlarway·قبل 5 ساعات
ping is going to dominate over 3ms in pretty much every situation.

And the non-xwayland numbers are all within a single ms of each other.

---

Not to undermine the measurements of the author (agree with you, it's a cool effort), but my read is that this was basically proof that it doesn't matter.
OkayPhysicist·قبل ساعتين
In the context of competitive online games, ping is going to be ~10-60ms, depending on your connection to the particular server you're playing on, and not particularly noisy (and that's a roundtrip time. Client-Server latency would be 5-30ms). In order for one value to "dominate over" another in an adversarial context, the variance of the former must be much greater than the base rate of the latter.

Imagine a game that's just a pistol duel. When the kerchief hits the ground, players press a button, first person to press the button wins.

In an ideal world, with no delay whatsover, the probability P(A) of player A shooting no later than player B is 100 (because both players shoot at exactly the same time). If we add 5 ms of delay to player A, then P(A) = 0 (he will always lose). If then we add 50 ms of network latency to both players, P(A) = 0 still, because 55 > 50. If we instead make that 50ms delay 50ms +- 10ms (ignoring normal distribution for the moment, pretending every value in that range is equally likely), there's a 25% chance of player A experiencing an unwinnable delay (any network delay value > 55ms results in a value greater than player B's max of 60ms), resulting in a probability of P(A) = 75% * 50* = 38%.

If we make the network delay 50ms +- 5ms, then P(A) drops to 25%.
xbar·قبل 38 دقيقة
Since 4ms is already about at the limit of my input latency tolerance for snappiness, I came to a different conclusion: "Wayland VRR" is the only tolerable Wayland option.
DefineOutside·قبل 4 ساعات
You can genuinely feel just a few milliseconds of input latency with a mouse, it disconnects looking around with your physical actions. It's the same way you can feel the difference between low and high refresh rate monitors, even though you can't really count the frames themselves
JMKH42·قبل 4 ساعات
It doesn't matter. Whether you have a ping of 40 or a ping of 300, 3ms is 3ms and will mean you win a little less often.

The saying we have in bike racing marginal gains is "leave no stone unturned, but turn over the big ones first"

So sure, first make sure your internet connection is solid. Then make sure your hardware and game settings are optimizing FPS to a reasonable point of diminishing returns.

Then make sure you don't use XWayland
MBCook·قبل 13 دقيقة
Also the author is testing a game engine.

It’s possible that Gnome/KDE/whatever has wildly different latencies on X11 vs Wayland.

I’d be interested in seeing that test.

But it’s great to know the difference is so small here, which is what I’d expect.
ofalkaed·قبل 3 ساعات
I have no idea about gaming but in the music world you start noticing latency when it is above 5ms and the difference between 5 and 8ms is tangible. For the most part anything under 10ms is workable and you will quickly adapt as long as the latency is constant. Under 10ms of latency is a level of latency we are used to dealing with, if you are playing guitar and your amp is 10 feet from you, you have ~9ms of latency. Our brains are pretty good at adapting to these short latencies as long as they are predictable.

The visual latency on gaming could be different but I suspect not, I think it is more an issue that some people fixate on the latency, others just accept and adapt to it. Games do have more possible sources of latency, visual, audio and io, and if these can all be different that can be difficult; years ago I had an issue with this and midi, that one really threw me off. Games may also not model the physics of sound? does sound travel slower than light in games? That could worsen the problem since sound does travel slower in real life and we are used to that, we expect it.
michaelmrose·قبل 5 ساعات
It's very valuable data that everything is so close. It means that most folks can simply ignore it. On the other hand the inferior nature of xwayland well explains the bad rep for wayland latency.

Consider also that people neither run the latest thing nor the fastest software and remember potholes long after they are filled. EG it wasn't that long ago that wine was running on xwayland almost exclusively for instance and the majority of popular titles run via wine.
slackfan·قبل 4 ساعات
I can tell down to about a 3ms difference in lag. Actually even down to 1ms, it's not all its cracked up to be, lemme tell you.
lII1lIlI11ll·قبل ساعة واحدة
You think you can and will inevitably fail to do it in blind testing.
seanw444·قبل 6 ساعات
As far as I'm aware, you get marginal FPS gains switching kernels. It helps some. It's just a matter of whether the effort is worth it to you. The main change is the scheduler: rather than trying to evenly distribute CPU time to processes, it will prioritize bursty processes.

I've been a fan of Hyprland for gaming so far. Much more configurable for things like VRR/tearing and other precise tweaks via Gamescope than when I was on AwesomeWM with X11. Been especially nice having Lua for configuration, which finally feels very familiar with my AwesomeWM roots.
marinhero·قبل 6 ساعات
I moved to OpenSuse and have the same experience/opinion. The only caveat I had in Wayland is Game Streaming. Sunshine/Moonlight work but the input lag is noticeable and there are artifacts in the game. I go back and forth between X11 and Wayland just because X11 better for game streaming but in time I'm sure I'll go full-time into Wayland.
_kidlike·قبل 5 ساعات
I've set up sunshine + moonlight on Fedora KDE Wayland, and I've played remotely from a different country with unnoticeable input lag (using a gamepad, playing Cyberpunk). The whole thing is even behind WireGuard.

I have very fast internet on both sides, both fiber to the home, with only the tablet running moonlight being on WiFi.
wing-_-nuts·قبل 5 ساعات
When you say game streaming, is this the steam streaming stack?
_kidlike·قبل 5 ساعات
sunshine + moonlight is the streaming stack. Steam's one is pretty bad, and still only works in X11.
cgyvbunji·قبل 7 ساعات
He seems confused at the end why people think wayland is so slow, but don't you think it's because of his xwayland result? People were probably running x11 games on wayland and noticed that significant lag. Just a wild guess. Very nice article, wish people did actual measurements like this more often, of all sorts of things.
Aurornis·قبل 6 ساعات
> and noticed that significant lag

Only xwayland showed that result. The difference was only a couple milliseconds. That’s in the range where I start to doubt that people are feeling the latency difference. If it was 10-20ms I could believe it, but not when it’s a couple milliseconds.

The author of this post did a good job of getting all of the other confounding settings out of the way. It’s possible that the people complaining that Wayland was slow were starting from an unoptimized situation and as part of switching to some low latency variant they set all the correct settings.
TheTon·قبل 3 ساعات
I think the author’s use of a 500Hz display covers up or minimizes a lot of issues. It’s really easy to look at this data and say 8ms click to flash is fabulous even though he has an config that does 4ms.

A better way to interpret this data is to normalize by the vsync interval or the swap chain depth. The slowest config is 2 frames slower than the fastest. At 500Hz this is 4ms extra which is likely imperceptible to everyone but elite pro gamers. At 60Hz this is 34ms extra which is pretty noticeable to even casual gamers.
mikenew·قبل 5 ساعات
Yeah at 120hz each frame is 8ms. So you're only missing a single frame around 30% of the time.

I certainly want my latency as low as I can get it. But I'm pretty skeptical that anyone is truly feeling the difference of a couple ms.
lightedman·قبل 5 ساعات
Try musicians that are used to playing extremely high speed semihemidemisemiquavers.

We notice latency. Neil Peart could almost get sample-precise timing, he was so godlike.
gf000·قبل 4 ساعات
Humans are good at predicting stuff, and they can notice when the expected doesn't happen.

But I wouldn't necessarily say that people can notice it everywhere in every state of mind. The medium, context etc all matter a lot.
cgyvbunji·قبل 5 ساعات
You might be right, 8 ms of total end to end latency is about 1 frame at 120 hz or half a frame of 60 hz, someone would need to be quite competitive to notice that. And the baseline was 4 ms, so going from half a frame of total e2e latency at 120 hz to 1 frame, not much of a difference. Also in 2026 I'm realizing it might be doubtful that many games would still be only x11, so I'm not sure how common it would be to encounter xwayland in a game today realistically.
datakan·قبل 6 ساعات
I've been using Linux since the mid 1990's. I'm no newbie to any of this. I literally can't tell the different between X11 and Wayland when using either of them and I don't care about all the arguing. This is just Vim vs Emacs and Gnome vs KDE all over again. At this point when I see people complaining about it I just click off the page. It's all stupid and pointless.
wing-_-nuts·قبل 5 ساعات
My biggest problem with wayland was how it was basically forced on the community. It broke innumerable things for years, put all the responsibility for implementing things down on the DEs and WMs themselves.

All of this hassle, forcing so much more work on DE/WM devs, for the sake of 'better security' in scenarios that don't really apply to 99% of linux users, with the promise of 'better latency' which this very article proves is false.

I tried to be an early adopter of wayland ~ 5 years ago. Found all sorts of things broken, and I'm now using linux mint xfce edition, as hopefully by the time xfce drags itself to wayland, all the bugs and tooling will be a solved problem.
bigcityslider·قبل 5 ساعات
I don't know enough about this to have a favorite, just know the transition was rough. Like one day at work our DE had to get changed because of whatever reasons they couldn't use X anymore, and that affected more things like Chrome Remote Desktop. Years after I tried setting up Linux on an old PC and learned that Wayland is de facto default now, but not in Mint, even though Mint is supposed to be the easy one... and CRD was still finicky in either one.

Linux is about choice, but unless you're ready to write a lot of things yourself, it's outside your control how well parts of the ecosystem are supported. For an average user it's unacceptable for your entire GUI to suddenly change in a way that requires relearning, something that Mac and Windows have avoided doing at least since 2000. Even Win8 or Mac26 wasn't so disruptive. It's possibly worse for an average Linux user because they aren't just concerned with how it looks but also compatibility with advanced things like X forwarding or VNC or CRD.
michaelmrose·قبل 4 ساعات
I think Linux is about choice some folks opinions notwithstanding. It's an ecosystem where many different devs have chosen to go about the same thing many different ways. You the user then get to pick from amongst those varied and interesting choices.

It however isn't about all or indeed any of those devs being obligated to support any particular choice. You can only buy a place at the table with money or sweat and merely using something isn't contributing and doesn't get you a vote.

Arguably the problem isn't the display server its the fact that general linux usage tends to require a little understanding of what's going on under the hood than is strictly speaking desirable for joe average user especially when something doesn't work. EG needing to understand that your choice of display server is making your zoom calls not work and then having to open that whole can of worms.

The fix is honestly more labor. The trivial way to acquire more labor is with money which is hampered by the fact that so little is paid. If you want more polished stuff pay more.
wing-_-nuts·قبل ساعتين
>Arguably the problem isn't the display server

No. If you tell users they should switch to a new display server, you shouldn't be surprised if no one takes you up on it if you don't provide basic feature parity.

If you tell DE/WM devs they should use your new protocol, but say it's now their responsibility to do all these things that the old display server did for them, don't be surprised if it doesn't get much traction.

I don't for the life of me understand why wayland took off. It's provided no benefit to the average user, or DE/WM dev, and a whole lot of hassle.
inigyou·قبل 5 ساعات
And the attitude of just refusing to make things work because haha fuck you that's why. I think it was Kicad or Gimp or Blender where you can drag windows onto other windows to merge them and they had to add a warning saying this will never work on Wayland because Wayland doesn't want it to work.
wing-_-nuts·قبل 5 ساعات
By the time wayland becomes the default in xfce, maybe the wayland team will have added window positioning to the protocol...
amlib·قبل 5 ساعات
> I tried to be an early adopter of wayland ~ 5 years ago. Found all sorts of things broken

Yeah, because it wasn't ready. Pretty much no one recommended using it back them, if you thought it was ready you were either misguided or misled. It's time to put your skepticism aside and give it another try, there is a pretty good chance it's going to work great now.

Even Valve Steam OS is now adopting it. It's a pretty good sign wayland is a viable replacement for X11, while bringing it own things.
michaelmrose·قبل 4 ساعات
People were declaring it ready in 2016 10 years ago and talking about how people needed to switch off the working "obsolete" X and switch ASAP to the broken wayland.

It is completely counterfactual that "pretty much no one" was recommending it in 2021
amlib·قبل 3 ساعات
Let's ignore this point of the discussion. For how long do you think users stayed on wayland back in 2016? The vast majority of users experience was... nothing because it wasn't even being shipped by 99% of distros yet, and if they cared to sought it they used it for 5 minutes until it crashed or even 0 minutes because it couldn't even display anything on their graphics card. Very few people actually experienced and tried to use wayland for real back then. Most of them were either devs or enthusiasts.

Fast forward to 2021 and most users experience with wayland was that GDM (on some distros) would try to start on wayland mode but couldn't for some reason and would fallback to X11. Note: I do think that the distros that were pushing for this were being reckless with their users. Introducing it as an opt-in would be much better and would still lower the barrier for testing. Also, KDE didn't even offer a wayland mode, taking until 2024 for it to start defaulting to it and any other wayland desktop had to be sought after by the user.

So really, I think people only started to "suffer" wayland's wonky-ness for the last three to five years depending how you view it. And honestly the last year or two has been pretty usable.
yxhuvud·قبل 3 ساعات
Forced on who, by who? It is the DE/WM people that is driving the thing.
wing-_-nuts·قبل 3 ساعات
It is absolutely not the DE/WM devs driving this, it's the wayland folks saying that xorg would no longer be maintained. They literally just dumped an Ikea box of protocols on the table without even bothering to provide a decent sample implementation and said 'good luck!'
uecker·قبل 4 ساعات
And all the gaslighting. Using X forward basically every day but being told it is useless and broken and nobody needs it...
cwillu·قبل 3 ساعات
And don't forget the “this isn't a wayland problem” whenever a major missing feature provided by the X11 ecosystem is mentioned. Guess what: if you're going to replace the whole ecosystem, you're responsible for all the missing things regardless of your opinions of the matter.
EffrafaxOfWug·قبل ساعتين
There is a wayland equivalent. It's called waypipe. In my experiences it often works better than x11 forwarding.
wing-_-nuts·قبل ساعتين
Yeah I used x forwarding to access matlab from my uni lab from the comfort of my own home, while all the other students had to slog to the lab lol
wasmperson·قبل 4 ساعات
Sure Wayland works fine. What you're not seeing is the hours and hours of volunteer labor wasted to get it to that point. Time that could have been spent working on features users actually cared about, now wasted "adding wayland support" to your favorite applications. If you could quantify it, the waste would be borderline criminal:

- Effort spent writing sway that could have been spent improving i3

- Effort spent writing GNOME-Wayland that could have been spent improving GNOME

- Effort spent writing KDE-Wayland that could have been spent improving KDE (much of this work duplicated effort with GNOME-Wayland)

- Effort spent writing wlroots to try and mitigate the effort being wasted by people writing bespoke compositors

- Wine/Proton devs needing to waste time getting every windows application to work in Wayland

- Firefox needing to target both Wayland and X

- A bunch of graphical toolkits and window managers that were working perfectly fine but will now be "left behind" since they lack the maintainers to support a porting effort

- low-level toolkits like SDL needing to implement their own window decorations now that they're not guaranteed to be provided by the OS (what?!)

What Wayland proves to me is just how easy it is for a small number of developers to unintentionally sabotage productivity in a much larger project.
datakan·قبل ساعتين
How incredibly arrogant of you. Its their time to spend as they see fit. You get no say in that and complaining they didn't do what YOU wanted them to when YOU wanted them to do it is peak entitlement. Grow up
villish·قبل ساعة واحدة
The 'small number of developers' who no longer wish to maintain X and have moved on shouldn't be blamed.
dabber21·قبل ساعتين
It's their time, not for you to decide how to spend it
doix·قبل 5 ساعات
This is the complete opposite of those discussions. It's taking a specific quantifiable thing and measuring it, with enough information for anyone to try and reproduce the results.

It's the epitome of science, comparing it to a generic vim vs emacs flamewar which is pure subjective opinion is pretty baseless.
bigcityslider·قبل 5 ساعات
You can measure a 3.3ms difference, but whether someone will notice and care is a different thing.
t-writescode·قبل ساعتين
You can feel it, too. In particular when you’re used to smoother.

It’s like going from 240Hz back to 60Hz, or even 240Hz to 120. People can tell.
tapoxi·قبل 6 ساعات
I mean normally this type of discussion is silly, but in playing competitive shooters latency does make a huge difference, and it shows that XWayland is adding ~4ms of latency.

There is a native Wayland driver for Wine/Proton but it's enabled through an environment variable, not by default. This will probably be default in Wine 12/Proton 12 because Valve wants to squeeze as much performance out of SteamOS as possible. The gaming mode UI runs under Valve's own Wayland compositor (gamescope) already, but games are currently in nested XWayland windows.
cgyvbunji·قبل 6 ساعات
Yes, fully agree, advice like "old thing is better than new thing in this particular category" tends to not last because new thing has people actively working to make new thing good. Exceptions are when the underlying technology is inherently different like the response time of CRT and OLED (fast) vs LCD (inherently slow, keeps getting faster but will probably never match OLED).
umanwizard·قبل 5 ساعات
It's really not like Emacs/vim. I use X because it works on my setup and always has, whereas Wayland has not, despite Wayland advocates claiming it's ready and X is deprecated for 10+ years.
michaelmrose·قبل 4 ساعات
No. Wayland has been in development for 17 years. People have been claiming its been ready for prime time when it wasn't for a surprising portion of that time while it had substantial deficiencies while the boring old shit continued to work fine.

It has been ready for users whose sole usage is an editor a terminal and a browser on their single screen intel laptop as long as they didn't also open youtube since 2015.

Imagine the boss's nephew joins the firm. He knows less than nothing and is worse than useless everything he touches turns to shit. People understandably complain. After 10 years of development and other people's time he is now moderately capable at his job. People still bitch. They aren't lying or wrong. They just aren't current.
PunchyHamster·قبل 4 ساعات
well according to post, coz they are very similar. but xwayland doubles it

which is still half a frame at best so I think any blame here would be just on a particular game being slow on inputs
FeepingCreature·قبل 3 ساعات
try to share your screen on a native tool older than a few years lol
saxonww·قبل 4 ساعات
To put it in perspective: an average eye blink is 100-150 ms. The worst outcome in this test was with XWayland adding 3ms of latency. Maybe this is truly important for some exceptional pro gamers but for the majority of the world it is as you say, stupid and pointless.
retatop·قبل 6 ساعات
Isn't Wayland always one frame delayed compared to Xorg to avoid tearing or has that been changed? If so, his very high refresh rate would minimize that effect
hackernudes·قبل 6 ساعات
I don't think there was ever a design to be one frame behind.

Compositing requires the GPU to do some extra work to draw the frame to be presented. This typically takes very little time (much less than a full frame period). Additionally, most wayland compositors will bypass that extra step if an application is full screen (wlroots calls it "direct scanout").

Also some wayland compositors keep track of timing and delay the final composition until right before it is time to present the frame in order to reduce latency.
gf000·قبل 4 ساعات
And for the complete picture, X is predominantly used with a compositor, so that same extra latency exists there as well.
cwillu·قبل 3 ساعات
It's generally a single checkbox to turn off compositing in X11, for precisely this reason.
FeepingCreature·قبل 3 ساعات
You can also disable compositing conditionally in KDE, such as when a game window is opened.
Chu4eeno·قبل ساعتين
Not in Wayland, the whole point of Wayland is to make stuff the X server + compositor + various other bits into the window manager.
seba_dos1·قبل 4 ساعات
Tearing can theoretically improve latency for the part of the screen that's below the tear, but in any case where you could actually benefit from it the difference would be at least order of magnitude smaller than the duration of one frame.
its-summertime·قبل 3 ساعات
the statements of wayland being slow or not need a lot of context: what version of the game they played, the display server, the game settings, the display server settings, the monitor's feature set, the video card's feature set, the video card driver version, etc.
superkuh·قبل 7 ساعات
You can't just test one wayland compositor and talk about the performance of all wayland compositors. They're vastly different, especially when it comes to the extensions to wayland needed to handle input devices (ref: https://wayland.app/protocols/). It's not like how xorg is the standard strong reference implementation for X11 everywhere that works the same everywhere.

What's probably happening is that other wayland compositors are slower than KDE Plasma wayland which he tested. And people report that experience. Some other wayland compositors might even be faster than plasma. But what is for sure is that every wayland is very different from every other wayland.
hparadiz·قبل 6 ساعات
You will also get different results by gpu, compiler, kernel, architecture, and then of course compositor. Even a slightly different version of some lib might throw off the results.

In any case the methodology in the post is sound and should be used for benchmarking in the future.
superkuh·قبل 26 دقيقة
The methodology works and it's a fine result. But it's important to remember that talking about one wayland is not talking about all waylands the way talking about xorg/X11 is.
zamalek·قبل 6 ساعات
And FWIW, KDE probably make the most effort with their compositor. They have historically been well ahead of the curve for things that might affect this (e.g. VRR).
Aurornis·قبل 6 ساعات
This used a 500Hz display which hides a lot of the problems that would show up on slower displays.

The XWayland result is 3ms slower, which at refresh rates this high makes me wonder if it was one frame behind.

Running the tests at 120Hz or even 60Hz might be more interesting because we could start to separate out very small differences in timing from the much larger effects of being a full frame behind.
url00·قبل 4 ساعات
Something interesting is the author right away wants to isolate and reduce placebo. But surely, latency is all about "placebo" and "vibes" and "feel" is it not? The ultimate test is how it feels to use on a personal level.

Of course, where gathering this sort of data _is_ useful is diagnosing and fixing real latency so it obviously has merit. I just think it's ok to lean on taste and experience for most things UI/UX, including latency.

Another point, by couching the comparison in a less technical form (for example, rating a configuration/setup out of 5 stars or some similar approach), it protects from being "too methodological" during testing and data-gathering. One possible issue with the author's methods is if there are degenerative cases that are common in the day-to-day experience of a given configuration, they are unlikely to be present during the precise test that they have setup.
httpsterio·قبل 4 ساعات
Can't say that I agree. I play rhythm games on a national level and benchmarking and reducing input latency is very important in those games.

The games I play (ITGmania) measure accuracy to the tenth of a millisecond, any fluctuation in your hardware latency can ruin your scores and nothing really is more annoying than an inconsistent setup where the latency change between or during a session is absolute hell.

Vibes and latency don't belong in the same sentence at all imo.
cwillu·قبل 3 ساعات
It's vibes when you don't have the tools to isolate and measure it. It's unfortunate that “vibe” is almost always pejorative these days.
noAnswer·قبل 3 ساعات
> But surely, latency is all about "placebo" and "vibes" and "feel" is it not?

Not sure if I can follow but...no?! My first TFT-TV had 2 seconds input lag. Impossible to play video games on it. That has nothing to do with feelings.

Already 10ms delay has a measurable effect: https://www.youtube.com/watch?v=5qjSGEOEaXo
tverbeure·قبل ساعتين
> But surely, latency is all about "placebo" and "vibes" and "feel" is it not?

In the case matters most, it's not a placebo.

Imagine 2 FPS players with identical ability who play against each other. If one has a system with 4ms latency and the other has one with 5 ms latency, the former will statistically have the upper hand, even if the players can't, in isolation, notice a difference between the 2 systems.
seba_dos1·قبل 7 ساعات
There's no such thing as "Wayland input latency". It's just a word salad, akin to "HTTP animation smoothness". The post is measuring Xorg vs. KWin (and also XWayland), other implementations of either X11 or Wayland will have different characteristics.

I wonder where the XWayland's added latency comes from though, it seems suspiciously high to just be easily hand-waved as overhead.
9029·قبل 3 ساعات
Another post suspects Nvidia drivers: https://davidjusto.com/articles/m2p-latency/#results
seba_dos1·قبل 3 ساعات
Oh yes, that makes a lot of sense.
markasoftware·قبل 6 ساعات
Yep, OP should certainly retest under gnome. Im not in the weeds myself but I get the vibe that gnome's wayland compositor is somewhat faster and more carefully designed than kwin (at least, Emacs in pgtk mode does substantially better under gnome, whereas on Kwin it uses substantial cpu when scrolling and even lags a bit at high resolutions)
umanwizard·قبل 5 ساعات
This is an annoying style of argument from Wayland fans.

Wayland fan: You need to switch to Wayland. X is deprecated and has been for years! Wayland is the future.

User: Okay, I tried, and it's broken/worse.

Wayland fan: No, you don't understand, Wayland is just a protocol. It's your implementation of Wayland that is at fault, not Wayland itself! Wayland is still great!

User: But X was working fine...
seba_dos1·قبل 5 ساعات
Is this some kind of Pavlov's dog reaction? That's not what my comment was about, and even if it was it wouldn't make any sense anyway as KWin had good results in these measurements.
cwillu·قبل 3 ساعات
It's exactly what your comment was about: the same boring motte and bailey fallacy of “you don't understand, wayland is a protocol”

If your protocol you pushed to replace a working implementation invites a dozen poor implementations which people routinely confuse, that's a problem with the protocol and the push to get people to use it.
seba_dos1·قبل 3 ساعات
Looks like this pavlovian reaction is quite widespread. It's baffling how can you so confidently miss the point.
somat·قبل 47 دقيقة
It is a weird argument because X11 is also just a protocol. Sure at this point there is only really one server left in the wild(xorg). But historically there have been more.

And on that topic a question I have, seeing as wayland is "just a protocol" why can't the client application talk to the compositor server over a network socket instead of a unix domain socket? Update: reading the spec I found my answer, Wayland buffers are shared memory surfaces... So really wayland is not "just a protocol"
kelvinjps10·قبل 13 دقيقة
Aren't most games in XWayland? so it means that basically most games run way slower in Wayland.
Benjamin_Dobell·قبل 6 ساعات
Been dealing with this a bit at Breaka Club. We teach kids to code with a modded version of Overcooked 2!.

We stream OC2[1] with our mod preinstalled over WebRTC. This ensures that kids/schools don't have to try and install the mod. This is particularly important since we support running on school provided hardware. Installing a game without a mod would be hard enough. Added advantage though is kids play with a virtual (on screen) gamepad on iPads in Mobile Safari.

Game instances run in Docker containers in Kubernetes/k3s atop very outdated nVidia hardware. Given we're already going across the Internet into school networks, we've tried very hard to optimize latency across the board. Using NVidia NVEnc with DMABuf (zero copy) etc. We're unfortunately using XWayland at present so experience the documented input overhead. Although our inputs are virtual devices at this point, so the overhead may be a bit different. Trying to optimize this whole thing end to end has been a challenge. I would say that performance is currently "acceptable".

OC2 coding: https://www.youtube.com/watch?v=ITWSL5lTLig (not streamed in this case)

[1] We've bought a limited number of copies of OC2 and pods claim a license on startup. If we're at capacity, kids play something else.
hs86·قبل 6 ساعات
It looks like consoles and PCs have settled on somewhat different gaming configurations. Consoles usually try to target a fixed output frame rate, while the resolution is often dynamic. On PCs, by contrast, the resolution stays static, while the frame rate and frame-time pacing are dynamic. How does this fit into the latency discussion?

Especially in competitive gaming, I often see people targeting frame rates way beyond their display’s refresh rate. I’m not sure whether this actually provides a real benefit or whether they’re chasing a placebo effect.

Am I out of touch, or is it the children with colored LEDs on their DRAM sticks who are wrong?
Cieric·قبل 6 ساعات
As someone who is in the rendering space for work. Having a higher framerate does help, but in a weird way. Basically the start of the frame rendering is what mostly dictates where objects are rendered. By getting a higher framerate the position of objects that you see in game are much closer to their "real" position. So it's less about seeing more frames at that point and more about seeing the most up to date information possible. Technically it could be possible to render the frame in sync with the framerate and just offset the rendering so it finishes right before it's pushed to the screen, but if you're slightly wrong you'll get really bad stuttering and the execution time of gpus and the cpu submitting the work isn't really deterministic.
colechristensen·قبل 6 ساعات
As the frame rate goes up the lag between the game state and display state goes down. It doesn't matter that the "extra" frames aren't displayed, the frame that is being displayed needs to be as up to date as possible.
Cieric·قبل 6 ساعات
Yes, thanks for saying it more concisely/clearly than I did. Just cause I understand something doesn't mean I'm good at explaining it.
Aurornis·قبل 6 ساعات
Many PC games have dynamic resolution, too. The reason consoles target 60fps is because that’s the frame rate you get with most TVs and everyone playing the game has the same hardware (or couple variants).

> Especially in competitive gaming, I often see people targeting frame rates way beyond their display’s refresh rate. I’m not sure whether this actually provides a real benefit or whether they’re chasing a placebo effect.

A newly rendered frame can cut-in during scan out. This shows up as tearing artifacts where the frame is changed while being sent to the display, but it allows fresher pixels to hit the screen below that tearing line. So each frame on the monitor can be a mix of multiple rendered frames.

It’s not as good as having variable refresh rate display with high refresh rate, but it does reduce latency.

For less action based games it’s common to turn vsync on and pace the frames to the refresh rate to eliminate this tearing.
0x457·قبل 6 ساعات
Consoles target 30fps though. Very rarely they target 60fps and even less rarely they can reach that.
Narishma·قبل 6 ساعات
That's outdated information. Most PS5 and the equivalent Xbox games target 60 fps nowadays. It's usually huge news when a game is only 30 fps.
0x457·قبل 6 ساعات
Well, new GTA is 30 fps only. Some (most?) games have performance vs quality toggle. Quality mode being 30 fps, and performance mode looks too ugly.

Sure "only 30 fps" is big news, but pretty sure "quality mode target 30 fps" is still norm.

In Xbox, many games launched at 30 fps only, then gained 60 fps mode.

Until I see majority target at least 60 fps as minimal mode, my point IMO stands.
wing-_-nuts·قبل 5 ساعات
Depends on the game. Many shooters have always targeted 60 fps (COD / BF iirc). A single player game may well target 4k30hz unless the user selects 'performance mode'.

In the PC version Resident Evil 5, hit reg with a particular boss is tied to fps, so I had to lock it to 30. Going from 165hz to 30hz was noticeable, everything above 60 just felt a bit smoother to me but 30-60 was night and day. I rarely notice it when playing on console.

Ironically the only game where I've ever felt I had to enable performance mode was Life is Strange. Not the sort of game you'd think would suffer from 30hz!
0x457·قبل 5 ساعات
I had to turn on performance mode for some fights in Expedition 33.

> Depends on the game. Many shooters have always targeted 60 fps (COD / BF iirc)

Define always. I don't know about COD, last COD I played on console was targeted 30 fps on PS3 and the same was true for every PS3 shooter. BF5 ran at 50fps on average. Battlefield is really an exception to the rule because they lowered graphics waaaay lower than on PC to get reach 60 fps. IIRC ps5 Pro can reach whole 120 Hz in BF6.

PC ports of Capcom games are always piss poor so no surprise there.

Biggest FPS surprise FPS for me was Destiny 2 where PvP damage to you was tied to your FPS.
TiredOfLife·قبل 4 ساعات
That's outdated information. Most PS5 and the equivalent Xbox games target 30-40 fps nowadays. With an additional performance mode that targets 60 fps, but with lower quality
rcxdude·قبل 6 ساعات
Framerates beyond your display's refresh rate are not completely pointless, though a bit wasteful: they do mean that each frame as it is displayed shows a more up-to-date representation of the game state than if your framerate is matched to your refresh rate. In principle you don't need to render the excess frames: ideally your frame time is predictable enough you can kick off the render just before the display refresh, but the penalty is that if you miss the deadline you get some pretty jarring jankiness.
Telaneo·قبل 6 ساعات
> I often see people targeting frame rates way beyond their display’s refresh rate. I’m not sure whether this actually provides a real benefit or whether they’re chasing a placebo effect.

If they are chasing a placebo effect, it's a really powerful one, since all the actual competitive people are often willing to sacrifice all detail and quite a lot of resolution to get those stupid high frame rates.

I can see the difference too, but the diminishing returns usually make it not worth it, since I prefer the eye candy better details and higher resolutions give me.

Also, some games can adjust the resolutions on the fly to keep a consistent frame rate. It's only become a feature on modern games, but I believe that's mostly a historical accident. PC games could often run on much worse hardware than they were actually designed for (with minimum requirements often being absolute minimums, and not 'this is what we developed for'), so people played them on low frame rates, so that kind of jank was often more culturally accepted on PC, and if you didn't want that experience, you could always upgrade. While on console, there was no upgrade path, and games were optimised for that one config, and thus never allowed to drop too far into the red (and dropping resolution is often a better option in those cases).
drdexebtjl·قبل 5 ساعات
There’s an argument to be made that dropping all unimportant detail could make professional players react faster even if it doesn’t improve end-to-end latency in the PC.

This is something that could be tested experimentally, but isn’t, because the subjects we would need to test this on are all sponsored by hardware vendors.
Telaneo·قبل 5 ساعات
A fair argument at least for some games.

The games I have in mind though still have those details present on lower settings. Instead they just look like shit rather than disappear. To be fair though, that just might make those details have higher contrast and not fade into the background as much.
drdexebtjl·قبل 4 ساعات
Yeah. I think there are so many hypotheses we could test if professional players were willing to do these experiments.

For example, it used to be popular among competitive CS players to use 4:3 resolutions on 16:9 monitors. Since the target’s vertical position is much more predictable than its horizontal position, it’s supposedly easier to aim if the image is stretched wide.

But these games only presented 4:3 options at low resolutions. This might have introduced the notion that low resolutions provide an advantage in general.
Telaneo·قبل 3 ساعات
It's become less common to play in 4:3 over the years. The additional peripheral vision has become too obvious a benefit to not make use of.

It's probably mostly a habit thing. Most of the pros started to play these games back in the 90s, when 4:3 was the standard. Add in that playing all the low resolution options are 4:3 (and the 16:9 equivalents will add resolutions rather than take it away; the 1080p is usually 16:9, so 1920x1080, but 4:3 1080p does exist, and it's 1440x1080, which is a lower resolution), it's no wonder 4:3 stuck around as long as it did.
kev009·قبل 3 ساعات
It's chronoception effect, not placebo effect. Standard literature claims humans can readily visually perceive 60-90Hz, and perhaps somewhere 500-1000Hz for ghosting. Note that all this is somewhat tangential to the article which focuses on _input latency_, I think the author is driving the high refresh just to minimize _output latency_ as much as possible from the test.
0x457·قبل 6 ساعات
> Especially in competitive gaming, I often see people targeting frame rates way beyond their display’s refresh rate. I’m not sure whether this actually provides a real benefit or whether they’re chasing a placebo effect.

In video games you essentially have one giant loop that runs every frame (today it's more than that, but at its core it's still that). Producing frames faster than the display’s refresh rate can still reduce input latency because the next display refresh is more likely to use a recently generated frame. It does not necessarily mean the game receives more input events, but it can process and reflect those inputs sooner.

Not placebo, but diminishing returns become significant, and the benefit depends on frame queues, VSync, VRR, whether the game is CPU- or GPU-bound, and how its input and simulation loops are designed.
redox99·قبل 6 ساعات
Running above the display refresh rate is only decent when you are wayyyy above it, at least double. If you have a 120hz display and run something variable around 150fps, its much worse. But 500fps does help, you're basically seeing more recent frames as it scans the screen.
Night_Thastus·قبل 5 ساعات
Consoles are more and more supporting VRR, as are televisions.

But yes, given the limitations of the hardware, they often offer two modes - a high framerate but lower quality mode and a high quality but lower framerate mode.

>I often see people targeting frame rates way beyond their display’s refresh rate. I’m not sure whether this actually provides a real benefit or whether they’re chasing a placebo effect.

Pixel refresh is only one part of latency. A higher framerate will lower several other parts of the overall latency. Monitors Unboxed has charts that visualize the amount of latency for each step.
robrtsql·قبل 4 ساعات
I have found that input latency is a LOT more acceptable with a controller than it is with a mouse.

Playing a cinematic game with a controller (especially with auto-aim) at 30FPS with vsync is fine. Playing a first person shooter with a mouse, or a game where you control your camera with a mouse, at 30FPS with vsync feels very bad.

That's my theory on why the priorities are different, at least.
shakow·قبل 6 ساعات
> I often see people targeting frame rates way beyond their display’s refresh rate

Could this be to reduce input lag?
lightedman·قبل 5 ساعات
"Especially in competitive gaming, I often see people targeting frame rates way beyond their display’s refresh rate. I’m not sure whether this actually provides a real benefit or whether they’re chasing a placebo effect."

Depends on the engine. Anyone remember Quake 3's multiple of 3 frame rate speed hack?
wao0uuno·قبل 4 ساعات
coldblues·قبل 4 ساعات
Addressing all the people here talking about latency of under 10ms, I direct you towards these:

https://www.youtube.com/watch?v=vOvQCPLkPt4

https://www.youtube.com/watch?v=fE-P_7-YiVM

https://news.ycombinator.com/item?id=42832155
torginus·قبل 6 ساعات
I am not super familiar with Wayland, but basically how composited rendering under X11 works, is if you have a fullscreen window, you can give an 'unredirect' hint to the compositor, in which case when nothing else is drawing your screen, it will stop compositing, and pass your app's swapchain directly to the screen.

This is pretty much optimal, and you can't really do much better than this.

Once a stray window appears on top, or something makes the compositor think it can't do this, it'll do the intermediate step of compositing your app window with others into a temp buffer, and render that.

Sometimes the unredirect breaks for some reason (I remember a case where for some inexplicable reason my app kept creating a window 1px smaller than the screen height), or you use XWayland, you get bad latency.

Since this is a fundamental constraint, other compositors on different OSes must work like this, and you can run into issues like this as well.

Another thing - Wayland afaik started exporing 'display planes' - which are a HW feature of GPUs, that allow it to composite multiple layers together - which means the game can render at full FPS and all the windows on top will be drawn into a different plane and get composited with no ill effects - not sure if this is actually used in production yet.
__mharrison__·قبل 4 ساعات
I need to look into this more. I was trying to vibe code an OBS plug-in just last week to measure sync between audio and video.

My system flashed the screen white and played a note. The idea was to have the camera detect monitor brightness and detect the offset from the audio note. I'm practice the brightness of a 40 inch TV didn't seem to impact the video of the insta 360 link webcam.

(I ended up vibe coding a Python GUI to quickly allow me to push through video frames and show the audio frequency. I could quickly type 'v' (video) where I clapped and 'a' (audio) where the waveform changed. It would then tell me the offset...
criddell·قبل 5 ساعات
These results are way better than what Dan Luu measured almost a decade ago:

https://danluu.com/input-lag/

Even if everything else is perfect, display latency on modern panels is 1-3 ms. So all of the input processing and display pipeline can't be taking more than a millisecond or two and that's remarkable.
tokyovigilante·قبل 57 دقيقة
This is great but it would be even better if 60Hz results were also presented.
bsimpson·قبل 6 ساعات
The Rock Band guitars have a photoresistor for precisely this purpose: the screen flashes and the guitar responds when the light hits it. It helps make the otherwise very painful calibration process transparent.

It would be so cool to get that to work in Linux. I know the instrument code is in hid-sony. Here are some open tabs I've got in case anyone's curious:

- https://pascal.giard.info/techreports/nguyen-daniel-autocali...

- https://www.niangames.com/articles/reverse-engineering-rockb...

- https://github.com/torvalds/linux/blob/master/drivers/hid/hi...
YmiYugy·قبل ساعة واحدة
Seeing a comparison of different Wayland compositors could be very interesting.
stusmall·قبل 7 ساعات
Great article! Thank you. Also in case others walked away with the same question I had, I'll save you the googling: use the utility vrrtest to help validate if VRR is properly configured on your machine.
saltcured·قبل 5 ساعات
The input latency that has been driving me crazy lately is the screen unblank latency to allow input to a program.

E.g. I have an old laptop running a browser playing some internet radio stream. Eventually the screen blanker (without locking) activates.

Some real life event makes me want to hit the space bar to pause music. But the modern screen blank has decided that it should eat/ignore key presses while blank. So hitting the key doesn't pause music. I have to wait for the screen to light up before it will be possible to trigger the pause, and this delay feels interminable!

I seem to recall that in the old days the input remained active to the focused window even if the screen was in a power saving state. This power saving was not conflated with screen-lock security etc. I much prefer that. I think this was because DPMS power saving was an underlying X server behavior, not delegated to a screensaver/lock application?

I'd also be partially satisfied with the async behavior of old terminal programs. My inputs should be buffered and processed even if the effects haven't returned to the screen yet. Then I could at least hit keys twice and be trained to know that one would unblank, the other would pause, and all would be well (eventually).

The current behavior is like having a temporarily numb hand, and being frustrated waiting for sensation to return before I can operate anything!
wing-_-nuts·قبل 5 ساعات
Question, does your monitor have a KVM? Cause I definitely notice this behavior, even on windows and os x with my monitor. I believe it was the same way on linux as well but it's been a minute since I used linux on my desktop
saltcured·قبل 5 ساعات
This is actually a laptop with its builtin display.

Edit to add: I don't think it has too much to do with display latency.

It is some convolution of the desktop environment and display server deciding that keyboard input doesn't go to the focused window while it is in this nominal screen blank state. This Fedora 43 on a boring generic Thinkpad.
sellmesoap·قبل 5 ساعات
I appreciate the article, it's cool to see such small differences across all those settings! It says they learned to solder, if you see solder joins that look like those in the first picture, keep learning! Those are some dry joins, which can easily lead to failure, or intermittant signal loss. Soldering can be a touchy sport!
hoechst·قبل ساعتين
OP here, thank you for the feedback. I will keep it in mind for the next time I'm soldering something.
abc42·قبل 4 ساعات
Huh. I turned on PROTON_ENABLE_WAYLAND=1 when it became available and didn't notice any change in input lag. Probably one of the many reasons why I'm not a competitive player.

I also don't like to play above 60Hz.
maltelau·قبل 4 ساعات
At 60 Hz, there are 16.6 ms between frames, so the ~3 ms improvement from not using XWayland would be very hard to notice visually. Where it can make a difference is that some competitive FPS games have some kind of client side hitscan or lag compensation and often play at high refresh rates, so there it can actually matter that their system reports to the multiplayer server that you clicked in the right place a couple of milliseconds earlier.
casey2·قبل 30 دقيقة
The article stops halfway through. For developers to do serious work fixing the flaws of wayland they need to know what is causing those hiccups that some users are getting. Not just run wayland on a 500hz monitor and say #NOT_A_PROBLEM #WONTFIX
teodorlu·قبل 5 ساعات
Very interesting!

Latency numbers are written with three significant digits (4.21 ms). I'm curious about the accuracy of the measurement device. If it can measure tens of microseconds, I'm impressed. If it can't, the conclusions in this article should be taken more coarsely.
zaik·قبل 4 ساعات
> it starts collecting samples from the photodiode (every ~24 µs).

They also have repeated measurements which improves the precision.
haunter·قبل 6 ساعات
SteamOS and Bazzite both use Xwayland through gamescope which is the worst option as it seems https://github.com/ValveSoftware/gamescope

>Avoid XWayland. It added 3.13 ms of latency, more than all other effects combined.
wao0uuno·قبل 4 ساعات
Whole 3.13ms? Man idk shit’s unplayable now.

When rendering 60fps on a 60Hz display every frame takes approximately 16ms to render. Then you have to add TV latency that’a probably around 20ms unless you have a very nice OLED TV. Wireless controller latency is around 8ms I think? Then your imperfect human brain adds even more latency especially when you’re tired after work. That 3ms is not perceivable. Make that 5ms even. Nobody would be able to tell a difference in a blind test.
upboundspiral·قبل 6 ساعات
gamescope is a custom wayland compositor that Valve built for gaming... In steam big picture mode there is no xwayland or anything, just gamescope.

What you are reading from the readme notes that it calls into xwayland only when gamescope (wayland compositor) is nested within another compositor (say kwin or mutter).

gamescope itself is wayland only, and when run on SteamOS is has no xwayland latency...
seba_dos1·قبل 4 ساعات
What you're saying doesn't make any sense. Gamescope is essentially a XWayland-only compositor (with some basic xdg-shell support that's disabled by default). All games on SteamOS go through XWayland.

It doesn't yet mean that it suffers from the latency measured in the article, as the problem could very well be in something else, such as how KWin integrates with XWayland or how GPU drivers interact with it (especially that Nvidia drivers have a history of making XWayland suffer).
bionade24·قبل 4 ساعات
gamescope absolutely can have Xwayland child panes & this is currently the default on SteamOS running games with Proton, unless PROTON_ENABLE_WAYLAND=1 is set in the game options.
AlienRobot·قبل 6 ساعات
I'm not sure I understand. If X11 software requires a X11 server and you have a Wayland compositor, how do you "avoid" XWayland?
Telaneo·قبل 6 ساعات
I have a vague memory of (X?)Wayland being much worse than X11 before, and some patch or protocol making it out to all the relevant implementations, but I might have imagined that, since these result show virtually no difference, and only XWayland shows a marginal difference.

Or maybe it just came out of nowhere and was never true.
Havoc·قبل 6 ساعات
Using Wayland (hyprland) for daily driver and it's the happiest I've been with an OS in a long time on feel. Feels crisp in that spartan way that windows & macos just don't - no animations, taskbar, popups or god knows what else.
inigyou·قبل 5 ساعات
I guess you'd feel the same in i3 or Xmonad as well.
bee_rider·قبل 5 ساعات
That’s interesting. Hyprland, spartan? It’s the fancy everything-and-the-kitchen-sink tiling WM, isn’t it?
Havoc·قبل 4 ساعات
Spartan...haha...I mean it's all relative. Certain relative to the other two boxes I use daily - macos & win.

I do know it is favoured by ricers with animations & transparency but I just use it to tile stuff. Think I selected it over sway & i3 due to wayland support at the time. Not sure.
somehnguy·قبل 4 ساعات
Well written article with a lot of interesting info. I do wish there was a comparison to Windows as well though, as a frame of reference.
eaf7e281·قبل 5 ساعات
Really hope to see a Windows result. What if Windows has a latency of 10 ms+. xD
PcChip·قبل 7 ساعات
I saw a very similar post a month or two ago, is this the same author?

edit: no, this is the one I was remembering: https://farnoy.dev/posts/linux-latency
boomskats·قبل 6 ساعات
A lot of people conflate Wayland being worse than X11 with Gnome on Wayland being worse than Gnome on X11.

Wayland has been great for me for a few years now. I don't use Gnome or nvidia though.
doubled112·قبل 6 ساعات
If I understand the semantics of it all correctly, in that sense, there is no such thing as "Wayland". It is all a little bit confusing compared to the X11 ecosystem.

You don't run GNOME on Wayland. You run GNOME's Wayland compositor, which is an entirely different implementation than Plasma's Wayland compositor.
boomskats·قبل 5 ساعات
That's what I mean though.

I've not used gnome for years, but I have a vague memory of gnome/mutter running on a single main thread which used to lock up quite a lot (javascript etc). And because in X it was X that used to manage things like rendering the mouse pointer every frame, whereas in Wayland it flipped to mutter having to do it directly, the stalls were way more obvious in wayland than X, which is where I think a lot of this perception came from.

Again, not sure how much of this is accurate, but that's the point I was trying to make.
seba_dos1·قبل 4 ساعات
Yeah, I believe Mutter is directly responsible for a lot of bad rep Wayland gets. It got better in many areas, but the damage is done.
gfxfan·قبل 6 ساعات
I wonder though, updated pixels might not have the same latency on the whole screen, and it might even be affected by some updates mechanisms, like panel replay. I.e. it would have been interesting to also measure the screen position as a dimension.

Also, both the input latency (usb controller, and its driver), and screen latency (input latency + processing + update delay) are supposedly also affecting all measurements, but hopefully somewhat consistent or at least filtered out.
clodecloud·قبل 6 ساعات
Linux is underrated and is only getting better. I am building a linux cloud platform so we can build unity and Godot games with mcps right in your browser. Not only is Linux the only option but I have realized it is the best option for AI
DarkmSparks·قبل 5 ساعات
The main issue is with mouse movement rather than clicks tho...
Night_Thastus·قبل 5 ساعات
Clicks and mouse movement do have different latency, but it doesn't matter for this test. The click is the constant part to show relative positioning of X11/wayland/low latency/vrr/etc. The relative performance should be the same ranking for mouse movement, just with different exact values.
DarkmSparks·قبل 4 ساعات
Different order of magnitude in my experience.

Wayland mouse movement lag is/can be/could/was in the order of several hundred milliseconds.

Its that that people notice, not 3 or 4ms difference in click response.
shmerl·قبل 7 ساعات
> A lot of people still use X11 over Wayland because Wayland is said to have much worse input lag

Wayland is fine. People should use AMD and KDE Plasma.

I'd avoid Nvidia to begin with.
BearOso·قبل 6 ساعات
Yeah, this particular experiment doesn't reveal much because the Nvidia driver is a black box. We know in the past it used its "composition pipeline" in Wayland situations, and that was a particularly noticeable increase in latency. Plus, for a while the Nvidia driver also was stuck on software cursors. And even on the DRM path the big two compositors only updated input once every frame, which was the reason for it "to have much worse input lag."

edit: I should also point out the mouse acceleration curve, which if you don't fix it is different between X11 and Wayland compositors. That really messes up the "feel" of things.
bigyabai·قبل 7 ساعات
AMD's Mesa drivers are better, but if you already have an Nvidia card then you can still use it just fine with Wayland.

The biggest hit is Vulkan performance (~20% less than Windows iirc) but for desktop and casual gaming use, Nvidia's proprietary drivers are perfectly fine.
tfrancisl·قبل 6 ساعات
Seconding this. I'm not happy with the fact that the drivers are proprietary, I really prefer FOSS. But, I am tired of having to deal with FUD around performance and issues with NVIDIA devices which simply don't exist at scale.

I have friends who are stuck on Windows not because they play games with Windows-only anticheat, but because theyve been told by GNU heads that NVIDIA drivers simply don't perform acceptably on Linux.
im3w1l·قبل 6 ساعات
Firefox is software rendered on linux-nvidia which leads to a bizarre situation of simple web animations lagging on decent computers.
shmerl·قبل 5 ساعات
I'd say it's deserved, not FUD. Nvidia did improve in some ways, but it's still way too heavy into blob even in case you plan to use it in the future with nvk. Nouveau / nova developers explained that Nvidia pushed a lot more into their firmware than AMD, turning the kernel driver into more of a shim than an actual driver. That's already a big downside.
bigyabai·قبل ساعتين
It's a tradeoff, and if you're not doing any fancy-pants CUDA work then it's a pretty big one. But most people are already using these blob-heavy drivers on Windows, so switching that same system to Linux is not a huge downgrade in terms of usability or stability. It isn't recommended for new Linux PCs, but it's not a dealbreaker for people switching OSes (anymore).
modeless·قبل 6 ساعات
This is awesome. I would like to see tests like this done at 60 Hz as well, and also with non-3D apps. I suspect the results might look different in those conditions. A 500 Hz monitor is not the common case. 2ms is a whole frame!
dosisking·قبل 5 ساعات
I wonder how FreeBSD X11 compares to Linux X11
ElijahLynn·قبل 6 ساعات
Wow, love this!! This is what makes HN great!
hparadiz·قبل 7 ساعات
Amazing work. Thank you for putting this together.
closeneough·قبل 5 ساعات
How does Windows compare to this?
dreamlayers·قبل 6 ساعات
Why isn't Wayland better than X11?
inigyou·قبل 5 ساعات
It's defective by design, in a DRM kind of way. It's designed to lack features and make them difficult to implement.
seba_dos1·قبل 4 ساعات
Because when it's done right it's not the compositor/display server that's the bottleneck.
overtone1000·قبل 7 ساعات
This is why I read Hacker News. Thank you.
calvinmorrison·قبل 6 ساعات
X11 is a protocol. Xorg is an end of life'd project run by the Wayland team.

Xlibre is an actively developed and maintained X11 protocol display server.

Xfree86 is dead, long live Xorg. Xorg is dead, long live Xlibre!
anthk·قبل 4 ساعات
Xenocara does it better than XLibre.
feverzsj·قبل 6 ساعات
Yes, we know wayland is not only slower but also with much less features.
xyst·قبل 6 ساعات
Very interesting analysis and setup.

I wonder what is considered "unnecessary programs" by the author. Is "apparmor" or sandboxing considered in this? Or just user space applications (browser, discord, …).

I wonder if input latency would be improved if you ran setup as `root`. I wouldn’t do it for security sake, but just curious
hoechst·قبل ساعتين
Hi, OP here. I just made sure no other user space application were running. Something that basically can be reasonable expected by a person that cares about game performance to do. For example, no one would stop sshd before their gaming session, but closing a Browser is reasonable imo.

That said, this is a pure gaming PC with a Desktop Linux installed, it's not like there's a lot running on there in the first place: no 5 random docker containers, no AppArmor and nothing in kernel space other than what comes by default with CachyOS.
esseph·قبل 7 ساعات
From the "Similar Efforts" section toward the bottom:

---

David Ramiro built his m2p-latency and compared X11 vs Wayland in his article Building an Input Latency Meter (Because ‘Wayland Feels Off’ Isn’t a Metric) as well, coming to similar conclusions:

Native Wayland is on par with native X11 (all tied at ~7 ms), while XWayland roughly doubled the latency in his tests.

farnoy did extensive testing with the Open-Source-LDAT in his post Linux latency measurements and compositor tuning, also concluding that XWayland should be avoided.
delusional·قبل 4 ساعات
Hey, I made one of these too[1]. One of the cool things about my implementation is that the sample loop is carefully written in cycle counted assembly to sample the ADC of the teensy 2.0 at the absolute maximum frequency. I like your blogpost a lot more than mine though.

[1] Github: https://github.com/DelusionalLogic/Frametime, Blogpost: https://www.jnsn.dev/posts/frametime/, and followup: https://www.jnsn.dev/posts/fastisslow/
hoechst·قبل ساعتين
That's awesome, odd that I did not come across your project when i was researching this. I'll make sure to read your posts and source code.
heyyyshiv·قبل 4 ساعات
great
inigyou·قبل 5 ساعات
This website uses IP address blocking to censor itself, and deserves to be publicly shamed for it. Here's an archive link: https://archive.is/hrYZ6
hoechst·قبل 5 ساعات
Hello, this is my website and I do not know what you mean by this. If you give me technical details (like the subnet your operating out of), I can take a look at it.

My webserver is using crowdsec (https://www.crowdsec.net) to ban malicious IPs and I would guess that you are somehow unintentionally affected by this.

You can also test your IP by entering it into the crowdsec website to see if it is affected.
inigyou·قبل 4 ساعات
There you go then. Thank you for confirming my determination of IP blocking. The archive link above may work for the users you censor.

Paying $1900/month for an IP address blocklist for a website? Yikes.
hoechst·قبل 3 ساعات
Yes, I am determined to shield my servers from malicious actors and bots that attempt to exploit it. This sometimes can lead to false positives and I am willing and cooperative in rectifying this to allow open access to real people that want to access the services I provide and make sure stuff like this won't happen again.

The security and availability of my servers is as important to me as the ability for anyone to access the public services I provide. Which is why I responded to you immediately and asked for your cooperation to help me fix the problem.

You not being cooperative helps no one. Not yourself, not other people with the same issue and not me who's trying to fix it.

Crowdsec is free btw, I do not pay anything.
inigyou·قبل ساعة واحدة
The most secure shield is to drop 0.0.0.0/0. IP addresses can't be malicious - they are just numbers.
abhinavk·قبل ساعتين
That's the price of Enterprise/Business plan. He might be using the free community version.