User Tools

Site Tools


games:wine:diablo_2

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 [2018/12/15 09:20] Sean Rhonegames:wine:diablo_2 [2024/03/03 19:33] Sean Rhone
Line 1: Line 1:
 +====== Information ======
 +
 +  * Diablo II ((http://us.blizzard.com/en-us/games/d2/))
 +  * Diablo II: Lord of Destruction
 +  * GLIDE3-to-OpenGL-Wrapper ((http://www.svenswrapper.de/english/index.html))
 +
 +===== Prerequisites =====
 +
 +  * [[distros:fedora_workstation_gnome|Fedora Workstation (GNOME)]]
 +  * [[notes:wine|Wine]]
 +
 +===== Notes =====
 +
 +  * **Lord of Destruction** is not standalone and requires **Diablo II**
 +  * This is the original client with CD keys and TCP/IP multiplayer; see [[games:wine:diablo_2_resurrected|Diablo II: Resurrected]] for the modern version
 +
 +====== Install ======
 +
 +===== Diablo II =====
 +
 +****
 +
 +  mkdir -p ~/'.wine' && WINEPREFIX=~/'.wine/Diablo II' WINEARCH='win32' winetricks 'winxp' && sync && PULSE_LATENCY_MSEC='400' WINEDEBUG='' WINEPREFIX=~/'.wine/Diablo II' wine ~/'Downloads/Diablo II/D2-1.14b-Installer-enUS/Installer.exe'
 +
 +===== Lord of Destruction =====
 +
 +****
 +
 +  sync && PULSE_LATENCY_MSEC='400' WINEDEBUG='' WINEPREFIX=~/'.wine/Diablo II' wine ~/'Downloads/Diablo II/D2LOD-1.14b-Installer-enUS/Installer.exe'
 +
 +===== Patch =====
 +
 +  * 1.14d
 +
 +  sync && PULSE_LATENCY_MSEC='400' MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II' WINEDEBUG='' WINEPREFIX=~/'.wine/Diablo II' wine ~/'Downloads/Diablo II/LODPatch_114d.exe'
 +
 +===== Glide Wrapper =====
 +
 +  * TODO: Local file commands like above
 +
 +==== Online ====
 +
 +  * The following command expects ''gl32ogl14e.zip'' (1.4e) to exist at http://www.svenswrapper.de/gl32ogl14e.zip
 +
 +  wget -O '/tmp/gl32ogl14e.zip' 'http://www.svenswrapper.de/gl32ogl14e.zip' && unzip '/tmp/gl32ogl14e.zip' 'glide3x.dll' 'glide-init.exe' -d ~/'.wine/Diablo II/drive_c/Program Files/Diablo II' && rm -f '/tmp/gl32ogl14e.zip' && sync
 +
 +===== Clean Up =====
 +
 +****
 +
 +  rm -R ~/'Downloads/Diablo II' ~/'Desktop/Diablo II - Lord of Destruction.desktop' && sync
 +
 +====== Glide Wrapper ======
 +
 +  * 2024/01/02: Intel UHD 630 with Zink required ''WGL_EXT_swap_control'' unchecked to avoid a blackscreen during the test
 +
 +  * Hauptmenu -> Deutsch/English
 +  * OpenGL-infos -> Query OpenGL-infos
 +
 +  * settings -> [x] captured mouse
 +  * settings -> [x] desktopresolution
 +
 +  * renderer -> 108 MB texture-memory
 +  * renderer -> 4096x4096 buffer-texture-size
 +  * renderer -> [x] 32 bit rendering
 +  * renderer -> [x] bilinear filtering
 +  * renderer -> [x] keep desktop composition
 +
 +  * Extensions -> [x] WGL_ARB_render_texture
 +  * renderer -> [x] supersampling
 +
 +  * Test ((ideally should allow gamma adjustments (click and drag on color bars) and maintain 60+ fps))
 +  * Quit
 +
 +  cd ~/'.wine/Diablo II/drive_c/Program Files/Diablo II' && MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II' WINEPREFIX=~/'.wine/Diablo II' wine ~/'.wine/Diablo II/drive_c/Program Files/Diablo II/glide-init.exe'
 +
 +===== Zink =====
 +
 +****
 +
 +  cd ~/'.wine/Diablo II/drive_c/Program Files/Diablo II' && MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II' WINEPREFIX=~/'.wine/Diablo II' MESA_LOADER_DRIVER_OVERRIDE='zink' MESA_VK_WSI_PRESENT_MODE='immediate' wine ~/'.wine/Diablo II/drive_c/Program Files/Diablo II/glide-init.exe'
 +
 +===== Reset Settings =====
 +
 +****
 +
 +  WINEPREFIX=~/'.wine/Diablo II' wine reg DELETE 'HKCU\Software\GLIDE3toOpenGL' /f
 +
 +===== Notes =====
 +
 +  * ''WGL_ARB_render_texture'' seems to work ((or at the very least, doesn't outright cause a crash)) but querying OpenGL info causes the extension to not be available. If enabled, it presents a ''X11DRV_wglBindTexImageARB'' partial stub fixme in Terminal, but other than that, it seems to work fine and allows supersampling to be enabled under renderer settings which does make D2 look a little bit sharper
 +  * **captured mouse** enabled is required to prevent the cursor from "going offscreen" on the right-side of the D2 window
 +  * **keep desktop composition** prevents dwmapi-related stub/fixme errors from appearing; I don't believe it has any actual visible effect either way
 +
 +====== Desktop Launcher ======
 +
 +===== Initial =====
 +
 +****
 +
 +  rm -Rf ~/'.local/share/applications/wine/Programs/Diablo II' ~/'.local/share/applications/wine/Programs/Diablo II' && mkdir -p ~/'.local/share/applications/wine/Programs/Diablo II'
 +
 +===== Lord of Destruction =====
 +
 +  nano ~/'.local/share/applications/wine/Programs/Diablo II/Diablo II: Lord of Destruction.desktop'
 +
 +<code>
 +[Desktop Entry]
 +Name=Diablo II: Lord of Destruction
 +Categories=Game;AdventureGame;RolePlaying
 +Exec='/bin/bash' -c "cd ~/'.wine/Diablo II/drive_c/Program Files/Diablo II' && PULSE_LATENCY_MSEC='400' MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II' WINEPREFIX=~/'.wine/Diablo II' wine ~/'.wine/Diablo II/drive_c/Program Files/Diablo II/Diablo II.exe' -3dfx"
 +Type=Application
 +StartupNotify=true
 +Icon=0913_Diablo II.0
 +StartupWMClass=game.exe
 +Actions=Kill;Glide;Saves;Notes;
 +
 +[Desktop Action Kill]
 +Exec='/bin/bash' -c "WINEPREFIX=~/'.wine/Diablo II' wineserver --kill"
 +Exec='/bin/killall' -9 'Game.exe'
 +Name=Force-close Diablo II
 +
 +[Desktop Action Glide]
 +Exec='/bin/bash' -c "MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II' WINEPREFIX=~/'.wine/Diablo II' wine ~/'.wine/Diablo II/drive_c/Program Files/Diablo II/glide-init.exe'"
 +Name=Glide Wrapper Configuration
 +
 +[Desktop Action Saves]
 +StartupNotify=false
 +Exec='/bin/bash' -c "~/'.wine/Diablo II/save-backup.sh'"
 +Name=Save Data Back-up
 +
 +[Desktop Action Notes]
 +StartupNotify=false
 +Exec=gio open 'https://wiki.realmofespionage.xyz/games:wine:diablo_2'
 +Name=Installation Notes
 +
 +# End</code>
 +
 +===== Save Data Back-up Script =====
 +
 +  nano ~/'.wine/Diablo II/save-backup.sh' && chmod +x ~/'.wine/Diablo II/save-backup.sh'
 +
 +<code>
 +#!/bin/sh
 +
 +ls ~/'.wine/Diablo II/drive_c/users/'$USER'/Saved Games/Diablo II'
 +tar -cvzf ~/'Downloads/'$(date +%Y-%m-%d)'-manual-D2-Saves.tar.gz' -C ~/'.wine/Diablo II/drive_c/users/'$USER'/Saved Games' 'Diablo II'
 +sync
 +notify-send 'Diablo II save data has been successfully archived and placed in the Downloads folder.'
 +
 +# End</code>
 +
 +====== Quick Commands ======
 +
 +===== Winecfg =====
 +
 +****
 +
 +  WINEPREFIX=~/'.wine/Diablo II' winecfg
 +
 +===== Winetricks =====
 +
 +****
 +
 +  WINEPREFIX=~/'.wine/Diablo II' winetricks
 +
 +===== Registry Editor =====
 +
 +****
 +
 +  WINEPREFIX=~/'.wine/Diablo II' regedit
 +
 +===== Kill =====
 +
 +****
 +
 +  WINEPREFIX=~/'.wine/Diablo II' wineserver --kill && killall -9 'Game.exe'
 +
 +===== Execute =====
 +
 +==== Command-line Arguments ====
 +
 +****
 +
 +<code>-3dfx</code>
 +
 +==== Lord of Destruction ====
 +
 +****
 +
 +  cd ~/'.wine/Diablo II/drive_c/Program Files/Diablo II' && PULSE_LATENCY_MSEC='400' MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II' WINEDEBUG='' WINEPREFIX=~/'.wine/Diablo II' wine ~/'.wine/Diablo II/drive_c/Program Files/Diablo II/Diablo II.exe' -3dfx
 +
 +==== Zink ====
 +
 +****
 +
 +  cd ~/'.wine/Diablo II/drive_c/Program Files/Diablo II' && PULSE_LATENCY_MSEC='400' MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II' MESA_LOADER_DRIVER_OVERRIDE='zink' MESA_VK_WSI_PRESENT_MODE='immediate' WINEDEBUG='' WINEPREFIX=~/'.wine/Diablo II' wine ~/'.wine/Diablo II/drive_c/Program Files/Diablo II/Diablo II.exe' -3dfx
 +
 +===== File Manager =====
 +
 +==== Root ====
 +
 +****
 +
 +  gio open ~/'.wine/Diablo II/drive_c/Program Files/Diablo II'
 +
 +==== Saved Games ====
 +
 +****
 +
 +  gio open ~/'.wine/Diablo II/drive_c/users/'$USER/'Saved Games/Diablo II'
 +
 +===== Saved Games Data =====
 +
 +==== Backup ====
 +
 +  * Creates ''{DATE}-manual-D2-Saves.tar.gz'' in ''~/Downloads''
 +  * :!: Will replace existing tarballs if this is done more than once on the same day
 +
 +  tar -cvzf ~/'Downloads/'$(date +%Y-%m-%d)'-manual-D2-Saves.tar.gz' -C ~/'.wine/Diablo II/drive_c/users/'$USER'/Saved Games' 'Diablo II' && ls ~/'Downloads/'*'-manual-D2-Saves.tar.gz'
 +
 +==== Restore ====
 +
 +  * Expects ''*-manual-D2-Saves.tar.gz'' in ''~/Downloads''
 +  * :!: If that tarball exists, this series of commands will **irreversibly**, without warning or prompt, **delete** the existing ''Saved Games'' folder and replace it with whatever is in that tarball
 +
 +  ls ~/'Downloads/'*'-manual-D2-Saves.tar.gz' && rm -Rf ~/'.wine/Diablo II/drive_c/users/'$USER'/Saved Games' && mkdir -p ~/'.wine/Diablo II/drive_c/users/'$USER'/Saved Games' && tar -xvzf ~/'Downloads/'*'-manual-D2-Saves.tar.gz' -C ~/'.wine/Diablo II/drive_c/users/'$USER'/Saved Games' 'Diablo II' && sync
  
/var/www/wiki/data/pages/games/wine/diablo_2.txt · Last modified: 2024/03/06 22:45 by Sean Rhone