Linux Discussion

Well, I didn't have to repair permissions for Brutal.Monitor.Subprocess. KSA had no permissions set after download, but I fixed that. But now, after changing nothing since I last posted, the game has started, at least to the Configuration menu. No idea what changed...

But now it seems stuck at "Spherical Billboarding."

And then after about two minutes there, it's gone.

Tried again with most of the settings reduced a couple steps -- this computer is something of a potato for gaming purposes, after all... And with that, now it hangs at Planet Render reporting us of about half the VRAM budget. In htop it shows using 100% of one CPU thread and it hasn't CTD yet, so I'm waiting for it.

And now it's moved on one step, and crashed again.

Is my Surface Pro too potato, or does KSA not get along with Wayland?
 
Last edited:
Okay, going to have to wait until I get my desktop machine fixed. Currently new MB, CPU, RAM, and power supply, but won't start up to POST.

But as you say, even with
Code:
-fixed-viewport
it crashes as soon as it finishes loading.
 
Woohoo, KSA on Linux, the dream is real! To all who made this work, I love you, will be donating!

Works great for me on my rig:
AMD Ryzen 9 5950X
NVIDIA GeForce RTX 4070
64GB RAM
Debian 13
Wayland 1.23.1-3
Plasma 6.3.6
Kernel 6.12.57
NVIDIA (proprietary) driver 580.119.02



All I had to do was:
$ chmod +x KSA Brutal.Monitor.Subproces
$ ./KSA
 

Attachments

  • KSA_Linux.jpg
    KSA_Linux.jpg
    1.5 MB · Views: 0
Last edited:
I got it running first try on my "workstation" laptop that I picked up. A thinkpad P72 with a Intel(R) Xeon(R) E-2176M and a Quadro P4200 (it's basically a slightly trimmed down GTX 1080 w/ 8GB VRAM). I have a windows gaming PC I will play this on mostly, but it was nice to get it fired up, especially becuase it's a bit of a weird setup with NVIDIA Optiums, there is no automatic GPU switching, everything is rendered by default on the integrated Intel graphics unless you are doing GPU compute or explicitly call the GPU. I'm using prime-run for that here is a little bash script I used to make sure both the processes were actually running on the GPU:


Bash:
#!/usr/bin/env bash
# Variables are isolated to this script execution only

__NV_PRIME_RENDER_OFFLOAD=1 \
__GLX_VENDOR_LIBRARY_NAME=nvidia \
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json \
SDL_VIDEODRIVER=wayland \
./KSA

Intel Xeon E-2176M
NVIDIA Quadro P4200
32GB RAM
Archlinux
Wayland 1.25.0-1
Plasma 6.6.5
Kernel 7.0.10
NVIDIA (proprietary) driver 580.159.04 (This is the newest verison that works with Pascal series GPUs)
 
A have not checked in for a few months and there is a linux version now. That is sooo cool!

I switched to an amd gpu in the mean time and KSA had problems selecting the correct vulkan libraries, so I symlinked:
Code:
ln -s /usr/lib/x86_64-linux-gnu/libvulkan.so.1 ./vulkan.so
ln -s /usr/lib/x86_64-linux-gnu/libvulkan.so.1 ./libvulkan.so

and everything worked just fine (although the shaders took their time).
 
I have made a little bash script to simplify updating and setting executable permissions. It runs in the terminal and simply lists all files matching the proper pattern. Nothing special, but it may save someone some time :D

It is named "update_ksa_linux.sh", and the ini file (for path and dowloaded linux build file recognition pattern) is therefore called "update_ksa_linux.ini.". You can change the ini-file name in the 3rd line of the bash script.
You have to change the line containing the "tar" command to lower case tar. The forum software does not allow me to post the code with a lower case tar...

1. update_ksa_linux.sh
[EDIT: Apparently I cannot post a bash script in here....]
Code:
#!/bin/bash
debug=0
version="1.03.01"

ini_file_name="update_ksa_linux.ini"

echo ""
echo "=== KSA LINUX BUILD UPDATER ================= v$version"
echo ""

if [ $debug != 1 ]; then
  echo "=== DEBUG MODE IS ON ==="
fi

source <(grep = "$ini_file_name")

# These values have to be set in update_ksa_linux.ini:
#
# DOWNLOAD_PATH=~/Downloads
# TARGET_PATH=~/Games/ksa
# FILE_PATTERN="setup_ksa_"
# FILE_EXTENSION=".tar.gz"

echo "FILES FOUND ---------------------------------------------------------------"
select FILE in $(ls "$DOWNLOAD_PATH"/"$FILE_PATTERN"*"$FILE_EXTENSION") "quit"; do
  if [[ "$FILE" == "quit" ]]
  then
    echo "User selected to quit."
    exit
  else
    test -n "$FILE" && break;
  fi
done

echo "---------------------------------------------------------------------------"

echo "SELECTED FILE:"
echo "$FILE"
echo ""

echo "UPDATE KSA WITH THIS FILE?"
read -p "(y/n) > " -rN1 CHOICE
echo " "

if [ "$CHOICE" == "y" ]; then
  echo "UPDATING WITH $FILE"
  if [ "$debug" == "0" ]; then

    # CHANGE THE FOLLOWING LINE TO READ "tar..." instead of "TAR..."

    TAR "$FILE" -C "$TARGET_PATH" -v

    echo Setting executable permissions for KSA...
    chmod +x "$TARGET_PATH"/linux-x64/KSA
    chmod +x "$TARGET_PATH"/linux-x64/Brutal.Monitor.Subprocess
  else
    echo "DEBUG MODE ON:  Command would be: tar -xf $FILE -C $TARGET_PATH -v"
  fi

else
  echo "done."
fi
echo ""

2. The ini-file "update_ksa_linux.ini"

Code:
[Paths]
DOWNLOAD_PATH=~/Downloads
TARGET_PATH=~/Games/ksa

[Setup file]
FILE_PATTERN="setup_ksa_"
FILE_EXTENSION=".tar.gz"
 
Last edited: