Support us on Patreon to keep GamingOnLinux alive. This ensures all of our main content remains free for everyone. Just good, fresh content! Alternatively, you can donate through PayPal. You can also buy games using our partner links for GOG and Humble Store.
We do often include affiliate links to earn us some pennies. See more here.

No Man's Sky recently had an absolutely ridiculous update to add in tons of new features and greatly expanded multiplayer. This update also added in Vulkan support too!

It seems Hello Games are keeping an eye on Steam Play as well, with a recent update changelog noting "Fixed Steam VR in Linux.". Quite interesting! However, there is a bit of a problem for NVIDIA users with Steam Play on Linux, with the game performing quite poorly. Although, there's a slightly amusing workaround.

If you spoof your GPU vendor to look like AMD, the game performance will skyrocket. Do any of the below at your own risk. Since I am posting all this, I have of course tested it myself and it's great for me.

Credit to user volca02 who posted an easy to use GitHub repository to quickly enable this spoof. Doing it takes a little command line work but it's easy enough to do. You may need to install some additional packages to get it compiled like build-essential and git on Ubuntu for example "sudo apt install build-essential git".

Instructions:

git clone https://github.com/volca02/spoof_vendorid
cd spoof_vendorid
cmake ./
make

What does the above do? It pulls the GitHub files, changes into the directory downloaded and then compiles it into the files you need. After, you can make a folder to keep the files somewhere handy like:

mkdir $HOME/nmsfix

Then just copy the two needed files over to the nmsfix folder made above:

cp -t $HOME/nmsfix libVkLayer_vendorid_layer.so VkLayer_vendorid_layer.json

You will then need to set a launch option for No Man's Sky on Steam, like this one:

VK_LAYER_PATH=/home/liam/nmsfix/ VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_vendorid_layer %command%

To do the above, right click on No Man's Sky in Steam -> Properties -> Set Launch Options… and enter the line above in with VK_LAYER_PATH pointing to where you put the files.

It made my frame rate on an NVIDIA 980ti go from a sluggish 40FPS and under to well over an enjoyable 80FPS most of the time. There's a few dips here and there depending on what's around you, but it's a big improvement.


Pictured: No Man's Sky running on Linux+NVIDIA with the above workaround.

From what I saw an NVIDIA rep say, they've confirmed this is an "application bug" and so it needs Hello Games to fix it. Hopefully with this post bringing some more attention to it, more of you can enjoy No Man's Sky on Linux with Steam Play until the main issue is solved in the game. Who knows, maybe they will support Linux officially one day.

Article taken from GamingOnLinux.com.
19 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. Find me on Mastodon.
See more from me
The comments on this article are closed.
42 comments
Page: 1/5»
  Go to:

Liam Dawe Aug 22, 2019
Quoting: PatolaTried the trick, same result... Doubled the FPS!!! Thanks!!! BTW, I did not create a new directory for it, since I decided to keep the github dir I pointed directly to it.
Glad to have helped.

The extra directory is more for cleaning up, so you can just remove the pulled GitHub files, I just like to keep my folders neat.
slaapliedje Aug 22, 2019
Awesome, it is 6am and I can't sleep, guess it is time to try this out!
Skipperro Aug 22, 2019
How about stability of FPS? I've got nice GPU, able to get over 60 FPS, but got this irritating micro-freezes every time a new texture need to be loaded. Walking forward generates freezes in regular intervals.

Is this fix does something about it?
x_wing Aug 22, 2019
Liam, you probably want to point out that in order to compile you need to install build essential (or the similar meta package for non debian distros)
adamhm Aug 22, 2019
It should also be possible to spoof the GPU vendorid/deviceid by using a custom dxvk.conf and placing it alongside the game's executable - un-comment these lines and set the values accordingly (the values for my RX480 are deviceid 67df, vendorid 1002):

# dxgi.customDeviceId = 0000
# dxgi.customVendorId = 0000

Edit: Never mind - as Liam pointed out it uses Vulkan natively rather than go through DXVK so this won't work.


Last edited by adamhm on 22 August 2019 at 12:36 pm UTC
Liam Dawe Aug 22, 2019
Quoting: x_wingLiam, you probably want to point out that in order to compile you need to install build essential (or the similar meta package for non debian distros)
Sure, added two package notes in quotes for people on Ubuntu who need a bit of help. If anyone knows other specific packages it absolutely needs, happy to add them in. Everyone on Arch likely knows what they're doing :P
slaapliedje Aug 22, 2019
Just tried it on Manjaro. Without the AMD hack, it still just crashes in SteamVR. Though with the hack it hangs the system for a good while, then crashes. :P
Liam Dawe Aug 22, 2019
Quoting: adamhmIt should also be possible to spoof the GPU vendorid/deviceid by using a custom dxvk.conf and placing it alongside the game's executable - un-comment these lines and set the values accordingly (the values for my RX480 are deviceid 67df, vendorid 1002):

# dxgi.customDeviceId = 0000
# dxgi.customVendorId = 0000
It does not use DXVK, it's native Vulkan.
Sil_el_mot Aug 22, 2019
yeah. Planet Bob rules! A titan a.e.-reference?
slaapliedje Aug 22, 2019
How do you gwt the framerate counter to show, curious what I was getting for the brief period of time I loaded it in flat mode.

I know in VR (under Windows where for now is the only place I could get it to work) if you are planetside and running through thick trees, it gets pretty choppy. Pretty smooth otherwise. I do hope they fix the flight mechanics.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring 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!
The comments on this article are closed.