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
games:wine:diablo_2 [2018/12/15 09:20] Sean Rhonegames:wine:diablo_2 [2024/03/06 22:45] (current) 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-%s)'-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''
 +
 +  tar -cvzf ~/'Downloads/'$(date +%Y-%m-%d-%s)'-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