You can sign up to get a daily email of our articles, see the Mailing List page!
Support us on Patreon to keep GamingOnLinux alive. This ensures we have no timed articles and no paywalls. Just good, fresh content! Alternatively, you can donate through Paypal, Flattr and Liberapay!

Recently, I highlighted an issue in multiple Unity games where the graphics were distorted on Linux with using an NVIDIA GPU and I offered some workarounds. I now have an update on the issue to share from both Unity and NVIDIA.

Firstly, on the Unity side at least some of it was a confirmed bug in Unity's handling of OpenGL. The bug report that was opened as a result of my chats with Unity, has noted that it's now solved in Unity 2019 and the fix should also be landing in Unity 2018.3.2f1.

However, until developers using the Unity game engine upgrade it's still going to be a problem. While there are workarounds (like forcing Vulkan or a specific OpenGL version), they might not always work or end up causing other issues. To help with this, NVIDIA told me today they will be including a new environment variable in future driver releases. It's not in a driver yet (to be clear), but in future you will be able to set this environment variable "__GL_IgnoreInvalidateFramebuffer=1" to have the NVIDIA driver completely ignore the bad calls from Unity.

NVIDIA said they don't want to make specific application profiles, however if the community is willing to create them they could ship them with their driver to give a better experience out of the box. To make them, you can do so in the NVIDIA control panel and it looks simple enough to do. However, here's an example that you would find in your "/home/username/.nv/nvidia-application-profiles-rc" file to give you an idea:

{
    "profiles" : [
        {
          "name" : "IgnoreInvalidateFramebuffer",
          "settings" : [ "IgnoreInvalidateFramebuffer", 1 ]
        }
    ],
    "rules" : [
        { "pattern": "Nine Nines.x86",    "profile" : "IgnoreInvalidateFramebuffer" },
        { "pattern": "Nine Nines.x86_64",    "profile" : "IgnoreInvalidateFramebuffer" }
    ]
}

To talk more about it with NVIDIA, you can do so in this post on the NVIDIA forum.

Good to see both NVIDIA and Unity work towards solutions!

21 Likes, Who?
We do often include affiliate links to earn us some pennies. We are currently affiliated with GOG and Humble Store. See more information here.
Eike 16 January 2019 at 2:39 pm UTC
QuoteNVIDIA said they don't want to make specific application profiles, however if the community is willing to create them they could ship them with their driver to give a better experience out of the box.

Sounds like something that should be setup on Github (or the like) today. (I won't have the time, though.)
x_wing 16 January 2019 at 2:39 pm UTC
Weird that this problem doesn't affects Mesa if there is an error in the API usage by Unity.
YoRHa-2B 16 January 2019 at 3:08 pm UTC
x_wingWeird that this problem doesn't affects Mesa if there is an error in the API usage by Unity.
Mesa does not implement glInvalidateFramebuffer (except the error handling bits). That's okay since this function doesn't *need* to have any observable side effects.

The other way around isn't exactly uncommon either (stupid shit running fine on Nvidia but not Mesa, like Divinity Original Sin). People are going to blame drivers either way though.


Last edited by YoRHa-2B at 16 January 2019 at 3:09 pm UTC
Comandante Ñoñardo 16 January 2019 at 3:41 pm UTC
In the meantime, a new Nvidia Driver is here. the 415.27

QuoteAdded support for the following GPU:
GeForce RTX 2060
Added a new kernel module parameter, NVreg_RestrictProfilingToAdminUsers, to allow restricting the use of GPU performance counters to system administrators only.
x_wing 16 January 2019 at 4:08 pm UTC
YoRHa-2B
x_wingWeird that this problem doesn't affects Mesa if there is an error in the API usage by Unity.
Mesa does not implement glInvalidateFramebuffer (except the error handling bits). That's okay since this function doesn't *need* to have any observable side effects.

The other way around isn't exactly uncommon either (stupid shit running fine on Nvidia but not Mesa, like Divinity Original Sin). People are going to blame drivers either way though.

Thanks for the clarification.

I think that the other way around it's more common because Nvidia is more relaxed with the OGL API and because the majority of the devs only use Nvidia proprietary driver for QA. But well, once in a while Nvidia users feels the devs bad support pain


Last edited by x_wing at 16 January 2019 at 4:09 pm UTC. Edited 2 times.
14 17 January 2019 at 1:02 am UTC
View PC info
  • Supporter
I'm happy to hear the green folks with have a better experience soon.
Grabby 17 January 2019 at 6:47 am UTC
Yay ! Thank you Liam ! Good job !
Phlebiac 17 January 2019 at 9:48 am UTC
With all the various Unity bugs, a wiki page listing them, with workarounds and games affected, could be quite useful info.
Raven 26 January 2019 at 3:39 pm UTC
Will this fix the weird graphical big I get where buttons and their hit boxes don't align?
For example, on xcom 2, I have to click below the menu buttons to get them to work. Happened on Tomb Raider too but a flip between windowed and full screen used to fix that one. Not on xcom though ☹️
While you're here, please consider supporting GamingOnLinux on Patreon, Liberapay or Paypal. We have no adverts, no paywalls, no timed exclusive articles. Just good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!

Due to spam you need to Register and Login to comment.


Or login with...

Livestreams & Videos
Community Livestreams
See more!
Popular this week
View by Category
Contact
Latest Comments
Latest Forum Posts