====== Information ====== * Guild Wars 2 * Standalone * 64-bit ===== Prerequisites ===== * [[bsd:freebsd_16.0_xfce|FreeBSD 16.0 (Xfce)]] * [[bsd;notes;wine|Wine]] (new WoW64) ====== 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 ===== * 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' wine64 ~/'Downloads/Guild Wars 2/Gw2Setup.exe' ===== Restore Gw2.dat ===== **** mv -vf ~/'Downloads/GW2/Gw2.dat' ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2' ===== Arial Font ===== * Fixes CEF windows ([[https://forums.freebsd.org/threads/what-about-gaming-on-freebsd.723/page-13#post-713261|source]]) WINEPREFIX=~/'.wine/Guild Wars 2' winetricks 'arial' ===== Clean-up ===== **** rm -Rf ~/'Downloads/Guild Wars 2' ====== Libraries ====== ===== 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-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' ==== Dll Overrides ==== **** 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 ====== Desktop Launcher ====== ===== Guild Wars 2 ===== mkdir -p ~/'.local/share/applications/wine/Programs/Guild Wars 2' ~/'Documents/Guild Wars 2/Screens' && ee ~/'.local/share/applications/wine/Programs/Guild Wars 2/Guild Wars 2.desktop' && sed -i -e '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/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 StartupNotify=false Icon=/home/CHANGEME/.wine/Icons/GW2-256.png StartupWMClass=gw2-64.exe Actions=Update;Screenshots;Kill;Repair;Notes; [Desktop Action Update] 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 [Desktop Action Screenshots] Exec='/bin/sh' -c "gio open ~/'Documents/Guild Wars 2/Screens'" Name=Screenshots [Desktop Action Kill] Exec='/bin/sh' -c "WINEPREFIX=~/'.wine/Guild Wars 2' wineserver -k" Name=Force-close [Desktop Action 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 [Desktop Action Notes] Exec='/bin/sh' -c "gio open 'https://wiki.realmofespionage.xyz/games:bsd:wine:guild_wars_2'" Name=Install Notes # End xfce4-panel -r ==== 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' wine64 winecfg ===== Winetricks ===== **** WINEPREFIX=~/'.wine/Guild Wars 2' winetricks ===== Registry Editor ===== **** WINEPREFIX=~/'.wine/Guild Wars 2' wine64 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' wine64 ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/Gw2-64.exe' -autologin -bmp -nodelta -mapLoadinfo -ignorecoherentgpucrash -useOldFov -mumble 0 ==== Updater ==== * ''-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'' 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' ==== Network Diagnostics ==== * ''-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' ===== 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 ee ~/'.wine/Guild Wars 2/drive_c/Program Files/Guild Wars 2/dxvk.conf' # General dxgi.enableHDR = "False" dxvk.allowFse = "True" dxvk.tearFree = "False" dxvk.latencySleep = "False" d3d9.dpiAware = "False" d3d9.enumerateByDisplays = "False" d3d11.samplerLodBias = "-2.0" dxgi.maxFrameRate = "76" # Intel dxgi.hideIntelGpu = "False" dxvk.enableGraphicsPipelineLibrary = "False" # Tweaks dxvk.enableMemoryDefrag = "False" dxvk.lowerSinCos = "False" 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" # HUD #dxvk.hud = "full" # End