Both sides previous revisionPrevious revisionNext revision | Previous revision |
games:linux:wine:diablo_2 [2024/10/19 03:06] – [Online] Sean Rhone | games:linux:wine:diablo_2 [2024/12/31 01:27] (current) – Sean Rhone |
---|
| |
* **Lord of Destruction** is not standalone and requires **Diablo II** | * **Lord of Destruction** is not standalone and requires **Diablo II** |
* This is the original client with CD keys and TCP/IP multiplayer; see [[games;linux;wine;diablo_2_resurrected|Diablo II: Resurrected]] for the modern version | * This is the original client with CD keys and TCP/IP multiplayer |
| |
====== Install ====== | ====== Install ====== |
**** | **** |
| |
mkdir -p ~/'.wine' && WINEPREFIX=~/'.wine/Diablo II' WINEARCH='win32' winecfg /v 'winxp' && sync && WINEPREFIX=~/'.wine/Diablo II' wine ~/'Downloads/Diablo II/D2-1.14b-Installer-enUS/Installer.exe' | 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 ===== | ===== Lord of Destruction ===== |
**** | **** |
| |
sync && WINEPREFIX=~/'.wine/Diablo II' wine ~/'Downloads/Diablo II/D2LOD-1.14b-Installer-enUS/Installer.exe' | 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 ===== | ===== Patch ===== |
* 1.14d | * 1.14d |
| |
sync && MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II' WINEPREFIX=~/'.wine/Diablo II' wine ~/'Downloads/Diablo II/LODPatch_114d.exe' | 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 ===== | ===== Glide Wrapper ===== |
| |
* TODO: Local file commands like above | **** |
| |
| 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 ==== | ==== Online ==== |
* The following command expects ''gl32ogl14e.zip'' (1.4e) to exist at http://www.svenswrapper.de/gl32ogl14e.zip | * 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' && md5sum '/tmp/gl32ogl14e.zip' | grep '1c65a0150665f715ce0fc0a23885c6b8' && 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 | 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 ===== | ===== Clean Up ===== |
**** | **** |
| |
rm -R ~/'Downloads/Diablo II' ~/'Desktop/Diablo II - Lord of Destruction.desktop' && sync | rm -R ~/'Downloads/Diablo II' && sync |
| |
====== Glide Wrapper ====== | ====== 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 | * Hauptmenu -> Deutsch/English |
| |
* settings -> [x] captured mouse | * settings -> [x] captured mouse |
| * settings -> ''no'' fps-limit or close-to display Hz Zink |
* settings -> [x] desktopresolution | * settings -> [x] desktopresolution |
| |
* renderer -> [x] keep desktop composition | * renderer -> [x] keep desktop composition |
| |
* Extensions -> [x] WGL_ARB_render_texture | * :!: Extensions -> [x] WGL_ARB_render_texture ((2024/12/31: Crashes on Intel UHD 630; allows ''supersampling'')) |
* renderer -> [x] supersampling | |
| |
* Test ((ideally should allow gamma adjustments (click and drag on color bars) and maintain 60+ fps)) | * Test ((ideally should allow gamma adjustments (click and drag on color bars) and maintain 60+ fps)) |
* Quit | * Quit |
| |
cd ~/'.wine/Diablo II/drive_c/Program Files/Diablo II' && MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II' WINEPREFIX=~/'.wine/Diablo II' mesa_glthread='false' wine ~/'.wine/Diablo II/drive_c/Program Files/Diablo II/glide-init.exe' | * Zink |
| |
===== 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' 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/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' | 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 ===== | ===== Reset Settings ===== |
| |
WINEPREFIX=~/'.wine/Diablo II' wine reg DELETE 'HKCU\Software\GLIDE3toOpenGL' /f | 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 ====== | ====== Desktop Launcher ====== |
Name=Diablo II: Lord of Destruction | Name=Diablo II: Lord of Destruction |
Categories=Game;AdventureGame;RolePlaying | 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' 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" | 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 | Type=Application |
StartupNotify=true | StartupNotify=true |
**** | **** |
| |
cd ~/'.wine/Diablo II/drive_c/Program Files/Diablo II' && PULSE_LATENCY_MSEC='400' MESA_SHADER_CACHE_DIR=~/'.wine/Diablo II' mesa_glthread='false' WINEDEBUG='' WINEPREFIX=~/'.wine/Diablo II' wine ~/'.wine/Diablo II/drive_c/Program Files/Diablo II/Diablo II.exe' -3dfx | 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 ==== | ==== 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' mesa_glthread='false' WINEDEBUG='' WINEPREFIX=~/'.wine/Diablo II' wine ~/'.wine/Diablo II/drive_c/Program Files/Diablo II/Diablo II.exe' -3dfx | 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 ===== | ===== File Manager ===== |