Open kakra opened 2 years ago
So I found the strange flickering may be caused by kwin because gamescope doesn't block compositing in fullscreen mode. Without kwin compositing, the flickering is gone. The intense tearing is still an issue, tho.
graphics constantly jumping back and forth
I can see this in game menus, sometimes when selecting next menu item it looks like it then jumps to previous menu item and back.
Also, there are ton of events generating (or something), glxgears process stats:
This is on X11, I'm not sure if I correctly set everything up.
EDIT: same or related: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1317 (implicit synchronization issues on Nvidia, see comments) https://github.com/NVIDIA/open-gpu-kernel-modules/issues/187
Another perf report. Removed entries below ~1%.
Is this where the slowdown happens?
EDIT: Nope, not this one.
This problem seems gone with 515.48.07 but tearing is still terrible: While vsync seems generally broken with NVIDIA (at least for me, forcing composition pipeline does not help, I usually run without vsync now because otherwise it causes extreme stutter without eliminating tearing), I see at least just one line of tearing without gamescope but with gamescope, I see a whole block of tearing zick-zacking across a part of the screen - which could be partially explained by the issues linked by @pchome in https://github.com/Plagman/gamescope/issues/495#issuecomment-1126800982, like you took zick-zack scissors to cut between to frames.
@kakra
FYI: KWIN_X11_FORCE_SOFTWARE_VSYNC=1
and KWIN_X11_NO_SYNC_TO_VBLANK=1
environment variables may help a bit with kwin compositor. There was a knob (or setting) in KDE for vsync, but it was removed a while ago.
@pchome It looks like putting Option "ForceCompositionPipeline" "on"
into Section "Device"
fixes most of the issues. Strangely, it didn't work properly before. Also, just enabling this in nvidia-settings doesn't seem to be enough.
I have same issue on Nvidia, regardless of driver version and with or without gamescope.
arch 6.0, nvidia 520, 60hz screen 5600X 3060Ti
Something tells me this is Nvidia's problem. Will post there I guess.
So I tested gamescope (compiled from latest master 3.11.31-beta4-6-g97288b8) yesterday on NVIDIA 515.43.04:
It's upscaling to 3840x2160 at 60 fps (according to the Steam FPS counter).
But across all games I tested, it feels like 60 fps but it looks like it's swapping render buffers in the wrong order, no matter if vsync is on or off. Hard to describe but I try: If turning the camera slowly, it looks smooth. But turning or moving around faster, it looks like 30 Hz flickering with graphics constantly jumping back and forth, like the game is rendering frames 1,2,3,4,... but gamescope is showing 2,1,4,3... It looks like games now use triple buffering instead of double buffering but showing the wrong frame buffer on screen, supported by the fact that I'm still seeing screen tearing (while it may be triple buffering).
As mentioned above: I can see screen tearing but this is probably some general issue with the NVIDIA driver and multi-monitor. Full composition pipeline isn't enabled (doing so doesn't fix tearing for me anyways, it looks like vsync is offset by around half a screen refresh, maybe due to using multiple monitors).
Also, sometimes after closing gamescope, my desktop turns upside down with sometimes flickering back to the right orientation. This can be solved by running another game without gamescope. It isn't solved by restarting kwin.