TWEAKS.md 4.5 KB

Tweaks

This file lists some configuration file tweaks, performance tweaks, visual tweaks, and the likes of making your game run better.

Performance tweaks

Please keep in mind that the minimal specifications also apply for Linux. Do not expect a performance gain compared to Windows native.

DXVK

Check whether the latest DXVK version is installed in your WINEPREFIX:

  • Use default WINEDEBUG (no -all!) and check the (terminal) output
  • output_log.txt (what?) should mention DXVK

Setup instructions: TROUBLESHOOTING.md

Esync

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:

  • Select game -> Configure -> Runner options -> "Enable Esync"
  • See also: Official tutorial

Proton:

  • Enabled by default when running from the Steam library

wine-staging or custom build:

  • Add export WINEESYNC=1 to your script prior to launching the game

If you have access to the terminal output (or logs), look out for Esync mentions to confirm that it's working.

GPU bottleneck improvements

  • Stutter and low FPS on GPUs with <= 2 GB VRAM
    • For monitoring: nvidia-smi/nvtop (nVIDIA), radeontop (AMD)
    • In-game setting: Change "Render Resolution" to 0.8 or lower
      • This setting changes the texture resolution, resulting in less VRAM usage
    • Disable Anti-Aliasing (less blur)
    • Close zfgamebrowser.exe to free approx. 150 MB
  • In-game setting: Disable "Volumetric Fog". Introduces more lag than what's worth it
  • In-game setting: Lower "Shadow Quality". May greatly improve the frame rates
  • Create a file named dxvk.conf where GenshinImpact.exe resides. Example options for vsync-less (mailbox mode), tearing-free, low latency gameplay:
# Change to False on NVIDIA GPUs
dxgi.nvapiHack = True
# 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 freature is not available by default and requires a special DXVK patch.

FSR - FidelityFX Super Resolution

FSR is an image upscaler which can improve game performance. See AMD website for details.

FSR does currently not work because the game upscales on its own.

Loading times

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.

  1. Open etc/sysctl.conf with an editor like nano with sudo.
  2. Add the line vm.vfs_cache_pressure = 10. Save and exit.
  3. Run sudo sysctl -p to reload the kernel configuration.

Visual tweaks

Benchmark

  • Set the environment variable DXVK_HUD to fps,frametimes
  • For a fancier display, try MangoHud instead.

Post Processing using vkBasalt

vkBasalt offers cool shaders and re-shade-like features.

  1. Disable in-game antialiasing
  2. Create a file named vkBasalt.conf in the directory where GenshinImpact.exe resides.
  3. Example file contents to apply a not-so-blurry SMAA and some sharpening:
# Note: smaa will make in-game text blurry.  If you don't mind losing some crispness
# from the image, remove smaa from here and use the in-game antialiasing.
# In-game SMAA and TAA are really blurry, so make sure to turn up casSharpness to
# something like 0.7
effects = cas:smaa

reshadeTexturePath = "/usr/share/reshade/textures"
reshadeIncludePath = "/usr/share/reshade/shaders"
depthCapture = off

#toggleKey toggles the effects on/off
toggleKey = Home

casSharpness = 0.3
dlsSharpness = 0.2
dlsDenoise = 0.2
smaaThreshold = 0.2
smaaMaxSearchSteps = 8
smaaMaxSearchStepsDiag = 6
smaaCornerRounding = 80

Please check the original vkBasalt.conf file for detailed configuration descriptions.