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.
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: «2/3»
  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...
mylka Aug 23, 2019
Quoting: 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 Aug 23, 2019
Quoting: 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 Aug 23, 2019
Quoting: 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 Aug 23, 2019
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 on 23 August 2019 at 7:46 am UTC
LungDrago Aug 23, 2019
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 Aug 23, 2019
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:



https://store.steampowered.com/app/345430/The_Cursed_Forest/
Corben Aug 23, 2019
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!
Purple Library Guy Aug 23, 2019
Quoting: Luke_NukemThis 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.
Well . . . define "impact". I'll call it a big impact when I see the percentage of Linux Steam users start to consistently creep up. At the moment, well, we should be grateful, but "impact" I dunno.
KuJo Aug 23, 2019
Quoting: mylka
Quoting: 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
The difference is greater.

While the Padoka Stable PPA currently comes with Mesa 19.1.2,
-> https://launchpad.net/~paulo-miguel-dias/+archives/ubuntu/pkppa

brings along the ACO PPA Mesa 19.2-devel. ACO is also experimental.
-> https://steamcommunity.com/app/221410/discussions/0/1640915206474070669/
-> https://github.com/daniel-schuermann/mesa

Currently even the first entries with Mesa 19.3.0-devel are already in the ACO-github.

Maybe I should do a counter-test with the Padoak unstable PPA. This is already compiled against Mesa 19.2-devel:
-> https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/mesa

Maybe it's not just the shaders but the Mesa level.


Last edited by KuJo on 23 August 2019 at 4:11 pm UTC
Cyba.Cowboy Aug 23, 2019
Quoting: ShmerlThey should just release it for Linux already.

Despite owning this on my Sony PlayStation 4 Pro, this game is on my "wish" list, for if it eventually becomes available for Linux-based operating systems (GOG.com have the game DRM-free, if you're interested)...


Quoting: Solitary
Quoting: 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.

I was sure I had heard this somewhere, too... But I have extensively looked for the reference (to a release for Linux-based operating system) in the past, and turned-up empty handed every time.


Quoting: Purple Library Guy
Quoting: Luke_NukemThis 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.
Well . . . define "impact". I'll call it a big impact when I see the percentage of Linux Steam users start to consistently creep up. At the moment, well, we should be grateful, but "impact" I dunno.

This.


Last edited by Cyba.Cowboy on 23 August 2019 at 8:19 pm UTC
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.