(Vulkan Video Driver) Retroarch loses Gsync after closing content at least twice
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 14.1k
- Forks
- 2.2k
- Avg merge
- 7h 35m
- Merged PRs (30d)
- 51
Description
First and foremost consider this:
- Only RetroArch bugs should be filed here. Not core bugs or game bugs
- This is not a forum or a help section, this is strictly developer oriented
Description
GSync turns off after closing content within Retroarch while using exclusive fullscreen.
Expected behavior
Gsync should always remain enabled for as long as exclusive fullscreen is being used in either the Retroarch frontend or actual content. When Gsync is enabled, it should allow for dynamic refresh rates to be displayed on a Gsync compatible monitor. If using NVidia's Gsync indicator setting in the control panel, the indicator should always say "Gsync" on the top right of the screen for OpenGL/Vulkan content, and GSYNC ON for DirectX. If the framerate indicator is enabled within Retroarch, the framerate should be set to the rate of the content or the monitors max refresh rate (if the setting is enabled in Retroarch).
Actual behavior
G-SYNC works initially after loading Retroarch for the first time. After closing content within Retroarch at least twice, the program loses its Gsync status. If NVidia's Gsync indicator setting is being used, the indicator will say "NORMAL" for OpenGL/Vulkan content and "GSYNC OFF" for DirectX. If the framerate notification is enabled within Retroarch, the reported framerate will be extremely high (in the upper thousands for me). If you load content at this point, Gsync does not re-enable itself. This is noticeable since content will then have irregular framepacing. The only way to get Gsync back is to close out of Retroarch completely and reopen it again. This behavior seems to occur regardless of video driver.
Steps to reproduce the bug
(Note: This is assuming you are using a NVidia graphics card. I don't know if FreeSync has the same issues.)
- Make sure the appropriate settings are enabled to allow for Gsync to be taken advantaged in both Nvidia CP/Retroarch.
- In the NVidia control panel, click "Set up G-SYNC". Then in the toolbar area, click on Display > G-SYNC indicator. For some reason the G-SYNC indicator option might not appear in certain parts of the control panel, but being in the "Set up G-SYNC" area seems to work.
- Load Retroarch and go load some content (I tested with Flycat/BlastEm with the Vulkan video driver). There should be an indicator on the top right corner of the screen that indicates that G-SYNC is on.
4.) Close the content without closing Retroarch. G-SYNC should still be enabled.
5.) Load some other content. G-SYNC should still be on and working at this point.
6.) Close the content without closing Retroarch. At this point G-SYNC could still be on.
7.) Load some other content. By this point, the G-SYNC indicator should now be off. If you close and reload other content, G-SYNC should remain off until you close and reopen Retroarch.
Bisect
I don't know when this started occurring, but this has been a problem for a few months now. It has worked consistently in the past, however.
Version/Commit
You can find this information under Information/System Information
- RetroArch: Jan 25 2020 36cbcb12b2
Environment information
- OS: Windows 10 x64
- Graphics Card: NVidia GeForce 680 GTX
- CPU: Intel 2500k
- Monitors: Acer XB271HU (G-Sync, primary monitor), DELL U2412M
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the sequence in RetroArch on Windows 10 with exclusive fullscreen, an Nvidia G-Sync display, and the Vulkan video driver, following the seven reported steps. Compare G-Sync status and the reported framerate after repeatedly closing and reopening content; done means G-Sync remains enabled without restarting RetroArch.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- computer-graphics, desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100