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 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.
See more from me
The comments on this article are closed.
42 comments
Page: «3/5»
  Go to:

slaapliedje Aug 22, 2019
So I was reading a post in r/Vive and they mention installing the newer version of Vulkan to increase performance. Granted that is for Windows, but wonder if it applies to Linux.

Then again I am now getting fantastic performance, just not in VR where it crashes on Linux still.
Fakeman_Pretendname Aug 22, 2019
I've had this running fine on my Nvidia/Ubuntu based laptop without any tweaks (install>press play>it works). I only bought it a couple of days ago, but I've not had any issues in ~7 hours of playing. I'm getting a constant >30fps, which is all I'd really expect from my laptop - though is 30fps what people count as bad these days?

In case relevant:
Ubuntu 18.04.3
i5-4210H
16GB RAM
Nvidia GTX 960M
Nvidia Driver 430.40
Mohandevir Aug 22, 2019
If developers start to patch their games for SteamPlay on a more regular basis, this could be a big win for Linux gaming.

I remember, a couple of years ago, a Turbine developer (Lord of the Rings Online) telling on their forums that they could not officially support linux, but could make their build more "Wine friendly". They were actively discussing with Linux players to help them run the game with Wine.

If this kind of attitude may gain some traction, that would be great.
slaapliedje Aug 22, 2019
Wasn't No Man's Sky one of those that at some point in time was supposed to get a native version?
sethrewha Aug 22, 2019
Perhaps I'm too new but I'm on Mint and when I get to "cmake" I get an error in terminal (-- Configuring incomplete, errors occurred!). Anyone have this experience?
Luke_Nukem Aug 22, 2019
This is the second Windows only game I purchased to play on Linux... I never ever thought I would be doing this 15 years ago. The impact Valve is having just by including Proton in Steam and enabling one-click playing of Windows games is understated.
slaapliedje Aug 23, 2019
Quoting: sethrewhaPerhaps I'm too new but I'm on Mint and when I get to "cmake" I get an error in terminal (-- Configuring incomplete, errors occurred!). Anyone have this experience?

What's your output? Use code blocks so it's easier to read.

From there we should be able to know if you're missing a dependency for it to compile.
sethrewha Aug 23, 2019
It makes me giggle that at the end it just says "Stop." :D

seth@seth-mint:~$ git clone https://github.com/volca02/spoof_vendorid
Cloning into 'spoof_vendorid'...
remote: Enumerating objects: 293, done.
remote: Counting objects: 100% (293/293), done.
remote: Compressing objects: 100% (209/209), done.
remote: Total 293 (delta 71), reused 288 (delta 69), pack-reused 0
Receiving objects: 100% (293/293), 91.15 MiB | 32.46 MiB/s, done.
Resolving deltas: 100% (71/71), done.
Checking out files: 100% (243/243), done.
seth@seth-mint:~$  cd spoof_vendorid
seth@seth-mint:~/spoof_vendorid$ cmake ./
-- The C compiler identification is GNU 7.4.0
-- The CXX compiler identification is GNU 7.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- Could NOT find WAYLAND_CLIENT (missing: WAYLAND_CLIENT_LIBRARIES WAYLAND_CLIENT_INCLUDE_DIR) 
-- Could NOT find WAYLAND_SERVER (missing: WAYLAND_SERVER_LIBRARIES WAYLAND_SERVER_INCLUDE_DIR) 
-- Could NOT find WAYLAND_EGL (missing: WAYLAND_EGL_LIBRARIES WAYLAND_EGL_INCLUDE_DIR) 
-- Could NOT find WAYLAND_CURSOR (missing: WAYLAND_CURSOR_LIBRARIES WAYLAND_CURSOR_INCLUDE_DIR) 
-- Could NOT find WAYLAND (missing: WAYLAND_LIBRARIES WAYLAND_INCLUDE_DIR) 
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
WAYLAND_CLIENT_INCLUDE_DIR (ADVANCED)
   used as include directory in directory /home/seth/spoof_vendorid
   used as include directory in directory /home/seth/spoof_vendorid
   used as include directory in directory /home/seth/spoof_vendorid
   used as include directory in directory /home/seth/spoof_vendorid
   used as include directory in directory /home/seth/spoof_vendorid
   used as include directory in directory /home/seth/spoof_vendorid
   used as include directory in directory /home/seth/spoof_vendorid
   used as include directory in directory /home/seth/spoof_vendorid
   used as include directory in directory /home/seth/spoof_vendorid
   used as include directory in directory /home/seth/spoof_vendorid
   used as include directory in directory /home/seth/spoof_vendorid
   used as include directory in directory /home/seth/spoof_vendorid

-- Configuring incomplete, errors occurred!
See also "/home/seth/spoof_vendorid/CMakeFiles/CMakeOutput.log".
seth@seth-mint:~/spoof_vendorid$ make
make: *** No targets specified and no makefile found.  Stop.
TheRiddick Aug 23, 2019
Quoting: Fakeman_PretendnameI've had this running fine on my Nvidia........

You're not the first Nvidia 9 series owner who has reported to having no issues. I suspect this is a problem with 10 series and above nvidia cards.

As for that error output, the build process needs the wayland client packages installed (or just dev sources probably). Does raise the question as to if this trick only works on wayland de's ?


Last edited by TheRiddick on 23 August 2019 at 1:27 am UTC
slaapliedje Aug 23, 2019
I'd guess it's missing libwayland-dev.

But yeah, why wayland? That's odd...
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: