GSync is NOT working

Hello, GSync is still not working on the driver version 352.21.
GeForce GTX 970.
DisplayPort GSync monitor, works good on Windows.
nvidia-bug-report.sh output: https://dl.dropboxusercontent.com/u/29178100/nvidia-bug-report.log.gz

Copy of the original post (that was a reply to a thread 2 months ago, got no replies there):

Hello,

I have two monitors, one with the G-Sync support, one without. Sometime ago, when the driver updated to 349.16, I found out that G-Sync started to work perfectly with my setup, even with Sync to VBlank disabled (I always had it disabled). I did have to use a compositor (compton) for it to work though, without the compositor the monitor’s built-in menu reports no G-Sync and the nvidia-settings G-Sync indicator isn’t shown, even when launching games like Half-Life in full-screen.

Today I updated to 352.09 only to find out that G-Sync stopped working. Without the compositor the same problem occurs (no indicator, nothing), with the compositor the indicator does show but always prints NORMAL (and the monitor’s menu shows that G-Sync is inactive as well). I tried disabling the second monitor through the nvidia-settings and nothing changed. I tried messing with the vsync settings in the compositor and the game (Half-Life), enabling or disabling Sync to VBlank, starting the game in fullscreen mode (with one or two monitors active), nothing helps.

When I’m using two monitors I’m running them as a single X screen. I’m using the Awesome WM.

So why did it break and is there a way to fix it?

Thanks in advance.

For G-SYNC to work, the application has to be able to flip and the symptoms you’re describing here sound like it’s not able to flip in your configuration. There are a variety of reasons why flipping might not be working, but the most likely culprits here are either the compositor getting in the way, or the game not being completely full-screen. The full-screen requirement includes the game being completely unoccluded, so if your window manager is drawing something on top of the game, even just by one pixel, it will prevent flipping. Full-screen also means that it has to cover the entire X screen, which includes both monitors if you have them both enabled.

Can you please try a different window manager / desktop environment to see if the behavior changes?

Alright, so I tried Openbox. Without compton running, and with only the G-Sync monitor active, Half-Life and the other game I tried, when in fullscreen mode, was able to use G-Sync fine. With 2 monitors active it doesn’t cover the whole screen, so that’s probably the reason it doesn’t work.

Then I tried running compton, it always prints NORMAL on the G-Sync overlay, I tried tinkering with a whole bunch of different settings, nothing helped.

On Awesome, without compton, the games running fullscreen don’t even have the NORMAL text. I guess, Awesome prevents apps from going fullscreen “properly” somehow?

On Awesome with compton, same deal, NORMAL always.

It’s weird because at that point where everything just started to work, compton was getting G-Sync, and (due to how it works I’m assuming), I was able to get G-Sync on everything that runs in a window above 30 FPS. With keybinds to enable and disable G-Sync I was able to use it for pretty much everything, like playing back videos in a windowed player and whatnot. And it worked perfectly with 2 monitors active, because compton covers them both (and it still does, just not getting G-Sync).

Well, what you were getting was G-Sync applied to the output of compton, and not directly to what the application was producing. I don’t know how compton works behind the scenes but in general you’re better off allowing the application to flip unredirected.

I added compton to the list of blacklisted compositors because interaction with it was poor when I tried it. You can reenable it by removing the compton line from /usr/share/nvidia/nvidia-application-profiles--rc or I think by overriding that rule in a custom application profile.