| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| games:bsd:wine:guild_wars_2 [2025/10/26 02:26] – [ArcDPS] Sean Rhone | games:bsd:wine:guild_wars_2 [2026/03/06 23:25] (current) – [Initial Prefix] Sean Rhone |
|---|
| ===== Prerequisites ===== | ===== Prerequisites ===== |
| |
| * [[bsd:freebsd_15.0_xfce|FreeBSD 15.0 (Xfce)]] | * [[bsd:freebsd_16.0_xfce|FreeBSD 16.0 (Xfce)]] |
| * [[bsd;notes;wine|Wine]] (old WoW64) | * [[bsd;notes;wine|Wine]] (new WoW64) |
| |
| ====== Install ====== | ====== Install ====== |
| | |
| | ===== Initial Prefix ===== |
| | |
| | * ''win64'' (TODO: ''wow64'') |
| | * ''win7'' |
| | |
| | mkdir -p ~/'.wine' && WINEPREFIX=~/'.wine/Guild Wars 2' WINEARCH='win64' wine64 wineboot --init && WINEPREFIX=~/'.wine/Guild Wars 2' wine64 winecfg /v 'win7' && WINEPREFIX=~/'.wine/Guild Wars 2' wine64 REG ADD 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v 'winemenubuilder.exe' /t 'REG_SZ' /d '' /f |
| |
| ===== Guild Wars 2 ===== | ===== Guild Wars 2 ===== |
| * Email/pass -> ''[x]'' Remember both -> Log In -> ''[x]'' Auto-Play -> Close | * Email/pass -> ''[x]'' Remember both -> Log In -> ''[x]'' Auto-Play -> Close |
| |
| mkdir -p ~/'.wine' ~/'Downloads/Guild Wars 2' && WINEPREFIX=~/'.wine/Guild Wars 2' WINEARCH='win64' wine64 wineboot --init && WINEPREFIX=~/'.wine/Guild Wars 2' wine REG ADD 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v 'winemenubuilder.exe' /t 'REG_SZ' /d '' /f && 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' | 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' wine64 ~/'Downloads/Guild Wars 2/Gw2Setup.exe' |
| |
| ===== Restore Gw2.dat ===== | ===== Restore Gw2.dat ===== |
| ===== Arial Font ===== | ===== Arial Font ===== |
| |
| * Fixes CEF windows (trading post) | * Fixes CEF windows ([[https://forums.freebsd.org/threads/what-about-gaming-on-freebsd.723/page-13#post-713261|source]]) |
| * [[https://forums.freebsd.org/threads/what-about-gaming-on-freebsd.723/page-13#post-713261|Source]] | |
| |
| WINEPREFIX=~/'.wine/Guild Wars 2' winetricks 'arial' | WINEPREFIX=~/'.wine/Guild Wars 2' winetricks 'arial' |
| |
| * https://github.com/doitsujin/dxvk/actions ((need to be signed into GitHub, and select the latest ''master'' artifacts package)) | * https://github.com/doitsujin/dxvk/actions ((need to be signed into GitHub, and select the latest ''master'' artifacts package)) |
| * Last tested: ''dxvk-master-2f9309786e2565ad8a56197627c6c5a408c16c0e.zip'' | * Last tested: ''dxvk-master-59eb3086c0f61884a5c7fc2c6c53ec5c3cc94e2c.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' | 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' |
| **** | **** |
| |
| 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 | WINEPREFIX=~/'.wine/Guild Wars 2' wine64 REG ADD 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v 'd3d11' /t 'REG_SZ' /d 'native' /f && WINEPREFIX=~/'.wine/Guild Wars 2' wine64 REG ADD 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v 'dxgi' /t 'REG_SZ' /d 'native' /f |
| | |
| ===== ArcDPS ===== | |
| | |
| * https://www.deltaconnected.com/arcdps/x64/ | |
| * Requires above [[#dxvk|DXVK install]] ((''d3d11'' dll override with ArcDPS by itself had errors)) | |
| | |
| wget -O ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/d3d11.dll' 'https://www.deltaconnected.com/arcdps/x64/d3d11.dll' | |
| | |
| rm -fv ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/d3d11.dll' | |
| |
| ====== Desktop Launcher ====== | ====== Desktop Launcher ====== |
| Name=Guild Wars 2 | Name=Guild Wars 2 |
| Categories=Game; | Categories=Game; |
| Exec='/bin/sh' -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 -useOldFov" | Exec='/bin/sh' -c "cd ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2' && WINEPREFIX=~/'.wine/Guild Wars 2' wine64 ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/Gw2-64.exe' -autologin -bmp -nodelta -mapLoadinfo -ignorecoherentgpucrash -useOldFov -mumble 0" |
| Type=Application | Type=Application |
| StartupNotify=false | StartupNotify=false |
| Icon=/home/CHANGEME/.wine/Icons/GW2-256.ico | Icon=/home/CHANGEME/.wine/Icons/GW2-256.png |
| StartupWMClass=gw2-64.exe | StartupWMClass=gw2-64.exe |
| Actions=Update;Screenshots;Kill;Repair;Notes; | Actions=Update;Screenshots;Kill;Repair;Notes; |
| |
| [Desktop Action Update] | [Desktop Action Update] |
| Exec='/bin/sh' -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" | Exec='/bin/sh' -c "cd ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2' && WINEPREFIX=~/'.wine/Guild Wars 2' wine64 ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/Gw2-64.exe' -image -nodelta" |
| Name=Update Game Data | Name=Update Game Data |
| |
| |
| [Desktop Action Repair] | [Desktop Action Repair] |
| Exec='/bin/sh' -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" | Exec='/bin/sh' -c "cd ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2' && WINEPREFIX=~/'.wine/Guild Wars 2' wine64 ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/Gw2-64.exe' -image -nodelta -repair" |
| Name=Repair Game Data | Name=Repair Game Data |
| |
| |
| # End</code> | # End</code> |
| | |
| | xfce4-panel -r |
| |
| ==== Icon ==== | ==== Icon ==== |
| |
| <code> | <code> |
| mkdir -p ~/'.wine/Icons' && wrestool --output=$HOME/'.wine/Icons/GW2-256.ico' --extract --type='14' --name='1' ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/Gw2-64.exe'</code> | 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'</code> |
| |
| ====== Quick Commands ====== | ====== Quick Commands ====== |
| **** | **** |
| |
| WINEPREFIX=~/'.wine/Guild Wars 2' winecfg | WINEPREFIX=~/'.wine/Guild Wars 2' wine64 winecfg |
| |
| ===== Winetricks ===== | ===== Winetricks ===== |
| **** | **** |
| |
| WINEPREFIX=~/'.wine/Guild Wars 2' regedit | WINEPREFIX=~/'.wine/Guild Wars 2' wine64 regedit |
| |
| ===== Kill ===== | ===== Kill ===== |
| **** | **** |
| |
| 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 | cd ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2' && WINEPREFIX=~/'.wine/Guild Wars 2' wine64 ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/Gw2-64.exe' -autologin -bmp -nodelta -mapLoadinfo -ignorecoherentgpucrash -useOldFov -mumble 0 |
| |
| ==== Updater ==== | ==== Updater ==== |
| |
| * ''-image'' | * ''-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 | cd ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2' && WINEPREFIX=~/'.wine/Guild Wars 2' wine64 ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/Gw2-64.exe' -image -nodelta |
| |
| ==== Repair ==== | ==== Repair ==== |
| * ''-repair'' | * ''-repair'' |
| |
| 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 | cd ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2' && WINEPREFIX=~/'.wine/Guild Wars 2' wine64 ~/'.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' | gio open ~/'Documents/Guild Wars 2/VerifyResults.log' |
| * ''-diag'' | * ''-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 | cd ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2' && WINEPREFIX=~/'.wine/Guild Wars 2' wine64 ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/Gw2-64.exe' -diag |
| |
| gio open ~/'Documents/Guild Wars 2/NetworkDiag.log' | gio open ~/'Documents/Guild Wars 2/NetworkDiag.log' |
| ===== DXVK TODO ===== | ===== DXVK TODO ===== |
| |
| * TODO: Check if ''d3d9'' stuff affects (''dpiAware'' particularly)) | * https://github.com/doitsujin/dxvk/blob/master/dxvk.conf |
| * :!: 2025/10/24: Vsync in-game or DXVK looks notably better but glitches on 15.0 ([[bsd:notes:xorg.conf_snippets#modesetting|more info]]) | |
| |
| ee ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/dxvk.conf' | ee ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/dxvk.conf' |
| <code> | <code> |
| # General | # General |
| #dxvk.hud = "full" | |
| dxgi.enableHDR = "False" | dxgi.enableHDR = "False" |
| d3d9.dpiAware = "False" | |
| dxvk.allowFse = "True" | dxvk.allowFse = "True" |
| d3d9.samplerLodBias = "-2.0" | dxvk.tearFree = "False" |
| | dxvk.latencySleep = "False" |
| | d3d9.dpiAware = "False" |
| | d3d9.enumerateByDisplays = "False" |
| d3d11.samplerLodBias = "-2.0" | d3d11.samplerLodBias = "-2.0" |
| | dxgi.maxFrameRate = "76" |
| |
| # Intel | # Intel |
| dxvk.hideIntegratedGraphics = "False" | |
| d3d9.hideIntelGpu = "False" | |
| dxgi.hideIntelGpu = "False" | dxgi.hideIntelGpu = "False" |
| dxvk.enableGraphicsPipelineLibrary = "True" | dxvk.enableGraphicsPipelineLibrary = "False" |
| |
| # Tweaks | # Tweaks |
| dxgi.maxFrameLatency = "1" | |
| dxvk.latencySleep = "False" | |
| dxvk.enableMemoryDefrag = "False" | dxvk.enableMemoryDefrag = "False" |
| dxvk.tilerMode = "False" | |
| d3d9.useD32forD24 = "True" | |
| d3d11.relaxedBarriers = "True" | |
| d3d9.invariantPosition = "False" | |
| d3d11.disableMsaa = "True" | |
| dxvk.enableDescriptorBuffer = "True" | |
| d3d9.floatEmulation = "False" | |
| dxvk.lowerSinCos = "False" | dxvk.lowerSinCos = "False" |
| d3d9.deviceLocalConstantBuffers = "True" | d3d9.deviceLocalConstantBuffers = "True" |
| | d3d9.floatEmulation = "False" |
| | d3d9.invariantPosition = "False" |
| | d3d9.maxFrameLatency = "1" |
| | d3d9.useD32forD24 = "True" |
| | dxgi.syncInterval = "0" |
| | d3d11.relaxedBarriers = "True" |
| | d3d11.relaxedGraphicsBarriers = "True" |
| | d3d11.samplerAnisotropy = "0" |
| |
| # End</code> | # HUD |
| | #dxvk.hud = "full" |
| |
| <code> | # End</code> |
| dxvk.tearFree = "False" | |
| dxgi.syncInterval = "1"</code> | |
| |