←back to thread

402 points _JamesA_ | 1 comments | | HN request time: 0.311s | source
Show context
haswell ◴[] No.44382004[source]
In my purely anecdotal experience over the last few years, performance ranking is as follows:

1. Steam on Linux via Proton + Wayland (Niri)

2. Steam on Linux via Proton + X11 (Xfce)

3. Steam on Windows

4. Games on Linux launched via other means (it's possible I was missing out on certain flags/optimizations, but this is just about the average experience)

The biggest thing I noticed when switching to Linux was an improvement in framerate consistency, i.e. I'd have fewer situations where the framerate would drop momentarily. Games felt more solid and predictable.

The biggest thing I noticed when switching from X11/Xfce to Wayland/Niri was just an overall increase in framerate. I'd failed this jump many times over the years, so it was notable when I jumped and stayed there earlier this year.

It does feel like games take longer to launch on average, but this makes sense given the fact that it's launching via Proton/Wine.

replies(7): >>44382091 #>>44383557 #>>44383847 #>>44383952 #>>44384146 #>>44387486 #>>44388956 #
badsectoracula ◴[] No.44384146[source]
> The biggest thing I noticed when switching from X11/Xfce to Wayland/Niri was just an overall increase in framerate.

Was it with any specific game? I just tried the GOG version of The Witcher 3 "Complete Edition" (which is the remastered one) with the Direct3D 12 renderer under both Xorg/Window Maker and Wayland/KDE using umu-run (essentially proton without Steam) and it had identical performance in both cases (i also tried to use Niri but it would launch in 60Hz mode and for some reason wouldn't allow the game to run at a higher framerate with vsync disabled regardless of any option i chose) in either low or high settings (which is basically what i expected since the window system shouldn't be a bottleneck unless something is either broken or you are running at something like 20000fps :-P).

replies(1): >>44388422 #
haswell ◴[] No.44388422[source]
Some of the games I play often that saw improvements: The Finals, Overwatch, Rocket League, Helldivers.

> (i also tried to use Niri but it would launch in 60Hz mode and for some reason wouldn't allow the game to run at a higher framerate with vsync disabled regardless of any option i chose)

I had some issues early on related to refresh rate, and it turned out I didn't have an output defined for the correct display. The steps I took:

1. Run `niri msg outputs` to identify the Display ID and available modes. In my case: "DP-3" and "2560x1440@143.964"

2. Set up an output in niri's confid.kdl as follows:

  output "DP-3" {
    mode "2560x1440@143.964"
    variable-refresh-rate 
  }
replies(1): >>44391085 #
1. badsectoracula ◴[] No.44391085[source]
Hm, i tried it and i could set up the higher refresh rate but Niri was forcing vsync on the game that capped the framerate to my monitor's refresh rate (165Hz) even though in the game i have vsync disabled. This seems to be an issue with Niri as KDE Plasma Wayland disabling vsync works fine.

At "ultra" settings i got around 115fps which is ~5 fps lower than 117-120fps i got from Xorg/Window Maker and KDE/Wayland, though i'm pretty sure that was just the forced vsync, so in practice it seems that the window system doesn't matter much.

Did you use XFCE's desktop compositor? AFAIK XFCE's compositor isn't particularly great, some years ago when i was working on a custom game engine i had to add an explicit option to use the X11 "override redirect" flag instead of the window hint for fullscreen windows because XFCE's compositor wouldn't disable itself otherwise and the game would feel a bit laggy/inconsistent. Not sure if this has been fixed nowadays but in general it gave me a bad impression for XFCE's compositor as other compositors didn't seem to have the same issue.