User Tools

Site Tools


games:wine:diablo_2_resurrected

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
games:wine:diablo_2_resurrected [2023/09/14 05:02] – [vkd3d-proton] Sean Rhonegames:wine:diablo_2_resurrected [2024/01/23 02:20] Sean Rhone
Line 4: Line 4:
   * Diablo II: Resurrected ((https://diablo2.blizzard.com))   * Diablo II: Resurrected ((https://diablo2.blizzard.com))
   * 64-bit   * 64-bit
 +  * [[https://www.youtube.com/watch?v=07pNpFbNlEg|Gameplay Video]]
  
 ===== Prerequisites ===== ===== Prerequisites =====
Line 12: Line 13:
 ===== Notes ===== ===== Notes =====
  
-  * 2022: Resurrected mode is unplayable performance-wise on Intel UHD Graphics 630, but it works fine in Legacy mode+  * 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
  
 ====== Install ====== ====== Install ======
Line 20: Line 25:
   * Install to default directory when prompted ((C:/Program Files (x86)/Battle.net))   * Install to default directory when prompted ((C:/Program Files (x86)/Battle.net))
   * Log-in   * Log-in
-  * :!: Change Battle.net App settings+  * Change Battle.net App settings ((don't auto-start, exit on game launch))
   * Close   * 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'   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'
- 
-==== Qt Fix ==== 
- 
-**** 
- 
-  setfattr --remove='user.DOSATTRIB' ~/'.wine/Diablo II Resurrected/drive_c/Program Files (x86)/Battle.net/Battle.net.'*'/platforms/qwindows.dll' 
  
 ===== Restore Data ===== ===== Restore Data =====
Line 39: Line 38:
 ===== Diablo II Resurrected ===== ===== Diablo II Resurrected =====
  
-  * Install Diablo II Resurrected ((Locate the game does not work; the install process will detect the existing data files, fail, and install with the Update process))+  * 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'   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'
Line 54: Line 54:
  
   * 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))
-  * Provides DXGI for vkd3d-proton +  * Provides DXGI for ''vkd3d-proton'' 
-  * Since D2R can only use D3D12 and thus ''vkd3d-proton'', there's no need for DXVK's cache folder ((if adapting for other games, get this syntax from somewhere else))+  * 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   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
Line 64: Line 65:
   * D3D12 to Vulkan   * 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' && sync+  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 ====== ====== Desktop Launcher ======
Line 75: Line 76:
  
 ===== Diablo II Resurrected (Battle.net App) ===== ===== 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'   nano ~/'.local/share/applications/wine/Programs/Diablo II Resurrected/Diablo II Resurrected.desktop'
Line 81: Line 85:
 [Desktop Entry] [Desktop Entry]
 Name=Diablo II: Resurrected Name=Diablo II: Resurrected
-Comment=Pursue the mysterious Dark Wanderer and fight the denizens of hell as you uncover the fate of the Prime Evils Diablo, Mephisto, and Baal. +Categories=Game;AdventureGame;RolePlaying 
-Categories=Game +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'"
-Exec=env MESA_SHADER_CACHE_DIR='/home/CHANGEME/.wine/Diablo II Resurrected' VKD3D_SHADER_CACHE_PATH='/home/CHANGEME/.wine/Diablo II Resurrected' __GL_SHADER_DISK_CACHE_PATH='/home/CHANGEME/.wine/Diablo II Resurrected' WINEPREFIX='/home/CHANGEME/.wine/Diablo II Resurrected' wine '/home/CHANGEME/.wine/Diablo II Resurrected/drive_c/Program Files (x86)/Diablo II Resurrected/Diablo II Resurrected Launcher.exe'+
 Type=Application Type=Application
 StartupNotify=true StartupNotify=true
-Path=/home/CHANGEME/.wine/Diablo II Resurrected/drive_c/Program Files (x86)/Diablo II Resurrected 
 Icon=B271_Diablo II Resurrected Launcher.0 Icon=B271_Diablo II Resurrected Launcher.0
-Actions=Kill;Cache;+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] [Desktop Action Kill]
-Exec=env WINEPREFIX='/home/CHANGEME/.wine/Diablo II Resurrected' wineserver -k+Exec='/bin/bash' -c "WINEPREFIX=~/'.wine/Diablo II Resurrected' wineserver --kill"
 Name=Force-close Name=Force-close
  
-[Desktop Action Cache+[Desktop Action Notes] 
-Exec=bash -c "rm -Rf ~/'.wine/Diablo II Resurrected/mesa_shader_cache' ~/'.wine/Diablo II Resurrected/vkd3d-proton.cache' ~/'.wine/Diablo II Resurrected/GLCache' ~/'.wine/Diablo II Resurrected/drive_c/windows/temp/'* ~/'.wine/Diablo II Resurrected/drive_c/users/'$USER'/Temp/'* && sync+StartupNotify=false 
-Name=Cache Clean-up</code>+Exec='/bin/bash-c "gio open 'https://wiki.realmofespionage.xyz/games:wine:diablo_2_resurrected'" 
 +Name=Installation Notes
  
-  sed -i 's/'CHANGEME'/'$USER'/g' ~/'.local/share/applications/wine/Programs/Diablo II Resurrected/Diablo II Resurrected.desktop'+[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</code>
  
 ====== Quick Commands ====== ====== Quick Commands ======
Line 124: Line 137:
 **** ****
  
-  WINEPREFIX=~/'.wine/Diablo II Resurrected' wineserver --kill && killall 'Agent.exe' 'winedevice.exe' 'Diablo II Resur' 'start.exe' -signal 'SIGKILL' --wait+  WINEPREFIX=~/'.wine/Diablo II Resurrected' wineserver --kill
  
 ===== Execute ===== ===== Execute =====
Line 130: Line 143:
 ==== Battle.net App ==== ==== Battle.net App ====
  
-****+  ''Battle.net Launcher.exe''
  
-  cd ~/'.wine/Diablo II Resurrected/drive_c/Program Files (x86)/Battle.net' && 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' && 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 (Battle.net App) ====
  
-****+  ''Diablo II Resurrected Launcher.exe''
  
-  cd ~/'.wine/Diablo II Resurrected/drive_c/Program Files (x86)/Diablo II Resurrected' && 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' && 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 ==== ==== Diablo II Resurrected ====
  
 +  * ''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
-  * :!: Occasionally this will fail to load online characters+  * :!: 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' && 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' && 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 ===== ===== File Manager =====
/var/www/wiki/data/pages/games/wine/diablo_2_resurrected.txt · Last modified: 2024/02/08 18:29 by Sean Rhone