Table of Contents

Information

Media

Prerequisites

Notes

Install

Mount Discs

su -
mdconfig -a -t 'vnode' -f '/home/espionage724/Downloads/Diablo II Classic (1.06b)/Install.iso' -u '0' && mkdir -p '/mnt/D2-Install' && mount -t 'cd9660' '/dev/md0' '/mnt/D2-Install'
mdconfig -a -t 'vnode' -f '/home/espionage724/Downloads/Diablo II Classic (1.06b)/Cinematics.iso' -u '1' && mkdir -p '/mnt/D2-Cinematics' && mount -t 'cd9660' '/dev/md1' '/mnt/D2-Cinematics'
mdconfig -a -t 'vnode' -f '/home/espionage724/Downloads/Diablo II Classic (1.06b)/Play.iso' -u '2' && mkdir -p '/mnt/D2-Play' && mount -t 'cd9660' '/dev/md2' '/mnt/D2-Play'
exit

Install

Create Prefix

mkdir -p ~/'.wine' && WINEPREFIX=~/'.wine/Diablo II Classic' WINEARCH='win32' winecfg /v 'winxp'

Mount Discs

WINEPREFIX=~/'.wine/Diablo II Classic' winecfg
/mnt/D2-Install
/mnt/D2-Cinematics
/mnt/D2-Play

Install

WINEPREFIX=~/'.wine/Diablo II Classic' WINEDLLOVERRIDES='winemenubuilder.exe=d' wine 'D:\Setup.exe'

Patch

WINEPREFIX=~/'.wine/Diablo II Classic' wine ~/'Downloads/Diablo II Classic (1.06b)/1.06b/D2Patch_106b.exe'
WINEPREFIX=~/'.wine/Diablo II Classic' wineserver -k

Online

md5sum ~/'Downloads/D2Patch_106b.exe' | grep 'b354004f32da834ab07ea8c42399d256' && WINEPREFIX=~/'.wine/Diablo II Classic' wine ~/'Downloads/D2Patch_106b.exe'
WINEPREFIX=~/'.wine/Diablo II Classic' wineserver -k

Glide Wrapper

bsdunzip -o ~/'Downloads/Diablo II Classic (1.06b)/Glide/gl32ogl14e.zip' 'glide3x.dll' 'glide-init.exe' -d ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II'

Online

md5sum ~/'Downloads/gl32ogl14e.zip' | grep '1c65a0150665f715ce0fc0a23885c6b8' && unzip -o ~/'Downloads/gl32ogl14e.zip' 'glide3x.dll' 'glide-init.exe' -d ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II'

No-CD

mv -fv ~/'Downloads/Diablo II Classic (1.06b)/1.06b/Game.exe' ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II/Game.exe'
cp -vf '/mnt/D2-Play/d2music.mpq' ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II/d2music.mpq'

Online

md5sum ~/'Downloads/d2nocd_pack.zip' | grep 'aadf35034f29afcdd9c20bb461e4efad' && bsdunzip -j -o ~/'Downloads/d2nocd_pack.zip' 'Classic/1.06b/Game.exe' -d ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II'

Clean Up

Prefix

WINEPREFIX=~/'.wine/Diablo II Classic' winecfg

Unmount Discs

su -
umount -d -f -v '/dev/md0' '/dev/md1' '/dev/md2' && sync
mdconfig -l -v
exit

Files

rm -Rf ~/'Downloads/Diablo II Classic (1.06b)' && sync

Glide Wrapper

cd ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II' && WINEPREFIX=~/'.wine/Diablo II Classic' wine ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II/glide-init.exe'

Reset Settings

WINEPREFIX=~/'.wine/Diablo II Classic' wine REG DELETE 'HKEY_CURRENT_USER\Software\GLIDE3toOpenGL' /f

Settings

cd ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II' && WINEPREFIX=~/'.wine/Diablo II Classic' wine ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II/Game.exe' -w

Desktop Launcher

mkdir -p ~/'.local/share/applications/wine/Programs/Diablo II Classic' && nano ~/'.local/share/applications/wine/Programs/Diablo II Classic/Diablo II Classic.desktop'
[Desktop Entry]
Name=Diablo II Classic
Exec='/bin/bash' -c "cd ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II' && WINEPREFIX=~/'.wine/Diablo II Classic' wine ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II/Game.exe' -3dfx"
Type=Application
StartupNotify=true
Icon=0913_Diablo II.0
StartupWMClass=game.exe
Actions=Kill;Window;Glide;Saves;Notes;

[Desktop Action Kill]
Exec='/bin/bash' -c "WINEPREFIX=~/'.wine/Diablo II Classic' wineserver --kill"
Exec='/bin/killall' -9 'Game.exe'
Name=Force-close Diablo II

[Desktop Action Window]
Exec='/bin/bash' -c "cd ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II' && WINEPREFIX=~/'.wine/Diablo II Classic' wine ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II/Game.exe' -w"
Name=Start Diablo II Windowed

[Desktop Action Glide]
Exec='/bin/bash' -c "cd ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II' && WINEPREFIX=~/'.wine/Diablo II Classic' wine ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II/glide-init.exe'"
Name=Glide Wrapper Configuration

[Desktop Action Saves]
StartupNotify=false
Exec='/bin/bash' -c "tar -cvzf ~/'Downloads/'$(date +%Y-%m-%d-%s)'-Diablo-2-Classic-Saves.tar.gz' -C ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II' 'save' && notify-send 'Diablo II Classic Save Data Backed-up Successfully to Downloads'"
Name=Save Data Back-up

[Desktop Action Notes]
StartupNotify=false
Exec=gio open 'https://wiki.realmofespionage.xyz/games;linux;wine;diablo_2_classic_1.06b'
Name=Install Notes

# End

TODO

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

Save Data

Backup

tar -cvzf ~/'Downloads/'$(date +%Y-%m-%d-%s)'-Diablo-2-Classic-Saves.tar.gz' -C ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II' 'save'

Restore

ls ~/'Downloads/'*'-Diablo-2-Classic-Saves.tar.gz' && rm -Rf ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II/save' && mkdir -p ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II/save' && tar -xvzf ~/'Downloads/'*'-Diablo-2-Classic-Saves.tar.gz' -C ~/'.wine/Diablo II Classic/drive_c/Program Files/Diablo II' 'save'
1)
LoD disc includes 1.07 and patched to 1.08 release-day
2)
ideally should allow gamma adjustments (click and drag on color bars) and maintain 60+ fps
3)
Gamma at half (should be default); only available fullscreen
4)
Screenshot#.jpgs saved to Diablo II root folder