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
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
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: [ ]
Xorg -configure cp xorg.conf.new /etc/X11/xorg.conf
Next restart your display manager.
systemctl restart lightdm.service