Performance Optimizations

From Zero-K
(Redirected from Optimized Graphics Linux)
Jump to navigation Jump to search

In-game Overlay

When using Steam or Discord, the in-game overlay should be disabled for maximum performance. It can lead to anything from increased lag to a completely unresponsive user interface.

Disabling the Steam Overlay

  • Right click on Zero-K in your Steam library.
  • Select 'Properties' from the dropdown menu.
  • Untick "Enable the Steam Overlay while in-game" in General.


Disabling the Discord Overlay

  • In Discord, go to Settings -> Games
  • Look for Zero-K and click the button on the right to "Toggle Overlay". It should turn red.

Laptop Graphics Driver Optimizations

Switchable Graphics

On systems with two graphics cards, Zero-K may require an additional step to use the high performance Nvidia or AMD graphics card. If your frame rate seems too low for your hardware, check the following:

  • Open the infolog.txt from your Zero-K folder and search for the line starting with GL vendor
  • If the GL vendor shows as Intel, you should make a rule in your driver software to run spring.exe in High Performance mode.
  • After making the change, run Zero-K again.
  • You can check the infolog.txt again to confirm that your system is using the correct graphics card for Zero-K.

Linux Graphics Driver Optimizations

Graphics Check

glxinfo | grep "Max core profile version"

It needs to show a number 4.1 or greater otherwise graphically demanding games such as Zero-K won't run correctly. If it doesn't you need to do the following (or, as an alternative, upgrade all mesa-related packages from stretch-backports. As for now - Sep 2018 - it will bring Mesa 18.1 and "Max core profile" 4.5).

The graphics stack in Debian Buster is new enough to bring "Max core profile" to "4.5".

Do a backup before preceding. These instructions written for Debian 9 but will likely work on other distributions with little modification.

Backport libdrm from sid

apt-get build-dep libdrm
apt-get source libdrm -t sid
debuild -b -uc -us libdrm
dpkg install libdrm

Build New Mesa3d

apt-get install llvm-3.9-dev
ln -sf /usr/bin/llvm-config-3.9 /usr/bin/llvm-config
git clone git://anongit.freedesktop.org/git/mesa/mesa
cd mesa
./autogen.sh
./configure --prefix=/opt/mesa --enable-texture-float --with-gallium-drivers=radeonsi,swrast --with-platforms=drm,x11 --enable-glx-tls --enable-shared-glapi --enable-glx --enable-driglx-direct --enable-gles1 --enable-gles2 --enable-gbm --enable-openmax --enable-xa --enable-osmesa --with-radeonsi-llvm-compiler --enable-sysfs --enable-vdpau --enable-xvmc --enable-openmax --enable-nine 
make -j 4
checkinstall

You will have to configure via the checkinstall menu to build and install a valid package.

This package will be built according to these values:

0 -  Maintainer: [ your@email ]
1 -  Summary: [ open source 3D computer graphics library ]
2 -  Name:    [ mesa ]
3 -  Version: [ version number from git ]
4 -  Release: [ 1 ]
5 -  License: [ MIT ]
6 -  Group:   [ checkinstall ]
7 -  Architecture: [ amd64 ]
8 -  Source location: [ mesa ]
9 -  Alternate source location: [  ]
10 - Requires: [  ]
11 - Provides: [ mesa ]
12 - Conflicts: [  ]
13 - Replaces: [  ]

Configure Xorg

Xorg -configure
cp xorg.conf.new /etc/X11/xorg.conf

Next restart your display manager.

systemctl restart lightdm.service