No Man's Sky (Proton) Vulkan patch performance issues with Nvidia (Workaround included)

UPDATE: There appears to be a workaround discovered by a user on the DXVK discord (Zerofault) which works by using a vulkan layer to spoof the GPU as AMD. I’m unsure whether this is down to Nvidia to patch however I’ll keep this thread on here in case there’s a solution Nvidia can implement.

Workaround: GitHub - volca02/spoof_vendorid: No Man's Sky Linux/NVidia VRAM usage/low fps workaround.

[s]Support - No Man's Sky

There appears to be severe performance issues with the new experimental Vulkan patch for NMS released yesterday via Proton/Wine specifically. Would of thought this might be a wine bug but it doesn’t occur on AMD cards, so I hope someone can take a look at it and determine whether the Linux Nvidia drivers are the culprit.

Update: NMS Beyond update has now been released which includes the vulkan renderer mentioned above as standard.

The performance issues still persist with this renderer on the 435.17 driver, VRAM usage also seems suspiciously low and usually caps off at around 1GB where on Windows it would be using around 4GB.

Here are some reports on the issue at the bottom: No Man's Sky (275850) · Issue #438 · ValveSoftware/Proton · GitHub

The previous OpenGL renderer which has now been removed from the game used to run fine/near native on proton.

Steps to reproduce:

Play the game with Steam Proton 4.11 and log performance & VRAM usage.

Some renderdoc captures in this tar.xz file: https://drive.google.com/file/d/1Q0RUQaWi4L9ZKzZBgjrm3Nx6hAVVnmEW/view

nvidia-bug-report.log.gz (1.12 MB)

Update:

April 29th update plus 430.09 yields some better performance but it’s still half the performance of the OpenGL renderer. Currently it’s borderline playable at 1080p lowest settings on a GTX 1070 at around 40-50 fps.

What’s interesting is that 430.09 had the same 5 fps before the latest update, afterwards 430.09 gained performance while 418.52.05 still has the 5 fps issue.

NMS Beyond update has launched today and this issue still persists. It appears to be using far less VRAM than it supposed to (usually capping at around 1GB).

Would be great if someone can take a look at it now the Vulkan renderer is out in the wild, plenty of reports here:

Using 435.17 and latest proton.

I am having the same issue on 340 Arch and latest proton

Yeah it works on 430.34 Nvidia Drivers for me with my 1080TI at 4k, but the FPS is significantly worse then when it was running OpenGL where on the type of semi-barren planet I’m on, I’d normally get over 60fps, but with Vulkan I’m getting dips down to 10-20 fps and rarely see 60fps unless I’m looking directly down/up.

Bit disappointing, must be something real wrong going on for Vulkan to perform this badly!

I can also report the severe performance problems with 430.34 and the NMS Vulkan renderer using the latest proton (4.12-2). Previously the performance with the OpenGL renderer was great, but now that the “Beyond” update has removed this renderer, there’s no alternative to Vulkan. It would be great to fix this performance issue!

Here is the output from nvidia-smi while playing the game. You can see that the memory usage is extremely low (less than 1GB) which might be contributing to the problem?

Here’s the nvidia-smi output.

nvidia-smi
Wed Aug 14 18:32:47 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.34       Driver Version: 430.34       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce RTX 2070    Off  | 00000000:06:00.0  On |                  N/A |
| 41%   50C    P0    73W / 185W |   1494MiB /  7982MiB |     93%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1407      G   /usr/lib/xorg/Xorg                            39MiB |
|    0      1965      G   /usr/lib/xorg/Xorg                           200MiB |
|    0      2112      G   /usr/bin/gnome-shell                         252MiB |
|    0     27233      G   ...m/debian-installation/ubuntu12_32/steam    31MiB |
|    0     27257      G   ./steamwebhelper                               3MiB |
|    0     29820    C+G   ...ps\common\No Man's Sky\Binaries\NMS.exe   906MiB |
+-----------------------------------------------------------------------------+

Some people on github are reporting decent performance with the 435.17 beta driver. I can’t install them ATM, but it would be nice for somebody else to confirm. Thanks!

State of the drivers on my 1070:

418 developer beta branch = Either doesn’t run or 5 fps.

430 branch = 20-30 fps on settings where 60+ fps would be usually achievable on Windows or previous OpenGL renderer.

435.17 beta = Same as 430.

Thank you for reporting back. That’s a real bummer, I had high hopes that the latest beta driver would resolve the performance issues with Vulkan + NMS.

here is my nvidia-smi from my gtx 1060 6gb

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.40       Driver Version: 430.40       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 106...  Off  | 00000000:26:00.0  On |                  N/A |
| 56%   50C    P0    59W / 150W |   1589MiB /  6070MiB |    100%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1213      G   /usr/lib/xorg/Xorg                           337MiB |
|    0      1481      G   /usr/bin/gnome-shell                         191MiB |
|    0      2190      G   ...quest-channel-token=4778506613123433387   100MiB |
|    0      2805      G   /home/user/.steam/ubuntu12_32/steam           28MiB |
|    0      2833      G   ./steamwebhelper                               2MiB |
|    0      2850      G   ...g.txt --product-version=Valve Steam Cli     8MiB |
|    0      6128      G   ...equest-channel-token=371015047003763402    50MiB |
|    0     10231    C+G   ...ps\common\No Man's Sky\Binaries\NMS.exe   860MiB |
+-----------------------------------------------------------------------------+

im also running into the 1.5gb cap of memory usage with the new vulkan patch. the opengl version would utilize all 6gb when running.

As far as settings go, it appears Textures, Planet Quality & Base Complexity have the biggest impacts. Even with everything lowered to minimum setting though I’m still only getting 40-ish fps on a 1070.

This has to point towards some memory or texture streaming issue, everything else hardly has any effect on performance.

I also tried to capture a renderdoc but it crashes upon loading in.

This doesn’t seem to be explicitly Nvidia’s fault, as it works with GloriousEggroll’s fork of proton, but not Proton 4.11-2. (Releases · GloriousEggroll/proton-ge-custom · GitHub)

I’ve tried playing with GE’s proton and I’m still running into the same performance issues - so this doesn’t seem to be the magic bullet (at least not for me).

Tried and still the same performance issues.

Also some people have reported good framerates with AMD on Amdvlk & Valve’s Mesa ACO, the low vram usage is also very nvidia specific.

I get 85-105fps at 4k on Windows10, and around 33fps under Linux, have tried multiple fixes with no luck. Its possible specific hardware configurations evade the issue.

Turns out I’m still having issues with NMS, it’s stuck at 2000MB instead of 1000MB which is good enough to play.

Updated the main post to include these renderdoc captures which I hope will help:

https://drive.google.com/file/d/1Q0RUQaWi4L9ZKzZBgjrm3Nx6hAVVnmEW/view

Want to add my experience here, which is comparable to the others. Since the update to Beyond and Vulkan, the performance of the game reduced a lot.
Depending on the settings, my VRAM usage differs vom ~420mb to ~1GB, having more performance issues when using higher settings. Especially when approaching a planet the FPS drop down to 5 and less.
It seems okay in space and in space stations when standing next to the ship, but drops below 20 FPS when approaching any NPC vendors (on lowest settings).

I’ve tried Proton 4.11-2, 4.2-9 as well as Proton-4.11-GE-1 with no difference in performance. I’m on Ubuntu 18.04.3 LTS, i7 6700, 16 GB RAM, GTX 1070 and 430.40 drivers from the graphics-drivers ppa.

Update: A workaround has been found, I’ve updated the original post with a link.