Garbled up graphics in Unity (opengl)

This free native Unity game has graphics issues that seem to be specific to Nvidia (renders just fine on AMD):


Screenshots: https://imgur.com/a/3vBxsfK
To reproduce issues on both screenshots, select Ultra settings.
Tested with 415.13, 410.66 and 393.54, reproducible in all versions, using GTX 1070, 970 and 960 on completely different machines.
Using neither __GL_GlslUseCollapsedArrays=0 or __GL_NextGenCompiler=0 envars helps.

We have a local reproduction of the problem, but not on all boards. This may well be an application bug - has the app developer been involved?
Tracking this internally as bug 2440555

I contacted the developer and made them aware of this, but they said that they can’t do much to fix this as the engine is not something they have control over. They tried to rebuild it with latest Unity but it did not help.
So it could be a bug in Unity.

Forcing Vulkan helped workaround it, so this is limited to OpenGL.
Can be the same issue as this: https://www.gamingonlinux.com/articles/have-graphical-distortions-in-unity-games-with-nvidia-heres-a-workaround.13133

If a change in Unity made that problem appear, it would be interesting to bisect and identify what is the change exactly. Maybe it is a driver bug, but it will be much easier that once it is clear what change did what.

Hello, this is the developer here.
I used vanilla Unity in that game, with post processing fx like depth of field, color grading and bloom, all Unity addons, nothing custom made or anything like that.

After testing the game on Ubuntu 10 I also tried installing Unity on my Ubuntu and the Editor screen also had the same bugs from the build, I´ll try to figure out what exactly is causing the glitches, but this seems like something from the driver. I have a gtx 1070, which should be the latest driver I should have installed?

Thank you

On a GTX1070 you can use the latest driver which currently is 415.22. https://www.nvidia.com/object/unix.html

Older NVIDIA drivers also seem to have the problem, so this doesn’t look like a regression in the driver. But, Unity games have at some point in the past worked fine on Linux on NVIDIA cards (!), and it looks like it’s not only your game that is affected. So, there was a change somewhere that introduced the issue, and since older NVIDIA drivers also seem to have the problem, it is fairly likely that the regression is not in the NVIDIA driver, but instead in Unity.
So it would be interesting to have Unity developers (not you, but the developers of the engine itself) get involved and try to see if there might be a regression in Unity itself, because the available data so far suggests that this is likely.

This is a confirmed Unity bug.
In addition to the Unity workarounds (-force-vulkan or -force-glcore42 -force-clamped, per https://issuetracker.unity3d.com/issues/linux-nvidia-graphical-corruption-in-many-games-possible-regression ), upcoming NVIDIA driver releases (not the currently available releases) will recognize __GL_IgnoreInvalidateFramebuffer=1 in the environment to ignore the problematic calls from Unity.
That will let end users work around the problem in a safe manner on a per-game basis.

We’re not adding application profiles, but if the community is willing to create these for all affected games we can look at shipping them with the driver for a better out-of-the-box experience.

Here is an example of a ~/.nv/nvidia-application-profiles-rc to use for Nine Nines:
https://pastebin.com/uBVUdDpN

The freshly posted beta driver 418.30 contains support for the __GL_IgnoreInvalidateFramebuffer environment variable.

not sure if this will help find the problem or not, but more info is always better
intel hd630 driver vs 22.20.16.4691
nvidia geforce gtx 1050 driver vs 26.21.14.4219
nvidia geforce exp vs 3.20.43
unity games that played perfectly on this pc about a year ago (still on my hdd no updates or changes)
no longer play on the nvidia card just sit with a blank window. but they will play on the intel card but at a low frame rate. the unity games has not been changed at all. the intel driver has not changed its dated 2017 (there is no updated vs its acer oem ) …the only thing changed on my system is windows updates and nvidia
driver updates …ive found on the forums i need to disable “aspect scaling” on the nvidia card but cant find the function in my nvidia settings panel