Confused on Steam Play and Proton? Be sure to check out our guide.
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.
Tags: Proton, HOWTO, Steam
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 checked 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.
See more from me
The comments on this article are closed.
42 comments
Page: 1/3»
  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.
Termy Aug 22, 2019
I just placed the order for my reserved valve index - i'm curious how well NMS VR will work on linux ^^
Cool thing they care about linux/proton at all


Last edited by Termy on 22 August 2019 at 12:49 pm UTC
Liam Dawe Aug 22, 2019
Quoting: Sil_el_motyeah. Planet Bob rules! A titan a.e.-reference?
Maaaaaybe! :D loved that film

Quoting: slaapliedjeHow 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.
Steam settings -> In-Game (left bar) -> In-game FPS counter (dropdown box).
Sil_el_mot Aug 22, 2019
the trick doesn't work for me on arch. did everything and on the second try i even changed the name liam in the starting options to my folder ;) ... but it gave me just 5fps. 60fps instead of 55 before.

Quoting: Liam DaweMaaaaaybe! :D loved that film

Yeah, me too. it's a shame a lot of my friends don't like it. i really love the soundtrack, too!
Now that you name your planets "Bob" i need a new name for mine. :(


Last edited by Sil_el_mot on 22 August 2019 at 1:03 pm UTC
slaapliedje Aug 22, 2019
Quoting: Sil_el_motthe trick doesn't work for me on arch. did everything and on the second try i even changed the name liam in the starting options to my folder ;) ... but it gave me just 5fps. 60fps instead of 55 before.

Quoting: Liam DaweMaaaaaybe! :D loved that film

Yeah, me too. it's a shame a lot of my friends don't like it. i really love the soundtrack, too!
Now that you name your planets "Bob" i need a new name for mine. :(

Movie was great. I was getting a pretty solid 120fps (after I changed the max FPS to 120 from 60) I also have a g-sync monitor, though I've read it doesn't work if you have two....

It did dip back down to 26fps when I entered the Space anomaly. I haven't tried it without the Hack.

"I shall call this land... This Land..." "I shall call it your grave!" (Also by the same writer as Titan A.E.)


Last edited by slaapliedje on 22 August 2019 at 1:39 pm UTC
slaapliedje Aug 22, 2019
Quoting: Liam Dawe
Quoting: Sil_el_motyeah. Planet Bob rules! A titan a.e.-reference?
Maaaaaybe! :D loved that film

Quoting: slaapliedjeHow 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.
Steam settings -> In-Game (left bar) -> In-game FPS counter (dropdown box).

Ha, I knew I'd found that setting before, thanks!

Also needed to make sure to change the max FPS in the settings, was wondering why it was stuck at 60. Oh man does it run fast at 120.
Shmerl Aug 22, 2019
They should just release it for Linux already.
Purple Library Guy Aug 22, 2019
Quoting: Liam Dawe
Quoting: Sil_el_motyeah. Planet Bob rules! A titan a.e.-reference?
Maaaaaybe! :D loved that film
Me too. I feel like it could have been really popular if things had broken a bit differently--I dunno, better marketing, or timing that didn't put it out just as fashion was moving to anime style, or something.
scaine Aug 22, 2019
View PC info
  • Contributing Editor
  • Mega Supporter
Quoting: ShmerlThey should just release it for Linux already.

They should at least talk to Valve about an official whitelist. Until the vulkan backend came out, this was a platinum title. Vulkan has really hurt its performance on Linux, so it's nice to see workarounds like this.

Maybe one day they'll cross that threshold and give us the game natively. Fingers crossed.
Shmerl Aug 22, 2019
Quoting: scaine
Quoting: ShmerlThey should just release it for Linux already.

They should at least talk to Valve about an official whitelist. Until the vulkan backend came out, this was a platinum title. Vulkan has really hurt its performance on Linux, so it's nice to see workarounds like this.

Maybe one day they'll cross that threshold and give us the game natively. Fingers crossed.

I wonder what exactly are Valve doing, in cases when they know games already have a Vulkan renderer. Do they incentivize developers in any way to release native Linux versions? I feel like there is a major opportunity here, that Valve could put resources in. Especially, with Stadia pushing more developers to implement Vulkan renderer, Valve can direct that tide into native Linux releases, but they need to do something, it won't happen automatically on sufficient scale.
KuJo Aug 22, 2019
I'm playing it on an AMD rx580 with Valve's ACO drivers.
Before I had to set the tessellation quality in the settings (file ~/.steam/steam/steamapps/common/No Man's Sky/Binaries/SETTINGS/TKGRAPHICSSETTINGS.MXML ) to "Low" with the Padoka Stable PPA to play it. Otherwise I had a crash to desktop right after the loading screen.

I first read at Reddit that you don't have to use this tweak if you use the ACO shader driver from Valve. I tried this, uninstalled Padoka Stable PPA and installed the ACO PPA (already ready for Ubuntu; and I use Linux MInt). And since then it runs with all settings on "High" at just over 60 fps.

I wrote down my experiences at Reddit and in the Proton-Github:
-> https://www.reddit.com/r/SteamPlay/comments/crog4o/steam_play_linuxproton_tweak_to_start_the_game/
-> https://github.com/ValveSoftware/Proton/issues/438#issuecomment-522252631
-> https://github.com/ValveSoftware/Proton/issues/438#issuecomment-523687527

I also made an entry in the ProtonDB with the reference to the ACO driver.
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.
Buy Games
Buy games with our affiliate / partner links: