[Feature] G-Sync/Freesync under Wayland Session

As per topic:
Has there been any work on getting this working ?
I haven’t seen any discussions, so please excuse me in case it’s been discussed somewhere.

3 Likes

We are all waiting on this and I absolutely can’t wait for it. Hopefully it is not too far away, it is one of my favorite features!

1 Like

The drm crtc property VRR_ENABLED is supported by the nvidia driver.

But the connector property vrr_capable is not.

When will support be added?

@amrits I’m not sure if you guys are in the process of implementing VRR yet, but I just wanted to check in with you and hopefully get a reference point

There are dozens of us waiting for this! Dozens!

It seems like the G-Sync/Freesync support under wayland has arrived in driver 525.53, I can see the option on KDE Plasma now!

EDIT: However while the option is there, gsync itself doesn’t seem to kick in, I do believe it could be due to this specific part nvidia driver part how kwin is designed, bug → 450914 – Wayland, games on Nvidia are force vsynced

I will try on sway or hyperland later!

Using sway it is not the case I believe the option needs to show up in the nvidia-settings application first. hopefully soon, with the 525.53 drivers hyprland is running much better!

@jrgiacone Please check how you need to enable adaptive sync on sway.

https://wiki.archlinux.org/title/Variable_refresh_rate

As far as I can see you need to specify a command output * adaptive_sync on as on KDE it shows up in kscreen settings.(NOTE: The option was not visible on any driver prior to 525.53)

I have it enabled in sway and hyprland, it looks like it tries to do something as my display changes to 48hz if nothing is on the screen or moving, however, when using a game or anything it just stays at 144 even if the game is showing less frames. So I would say it’s not working yet.

Nothing in sway working, monitor stays at 144

Here in sway:
[jrgiacone@nixos:~]$ swaymsg -t get_outputs
Output DP-2 ‘Goldstar Company Ltd 27GL850 004NTUW2N910’ (focused)
Current mode: 2560x1440 @ 144.000 Hz
Position: 0,0
Scale factor: 1.000000
Scale filter: nearest
Subpixel hinting: unknown
Transform: normal
Workspace: 1
Max render time: off
Adaptive sync: enabled

but can confirm on my monitor hud it is not working

1 Like

This would be incredible to have on Sway! There aren’t too many items keeping me off Wayland these days… but this is one of them.

Seems like we are getting closer, just not there yet. The option to enable it wasn’t even available before 525.53.

2 Likes

Please Nvidia, I am begging for this in the next big update.

Support for GSync for Wayland was introduced since 525.53 release for Volta or newer GPU. There was a note in Appendix L. Wayland Known Issues :

Variable display refresh rate capabilities such as G-Sync are supported on Volta or newer GPUs with Wayland. Older GPUs are not supported.

Support for older GPUs is planned for later release and work is in progress.

To enable GSync, you need to enable VRR in your Wayland compositor. For example, KDE detects VRR support and provides options in System Settings as posted in screenshots above. There are no toggles in nvidia-settings for Wayland there.

If you have issues, please provide more details making sure you have supported GPU (which Wayland compositor are you using, GPU, monitor, driver version and running GUI applications - the more details the better).

1 Like

It’s interesting that the support for GSync lines up with the introduction of NVAPI, which is used in Windows for enabling/disabling GSync. Is this a coincidence or is Nvidia going to finally open-source NVAPI in its entirety?

Thank you for taking the time to reply. I assumed it was not working based on my experience and testing. From what I have experienced, any games I tried to play with VRR enabled did not reflect VRR being active. I also cannot find anywhere people reporting that they have VRR working under Wayland with NVIDIA GPUs. I’m not great at testing since I do not know how to test and prove results. It would also appear that everyone else in this thread has not been able to get it to work either.

Distro: Arch Linux
Desktop Enviroment: KDE Plasma 5.27
Wayland Compositor: kwin
GPU: Asus ROG STRIX RTX 3090ti
Monitors:

  1. Samsung LC34G55T (Freesync)
  2. Samsung LC27G5xT (Freesync)
  3. Sceptre J20 (Non-Freesync)

Driver: NVIDIA- DKMS 525.89.02 w/ DRM kernel mode setting and early loading
Applications: Steam - Any Games

VRR doesn’t seem to work on both native wayland and xwayland applications, I did report such behavior + tried to debug, but didn’t seem to get anything useful.
With 530 driver I can no longer even boot into any wayland session(sway,hyprland, kde, gnome) and I’m not the only one affected.

https://www.reddit.com/r/archlinux/comments/11ivucn/cant_get_any_de_working_on_wayland_since_updating/

I have been successful in installing the beta 530.30.02 drivers and getting into a Wayland session on gnome 43.3. Only there is a caveat, I cannot set any monitors above 120hz. As mentioned above I have 3 monitors.

  1. Samsung LC34G55T (Freesync - 165hz)
  2. Samsung LC27G5xT (Freesync - 144hz)
  3. Sceptre J20 (Non-Freesync - 75hz)

When I initially loaded into the desktop the 2 high refresh rate monitors went black and only the 75hz monitor was on. I was able to open the display settings from there and played around with the settings. The highest setting I can go before both monitors turns off is 120hz. I am running the mutter-vrr and gnome-control-center-vrr from the AUR so I will test to see if there is any functioning VRR next and post what I find in an edit.
The packages I installed are as follows:
nvidia-beta-dkms 530.30.02-1
nvidia-settings-beta 530.30.02-1
nvidia-utils-beta 530.30.02-1
opencl-nvidia-beta 530.30.02-1
lib32-nvidia-utils-beta 530.30.02-1
lib32-opencl-nvidia-beta 530.30.02-1

Edit: So I have been playing around with some games and ran vrrtest-git and it’s hard for me to notice any difference when trying to toggle it on and off while the FPS fluctuates. I am going to go out on a limb here and say that it is still not working from what I can tell. As far as the monitor goes, I, unfortunately, don’t have any HUD that displays the refresh rate so I can’t tell for sure. Hopefully, someone else will be able to tell for sure.

I can confirm that it does not appear to be working still. I have tried with vrrtest, gl-gsync-demo, overwatch, and league. My monitors OSD shows that it syncs the refresh rate for a second then jumps to the maximum. I’ve tried on sway, hyprland, and KDE. Works perfectly for all 4 with KDE xorg.

NVIDIA Open GPU Kernel Modules Version

530.41.03

Operating System and Version

Fedora 38 - Gnome 44

Kernel Release

6.2.8-300.fc38.x86_64

Hardware: GPU

NVIDIA GeForce GTX 1650 SUPER (UUID: GPU-1b82f730-b99a-4e6a-32b8-a1f703cb5034)

Describe the bug

Nvidia on wayland is working really fine right now, but I insist, we really need g-sync (vrr) to work on wayland, mostly on low end cards that can’t keep high frame rates always, the experience in games is horrible when you get lower fps that your monitor hz.

(option to enable vrr is showing on gnome or kde control center but is not working properly, the monitor just lower randomly and inacurrate the hz on some moments, nothing that help, atleast we are somehow close)

To Reproduce

-Have a g-sync (or g-sync compatible) monitor, with a nvidia card, use the drivers for linux
-Install any GNU/LINUX distro, with a desktop that have wayland working (example:gnome, kde)
-Patch gnome with vrr if is necessary, on kde is enabled by default, go to monitor settings and enable vrr.
-Test vrr on a game or on a special test for it

Results: g-sync still not working on wayland, we really need this.