====== Information ======
* [[https://www.guildwars2.com|Guild Wars 2]]
* Standalone
* 64-bit
===== Prerequisites =====
* [[linux;distros;opensuse_tumbleweed_gnome|openSUSE Tumbleweed (GNOME)]]
* [[linux;notes;wine|Wine]] (old WoW64)
====== Install ======
===== Initial Prefix =====
****
mkdir -p ~/'.wine' && WINEPREFIX=~/'.wine/Guild Wars 2' WINEARCH='win64' wineboot --init && WINEPREFIX=~/'.wine/Guild Wars 2' winecfg /v 'win7' && WINEPREFIX=~/'.wine/Guild Wars 2' wine REG ADD 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v 'winemenubuilder.exe' /t 'REG_SZ' /d '' /f
===== Guild Wars 2 =====
* Install to default location ((''C:\Program Files\Guild Wars 2''))
* Email/pass -> ''[x]'' Remember both -> Log In -> ''[x]'' Auto-Play -> Close
mkdir -p ~/'Downloads/Guild Wars 2' && wget -O ~/'Downloads/Guild Wars 2/Gw2Setup.exe' 'https://cloudfront.guildwars2.com/client/branches/Gw2Setup-64.exe' && WINEPREFIX=~/'.wine/Guild Wars 2' wine ~/'Downloads/Guild Wars 2/Gw2Setup.exe'
===== Restore Gw2.dat =====
****
mv -fv ~/'Downloads/GW2/Gw2.dat' ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2'
===== Vulkan =====
* :?: TODO: Check benefit ((Vsyncs on Wayland without ''immediate''))
WINEPREFIX=~/'.wine/Guild Wars 2' wine REG ADD 'HKEY_CURRENT_USER\Software\Wine\Direct3D' /v 'renderer' /t 'REG_SZ' /d 'vulkan' /f
===== Clean-up =====
****
rm -Rf ~/'Downloads/Guild Wars 2' ~/'Downloads/GW2'
====== Libraries ======
===== DXVK =====
==== Release ====
* https://github.com/doitsujin/dxvk/releases
* Last tested: ''dxvk-2.7.1.tar.gz''
rm -Rf '/tmp/dxvk-'* && tar -xvzf ~/'Downloads/dxvk-'*'.tar.gz' -C '/tmp' && mv -fv '/tmp/dxvk-'*'/x64/d3d11.dll' '/tmp/dxvk-'*'/x64/dxgi.dll' ~/'.wine/Guild Wars 2/drive_c/windows/system32' && rm -Rf '/tmp/dxvk-'*
==== master ====
* https://github.com/doitsujin/dxvk/actions ((need to be signed into GitHub, and select the latest ''master'' artifacts package))
* Last tested: ''dxvk-master-6cec53d975a79ababe4b8965ce04e7b96903dd1b.zip''
rm -Rf '/tmp/dxvk-master' && unzip ~/'Downloads/dxvk-master-'*'.zip' -d '/tmp/dxvk-master' && mv -fv '/tmp/dxvk-master/x64/d3d11.dll' '/tmp/dxvk-master/x64/dxgi.dll' ~/'.wine/Guild Wars 2/drive_c/windows/system32'
==== Dll Overrides ====
****
WINEPREFIX=~/'.wine/Guild Wars 2' wine REG ADD 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v 'd3d11' /t 'REG_SZ' /d 'native' /f && WINEPREFIX=~/'.wine/Guild Wars 2' wine REG ADD 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v 'dxgi' /t 'REG_SZ' /d 'native' /f
===== ArcDPS =====
* https://www.deltaconnected.com/arcdps/x64/
* :?: Might require above ''d3d11'' override
rm -f '/tmp/d3d11.dll' && wget -O '/tmp/d3d11.dll' 'https://www.deltaconnected.com/arcdps/x64/d3d11.dll' && mv -f '/tmp/d3d11.dll' ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/d3d11.dll'
==== Remove ====
****
rm -Rf ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/d3d11.dll' ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/addons/arcdps'
==== arcdps.ini ====
mkdir -p ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/addons/arcdps' && nano ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/addons/arcdps/arcdps.ini'
[session]
ignore_error_log=1
check_version3=0
check_version3_ext=0
check_version3_lang=0
no_warn_nonessential_patterns=1
====== Scripts ======
===== ArcDPS =====
* https://www.deltaconnected.com/arcdps/
nano ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/arcdps-update.sh' && chmod +x ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/arcdps-update.sh'
#!/bin/bash
rm -f '/tmp/d3d11.dll'
wget -q -O '/tmp/d3d11.dll' 'https://www.deltaconnected.com/arcdps/x64/d3d11.dll'
mv -f '/tmp/d3d11.dll' ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/d3d11.dll'
zenity --title 'ArcDPS Updater' --text 'ArcDPS update complete' --icon ~/'.wine/Icons/GW2-256.png' --timeout '2' --info
# End
~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/arcdps-update.sh'
====== Desktop Launcher ======
===== Guild Wars 2 =====
mkdir -p ~/'.local/share/applications/wine/Programs/Guild Wars 2' ~/'Documents/Guild Wars 2/Screens' && nano ~/'.local/share/applications/wine/Programs/Guild Wars 2/Guild Wars 2.desktop' && sed -i 's/'CHANGEME'/'$USER'/g' ~/'.local/share/applications/wine/Programs/Guild Wars 2/Guild Wars 2.desktop' && update-desktop-database --quiet ~/'.local/share/applications'
[Desktop Entry]
Name=Guild Wars 2
Categories=Game;
Exec='/bin/bash' -c "cd ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2' && WINEPREFIX=~/'.wine/Guild Wars 2' wine ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/Gw2-64.exe' -autologin -bmp -nodelta -mapLoadinfo -ignorecoherentgpucrash -mumble 0"
Type=Application
StartupNotify=false
Icon=/home/CHANGEME/.wine/Icons/GW2-256.png
StartupWMClass=gw2-64.exe
Actions=Update;Update-ArcDPS;Screenshots;Kill;Repair;Notes;
[Desktop Action Update]
Exec='/bin/bash' -c "cd ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2' && WINEPREFIX=~/'.wine/Guild Wars 2' wine ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/Gw2-64.exe' -image -nodelta"
Name=Update Game Data
[Desktop Action Update-ArcDPS]
Exec='/bin/bash' -c "~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/arcdps-update.sh'"
Name=Update ArcDPS
[Desktop Action Screenshots]
Exec='/bin/bash' -c "gio open ~/'Documents/Guild Wars 2/Screens'"
Name=Screenshots
[Desktop Action Kill]
Exec='/bin/bash' -c "WINEPREFIX=~/'.wine/Guild Wars 2' wineserver -k"
Name=Force-close
[Desktop Action Repair]
Exec='/bin/bash' -c "cd ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2' && WINEPREFIX=~/'.wine/Guild Wars 2' wine ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/Gw2-64.exe' -image -nodelta -repair"
Name=Repair Game Data
[Desktop Action Notes]
Exec='/bin/bash' -c "gio open 'https://wiki.realmofespionage.xyz/games:linux:wine:guild_wars_2'"
Name=Install Notes
# End
==== Icon ====
****
mkdir -p '/tmp/icons' ~/'.wine/Icons' && cd '/tmp/icons' && wrestool --output='GW2-256.ico' --extract --type='14' --name='1' ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/Gw2-64.exe' && icotool --extract --icon --index='1' --width='256' --height='256' --bit-depth='32' --palette-size='0' --output=$HOME/'.wine/Icons/GW2-256.png' '/tmp/icons/GW2-256.ico' && cd ~ && rm -Rf '/tmp/icons'
====== Quick Commands ======
===== Winecfg =====
****
WINEPREFIX=~/'.wine/Guild Wars 2' winecfg
===== Winetricks =====
****
WINEPREFIX=~/'.wine/Guild Wars 2' winetricks
===== Registry Editor =====
****
WINEPREFIX=~/'.wine/Guild Wars 2' regedit
===== Kill =====
****
WINEPREFIX=~/'.wine/Guild Wars 2' wineserver --kill
===== Execute =====
==== Guild Wars 2 ====
cd ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2' && WINEPREFIX=~/'.wine/Guild Wars 2' wine ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/Gw2-64.exe' -autologin -bmp -nodelta -mapLoadinfo -ignorecoherentgpucrash -mumble 0
-useOldFov
==== Updater ====
* ''-image''
* '' -nodelta''
cd ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2' && WINEPREFIX=~/'.wine/Guild Wars 2' wine ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/Gw2-64.exe' -image -nodelta
=== External ===
* ''x'' is ''Gw2.dat'' on external USB
cd ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2' && WINEPREFIX=~/'.wine/Guild Wars 2' wine ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/Gw2-64.exe' -image -nodelta -dat x
cd ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2' && WINEPREFIX=~/'.wine/Guild Wars 2' wine ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/Gw2-64.exe' -image -nodelta -dat '/run/media/'$USER'/NAS/Games/PC/GW2/Gw2.dat'
==== Repair ====
* ''-repair''
* '' -nodelta''
cd ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2' && WINEPREFIX=~/'.wine/Guild Wars 2' wine ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/Gw2-64.exe' -image -nodelta -repair
gio open ~/'Documents/Guild Wars 2/VerifyResults.log'
==== Network Diagnostics ====
* ''-diag''
cd ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2' && WINEPREFIX=~/'.wine/Guild Wars 2' wine ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/Gw2-64.exe' -diag
gio open ~/'Documents/Guild Wars 2/NetworkDiag.log'
==== Root Folder ====
****
gio open ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2'
===== DXVK TODO =====
* https://github.com/doitsujin/dxvk/blob/master/dxvk.conf
* TODO: Check if ''d3d9'' stuff affects (''dpiAware'' particularly)
nano ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/dxvk.conf'
# General
d3d11.samplerLodBias = "-2.0"
# Intel
dxvk.hideIntegratedGraphics = "False"
dxgi.hideIntelGpu = "False"
# HUD
#dxvk.hud = "full"
# End