Here i am having the same isssue with nvidia gtx 1070, windows 10, openGL, fullscreen black bars flickering, with latest retroarch build…
This only happens with the GL driver.
I tried talking about this with somebody from Nvidia and he just told me that my cables likely don’t support the necessary bandwidth for 4K + HDR output with 10 bit color depth. He says that when you use OpenGL on Windows 10 with an Nvidia GPU, it tries to use the highest output color depth possible (10bpc), and that if your cable is not up to snuff, you can get issues like that.
The reason it doesn’t happen on Direct3D or Vulkan is because they simply don’t try to query the highest available color depth by default.
So far I have no real solution for you guys because Nvidia did not provide me with a real solution either. For now, what you can do is this -
- go to Nvidia Control Panel
- Go to Display -> Change Resolution
- Select ‘Use NVIDIA Color Settings’
- Set it to something like ‘YCbCr420’. Make sure ‘Output Color Depth’ is set at 8 bpc.
That should probably fix the issue.
Hopefully we can fix this programmatically at some point because this is a serious issue. Unfortunately, Nvidia’s drivers like to do lots of stuff behind the scenes that the program programmatically might not even be requesting for, leaving us with problematic situations like this.
Talking with nVidia might be the best path to a resolving this issue since it most likely seems like an issue with their drivers after 411.70. If what the person from nVidia said is true, then why does 411.70 work fine? For those who are leaning in the direction of the Windows 10 October update, my Windows 10 October update doesn’t have this issue once I use 411.70 and earlier. I also have another 4K GTX 970 setup that doesn’t have this issue at all. The problems really coincided with the launch of the RTX 20X0 series card drivers and nVidia working on enabling RTX. Around the launch of the RTX cards review sites found that the GTX 10 series cards had performance regressions, which nVidia later fixed in a subsequent driver update. If you can speak to nVidia again, can you tell them that the issue doesn’t seem to be present in driver version 411.70 and earlier. You can also tell them that so far it doesn’t seem to affect the 9XX series and earlier. I haven’t seen any GTX 9XX owners complaining about this issue as yet, only GTX 10 series and RTX 20 series. It isn’t present when using the other RetroArch video API’s as well, only Open GL. We can probably get a changelog for the driver after 411.70 and that might help with narrowing down the source of the problem.
Here is what happens when i try to use opengl on retroarch, I also tried to use the settings you provided, but the problem still happens.
this has helped me (regarding the retroarch menu when the ogl driver is set).
Your screenshot shows 422 though. Try 420 instead.
Hi there, I can confirm that PaintNothing/frankyfife’s workaround fixes this issue.
I’ll try communicating this as well.
The workaround may very well resolve the issue for Retroarch, but the issue will persist in ANY emulator or game that uses OpenGL as it’s renderer. So for the time being I’ll be using the older driver.
I tried the YCbCr420 color format workaround and it works perfectly. So it could really be that our HDMI cables are not up to snuff and lowering the bandwidth required makes them usable. I’m going to try the PaintNothing/frankyfife OGL Buffer-Flipping Mode to OGL FORCE BLIT to ON
"I managed to fix this by discovering a setting using nvidia inspector.
If you go to the retroarch profile. Scroll down to the “Other” section and look for an entry called “Buffer-flipping mode” you will see that it’s set to “OGL FORCE BLIT OFF”
Change this to “FORCE BLIT ON”"
Update: Just for information sake in case the devs are working on an internal permanent fix for this, before I reached to this point I was experimenting with different settings in the nVidia control panel 3D settings and in RetroArch. I noticed that if I set Triple Buffering to On, that settled the black screen flickering somewhat in the RetroArch menu, however it would return when I launched a game. I then started experimenting with different Frame Delay settings in RetroArch and setting this to 15 caused the black screen flickering to stop at the expense of stretched, garbled audio.
The PaintNothing/frankyfife OGL Buffer-Flipping Mode to OGL FORCE BLIT to ON works perfectly though and negates the use of the second best workaround of forcing YCbCr420 and the third best workaround of remaining on 411.70!
You can try applying the setting to the Global Driver Profile (Base Profile) instead of just the RetroArch profile. I’m thinking that it would also apply to other OpenGL emulators and games if used in this way. That way you can feel free to finally update to the latest nVidia driver like the one I’m using now!
@Twinaphex, @Silverbreaker Would you believe that nVidia seems to have fixed the issue in their latest driver Version: 417.71 Release date: 01/15/2019 !! I tested it today after reverting the previous workaround and the problem wasn’t there after I updated my driver!!
Yes, Twinaphex mentioned the same thing when he updated a day or two ago, so it sounds like it’s finally resolved.
ironically enough - I have to force it on still - or else retroarch wont stream properly/remotely. most stuff loads to a black screen and if the RA window loses/regains focus, it refreshes/redraws/flickers (which is likely the crux of the issue when streaming)
I imagine this would/could potentially be circumvented by going exclusive fullscreen - but for reasons unbeknownst to me, i havent been able to get retroarch to go FSE for a LONG time. It behaves as borderless no matter what I do so i cant say for sure one way or the other.
I just know force blit on allows me to play remotely without a black screen, and also allows me to stream vulkan whereas that always resulted in a black screen as well (even before when ogl backend did not).
Also no refresh when at the pc and i go to a different monitor and return to RA.