This file lists some configuration file tweaks, performance tweaks, visual tweaks, and the likes of making your game run better.
Please keep in mind that the minimal specifications also apply for Linux. Do not expect a performance gain compared to Windows native.
As of game version 3.2.0, it is recommended to apply the secondary patch to noticeably lower the CPU usage. Please check Issue #195 and the script source for details.
bash "/path/to/dawn/GAMEVER/patch_anti_logincrash.sh"
Check whether the latest DXVK version is installed in your WINEPREFIX
:
WINEDEBUG
(no -all
!) and check the (terminal) outputoutput_log.txt
(what?) should mention DXVKSetup instructions: TROUBLESHOOTING.md
Esync will sometimes work faster than Fsync on some specific game/machine combinations (see here).
Please note that the official Wine builds do not come with Esync support. One of the following builds is required:
Lutris:
Proton:
wine-staging or custom build:
export WINEESYNC=1
to your script prior to launching the gameIf you have access to the terminal output (or logs),
look out for Esync
mentions to confirm that it's working.
This section is about reducing choppy framerates on amdgpu + radv. According to Issue #321 the GPU might not boost the clocks properly. This might be a GPU driver issue.
amdgpu
driver specific)
echo high | sudo tee /sys/class/drm/card0/device/power_dpm_force_performance_level
gamemode
users:
amd_performance_level=high
to the [gpu]
configuration section.nvidia-smi
/nvtop
(nVIDIA), radeontop
(AMD)zfgamebrowser.exe
to free approx. 60 MB (after DXVK 1.9.4)dxvk.conf
where GenshinImpact.exe
resides. Example options for vsync-less (mailbox mode), tearing-free, low latency gameplay:# Change to 3 for triple buffering (improves performance at the cost of latency)
dxgi.numBackBuffers = 2
dxgi.syncInterval = 0
dxgi.tearFree = True
# More performance
d3d11.constantBufferRangeCheck = False
d3d11.relaxedBarriers = True
d3d11.invariantPosition = False
d3d11.zeroWorkgroupMemory = False
Also the environment variable DXVK_ASYNC=1
might help to reduce stutters. This
feature is not available by default and requires a special DXVK patch.
FSR is an image upscaler which can improve game performance. See AMD website for details.
The following two sections each describe a method to get FSR running.
Links for reference:
Caveats:
To benefit from improvements in newer Wine/Proton versions, gamescope is designed as a long-term solution.
General features:
Command line example:
# General syntax
gamescope -w <game_visible_width> -h <game_visible_height> -W <final_window_width> -H <final_window_height> -U -f -- <command>
# Example for upscaling 1080p -> 1440p
gamescope -w 1920 -h 1080 -W 2560 -H 1440 -U -f -- wine cmd /c launcher.bat -window-mode exclusive
-f
means Gamescope window will be fullscreen at startup.
You want that for Variable Refresh Rate (Free/G/Sync).Super + F
can be used to switch between Fullscreen/Window for Gamescope output.Caveats:
Alt+Enter
to switch between windowed and fullscreenWine builds known to embed the feature at this moment are:
Required command line arguments:
-window-mode exclusive
after launcher.bat
??? cmd /c launcher.bat -window-mode exclusive
Configuration via environment variables: (example values are the default)
WINE_FULLSCREEN_FSR=1
-> enables FSRWINE_FULLSCREEN_FSR_MODE=balanced
ultra
, quality
, balanced
or performance
WINE_FULLSCREEN_FSR_STRENGTH=2
-> values from 0 (sharp) to 5 (blurry)Target
box. Example: FOO=1 BAR=1 cmd.exe
Configuration
-> System options
-> Environment variables
Checking whether FSR is enabled:
WINEDEBUG=trace+fshack
.trace:fshack:fs_hack_is_fsr is_fsr: TRUE
must appear in the Wine output.This is an optimization for installations on a slow drive. You may make Linux' file caching to RAM more aggressive in order reduce loading times for repetitive actions.
/etc/sysctl.conf
with an editor like nano
with sudo.vm.vfs_cache_pressure = 10
. Save and exit.sudo sysctl -p
to reload the kernel configuration.DXVK_HUD
to fps,frametimes
vkBasalt offers cool shaders and re-shade-like features.
vkBasalt.conf
in the directory where GenshinImpact.exe
resides.vkBasalt.conf