====== Information ====== * Battle.net App ((http://us.battle.net/en/app)) * Diablo II: Resurrected ((https://diablo2.blizzard.com)) * 64-bit * [[https://www.youtube.com/watch?v=07pNpFbNlEg|Gameplay Video]] ===== Prerequisites ===== * [[distros:fedora_workstation_gnome|Fedora Workstation]] * [[notes:wine|Wine]] ===== Notes ===== * This is the modern client that has enhanced graphics and requires the Battle.net client; see [[games: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)) * [[games:wine:diablo_2_resurrected?rev=1688917348#nvidia_libs|See this notes section from an older revision]] for ''nvidia-libs'' and DLSS ((until the notes are re-added to this main page, assume the commands may need refactored in 2024+)) * :!: 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 ====== Battle.net Client Broken ====== * :!: 2023/12: See [[notes:battle.net_client_broken_2023|notes]] * These notes still mostly work but will require undocumented tricks to navigate the Battle.net client, and it might not be possible to clean-install games in this state ====== Install ====== ===== Battle.net App ===== * Install to default directory when prompted ((C:/Program Files (x86)/Battle.net)) * Log-in * Change Battle.net App settings ((don't auto-start, exit on game launch)) * Close mkdir -p ~/'.wine' && wget 'https://us.battle.net/download/getInstaller?os=win&installer=Battle.net-Setup.exe&id=undefined' -O ~/'Downloads/Battle.net-Setup.exe' && WINEPREFIX=~/'.wine/Diablo II Resurrected' WINEARCH='win64' wine ~/'Downloads/Battle.net-Setup.exe' ===== Restore Data ===== **** mv ~/'Downloads/Diablo II Resurrected' ~/'.wine/Diablo II Resurrected/drive_c/Program Files (x86)' && sync ===== Diablo II Resurrected ===== * Install Diablo II Resurrected ((Locate the game may not work; the install process will detect the existing data files, fail, and install with the Update process)) * TODO: Test if Locate game works; this seems to have been improved on Windows 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 ===== **** rm -f ~/'Downloads/Battle.net-Setup.exe' ~/'Desktop/Battle.net.desktop' ~/'Desktop/Diablo II Resurrected.desktop' && cd ~ && sync ====== Libraries ====== ===== DXVK ===== * https://github.com/doitsujin/dxvk/actions ((need to be signed into GitHub, and select the latest ''master'' artifacts package)) * Provides DXGI for ''vkd3d-proton'' * Since D2R can only use D3D12 and thus ''vkd3d-proton'', there's no need for DXVK's cache folder * 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 ===== 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 ====== Desktop Launcher ====== ===== Initial ===== **** rm -Rf ~/'.local/share/applications/wine/Programs/Battle.net' ~/'.local/share/applications/wine/Programs/Diablo II Resurrected' && mkdir -p ~/'.local/share/applications/wine/Programs/Diablo II Resurrected' ===== Diablo II Resurrected (Battle.net App) ===== * :!: 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]]) nano ~/'.local/share/applications/wine/Programs/Diablo II Resurrected/Diablo II Resurrected.desktop' [Desktop Entry] Name=Diablo II: Resurrected Categories=Game;AdventureGame;RolePlaying 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/Diablo II Resurrected Launcher.exe'" Type=Application StartupNotify=true Icon=B271_Diablo II Resurrected Launcher.0 StartupWMClass=d2r.exe Actions=Cache;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] Exec='/bin/bash' -c "WINEPREFIX=~/'.wine/Diablo II Resurrected' wineserver --kill" Name=Force-close [Desktop Action Notes] StartupNotify=false Exec='/bin/bash' -c "gio open 'https://wiki.realmofespionage.xyz/games:wine:diablo_2_resurrected'" Name=Installation Notes [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" Name=Launch D2R without Battle.net # End ====== Quick Commands ====== ===== Winecfg ===== **** WINEPREFIX=~/'.wine/Diablo II Resurrected' winecfg ===== Winetricks ===== **** WINEPREFIX=~/'.wine/Diablo II Resurrected' winetricks ===== Registry Editor ===== **** WINEPREFIX=~/'.wine/Diablo II Resurrected' regedit ===== Kill ===== **** WINEPREFIX=~/'.wine/Diablo II Resurrected' wineserver --kill ===== Execute ===== ==== Battle.net App ==== * ''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' ==== Diablo II Resurrected (Battle.net App) ==== * ''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' ==== Diablo II Resurrected ==== * ''D2R.exe'' * Useful for quick graphical testing as this bypasses Battle.net launcher and boots D2R directly * :!: This may fail to load online characters occasionally * 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' ===== File Manager ===== ==== Root ==== **** gio open ~/'.wine/Diablo II Resurrected/drive_c/Program Files (x86)/Diablo II Resurrected' ==== Saves ==== **** gio open ~/'.wine/Diablo II Resurrected/drive_c/users/'$USER'/Saved Games/Diablo II Resurrected'