User Tools

Site Tools


games:wine:diablo_2

Information

  • Diablo II 1)
  • Diablo II: Lord of Destruction
  • GLIDE3-to-OpenGL-Wrapper 2)

Prerequisites

Notes

  • Lord of Destruction is not standalone and requires Diablo II

Uninstall

rm -Rf ~/'Wine Prefixes/Diablo II' ~/'.local/share/applications/wine/Programs/Diablo II/Diablo II: Lord of Destruction.desktop' ~/'.local/share/icons/hicolor/'*'/apps/CFF8_Diablo II.0.png' && sync

Install

Diablo II

mkdir -p ~/'Wine Prefixes' && WINEPREFIX=~/'Wine Prefixes/Diablo II' WINEARCH='win32' wine ~/'Downloads/Diablo II/D2-1.14b-Installer-enUS/Installer.exe'

Lord of Destruction

sync && WINEPREFIX=~/'Wine Prefixes/Diablo II' wine ~/'Downloads/Diablo II/D2LOD-1.14b-Installer-enUS/Installer.exe'

Patch

  • 1.14d
sync && WINEPREFIX=~/'Wine Prefixes/Diablo II' wine ~/'Downloads/Diablo II/LODPatch_114d.exe'

Glide Wrapper

wget -O '/tmp/gl32ogl14e.zip' 'http://www.svenswrapper.de/gl32ogl14e.zip' && unzip '/tmp/gl32ogl14e.zip' 'glide3x.dll' 'glide-init.exe' -d ~/'Wine Prefixes/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

  • Hauptmenu → Deutsch/English
  • OpenGL-infos → Query OpenGL-infos
  • settings → [x] captured mouse
  • 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
  • renderer → [x] supersampling
  • Test 3)
  • Quit
cd ~/'Wine Prefixes/Diablo II/drive_c/Program Files/Diablo II' && WINEPREFIX=~/'Wine Prefixes/Diablo II' wine ~/'Wine Prefixes/Diablo II/drive_c/Program Files/Diablo II/glide-init.exe'

Reset Settings

WINEPREFIX=~/'Wine Prefixes/Diablo II' wine reg DELETE 'HKCU\Software\GLIDE3toOpenGL' /f

Notes

  • If EXAVSync is enabled on the radeon Xorg DDX driver, the Test starts out at 60 FPS and then drops to 30 FPS after a few seconds; I don't believe the FPS drop happens in-game however, but it'd be better to leave EXAVSync disabled (default) unless it's required
  • WGL_ARB_render_texture seems to work4) 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
  • When using Intel UHD 630 graphics, using Iris/Gallum driver and disabling Vsync provides the highest and most-consistent FPS above 144

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
Comment=Diablo, the Lord of Terror, has fallen to a brave hero beneath the church of Tristram. Now that hero is gone, replaced by a Dark Wanderer who roams the world of Sanctuary leaving death and destruction in his wake. As a hero of humanity, you must face the minions of Diablo’s evil brothers and stop the Dark Wanderer before he fulfills his terrible destiny. The expansion to Diablo II adds a host of new features to the game, including two new playable classes – the shapeshifting Druid and the cunning Assassin. Explore the snowy homeland of the Barbarians, face fiendish new monsters, and arm yourself with thousands of new weapons, armor, and magical items in the fight against Baal, the last of the Prime Evils.
Categories=Game;AdventureGame;RolePlaying
Exec=env MESA_GLSL_CACHE_DIR='/home/CHANGEME/Wine Prefixes/Diablo II' WINEDEBUG='-all' WINEPREFIX='/home/CHANGEME/Wine Prefixes/Diablo II' wine '/home/CHANGEME/Wine Prefixes/Diablo II/drive_c/Program Files/Diablo II/Diablo II.exe' -3dfx
Type=Application
StartupNotify=true
Path=/home/CHANGEME/Wine Prefixes/Diablo II/drive_c/Program Files/Diablo II
Icon=CFF8_Diablo II.0
Actions=Kill;Glide;Saves;Notes;

[Desktop Action Kill]
Exec=env WINEPREFIX='/home/CHANGEME/Wine Prefixes/Diablo II' wineserver -k
Name=Force-close Diablo II

[Desktop Action Glide]
Exec=env WINEDEBUG='-all' WINEPREFIX='/home/CHANGEME/Wine Prefixes/Diablo II' wine '/home/CHANGEME/Wine Prefixes/Diablo II/drive_c/Program Files/Diablo II/glide-init.exe'
Name=Glide Wrapper Configuration

[Desktop Action Saves]
StartupNotify=false
Exec='/home/CHANGEME/Wine Prefixes/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
sed -i 's/'CHANGEME'/'$USER'/g' ~/'.local/share/applications/wine/Programs/Diablo II/Diablo II: Lord of Destruction.desktop'

Save Data Back-up Script

nano ~/'Wine Prefixes/Diablo II/save-backup.sh' && chmod +x ~/'Wine Prefixes/Diablo II/save-backup.sh'
#!/bin/sh

ls ~/'Wine Prefixes/Diablo II/drive_c/users/'$USER'/Saved Games/Diablo II'
tar -cvzf ~/'Downloads/'$(date +%Y-%m-%d)'-manual-D2-Saves.tar.gz' -C ~/'Wine Prefixes/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.'

Quick Commands

Winecfg

WINEPREFIX=~/'Wine Prefixes/Diablo II' winecfg

Winetricks

WINEPREFIX=~/'Wine Prefixes/Diablo II' winetricks

Registry Editor

WINEPREFIX=~/'Wine Prefixes/Diablo II' regedit

Kill

WINEPREFIX=~/'Wine Prefixes/Diablo II' wineserver -k

Execute

Command-line Arguments

-3dfx

Lord of Destruction

cd ~/'Wine Prefixes/Diablo II/drive_c/Program Files/Diablo II' && WINEPREFIX=~/'Wine Prefixes/Diablo II' wine ~/'Wine Prefixes/Diablo II/drive_c/Program Files/Diablo II/Diablo II.exe' -3dfx

File Manager

Root

gio open ~/'Wine Prefixes/Diablo II/drive_c/Program Files/Diablo II'

Saved Games

gio open ~/'Wine Prefixes/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 Prefixes/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 Prefixes/Diablo II/drive_c/users/'$USER'/Saved Games' && mkdir -p ~/'Wine Prefixes/Diablo II/drive_c/users/'$USER'/Saved Games' && tar -xvzf ~/'Downloads/'*'-manual-D2-Saves.tar.gz' -C ~/'Wine Prefixes/Diablo II/drive_c/users/'$USER'/Saved Games' 'Diablo II' && sync
3)
ideally should allow gamma adjustments (click and drag on color bars) and maintain 60+ fps
4)
or at the very least, doesn't outright cause a crash
games/wine/diablo_2.txt · Last modified: 2020/03/24 06:31 by Sean Rhone