You can sign up to get a daily email of our articles, see the Mailing List page!

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.
21 Likes, Who?
We do often include affiliate links to earn us some pennies. We are currently affiliated with GOG, Humble Store and Paradox Interactive. See more information here.
About the author -
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
46 comments
Page: «4/5»
  Go to:

sethrewha 23 August 2019 at 12:31 am UTC
It makes me giggle that at the end it just says "Stop."

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 23 August 2019 at 1:23 am UTC
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 at 23 August 2019 at 1:27 am UTC
slaapliedje 23 August 2019 at 2:17 am UTC
View PC info
  • Supporter
  • Top Supporter
I'd guess it's missing libwayland-dev.

But yeah, why wayland? That's odd...
mylka 23 August 2019 at 2:23 am UTC
KuJoI'm playing it on an AMD rx580 with Valve's ACO drivers.

i think valves mesa is the same as padoka except it uses ACO shader compiler as default
you can still force LLVM as default. i think it should be like using padoka and crash again.
ACO can be disabled with the following environment variable: RADV_PERFTEST=llvm

anyways... i hope they make a free weekend soon. i kinda wanna try it myself
Shmerl 23 August 2019 at 6:21 am UTC
slaapliedjeI'd guess it's missing libwayland-dev.

But yeah, why wayland? That's odd...

Vulkan layers can work with WSI. But it can probably be disabled: https://github.com/volca02/spoof_vendorid/blob/master/CMakeLists.txt#L13
Solitary 23 August 2019 at 7:39 am UTC
slaapliedjeWasn't No Man's Sky one of those that at some point in time was supposed to get a native version?

I don't think so, but it's possible. The game was hyped prior release with bunch of straight up lies, it's the main reason why I haven't bought it.
bidinou 23 August 2019 at 7:44 am UTC
I did apply the fix but still get a framerate lower than 60 (like 40-50) even with vsync off, with an rtx 2060 and ryzen 2600. Is that expected ? (details; high)


Last edited by bidinou at 23 August 2019 at 7:46 am UTC
LungDrago 23 August 2019 at 8:59 am UTC
Hello Games have been pumping out hotfixes and patches at lightning speed since the release. The Beyond update made the game a mess, but it has been improved quickly - after so many crash fixes, the game seems to be once again rock solid stable to me, even in the Nexus, just like it was in NEXT.

I did have to switch back to OpenGL from Vulkan, though. With Vulkan, my game crashes during the loading screen. I'm not sure whether that's my problem or a problem with the game, guess I'll see once HG finishes their last crash fix pass.
dubigrasu 23 August 2019 at 11:38 am UTC
I've seen some other developers (with windows-only released games) keeping an eye on Wine/Proton too.
For example The Cursed Forest demo had at one point this splash mentioning Proton:

image

https://store.steampowered.com/app/345430/The_Cursed_Forest/
Corben 23 August 2019 at 1:37 pm UTC
To get this compiling on my Ubuntu 18.04.3 LTS I had to install these packages as well:

sudo apt install cmake libwayland-dev libx11-xcb-dev libxrandr-dev

And yep, this gets rid of all performance issues with pancake mode (non-vr, didn't test VR yet). Approaching NPC vendors on stations, approaching planets... all now at ~60 FPS for me, where I had below 20 FPS for the NPC vendors and even below 10 FPS when approaching planets.

From what I've read, this is something the game is doing for nvidia cards that works on Windows but differently on Linux. Also their Vulkan engine is pretty fancy, which is surfacing some bugs in SteamVR for Linux.

But as Hello Games are really cool (and they've always been), I guess they'll take a look into it!
  Go to:
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!

You need to Register and Login to comment, submit articles and more.


Or login with...

Livestreams & Videos
None currently, submit yours here!
See more!
Popular this week
View by Category
Contact
Latest Comments
Latest Forum Posts