Prerequisites
Notes
Install
Diablo II
mkdir -p ~/'.wine' && WINEPREFIX=~/'.wine/Diablo II' winecfg /v 'winxp' && MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II' WINEPREFIX=~/'.wine/Diablo II' WINEDLLOVERRIDES='winemenubuilder.exe=d' wine ~/'Downloads/Diablo II/D2-1.14b-Installer-enUS/Installer.exe'
Lord of Destruction
sync && MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II' WINEPREFIX=~/'.wine/Diablo II' WINEDLLOVERRIDES='winemenubuilder.exe=d' wine ~/'Downloads/Diablo II/D2LOD-1.14b-Installer-enUS/Installer.exe'
Patch
sync && MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II' WINEPREFIX=~/'.wine/Diablo II' WINEDLLOVERRIDES='winemenubuilder.exe=d' wine ~/'Downloads/Diablo II/LODPatch_114d.exe'
Glide Wrapper
unzip -o ~/'Downloads/Diablo II/gl32ogl14e.zip' 'glide3x.dll' 'glide-init.exe' -d ~/'.wine/Diablo II/drive_c/Program Files (x86)/Diablo II' && sync
Online
wget -O '/tmp/gl32ogl14e.zip' 'http://www.svenswrapper.de/gl32ogl14e.zip' && md5sum '/tmp/gl32ogl14e.zip' | grep '1c65a0150665f715ce0fc0a23885c6b8' && unzip -o '/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' && sync
Glide Wrapper
settings → [x] captured mouse
settings → no fps-limit or close-to display Hz Zink
settings → [x] desktopresolution
renderer → 108
MB texture-memory
renderer → 4096×4096 buffer-texture-size
renderer → [x] 32 bit rendering
renderer → [x] bilinear filtering
renderer → [x] keep desktop composition

Extensions → [x] WGL_ARB_render_texture
3)
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' mesa_glthread='false' wine ~/'.wine/Diablo II/drive_c/Program Files/Diablo II/glide-init.exe'
Native OpenGL
cd ~/'.wine/Diablo II/drive_c/Program Files (x86)/Diablo II' && MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II' WINEPREFIX=~/'.wine/Diablo II' mesa_glthread='false' wine ~/'.wine/Diablo II/drive_c/Program Files (x86)/Diablo II/glide-init.exe'
Reset Settings
WINEPREFIX=~/'.wine/Diablo II' wine reg DELETE 'HKCU\Software\GLIDE3toOpenGL' /f
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'
[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' && MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II' MESA_LOADER_DRIVER_OVERRIDE='zink' MESA_VK_WSI_PRESENT_MODE='immediate' mesa_glthread='false' 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' MESA_LOADER_DRIVER_OVERRIDE='zink' MESA_VK_WSI_PRESENT_MODE='immediate' mesa_glthread='false' 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;linux;wine;diablo_2'
Name=Installation Notes
# End
Save Data Back-up Script
nano ~/'.wine/Diablo II/save-backup.sh' && chmod +x ~/'.wine/Diablo II/save-backup.sh'
#!/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
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
Lord of Destruction
cd ~/'.wine/Diablo II/drive_c/Program Files (x86)/Diablo II' && MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II' mesa_glthread='false' WINEDEBUG='' WINEPREFIX=~/'.wine/Diablo II' wine ~/'.wine/Diablo II/drive_c/Program Files (x86)/Diablo II/Diablo II.exe' -3dfx
Zink
cd ~/'.wine/Diablo II/drive_c/Program Files/Diablo II' && MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II' MESA_LOADER_DRIVER_OVERRIDE='zink' MESA_VK_WSI_PRESENT_MODE='immediate' mesa_glthread='false' 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
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
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