Warcraft III: Difference between revisions
From Pengwings
No edit summary |
No edit summary |
||
| (One intermediate revision by the same user not shown) | |||
| Line 1: | Line 1: | ||
Warcraft III is a DirectX 8 game. By default the game seems to be running in OpenGL mode | Warcraft III is a DirectX 8 game. By default, the game seems to be running in OpenGL mode, which is borked - resizing the window causes the lighting to break. | ||
The following env var is supposed to make Proton use D8VK to run using Vulkan: | The following env var is supposed to make Proton use D8VK to run using Vulkan: | ||
| Line 7: | Line 7: | ||
==== Working fix ==== | ==== Working fix ==== | ||
* Use GE-Proton9-27 | * Use GE-Proton9-27 (GE-Proton10-29 has window size bug) | ||
* Download dxwrapper v1.5.8100.25 from https://github.com/elishacloud/dxwrapper/releases/tag/v1.5.8100.25 | * Download dxwrapper v1.5.8100.25 from https://github.com/elishacloud/dxwrapper/releases/tag/v1.5.8100.25 | ||
* Put d3d8.dll, dxwrapper.dll, dxwrapper.ini in the root of the install directory | * Put d3d8.dll, dxwrapper.dll, dxwrapper.ini in the root of the install directory | ||
Latest revision as of 22:43, 10 February 2026
Warcraft III is a DirectX 8 game. By default, the game seems to be running in OpenGL mode, which is borked - resizing the window causes the lighting to break.
The following env var is supposed to make Proton use D8VK to run using Vulkan:
export PROTON_ENABLE_D8VK=1
Unfortunately this doesn't seem to work in any Proton version I tried. Proton 10 has no behavioural change. Proton 8 and 9 crash.
Working fix
- Use GE-Proton9-27 (GE-Proton10-29 has window size bug)
- Download dxwrapper v1.5.8100.25 from https://github.com/elishacloud/dxwrapper/releases/tag/v1.5.8100.25
- Put d3d8.dll, dxwrapper.dll, dxwrapper.ini in the root of the install directory
- Edit dxwrapper.ini:
D3d8to9 = 1
Add this environment variable:
export WINEDLLOVERRIDES="d3d8=n"
Should be fixed now.
Known issues
It might also be necessary to rename Movies folder to something else so the game doesn't try to play the cutscenes (the game wouldn't start for me without this)
bash script
#!/bin/bash -x
#---------- CONFIGURABLE SETTINGS ----------
export STEAM_COMPAT_DATA_PATH="/opt/_pfx/wc3"
TARGET_PROTON_VERSION=GE-Proton9-27
PROGRAM_NAME="Frozen Throne.exe"
PROGRAM_ARGS=-window
export WINEDLLOVERRIDES="d3d8=n"
#---------- THE SCRIPT ----------
export STEAM_COMPAT_CLIENT_INSTALL_PATH=~/.steam/steam
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
pushd "$SCRIPT_DIR"
$STEAM_COMPAT_CLIENT_INSTALL_PATH/compatibilitytools.d/$TARGET_PROTON_VERSION/proton run "$SCRIPT_DIR/$PROGRAM_NAME" "$PROGRAM_ARGS" & disown
popd