lunedì 18 aprile 2016

[Linux Gaming] [How To] PAYDAY 2

Hi guys! Recently Windows 10 decided to wipe (for the second time) my entire linux partition because... well because yes. So I decided to finally start using only linux and make the big and scary switch that was considered the real "wall" between windows and linux for normal users: GAMES.

One of the games I'm playing most lately is PAYDAY 2 which recently has been ported to our beloved operating system.

I experimented in many ways how to run perfectly this game and I have to say I'm more less at a point in which I have the same performance / goodies as in Windows. So let's start with the needed tools:

  1. First: Use the very latest software / drivers! The perfect one is latest nvidia binary blob 361 in *buntu. The we find the brand new (yet still very experimental) AMDGPU driver that's more and more usable every day (opengl 4.5 was almost in mesa?). Our third choice is... Nvidia nouveau with experimental reclocking patches. This is only for hardcore purists and religious fanatists. Our latest option is the IGD (intel usually) with it's great intel driver. Unfortunately it's a great driver for poor cards.

    I'm currently using Nvidia GTX 970M with official PRIME. Can't stress this enough: use official PRIME, not optimus/run/primusrus as that will basically run 2 separate display servers introducing quite a bit of overhead here and there copying compressed buffers around.
  2. Second: Throw away Unity, Gnome, KDE etc... and install XFCE. We need to spend most of our CPU power for running poor eON ported games on our linux box so a lightweight desktop environment is crucial. An other thing to do is: disable the compositor. We don't need fancy shades, we just want to avoid micro-stutters.
  3. Install steam and payday 2 (this can take a looot of time).
  4. Fourth (optional): Screen too dark / mouse too slippy fix. I loved the options in the Intel control center in windows where you can set up lightning, hue, saturation, gamma.... GAMMA. Most of PAYDAY 2 maps are definitely too dark so I used to increase gamma in drivers. Well, in Ubuntu + Intel IGD + Nvidia you simply can't do that on nvidia-settings nor on general system settings. Then I created a small c++ graphical utility to do this for us.

    You can find the source there:

    Just unzip the package and run:
    sudo make dependencies
    sudo make install

    We'll have then a nice slider the will endarken/enlighten our screen. We can also completely disable mouse acceleration and the revert it to default value. This fills the gap to nearly everything we need to decently run PAYDAY 2 on a linux box.
  5. Comment? Feedback? Please comment down here, I'll update the article when new features will be available (like v-sync for nvidia blob with optimus prime that will avoids our gpus to fry).