Tests
Suites
Latest Results
Search
Register
Login
Popular Tests
Flexible IO Tester
Timed Linux Kernel Compilation
Llama.cpp
Blender
Hashcat
PostgreSQL
Newest Tests
OpenVINO GenAI
Rustls
Recently Updated Tests
NeatBench
OpenRadioss
QuantLib
GROMACS
AOM AV1
FLAC Audio Encoding
New & Recently Updated Tests
Recently Updated Suites
Machine Learning
Server Motherboard
HPC - High Performance Computing
New & Recently Updated Suites
Component Benchmarks
CPUs / Processors
GPUs / Graphics
OpenGL
Disks / Storage
Motherboards
File-Systems
Operating Systems
OpenBenchmarking.org
Corporate / Organization Info
Bug Reports / Feature Requests
Total War: WARHAMMER II 1.0.0
pts/tww2-1.0.0
- 20 November 2018 -
Initial commit.
install.sh
#!/bin/bash -e # Install Total War WARHAMMER II on Linux and generate launcher scripts and preference templates # Base constants # export STEAM_GAME_ID=594570 export GAME_PREFS="$DEBUG_REAL_HOME/.local/share/feral-interactive/Total War WARHAMMER II" export GAME_INSTALL_DIR_BASE="steamapps/common/Total War WARHAMMER II/" export DEFAULT_STEAM_INSTALL_BASE="$DEBUG_REAL_HOME/.steam/steam" # Try and install the game in case it isn't already # echo "Ensuring game is installed" HOME="$DEBUG_REAL_HOME" steam "steam://install/$STEAM_GAME_ID" # Work out the steam install directory # export CONFIG_PATH="$DEBUG_REAL_HOME/.steam/steam/config/config.vdf" echo "Searching ${CONFIG_PATH} for install directories" _INSTALL_PATHS=$( awk '/BaseInstallFolder/ { gsub(/"/, "", $2); print $2 }' "${CONFIG_PATH}" ) # Find one that contains the game while read -r STEAM_PATH; do _NEW_FULL_PATH="${STEAM_PATH}/${GAME_INSTALL_DIR_BASE}" echo "Checking for game install: ${_NEW_FULL_PATH}" if [ -d "${_NEW_FULL_PATH}" ]; then echo "Found game install: ${_NEW_FULL_PATH}" export GAME_INSTALL_DIR="${_NEW_FULL_PATH}" fi done <<< "${_INSTALL_PATHS}" # Allow the default location as well if [ ! -d "${GAME_INSTALL_DIR}" ]; then export GAME_INSTALL_DIR="${DEFAULT_STEAM_INSTALL_BASE}/${GAME_INSTALL_DIR_BASE}" echo "Using default directory for game install: ${GAME_INSTALL_DIR}" fi # Bail if we still couldn't find the game if [ ! -f "${GAME_INSTALL_DIR}/TotalWarhammer2.sh" ]; then >&2 echo "Missing run script in install dir - ${GAME_INSTALL_DIR}/TotalWarhammer2.sh" exit 1 fi # Gather the steam env variables the game runs with # echo "Gathering environment variables for game" HOME="$DEBUG_REAL_HOME" steam steam://run/$STEAM_GAME_ID & sleep 6 GAME_PID=$( pidof TotalWarhammer2 | cut -d' ' -f1 ) if [ -z "$GAME_PID" ]; then echo "Could not find process TotalWarhammer2" exit 1 fi echo '#!/bin/bash' > steam-env-vars.sh echo "# Collected steam environment for Total War: Warhammer II\n# PID : $GAME_PID" >> steam-env-vars.sh while read -rd $'\0' ENV ; do NAME=$(echo "$ENV" | cut -zd= -f1); VAL=$(echo "$ENV" | cut -zd= -f2) case $NAME in *DBUS*) true ;; *) echo "export $NAME=\"$VAL\"" ;; esac done < "/proc/$GAME_PID/environ" >> steam-env-vars.sh killall -9 TotalWarhammer2 sleep 6 if [ -z "${STEAM_ACCOUNT_ID}" ]; then pushd "${GAME_PREFS}/SaveData/" STEAM_ACCOUNT_ID="$(ls |head -1)" popd else STEAM_ACCOUNT_ID="Steam Saves (${STEAM_ACCOUNT_ID})" fi RESULTS_PREFIX="${GAME_PREFS}/SaveData/${STEAM_ACCOUNT_ID}/" # Create the game launching script # echo "Generating run script" cat > tww2.sh <<- EOM #!/bin/bash # Generated run script for Total War: WARHAMMER II # $( date ) # Source the steam runtime environment # . steam-env-vars.sh # Run the game # cd "${GAME_INSTALL_DIR}" ./TotalWarhammer2.sh # Grab the output (most recent non _frametimes txt file) RESULTS_DIR="${RESULTS_PREFIX}benchmarks/" mkdir -p "\${RESULTS_DIR}" cd "\${RESULTS_DIR}" true > "\$LOG_FILE" FPS_VALUES=\$( grep -A3 "frames per second" \$(ls -t | grep -P "benchmark_.*[0-9]+.txt" | head -n 1) | tail -n 3 ) cat benchmark_*.txt >> "\$LOG_FILE" echo "\${FPS_VALUES}" >> "\$LOG_FILE" EOM chmod +x tww2.sh # Create the template preferences file # echo "Generating settings template" cat > preferences.template.xml <<- EOM <?xml version="1.0" encoding="UTF-8"?> <registry> <key name="HKEY_CLASSES_ROOT"> </key> <key name="HKEY_CURRENT_CONFIG"> </key> <key name="HKEY_CURRENT_USER"> <key name="AutoValueRemap"> <key name="GPURemap"> <key name="keys"> <value name="Software\IndirectX\Direct3D\Config" type="integer">1</value> </key> <key name="values"> <value name="Software\Feral Interactive\Total War WARHAMMER II\Setup\FullScreen" type="integer">1</value> <value name="Software\Feral Interactive\Total War WARHAMMER II\Setup\ScreenH" type="integer">1</value> <value name="Software\Feral Interactive\Total War WARHAMMER II\Setup\ScreenW" type="integer">1</value> </key> </key> </key> <key name="Software"> <key name="Feral Interactive"> <key name="Total War WARHAMMER II"> <key name="Setup"> <!-- disable pausing --> <value name="AllowPausing" type="integer">0</value> <value name="PauseMoviesOnPause" type="integer">0</value> <value name="PauseOnSuspend" type="integer">0</value> <value name="PauseSoundOnPause" type="integer">0</value> <value name="PauseTimersOnPause" type="integer">0</value> <value name="AllowSendUsageData" type="integer">0</value> <!-- Don't show splash screen --> <value name="GameOptionsDialogLastTab" type="integer">60000</value> <value name="GameOptionsDialogShouldShow" type="integer">0</value> <value name="GameOptionsDialogShouldShowBigPicture" type="integer">0</value> <value name="GameOptionsDialogShown" type="integer">1</value> <!-- Disable Splash Screen Warnings --> <value name="SoftwareUpdatedAskedUser" type="integer">1</value> <value name="SoftwareUpdatedCanCheck" type="integer">0</value> <key name="GraphicsSettings"> <value name="advice_level" type="integer">2</value> <value name="advisor_mode" type="integer">2</value> <value name="alliance_faction_colours" type="integer">0</value> <value name="audio_api_type" type="integer">0</value> <value name="audio_mute_in_background" type="integer">1</value> <value name="audio_quality" type="integer">0</value> <value name="audio_speaker_configuration" type="integer">0</value> <value name="battle_camera_shake_enabled" type="integer">1</value> <value name="battle_defend_default" type="integer">0</value> <value name="battle_groups_locked_by_default" type="integer">0</value> <value name="battle_run_by_default" type="integer">1</value> <value name="battle_skirmish_default" type="integer">1</value> <value name="camera_move_speed" type="binary">0000000000005940</value> <value name="camera_turn_speed" type="binary">0000000000001440</value> <value name="cinematic_smoothing" type="binary">0000000000002ec0</value> <value name="default_battle_camera_type" type="integer">0</value> <value name="gfx_aa" type="integer">@gfx_aa@</value> <value name="gfx_alpha_blend" type="integer">0</value> <value name="gfx_blood_effects" type="integer">1</value> <value name="gfx_brightness_setting" type="binary">000000403333f33f</value> <value name="gfx_building_quality" type="integer">@gfx_building_quality@</value> <value name="gfx_depth_of_field" type="integer">0</value> <value name="gfx_device_type" type="integer">1</value> <value name="gfx_distortion" type="integer">1</value> <value name="gfx_effects_quality" type="integer">@gfx_effects_quality@</value> <value name="gfx_first_run" type="integer">0</value> <value name="gfx_fog" type="integer">@gfx_fog@</value> <value name="gfx_gamma_setting" type="binary">0000000000000040</value> <value name="gfx_gpu_select" type="integer">0</value> <value name="gfx_grass_quality" type="integer">@gfx_grass_quality@</value> <value name="gfx_lighting_quality" type="integer">@gfx_lighting_quality@</value> <value name="gfx_resolution_scale" type="binary">000000000000f03f</value> <value name="gfx_screen_space_reflections" type="integer">0</value> <value name="gfx_shadow_quality" type="integer">@gfx_shadow_quality@</value> <value name="gfx_sharpening" type="integer">1</value> <value name="gfx_sky_quality" type="integer">@gfx_sky_quality@</value> <value name="gfx_ssao" type="integer">@gfx_ssao@</value> <value name="gfx_terrain_quality" type="integer">@gfx_terrain_quality@</value> <value name="gfx_tesselation" type="integer">0</value> <value name="gfx_texture_filtering" type="integer">@gfx_texture_filtering@</value> <value name="gfx_texture_quality" type="integer">@gfx_texture_quality@</value> <value name="gfx_tree_quality" type="integer">@gfx_tree_quality@</value> <value name="gfx_unit_quality" type="integer">@gfx_unit_quality@</value> <value name="gfx_unit_size" type="integer">@gfx_unit_size@</value> <value name="gfx_unlimited_video_memory" type="integer">0</value> <value name="gfx_vignette" type="integer">0</value> <value name="gfx_vsync" type="integer">0</value> <value name="gfx_water_quality" type="integer">@gfx_water_quality@</value> <value name="invert_cam_x_axis" type="integer">0</value> <value name="invert_cam_y_axis" type="integer">0</value> <value name="mouse_wheel_sensitivity" type="integer">50</value> <value name="porthole_3d" type="integer">@porthole_3d@</value> <value name="proximity_fading" type="integer">1</value> <value name="scroll_transition_enabled" type="integer">1</value> <value name="show_projectile_trails" type="integer">1</value> <value name="sound_advisor_volume" type="integer">100</value> <value name="sound_master_enabled" type="integer">1</value> <value name="sound_master_volume" type="integer">100</value> <value name="sound_music_enabled" type="integer">1</value> <value name="sound_music_volume" type="integer">100</value> <value name="sound_sfx_volume" type="integer">100</value> <value name="sound_vo_enabled" type="integer">1</value> <value name="sound_vo_volume" type="integer">100</value> <value name="subtitles" type="integer">0</value> <value name="ui_colour_profile" type="integer">0</value> <value name="ui_mouse_scroll" type="integer">1</value> <value name="ui_scale" type="binary">000000000000f03f</value> <value name="ui_unit_id_scale" type="binary">0000000000000000</value> <value name="ui_unit_tooltip_expand_mode" type="integer">2</value> <value name="voice_chat_enable" type="integer">1</value> <value name="voice_chat_microphone_gain" type="integer">100</value> <value name="voice_chat_microphone_gain_boost" type="integer">1</value> <value name="voice_chat_transmit_only_when_key_pressed" type="integer">1</value> <value name="voice_chat_volume" type="integer">100</value> </key> <value name="AvoidSwapInjectionDuringPGOW" type="integer">1</value> <value name="ConstrainLiveWindowResize" type="integer">1</value> <value name="DisableMomentumScrolling" type="integer">1</value> <value name="DoneMinOS" type="integer">1</value> <value name="DonePromotional" type="integer">1</value> <value name="DoneUnsupported" type="integer">1</value> <value name="ForceSystemFullscreen" type="integer">1</value> <value name="FullScreen" type="integer">1</value> <value name="GameSelected" type="integer">0</value> <value name="LiveWindowResizePercentage" type="integer">0</value> <value name="LiveWindowResizeThreshold" type="integer">0</value> <value name="MinWindowedHeight" type="integer">0</value> <value name="MinWindowedWidth" type="integer">0</value> <value name="MissionControlDetection" type="integer">1</value> <value name="ScreenH" type="integer">@screen_height@</value> <value name="ScreenW" type="integer">@screen_width@</value> <value name="SpecificationFirstLaunchCheck" type="integer">0</value> <value name="UseDynamicShroud" type="integer">1</value> <value name="UseRestrictedWorkGroupSize" type="integer">1</value> <value name="UseSpecializedShaders" type="integer">1</value> </key> </key> </key> <key name="MacDoze"> <key name="Config"> <value name="ExtraCommandLine" type="string">game_startup_mode benchmark_auto_quit script/benchmarks/@benchmark_name@</value> <value name="ExtraCommandLineEnabled" type="integer">1</value> </key> </key> </key> </key> <key name="HKEY_LOCAL_MACHINE"> <key name="Hardware"> </key> <key name="Software"> </key> </key> <key name="HKEY_USERS"> </key> </registry> EOM
interim.sh
#!/bin/bash GAME_PREFS="$DEBUG_REAL_HOME/.local/share/feral-interactive/Total War WARHAMMER II" if [ -z "${STEAM_ACCOUNT_ID}" ]; then pushd "${GAME_PREFS}/SaveData/" STEAM_ACCOUNT_ID="$(ls |head -1)" popd else STEAM_ACCOUNT_ID="Steam Saves (${STEAM_ACCOUNT_ID})" fi RESULTS_PREFIX="${GAME_PREFS}/SaveData/${STEAM_ACCOUNT_ID}/" rm -rf "${RESULTS_PREFIX:?}"
post.sh
#!/bin/bash -e GAME_PREFS="$DEBUG_REAL_HOME/.local/share/feral-interactive/Total War WARHAMMER II" # Grab the old prefs bkp location DATETIME=$( cat /tmp/tww2-bkp-dt ) rm /tmp/tww2-bkp-dt GAME_PREFS_BKP="${GAME_PREFS}.pts-$DATETIME-bkp" # Put back our game prefs rm -rf "${GAME_PREFS:?}/" mv "$GAME_PREFS_BKP" "$GAME_PREFS"
pre.sh
#!/bin/bash -e set -o xtrace exec > /tmp/test exec 2>&1 # Input settings WIDTH=$1 HEIGHT=$2 SETTING=$3 SCENARIO=$4 # Game preferences export HOME=$DEBUG_REAL_HOME GAME_PREFS="$DEBUG_REAL_HOME/.local/share/feral-interactive/Total War WARHAMMER II" # Set up (and back up) the game preferences files DATETIME=$( date +%Y-%d-%m-%H-%M ) echo "$DATETIME" >/tmp/tww2-bkp-dt GAME_PREFS_BKP="${GAME_PREFS}.pts-$DATETIME-bkp" cp -r "$GAME_PREFS" "$GAME_PREFS_BKP" # clear previous runs rm -rf "${GAME_PREFS:?}" mkdir -p "${GAME_PREFS}" # Set up the files to use cp "preferences.template.xml" "$GAME_PREFS/preferences" # Replace the resolutions cd "$GAME_PREFS" || exit 1 # Replace settings with those chosen sed -i "s/@screen_height@/$WIDTH/g" preferences sed -i "s/@screen_width@/$HEIGHT/g" preferences # Replace benchmark scenario, use commas as delimiters since this is replacing a # path string sed -i "s,@benchmark_name@,$SCENARIO,g" preferences # Lowest if [ $SETTING -eq "0" ]; then sed -i "s/@gfx_aa@/0/g" preferences sed -i "s/@gfx_building_quality@/0/g" preferences sed -i "s/@gfx_effects_quality@/0/g" preferences sed -i "s/@gfx_grass_quality@/0/g" preferences sed -i "s/@gfx_shadow_quality@/0/g" preferences sed -i "s/@gfx_sky_quality@/0/g" preferences sed -i "s/@gfx_ssao@/0/g" preferences sed -i "s/@gfx_terrain_quality@/0/g" preferences sed -i "s/@gfx_texture_filtering@/0/g" preferences sed -i "s/@gfx_texture_quality@/2/g" preferences sed -i "s/@gfx_tree_quality@/0/g" preferences sed -i "s/@gfx_unit_quality@/0/g" preferences sed -i "s/@gfx_unit_size@/0/g" preferences sed -i "s/@gfx_water_quality@/0/g" preferences sed -i "s/@gfx_fog@/0/g" preferences sed -i "s/@gfx_lighting_quality@/0/g" preferences sed -i "s/@porthole_3d@/0/g" preferences elif [ $SETTING -eq "1" ]; then sed -i "s/@gfx_aa@/0/g" preferences sed -i "s/@gfx_building_quality@/1/g" preferences sed -i "s/@gfx_effects_quality@/1/g" preferences sed -i "s/@gfx_grass_quality@/1/g" preferences sed -i "s/@gfx_shadow_quality@/1/g" preferences sed -i "s/@gfx_sky_quality@/1/g" preferences sed -i "s/@gfx_ssao@/0/g" preferences sed -i "s/@gfx_terrain_quality@/1/g" preferences sed -i "s/@gfx_texture_filtering@/2/g" preferences sed -i "s/@gfx_texture_quality@/2/g" preferences sed -i "s/@gfx_tree_quality@/1/g" preferences sed -i "s/@gfx_unit_quality@/1/g" preferences sed -i "s/@gfx_unit_size@/1/g" preferences sed -i "s/@gfx_water_quality@/1/g" preferences sed -i "s/@gfx_fog@/0/g" preferences sed -i "s/@gfx_lighting_quality@/1/g" preferences sed -i "s/@porthole_3d@/1/g" preferences elif [ $SETTING -eq "2" ]; then sed -i "s/@gfx_aa@/0/g" preferences sed -i "s/@gfx_building_quality@/2/g" preferences sed -i "s/@gfx_effects_quality@/2/g" preferences sed -i "s/@gfx_grass_quality@/2/g" preferences sed -i "s/@gfx_shadow_quality@/2/g" preferences sed -i "s/@gfx_sky_quality@/2/g" preferences sed -i "s/@gfx_ssao@/0/g" preferences sed -i "s/@gfx_terrain_quality@/2/g" preferences sed -i "s/@gfx_texture_filtering@/3/g" preferences sed -i "s/@gfx_texture_quality@/2/g" preferences sed -i "s/@gfx_tree_quality@/2/g" preferences sed -i "s/@gfx_unit_quality@/2/g" preferences sed -i "s/@gfx_unit_size@/2/g" preferences sed -i "s/@gfx_water_quality@/2/g" preferences sed -i "s/@gfx_fog@/1/g" preferences sed -i "s/@gfx_lighting_quality@/1/g" preferences sed -i "s/@porthole_3d@/1/g" preferences elif [ $SETTING -eq "3" ]; then sed -i "s/@gfx_aa@/1/g" preferences sed -i "s/@gfx_building_quality@/3/g" preferences sed -i "s/@gfx_effects_quality@/3/g" preferences sed -i "s/@gfx_grass_quality@/3/g" preferences sed -i "s/@gfx_shadow_quality@/3/g" preferences sed -i "s/@gfx_sky_quality@/3/g" preferences sed -i "s/@gfx_ssao@/1/g" preferences sed -i "s/@gfx_terrain_quality@/3/g" preferences sed -i "s/@gfx_texture_filtering@/4/g" preferences sed -i "s/@gfx_texture_quality@/2/g" preferences sed -i "s/@gfx_tree_quality@/3/g" preferences sed -i "s/@gfx_unit_quality@/3/g" preferences sed -i "s/@gfx_unit_size@/3/g" preferences sed -i "s/@gfx_water_quality@/3/g" preferences sed -i "s/@gfx_fog@/1/g" preferences sed -i "s/@gfx_lighting_quality@/1/g" preferences sed -i "s/@porthole_3d@/1/g" preferences else echo "Failed to set graphics preset" exit 2 fi
results-definition.xml
<?xml version="1.0"?> <!--Phoronix Test Suite v8.4.0m3--> <PhoronixTestSuite> <ResultsParser> <OutputTemplate> mean #_RESULT_# min #_MIN_RESULT_# max #_MAX_RESULT_#</OutputTemplate> </ResultsParser> <ExtraData> <Identifier>csv-individual-frame-times</Identifier> </ExtraData> </PhoronixTestSuite>
test-definition.xml
<?xml version="1.0"?> <!--Phoronix Test Suite v8.4.0m3--> <PhoronixTestSuite> <TestInformation> <Title>Total War: WARHAMMER II</Title> <AppVersion>1.0</AppVersion> <Description>Total War: WARHAMMER II on Steam. The test profile assumes you have a Steam account, have Steam installed for the system, and that you own a copy of this game. This automates the process of executing the game and using its built-in benchmark mode. Backs up old preferences (in ~/.local/share/feral-interactive/) for the run. NOTES for cross-platform comparisons: TODO </Description> <ResultScale>Frames Per Second</ResultScale> <Proportion>HIB</Proportion> <Executable>tww2.sh</Executable> <TimesToRun>3</TimesToRun> </TestInformation> <TestProfile> <Version>1.0.0</Version> <SupportedPlatforms>Linux</SupportedPlatforms> <SoftwareType>Game</SoftwareType> <TestType>Graphics</TestType> <License>Retail</License> <Status>Unverified</Status> <SupportedArchitectures>x86_64</SupportedArchitectures> <ExternalDependencies>steam</ExternalDependencies> <RequiresDisplay>TRUE</RequiresDisplay> <ProjectURL>https://store.steampowered.com/app/594570/</ProjectURL> <Maintainer>Liam Middlebrook</Maintainer> </TestProfile> <TestSettings> <Option> <DisplayName>Resolution</DisplayName> <Identifier>auto-resolution</Identifier> <Menu> <Entry> <Name>$VIDEO_WIDTH x $VIDEO_HEIGHT</Name> <Value>$VIDEO_WIDTH $VIDEO_HEIGHT</Value> </Entry> </Menu> </Option> <Option> <DisplayName>Graphics Preset</DisplayName> <Identifier>graphics-preset</Identifier> <Menu> <Entry> <Name>Low</Name> </Entry> <Entry> <Name>Medium</Name> <Value>1</Value> </Entry> <Entry> <Name>High</Name> <Value>2</Value> </Entry> <Entry> <Name>Ultra</Name> <Value>3</Value> </Entry> </Menu> </Option> <Option> <DisplayName>Scenario</DisplayName> <Identifier>scenario</Identifier> <Menu> <Entry> <Name>Fallen Gates Battle</Name> <Value>fallen_gates/battle_benchmark.xml</Value> </Entry> <Entry> <Name>Skaven Battle</Name> <Value>skaven_benchmark/skaven_benchmark.xml</Value> </Entry> </Menu> </Option> </TestSettings> </PhoronixTestSuite>