#!/bin/bash PWD="$(pwd)" GAMEPOL="userspace" GAMEPATH="$HOME/.wine/drive_c/Programmi/Darkstone" GAMEBIN="Darkstone.exe" GAMEISO="/home/archive/games/_oldies/darkstone/DarkStone+Patches+Missions.iso" MNTPOINT="/media/temp" GPUCLOCKS="220,1020" GPUCLOCK="no" if [ -x `which cpufreq-info` ] then CPUINFO="yes" MIN=$(cpufreq-info -p | cut -d\ -f1) MAX=$(cpufreq-info -p | cut -d\ -f2) POL=$(cpufreq-info -p | cut -d\ -f3) FREQ=$(cpufreq-info -f) #echo "Actual values:" #echo -e "\t* minimum supported frequency:\t$MIN" #echo -e "\t* maximum supported frequency:\t$MAX" #echo -e "\t* actual frequency:\t\t$FREQ" #echo -e "\t* policy:\t\t\t\t$POL" fi echo "Setting system for game..." if [ $CPUINFO == "yes" ] && [ -u `which cpufreq-set` ] then CPUSET="yes" echo -e "\t* CPU governor/frequency" cpufreq-set -g $GAMEPOL cpufreq-set -f $MIN fi if [ "`lsmod | grep ^nvidia`" ] && [ "`which nvidia-settings`" ] then NVSET="yes" AAC=$(nvidia-settings -q FSAAAppControlled|grep Attribute|cut -d: -f3|sed 's/[\ \.]//g') AA=$(nvidia-settings -q FSAA|grep Attribute|cut -d: -f3|sed 's/[\ \.]//g') AFC=$(nvidia-settings -q LogAnisoAppControlled|grep Attribute|cut -d: -f3|sed 's/[\ \.]//g') AF=$(nvidia-settings -q LogAniso|grep Attribute|cut -d: -f3|sed 's/[\ \.]//g') TS=$(nvidia-settings -q TextureSharpen|grep Attribute|cut -d: -f3|sed 's/[\ \.]//g') OC=$(nvidia-settings -q GPUOverclockingState|grep Attribute|cut -d: -f3|sed 's/[\ \.]//g') OCV=$(nvidia-settings -q GPU3DClockFreqs|grep Attribute|cut -d: -f3|sed 's/[\ \.]//g') echo -e "\t* GPU frequencies 3D acceleration parameters..." echo -e "\t - anti-aliasing" nvidia-settings -a FSAAAppControlled=0 > /dev/null nvidia-settings -a FSAA=5 > /dev/null echo -e "\t - anisotropic filtering" nvidia-settings -a LogAnisoAppControlled=0 > /dev/null nvidia-settings -a LogAniso=3 > /dev/null echo -e "\t - texture sharpening" nvidia-settings -a TextureSharpen=1 > /dev/null if [ $GPUCLOCK == "yes" ] then echo -e "\t - core/memory 3D frequencies" nvidia-settings -a GPUOverclockingState=1 > /dev/null nvidia-settings -a GPU3DClockFreqs=$GPUCLOCKS > /dev/null fi fi if [ -x "$GAMEPATH/$GAMEBIN" ] then echo -e "\t* trying to mount game iso..." mount $MNTPOINT > /dev/null 2>&1 echo echo "Running DarkStone, have a nice game..." cd $GAMEPATH wine $GAMEBIN > /dev/null 2>&1 else echo "Cannot find game binary, sorry." fi echo echo "Restoring previous environment..." echo -e "\t* working directory" cd $PWD if [ $CPUSET == "yes" ] then echo -e "\t* CPU frequency and policy" cpufreq-set -f $FREQ cpufreq-set -g $POL fi if [ $NVSET == "yes" ] then echo -e "\t* GPU frequencies and 3D acceleration parameters" nvidia-settings -a FSAAAppControlled=$AAC > /dev/null nvidia-settings -a FSAA=$AA > /dev/null nvidia-settings -a LogAnisoAppControlled=$AFC > /dev/null nvidia-settings -a LogAniso=$AF > /dev/null nvidia-settings -a TextureSharpen=$TS > /dev/null nvidia-settings -a GPUOverclockingState=$OC > /dev/null if [ $3DCLOCK == "yes" ] then nvidia-settings -a GPU3DClockFreqs=$OCV > /dev/null fi fi echo echo echo "bye!"