| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| games:linux:wine:diablo_2_resurrected [2025/09/18 06:27] – Sean Rhone | games:linux:wine:diablo_2_resurrected [2025/11/12 15:49] (current) – Sean Rhone |
|---|
| ====== Information ====== | ====== Information ====== |
| |
| * Battle.net App ((http://us.battle.net/en/app)) | * Diablo II: Resurrected |
| * Diablo II: Resurrected ((https://diablo2.blizzard.com)) | * Battle.net App |
| * 64-bit | * 64-bit |
| * [[https://www.youtube.com/watch?v=07pNpFbNlEg|Gameplay Video]] | |
| |
| ===== Prerequisites ===== | ===== Prerequisites ===== |
| |
| * [[distros:fedora_workstation_gnome|Fedora Workstation]] | * [[linux;distros;opensuse_tumbleweed_gnome|openSUSE Tumbleweed (GNOME)]] |
| * [[notes:wine|Wine]] | * [[linux;notes;wine|Wine]] (old WoW64) |
| | |
| ===== Notes ===== | |
| | |
| * This is the modern client that has enhanced graphics and requires the Battle.net client; see [[games;linux;wine;diablo_2|Diablo II]] for the original version | |
| * 2023/09/14: Resurrected graphics has too-low of FPS on Intel UHD 630; switch to Legacy graphics in-game ((actual in-game and not main menu)) by pressing ''G'' | |
| * :!: Using a game controller requires the hardware specs to run Resurrected graphics at reasonable framerates, even if switched to Legacy graphics ((presumably Resurrected assets need to be running for the controller mappings and UI being done by the game engine)) | |
| * :!: When directly-launching ''D2R.exe'' with ''-username'' and ''-password'', if the Battle.net account or the system flags you for captchas, log-in isn't possible | |
| |
| ====== Install ====== | ====== Install ====== |
| * Install to default location ((''C:/Program Files (x86)/Battle.net'')) | * Install to default location ((''C:/Program Files (x86)/Battle.net'')) |
| * ''[ ]'' Launch Battle.net when you start your computer | * ''[ ]'' Launch Battle.net when you start your computer |
| | * Settings -> Game Launch and Clicking X -> Exit Battle.net completely |
| * Log-in | |
| * Change Battle.net App settings ((don't auto-start, exit on game launch)) | |
| * Close | |
| |
| mkdir -p ~/'.wine' && WINEPREFIX=~/'.wine/Diablo II Resurrected' WINEARCH='win64' wineboot --init && WINEPREFIX=~/'.wine/Diablo II Resurrected' wine REG ADD 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v 'winemenubuilder.exe' /t 'REG_SZ' /d '' /f && wget -O '/tmp/Battle.net-Setup.exe' 'https://downloader.battle.net/download/getInstaller?os=win&installer=Battle.net-Setup.exe' && WINEPREFIX=~/'.wine/Diablo II Resurrected' wine '/tmp/Battle.net-Setup.exe' | mkdir -p ~/'.wine' && WINEPREFIX=~/'.wine/Diablo II Resurrected' WINEARCH='win64' wineboot --init && WINEPREFIX=~/'.wine/Diablo II Resurrected' wine REG ADD 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v 'winemenubuilder.exe' /t 'REG_SZ' /d '' /f && wget -O '/tmp/Battle.net-Setup.exe' 'https://downloader.battle.net/download/getInstaller?os=win&installer=Battle.net-Setup.exe' && WINEPREFIX=~/'.wine/Diablo II Resurrected' wine '/tmp/Battle.net-Setup.exe' |
| ===== Diablo II Resurrected ===== | ===== Diablo II Resurrected ===== |
| |
| * Settings -> Downloads -> Scan for Games -> Locate -> ''Diablo II Resurrected'' | * Diablo II: Resurrected -> Install ((default location ''C:\Program Files (x86)\Diablo II Resurrected\'')) -> Start Install |
| |
| cd ~/'.wine/Diablo II Resurrected/drive_c/Program Files (x86)/Battle.net' && WINEPREFIX=~/'.wine/Diablo II Resurrected' wine ~/'.wine/Diablo II Resurrected/drive_c/Program Files (x86)/Battle.net/Battle.net Launcher.exe' | cd ~/'.wine/Diablo II Resurrected/drive_c/Program Files (x86)/Battle.net' && WINEPREFIX=~/'.wine/Diablo II Resurrected' wine ~/'.wine/Diablo II Resurrected/drive_c/Program Files (x86)/Battle.net/Battle.net Launcher.exe' |
| |
| ===== Clean Up ===== | ===== Vulkan ===== |
| |
| **** | **** |
| |
| rm -f ~/'Downloads/Battle.net-Setup.exe' ~/'Desktop/Battle.net.desktop' ~/'Desktop/Diablo II Resurrected.desktop' && cd ~ && sync | WINEPREFIX=~/'.wine/Diablo II Resurrected' wine REG ADD 'HKEY_CURRENT_USER\Software\Wine\Direct3D' /v 'renderer' /t 'REG_SZ' /d 'vulkan' /f |
| |
| ====== Libraries ====== | ===== Sandbox ===== |
| |
| ===== DXVK ===== | **** |
| |
| * https://github.com/doitsujin/dxvk/actions ((need to be signed into GitHub, and select the latest ''master'' artifacts package)) | WINEPREFIX=~/'.wine/Diablo II Resurrected' winetricks sandbox |
| * Provides DXGI for ''vkd3d-proton'' | |
| * Since D2R can only use D3D12 and thus ''vkd3d-proton'', <del>there's no need for DXVK's cache folder</del> | |
| * TODO: Add DXVK's cache folder as the Battle.net client probably uses it anyway | |
| |
| ls ~/'Downloads/dxvk-master-'*'.zip' && rm -Rf '/tmp/dxvk-master' && mkdir -p '/tmp/dxvk-master' && unzip ~/'Downloads/dxvk-master-'*'.zip' -d '/tmp/dxvk-master/' && cp --backup '/tmp/dxvk-master/x64/'*'.dll' ~/'.wine/Diablo II Resurrected/drive_c/windows/system32/' && cp --backup '/tmp/dxvk-master/x32/'*'.dll' ~/'.wine/Diablo II Resurrected/drive_c/windows/syswow64/' && WINEPREFIX=~/'.wine/Diablo II Resurrected' winetricks 'd3d9=native' 'd3d10core=native' 'd3d11=native' 'dxgi=native' && sync | ===== Clean Up ===== |
| |
| ===== vkd3d-proton ===== | **** |
| | |
| * https://github.com/HansKristian-Work/vkd3d-proton ((need to be signed into GitHub, and select the latest ''master'' artifacts package)) | |
| * D3D12 to Vulkan | |
| |
| ls ~/'Downloads/vkd3d-proton-master-'*'.zip' && rm -Rf '/tmp/vkd3d-proton-master' && mkdir -p '/tmp/vkd3d-proton-master' && unzip ~/'Downloads/vkd3d-proton-master-'*'.zip' -d '/tmp/vkd3d-proton-master/' && cp --backup '/tmp/vkd3d-proton-master/x64/'*'.dll' ~/'.wine/Diablo II Resurrected/drive_c/windows/system32/' && cp --backup '/tmp/vkd3d-proton-master/x86/'*'.dll' ~/'.wine/Diablo II Resurrected/drive_c/windows/syswow64/' && WINEPREFIX=~/'.wine/Diablo II Resurrected' winetricks 'd3d12=native' 'd3d12core=native' && mkdir -p ~/'.wine/Diablo II Resurrected/vkd3d_shader_cache' && sync | rm -f '/tmp/Battle.net-Setup.exe' |
| |
| ====== Desktop Launcher ====== | ====== Desktop Launcher ====== |
| |
| * :!: The direct-launch option requires modifying and specifying a Battle.net account email and password | * :!: The direct-launch option requires modifying and specifying a Battle.net account email and password |
| * TODO: Check for offline flag(s) and add separate direct launch option ([[https://d2mods.info/forum/viewtopic.php?f=217&t=67329&p=503731#p503731|source 1]], [[https://old.reddit.com/r/Diablo/comments/qb6ife/psa_you_can_enable_infinite_respecs_in_offline/hhd1g38/|source 2]]) | * TODO: Check for offline flag(s) and add separate direct launch option ([[https://d2mods.info/forum/viewtopic.php?f=217&t=67329&p=503731#p503731|source]]) |
| |
| nano ~/'.local/share/applications/wine/Programs/Diablo II Resurrected/Diablo II Resurrected.desktop' | nano ~/'.local/share/applications/wine/Programs/Diablo II Resurrected/Diablo II Resurrected.desktop' |
| Icon=B271_Diablo II Resurrected Launcher.0 | Icon=B271_Diablo II Resurrected Launcher.0 |
| StartupWMClass=d2r.exe | StartupWMClass=d2r.exe |
| Actions=Cache;Kill;Notes;Direct; | Actions=Kill;Notes;Direct; |
| | |
| [Desktop Action Cache] | |
| Exec='/bin/bash' -c "rm -Rf ~/'.wine/Diablo II Resurrected/mesa_shader_cache/'* ~/'.wine/Diablo II Resurrected/vkd3d_shader_cache/'* && sync && notify-send 'The Diablo II Resurrected cache has been cleaned.'" | |
| Name=Cache Cleanup | |
| |
| [Desktop Action Kill] | [Desktop Action Kill] |
| |
| [Desktop Action Notes] | [Desktop Action Notes] |
| StartupNotify=false | |
| Exec='/bin/bash' -c "gio open 'https://wiki.realmofespionage.xyz/games:wine:diablo_2_resurrected'" | Exec='/bin/bash' -c "gio open 'https://wiki.realmofespionage.xyz/games:wine:diablo_2_resurrected'" |
| Name=Installation Notes | Name=Installation Notes |
| |
| [Desktop Action Direct] | [Desktop Action Direct] |
| StartupNotify=false | |
| Exec='/bin/bash' -c "cd ~/'.wine/Diablo II Resurrected/drive_c/Program Files (x86)/Diablo II Resurrected' && PULSE_LATENCY_MSEC='400' MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II Resurrected' VKD3D_SHADER_CACHE_PATH=~/'.wine/Diablo II Resurrected/vkd3d_shader_cache' WINEPREFIX=~/'.wine/Diablo II Resurrected' wine ~/'.wine/Diablo II Resurrected/drive_c/Program Files (x86)/Diablo II Resurrected/D2R.exe' -username espionage724@x -password x" | Exec='/bin/bash' -c "cd ~/'.wine/Diablo II Resurrected/drive_c/Program Files (x86)/Diablo II Resurrected' && PULSE_LATENCY_MSEC='400' MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II Resurrected' VKD3D_SHADER_CACHE_PATH=~/'.wine/Diablo II Resurrected/vkd3d_shader_cache' WINEPREFIX=~/'.wine/Diablo II Resurrected' wine ~/'.wine/Diablo II Resurrected/drive_c/Program Files (x86)/Diablo II Resurrected/D2R.exe' -username espionage724@x -password x" |
| Name=Launch D2R without Battle.net | Name=Launch D2R without Battle.net |
| * ''Battle.net Launcher.exe'' | * ''Battle.net Launcher.exe'' |
| |
| cd ~/'.wine/Diablo II Resurrected/drive_c/Program Files (x86)/Battle.net' && PULSE_LATENCY_MSEC='400' MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II Resurrected' VKD3D_SHADER_CACHE_PATH=~/'.wine/Diablo II Resurrected/vkd3d_shader_cache' WINEPREFIX=~/'.wine/Diablo II Resurrected' WINEDEBUG='' wine ~/'.wine/Diablo II Resurrected/drive_c/Program Files (x86)/Battle.net/Battle.net Launcher.exe' | cd ~/'.wine/Diablo II Resurrected/drive_c/Program Files (x86)/Battle.net' && WINEPREFIX=~/'.wine/Diablo II Resurrected' wine ~/'.wine/Diablo II Resurrected/drive_c/Program Files (x86)/Battle.net/Battle.net Launcher.exe' |
| |
| ==== Diablo II Resurrected (Battle.net App) ==== | ==== Diablo II Resurrected (Battle.net App) ==== |
| * ''Diablo II Resurrected Launcher.exe'' | * ''Diablo II Resurrected Launcher.exe'' |
| |
| cd ~/'.wine/Diablo II Resurrected/drive_c/Program Files (x86)/Diablo II Resurrected' && PULSE_LATENCY_MSEC='400' MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II Resurrected' VKD3D_SHADER_CACHE_PATH=~/'.wine/Diablo II Resurrected/vkd3d_shader_cache' WINEPREFIX=~/'.wine/Diablo II Resurrected' WINEDEBUG='' wine ~/'.wine/Diablo II Resurrected/drive_c/Program Files (x86)/Diablo II Resurrected/Diablo II Resurrected Launcher.exe' | cd ~/'.wine/Diablo II Resurrected/drive_c/Program Files (x86)/Diablo II Resurrected' && WINEPREFIX=~/'.wine/Diablo II Resurrected' wine ~/'.wine/Diablo II Resurrected/drive_c/Program Files (x86)/Diablo II Resurrected/Diablo II Resurrected Launcher.exe' |
| |
| ==== Diablo II Resurrected ==== | ==== Diablo II Resurrected ==== |
| * ''D2R.exe'' | * ''D2R.exe'' |
| * Useful for quick graphical testing as this bypasses Battle.net launcher and boots D2R directly | * Useful for quick graphical testing as this bypasses Battle.net launcher and boots D2R directly |
| * :!: This may fail to load online characters occasionally | * ''MESA_VK_WSI_PRESENT_MODE=fifo'' caps FPS on Legacy graphics |
| * TODO: ''-username'', ''-password'', and other options ([[https://d2mods.info/forum/viewtopic.php?f=217&t=67329&p=503731#p503731|source 1]], [[https://old.reddit.com/r/Diablo/comments/qb6ife/psa_you_can_enable_infinite_respecs_in_offline/hhd1g38/|source 2]]) | |
| |
| cd ~/'.wine/Diablo II Resurrected/drive_c/Program Files (x86)/Diablo II Resurrected' && PULSE_LATENCY_MSEC='400' MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II Resurrected' VKD3D_SHADER_CACHE_PATH=~/'.wine/Diablo II Resurrected/vkd3d_shader_cache' WINEPREFIX=~/'.wine/Diablo II Resurrected' WINEDEBUG='' wine ~/'.wine/Diablo II Resurrected/drive_c/Program Files (x86)/Diablo II Resurrected/D2R.exe' | cd ~/'.wine/Diablo II Resurrected/drive_c/Program Files (x86)/Diablo II Resurrected' && MESA_VK_WSI_PRESENT_MODE='fifo' WINEPREFIX=~/'.wine/Diablo II Resurrected' wine ~/'.wine/Diablo II Resurrected/drive_c/Program Files (x86)/Diablo II Resurrected/D2R.exe' -address 'localhost' |
| |
| ===== File Manager ===== | ===== File Manager ===== |