| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| games:linux:wine:cod_mw2_2009_iw4x_steamcmd [2026/06/04 07:50] – Sean Rhone | games:linux:wine:cod_mw2_2009_iw4x_steamcmd [2026/06/13 08:50] (current) – [Files] Sean Rhone |
|---|
| * Steam ((https://store.steampowered.com/app/10180/Call_of_Duty_Modern_Warfare_2_2009/)) | * Steam ((https://store.steampowered.com/app/10180/Call_of_Duty_Modern_Warfare_2_2009/)) |
| * IW4x ((https://iw4x.io/)) | * IW4x ((https://iw4x.io/)) |
| |
| * :!: 2026/06/04: WIP | |
| |
| ===== Prerequisites ===== | ===== Prerequisites ===== |
| |
| * [[linux:distros:opensuse_tumbleweed_gnome|openSUSE Tumbleweed (GNOME)]] | * [[linux:distros:opensuse_tumbleweed_gnome|openSUSE Tumbleweed (GNOME)]] |
| * [[linux:notes:wine|Wine]] (old WoW64) | * [[linux:notes:wine|Wine]] (new WoW64) |
| * [[programs:linux:steamcmd|SteamCMD]] | * [[programs:linux:steamcmd|SteamCMD]] |
| |
| ====== Initial Prefix ====== | ====== Initial Prefix ====== |
| |
| mkdir -p ~/'.wine' && WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' WINEARCH='win32' wine wineboot --init && WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' winecfg /v 'vista' && WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' wine REG ADD 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v 'winemenubuilder.exe' /t 'REG_SZ' /d '' /f | mkdir -p ~/'.wine' && WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' WINEARCH='wow64' wine wineboot --init && WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' winecfg /v 'vista' && WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' wine REG ADD 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v 'winemenubuilder.exe' /t 'REG_SZ' /d '' /f |
| |
| WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' wine REG ADD 'HKEY_CURRENT_USER\Software\Wine\Drivers' /v 'Graphics' /t 'REG_SZ' /d 'wayland' /f | WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' wine REG ADD 'HKEY_CURRENT_USER\Software\Wine\Drivers' /v 'Graphics' /t 'REG_SZ' /d 'wayland' /f |
| |
| WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' wine REG ADD 'HKEY_CURRENT_USER\Software\Wine\Direct3D' /v 'renderer' /t 'REG_SZ' /d 'vulkan' /f | WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' wine REG ADD 'HKEY_CURRENT_USER\Software\Wine\Direct3D' /v 'renderer' /t 'REG_SZ' /d 'gdi' /f |
| |
| ====== IW4x ====== | ====== IW4x ====== |
| set sv_securityLevel "22" | set sv_securityLevel "22" |
| set sv_randomMapRotation "1" | set sv_randomMapRotation "1" |
| | set sv_allowClientConsole "1" |
| |
| // General | // General |
| **** | **** |
| |
| cp -Rf ~/'Projects/IW4-Bot-Warfare/src/scriptdata' ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2/userraw' | mkdir -p ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2/userraw' && cp -Rf ~/'Projects/IW4-Bot-Warfare/src/scriptdata' ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2/userraw/scriptdata' |
| |
| ===== IWD ===== | ===== IWD ===== |
| |
| * https://github.com/doitsujin/dxvk/actions ((need to be signed into GitHub, and select the latest ''master'' artifacts package)) | * https://github.com/doitsujin/dxvk/actions ((need to be signed into GitHub, and select the latest ''master'' artifacts package)) |
| * Last tested: ''dxvk-master-6eddf20c9c4e10093a341971324a819bf5568a24.zip'' | * Last tested: ''dxvk-master-9aa4e3da8d026b767de3c530e3b6bd0cdd9b0a76.zip'' |
| |
| unzip -j -o ~/'Downloads/dxvk-master-'*'.zip' 'x32/d3d9.dll' -d ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/windows/system32' | unzip -j -o ~/'Downloads/dxvk-master-'*'.zip' 'x32/d3d9.dll' -d ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/windows/syswow64' |
| |
| ==== Dll Override ==== | ==== Dll Override ==== |
| <code> | <code> |
| # General | # General |
| dxvk.allowFse = "True" | |
| d3d9.dpiAware = "False" | d3d9.dpiAware = "False" |
| d3d9.enumerateByDisplays = "False" | d3d9.enumerateByDisplays = "False" |
| dxvk.tearFree = "False" | |
| dxvk.disableNvLowLatency2 = "True" | |
| dxvk.latencySleep = "False" | |
| d3d9.maxFrameLatency = "1" | |
| d3d9.maxFrameRate = "-1" | |
| d3d9.presentInterval = "0" | |
| d3d9.samplerLodBias = "-2.0" | |
| |
| # Intel | # Intel |
| d3d9.hideIntelGpu = "False" | d3d9.hideIntelGpu = "False" |
| | d3d9.floatEmulation = "False" |
| dxvk.enableGraphicsPipelineLibrary = "False" | dxvk.enableGraphicsPipelineLibrary = "False" |
| dxvk.enableDescriptorBuffer = "False" | |
| |
| # Tweaks | |
| dxvk.enableMemoryDefrag = "False" | dxvk.enableMemoryDefrag = "False" |
| dxvk.lowerSinCos = "False" | dxvk.lowerSinCos = "False" |
| d3d9.deviceLocalConstantBuffers = "True" | |
| d3d9.floatEmulation = "False" | # Tweaks |
| d3d9.invariantPosition = "False" | d3d9.presentInterval = "0" |
| d3d9.lenientClear = "True" | d3d9.maxFrameLatency = "1" |
| dxvk.useRawSsbo = "True" | dxgi.maxFrameLatency = "1" |
| dxvk.tilerMode = "False" | dxgi.syncInterval = "0" |
| | dxvk.tearFree = "False" |
| | dxvk.latencySleep = "False" |
| |
| # HUD | # HUD |
| |
| wget -O ~/'Downloads/IW4x-iw4x-latest.dll' -q --show-progress 'https://github.com/iw4x/iw4x-client/releases/latest/download/iw4x.dll' | wget -O ~/'Downloads/IW4x-iw4x-latest.dll' -q --show-progress 'https://github.com/iw4x/iw4x-client/releases/latest/download/iw4x.dll' |
| mv -fv ~/'Downloads/IW4x-iw4x-latest.dll' ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2/iw4x.dll' | mv -f ~/'Downloads/IW4x-iw4x-latest.dll' ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2/iw4x.dll' |
| |
| wget -O ~/'Downloads/IW4x-release-latest.zip' -q --show-progress 'https://github.com/iw4x/iw4x-rawfiles/releases/latest/download/release.zip' | wget -O ~/'Downloads/IW4x-release-latest.zip' -q --show-progress 'https://github.com/iw4x/iw4x-rawfiles/releases/latest/download/release.zip' |
| unzip -o ~/'Downloads/IW4x-release-latest.zip' -d ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2' | unzip -q -o ~/'Downloads/IW4x-release-latest.zip' -d ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2' |
| rm -fv ~/'Downloads/IW4x-release-latest.zip' | rm -f ~/'Downloads/IW4x-release-latest.zip' |
| |
| zenity --title 'IW4x Updater' --text 'Client and Rawfiles update complete' --icon ~/'.wine/Icons/IW4x-256.png' --timeout '2' --info | zenity --title 'IW4x Updater' --text 'Client and Rawfiles update complete' --icon ~/'.wine/Icons/IW4x-256.png' --timeout '2' --info |
| | : |
| |
| # End</code> | # End</code> |
| |
| zenity --title 'IW4x Updater' --text 'Bot Warfare update complete' --icon ~/'.wine/Icons/IW4x-256.png' --timeout '2' --info | zenity --title 'IW4x Updater' --text 'Bot Warfare update complete' --icon ~/'.wine/Icons/IW4x-256.png' --timeout '2' --info |
| | : |
| |
| # End</code> | # End</code> |
| Name=IW4x | Name=IW4x |
| Categories=Game; | Categories=Game; |
| Exec='/bin/bash' -c "WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' wine ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2/iw4x.exe' +set 'g_antilag 0'" | Path=/tmp |
| | Exec='/bin/bash' -c "WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' wine ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2/iw4x.exe' +exec 'iw4x_custom.cfg' +set 'r_fullscreen 1' +set 'g_antilag 0'" |
| Type=Application | Type=Application |
| StartupNotify=false | StartupNotify=false |
| Icon=/home/CHANGEME/.wine/Icons/IW4x-256.png | Icon=/home/CHANGEME/.wine/Icons/IW4x-256.png |
| StartupWMClass=iw4x.exe | StartupWMClass=iw4x.exe |
| Actions=Server;Saves;Update-IW4x;Update-Bots;Kill;Notes; | Actions=Server;Saves;Window;Update-IW4x;Update-Bots;Kill;Notes; |
| |
| [Desktop Action Server] | [Desktop Action Server] |
| Exec='/bin/bash' -c "~/'Steam/scripts/Call of Duty Modern Warfare 2 (10180)/iw4x-profile-backup.sh'" | Exec='/bin/bash' -c "~/'Steam/scripts/Call of Duty Modern Warfare 2 (10180)/iw4x-profile-backup.sh'" |
| Name=Profile Back-up | Name=Profile Back-up |
| | |
| | [Desktop Action Window] |
| | Exec='/bin/bash' -c "WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' wine ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2/iw4x.exe' +exec 'iw4x_custom.cfg' +set 'r_fullscreen 0' +set 'g_antilag 0'" |
| | Name=IW4x (Windowed) |
| |
| [Desktop Action Update-IW4x] | [Desktop Action Update-IW4x] |
| |
| [Desktop Action Update-Bots] | [Desktop Action Update-Bots] |
| Exec='/bin/bash' -c "kgx --working-directory='/tmp' -T 'IW4x [Bot Warfare Updater]' -e ~/'Steam/scripts/Call of Duty Modern Warfare 2 (10180)/iw4x-bot-warfare-update.sh'" | Exec='/bin/bash' -c "kgx --working-directory='/tmp' -T 'Bot Warfare [Updater]' -e ~/'Steam/scripts/Call of Duty Modern Warfare 2 (10180)/iw4x-bot-warfare-update.sh'" |
| Name=Update Client + Rawfiles | Name=Update Bot Warfare |
| |
| [Desktop Action Kill] | [Desktop Action Kill] |
| Exec='/bin/bash' -c "WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' wineserver -k" | Exec='/bin/bash' -c "WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' wineserver -k" |
| Name=Force-close | Name=Force-close IW4x |
| |
| [Desktop Action Notes] | [Desktop Action Notes] |