TROUBLESHOOTING.md 26 KB

Troubleshooting

To add new solutions, please open a pull request, issue or contact me directly.

Sorted by appearance from installation (top) to gameplay (bottom).

Many of the solutions mentioned in this document assume knowledge about Wine and Linux/UNIX shells. These links might help to get a better understanding:

List of problematic Wine versions

  • Wine 9.8 - 9.9 (and newer?): Official Genshin-specific launcher crashes due to a Qt5 chromium bug. See Issue #478.
  • Wine 8.0-rc1: Certain sound effects might not play back
  • Wine 7.5: Broken batch file execution; stuck with find.exe. See below or Issue #291
  • Wine 7.3 - 7.5: May require a manual wineprefix update. See below or Issue #273
  • Wine 6.21 (Lutris?): Possible freeze before login screen - Issue #224
  • Wine 6.15 (vanilla): Crash when entering or leaving multiplayer
  • Wine 6.14: Suspected audio playback problems - Issue #218
  • Wine 6.13 and older: RAM growth issue when using the official launcher
  • Wine 6.10: Crash in HID when using a controller - Issue #133
  • Wine 6.0 (staging): Possible stutter issues on AMD graphics - Issue #40
  • Wine 5.19: Occasional crash while preparing media (login screen)
  • Wine 5.3 and older: Missing StartThreadpoolIo implementation

Launcher: Game download issues

Download works but launcher freezes/crashes midway:

  • Use a recent Wine version (Wine 6.13+ confirmed working)
  • Use a custom Update & Patch application as an alternative to the official launcher
  • See Issue #28 for details

The memory footprint of winedevice.exe grows continuously:

"Insufficient disk space" issues. Also affected: voice packs from in-game settings

  • Is the game installed in your expected location?
  • Multiple partitions and symlinks might cause the launcher to query the wrong drive
    • Note: winecfg might require the environment variable WINEPREFIX to be specified.
    • Option 1: Limit drive access. Run winecfg -> "Drives"
      • Remove the Z: drive and add a new drive using the game installation path.
    • Option 2: Remove the symlinks. Run winecfg -> "Desktop Integration" -> "Folders"
      • Select and uncheck each link in the listing
    • Option 3: Try Lutris or a manual Wine setup
  • Last resort: use a native update application

Launcher: Failed to unzip game files

  1. Check for launcher updates
  2. Edit /path/to/Genshin Impact Game/config.ini
  3. Adjust the line game_version=X.X.X to the currently installed version
  4. Re-run the launcher to install the update

Alternatively: re-download the entire game. See Issue #28 for direct links.

Game does not start at all

  1. Check & update the game version in the official launcher
  2. Apply the patches as described in README.md
  3. If the patch scripts did not solve the issue:
    1. Check the Wine log output (terminal or file)
    2. A line containing err:ntoskrnl:ZwLoadDriver failed to create driver must be one of the last few lines of the log output.
    3. Rename the file mhypbase.dll to mhypbase.dll.bak and start the game. Revert this change if there is no change in behaviour.
    4. This workaround will result in the error "31-4302" after a few days. Undo the change and retry to start the game.

If a find.exe command window is shown but it never closes:

  • Do not use Wine 7.5. (Issue #291)

'find' or 'start' cannot be found

Alternatively: notepad.exe opens on launch, displaying an error message.

Possible causes:

  • Old Lutris Wine package (prior to "lutris-6.4")
  • Incomplete or corrupted WINEPREFIX setup

Solutions:

  • Try another package, such as Proton or stock/vanilla Wine.
  • Use a new WINEPREFIX. Move the game installation.
  • Attempt to repair an existing one using wineboot -u
    • This step requires the environment variable WINEPREFIX to be specified.

For more details, see Issue #78.

Game crashes on launch

  1. Ensure the patch is applied
  2. Retry without kernel sync (ESYNC, FSYNC, ...)
  3. Lutris: disable "Lutris Runtime" (for reference)

Wine output CreateDirectory 'C:/users/XXXXX/AppData/LocalLow/XXXX' failed: File not found:

  • Caused by incorrect encoding of the %APPDATA% path due to certain locales.
  • This issue is primarily observed on the Chinese version using Steam
  • In general: use the following environment variables:
    • LC_ALL=en_US.utf8
  • For steamOS (Steam Deck):
    1. See INSTALLATION.md#steamos
  • For Steam (any OS):
    • Navigate to Gear icon -> "Settings"
    • Start options: LC_ALL=en_US.utf8 %command% /desktop=....

Game crash related to the wineprefix

Wine output log example:

  • wine: Call from XXXXXX to unimplemented function combase.dll.RoSetErrorReportingFlags, aborting

This applies to approx. Wine 7.3 (but not Proton). Either:

  • Update your WINEPREFIX using wineboot -u
    • Command execution is possible from both, shell and cmd.exe.
  • Create a new WINEPREFIX, reinstall DXVK (if possible) and retest
    • The game installation should be located outside any prefix to avoid accidental deletion.

StartThreadpoolIo not found in KERNEL32.dll

  • Use Wine 5.3 or newer.
  • For more details, see Issue#12.

Severe performance regression

This section describes high CPU usage that is present since 2024-06-11. For details, see Issue #481. This phenomenon appears a few days after a version update. This issue is very similar to what was observed before version 3.8.0, where the solution was to rename mhypbase.dll and patch xlua.dll.

Workaround:

  1. Turn off the network at least until the initial logo appears.
  2. The network must be reconnected before the login screen appears.

Script-based solution:

nmcli n off && sleep 7 && nmcli n on &
# start the game process here

Version for Steam:

nmcli n off ; %command% & pid=$! && sleep 7 ; nmcli n on && wait $pid

Note: The exact sleep duration depends on your system performance.

Additional note for Wine-Staging 9.10 or newer:

These versions may suffer from (sys)log spam when this workaround is not used. In that case, the debug channel sync should be disabled using environment variables:

export WINEDEBUG=-sync

Password input shows no characters

Applies to game version 4.2.0 and newer.

In stock/vanilla Wine, the password characters do not show up when typing. This is a font or display issue only. Input your password as usual. Use Backspace or Ctrl+A + Del to reset the invisible box contents.

Login shows a white rectangle

After activating the "Login" button, a white rectangle appears. If the Captcha does not appear after 20 seconds, check for solutions in the following Troubleshooting entries:

  • "In-game browser looks weird or crashes the game"
  • "Error 4206"

If you are using MangoHud: hide it using Shift_R+F12 before logging in.

Workaround for Vulkan child window rendering (no longer applicable)

Obsolete since approx. game version 4.1.0.

This section is dedicated to Wine bug 45277.

  1. Check whether you are affected by this bug.
    • Try to open the in-game registration page and open the Wine output log.
    • err:virtual:virtual_setup_exception stack overflow 2128 bytes (or similar) appears.
    • If there is no similar error message, proceed with other workarounds.
  2. Rename or move the file *_Data/Plugins/vulkan-1.dll
  3. Login
  4. Restore the vulkan-1.dll to its original state
    • Otherwise you might face error 31-4302 sooner or later.

Alternatively, use a Wine version that includes experimental child window rendering:

  • wine-ge-custom
  • wine-tkg
  • Valve Wine/Proton (Steam)
  • Methods to check or find other supported Wine builds: (experimental)
    • Search for pXCompositeRedirectWindow in the repository
    • Check installed versions: locate "winex11" | xargs -d '\n' grep sync_vk_surface
    • Individual check: find -type f -name "winex11*.so" | xargs -d '\n' grep sync_vk_surface"

Bilibili login page not working

See INSTALLATION.md for details.

Login prompt appears after each game launch

  • Switch between Linux kernels less often
    • For details, see Issue #373
  • Retry using a virtual desktop (Wine feature)

Error 4206 or "Connection timed out"

Alternatively: stuck at "Checking for updates..." without any error message

Possible error sources:

  • Faulty DNS server
    • Manually specify DNS addresses in your connection settings
  • Failing IPv4 fallback
    • Edit /etc/gai.conf and uncomment precedence ::ffff:0:0/96 100
  • Domain(s) blocked by ISP
    • Try a VPN or a different DNS
  • Custom domain block lists (albeit unlikely)
    • Double-check your /etc/hosts file

In rare cases, this issue may be weekday-dependent for unknown reasons.

Solutions: tab "PC client issues"

Freeze when loading game data

Unknown cause. Please submit ideas to Issue #90

  • Ensure that an audio output device is enabled
  • Run the game using -nolog: ??? cmd /c launcher.bat -nolog
  • Try another graphics driver or setup a clean, new WINEPREFIX

Crash after 20 seconds due to sound output

First seen in version 2.1.0 using PulseAudio.

Check whether the terminal output (WINEDEBUG value is irrelevant) contains following line:

  • INFO: OpenAudioDevice failed: Unsupported number of audio channels

.. and change the sound output settings to Analog Stereo.

An error code appears

Common errors and possible causes. x stands for any number:

  • 10351-4001 / "数据异常,请重新登录游戏" / "Data error, please log in again."
    • May occur on the CN server on any OS. Its appearance is server-controlled.
    • Workaround: Use the command line argument -platform_type CLOUD_THIRD_PARTY_PC
    • See also: Issue #401 and YAAGL repository.
  • -900x (Out of free storage)
    • Check the read and write permissions of the entire game directory, and the Persistent sub-directory in particular
    • Try the workaround from error code -9907 below.
  • -9907 (Insufficient space on disk)
    • May occur when installing the game and Wineprefix on separate drives
    • Solution: Open winecfg of the game Wineprefix and re-assign the Z: drive path to the game's installation directory or add a separate drive letter.
    • Alternative: Move the Wineprefix to the game installation drive
    • Duplicate of "Insufficient disk space" in the launcher section.
  • -9908
    • The downloaded data is corrupt. Try a wired connection.
  • 31-4302 (failed checksum)
    • The game (PE) binary files do not in their original state. Perform a file integrity check using the launcher. Also run updater/find_surplus_binaries.sh to find any relevant binary files that are not part of the game.
    • Try a new WINEPREFIX. This will require you to set up DXVK again (see INSTALLATION.md or the section "Graphics bugs/issues").
    • If the error still occurs after trying all of the above: please open a new issue.

Extensive permission check for -9xxx errors:

  1. Open a terminal in your game installation directory
  2. find ./ -type d \( ! -writable -or ! -readable \) 2>/dev/null
  3. Files that are listed in the terminal output need manual permission correction
    • An empty command output indicates proper file permissions.

If the game is located on an NTFS partition: Valve/Proton Wiki

White screen freeze when entering the door

... plus error log "err:virtual:virtual_setup_exception stack overflow".

Obsolete since version 3.8.0. Seen from game version 1.2.0 to 2.4.0 (?) and from 3.1.0 to 3.7.0 when renaming mhypbase.dll without additional patches.

Crash when initially loading the world (7 symbols)

... + error.log message containing XAudio2_7.dll caused an Access Violation (0xc0000005)

Rare occurrence related to an audio failure. Observed in Wine 5.22 and newer.

  1. Restart the game
  2. Check for music and button sound effects

This crash might also occur when WineD3D is used rather than DXVK.

Random game crashes (generic)

If other Windows games work well:

  • Perform a file integrity check using the game launcher
  • You might need to reapply the patch afterwards.

If other Windows games have issues as well:

  • Ensure that DXVK, your GPU - and Vulkan packages are working properly. See section "Weak graphics, slow game" for further instructions.

In-game browser looks weird or crashes the game

  • Install the required MS core fonts
  • Re-install DXVK (if present)
  • Try running the game in a virtual desktop (Wine feature)
  • Delete and create a new wineprefix after moving the game files to a safe location
    • For System-wide Wine: you will need to reinstall customizations such as DXVK.

Other font installations might work as well as long Fontconfig can use them as fallback.

ZFGameBrowser crash message box

This section is dedicated to "ZFGameBrowser has stopped working" (or similar) message boxes.

  • Ignore and restore the game window
  • For input issues: try the virtual desktop (Wine feature, see below)

For more details, see Issue #29.

Graphics bugs/issues

Check whether your GPU supports Vulkan: unofficial list, Intel, nVIDIA, AMD

DXVK setup instructions:

  • Custom script:
    • Download winetricks
    • export WINEPREFIX=/absolute/path/ (if needed)
    • sh winetricks
    • Install the DLL package dxvk (newest, or 1.7.3 for Proton 5.13)
  • Lutris: Configure -> Runner options -> "Enable DXVK" and specify the version
  • Proton: See setup instructions
  • PlayOnLinux: (outdated DXVK?)
    • Configure game -> Install components -> [Latest DXVK version]

To confirm whether DXVK is working, check the section "Game is on an LSD trip".

Advanced GPU + Vulkan driver health check:

  1. Many common distributions come with a GPU driver selection in the system settings. Use that before "going down the rabbit hole".
  2. See section "How to report issues" for driver information commands
  3. Look up your GPU on TechPowerUp to know the architecture, such as "Pascal" (nVIDIA), "RDNA" (AMD), etc.
  4. Driver verification: Arch Wiki: Xorg
  5. Vulkan verification: Arch Wiki: Vulkan
  6. DXVK check: see section "Game is on an LSD trip".

Game is on an LSD trip

(This means that surfaces have very distinct colors)

This issue is often caused by an outdated or missing DXVK installation.

How to check (general approach):

  • Launch with the environment variable DXVK_HUD=version,devinfo,fps
    • A HUD must appear in the top left corner
  • Check whether version 1.7.3 or newer is shown
    • Note: DXVK 2.x requires a GPU (and driver) capable of Vulkan 1.3 or newer. If that requirement is not met, use DXVK 1.x.
  • Alternatively, following lines in the terminal output indicate lack of DXVK:
    • fixme:d3d11:wined3dformat_from_dxgi_format
    • fixme:d3d:wined3d_check_device_multisample_type
    • fixme:d3d_shader:print_glsl_info_log
  • For installation hints check the section "Graphics bugs/issues" above.

Intel iGPU specific issues:

  • Update Mesa to a recent version, newer is better
  • See Release Notes for "ANV" mentions and fixes
  • See Issue #152 for the original report.

In case software rendering, i.e. llvmpipe is used by accident. This mostly happens on AMD GPUs.

Alternatively: error message "Couldn't switch to requested monitor resolution"

  1. Check whether software rendering is used
    • Either: search for lavapipe in the terminal output upon launch
    • Or: search for Device name + llvmpipe in output_log.txt after launch
  2. Install proper Vulkan packages:
    • Check tutorials, such as LinuxConfig or Arch Wiki
    • Advanced users: check the section "Graphics bugs/issues" above.
  3. Repeat step 1 to confirm your changes

Stripe artifacts appear during longer game sessions

This can be caused by filled VRAM, hence relevant for cards with VRAM <= 2 GB.

  • Depending on the case, this can be avoided by using wine-staging with these environment variables:
    • STAGING_SHARED_MEMORY=1
    • STAGING_WRITECOPY=1
  • Alternatively, lower the in-game setting "Render Resolution".

(wine-staging method tested with a GTX 650 Ti Boost, 2 GB)

Mouse/keyboard input issues

Easiest solution: Use a virtual desktop (Wine feature).

  • Custom script: wine explorer /desktop=anyname,1920x1080 cmd /c launcher.bat
    • Adjust the resolution numbers to your needs
  • Steam + Proton: See setup instructions
  • Lutris: Go to "Runner options" -> Enable "Windowed (virtual desktop)"

Alternative solutions without a virtual desktop:

  • Use Wine-Staging 7.8 or newer (_NET_ACTIVE_WINDOW patch)
  • winecfg -> Check "Automatically capture the mouse in full-screen windows"
  • WINEPREFIX="/path/to/prefix" winetricks usetakefocus=n
    • Lutris already does this by default.

General Unity3D-specific workaround for ignored inputs after focus loss:

  • Use Alt+Enter to toggle to windowed mode
  • Drag the window, focus the desktop, focus the game window (again)
  • When the title bar indicates focus, switch back to fullscreen mode

See also: search engine query unity wine focus

Too high mouse sensitivity

This workaround is meant for overall high mouse sensitivity. In case this issue occurs only after switching between workspaces, check the sections below.

Disable MouseWarpOverride using Winetricks:

WINEPREFIX="/path/to/prefix" winetricks mwo=disable

Alt + Mouse click not working

Cinnamon users:

Xfce4 users:

  • Same solution as in the causes the view to "spin" issue below

Switching between workspaces causes the view to "spin"

Change the in-game resolution setting:

  1. Focus the (virtual) desktop
  2. Focus the game window again. The title bar must be marked as active (blue).
  3. Change the resolution back to fullscreen

Alternative: use Proton.

Wrong window resolution

If the in-game settings are not accessible, do one of the following:

  • Append following arguments after launcher.bat:
    • -screen-width XXX -screen-height YYY -screen-fullscreen 1
  • Alternative: -show-screen-selector to change the settings on startup
  • Alternative: change the virtual desktop's size (Wine feature, if used)
  • Alternative: use regedit to change the keys in HKCU\Software\...

See also: Unity CLI args

Weak graphics, slow game

For performance improving tweaks see TWEAKS.md.

This may also be caused by software rendering. Check the section "Game is on an LSD trip" above.

For hybrid graphics (dGPU + iGPU) in laptops:

  1. Use the environment variable DXVK_HUD=version,devinfo,fps
  2. If the dGPU (such as nVIDIA or AMD) is shown, go to the section "Game is on an LSD trip".
  3. If the iGPU (Intel or AMD integrated) is shown:
    • For nVIDIA: Launch Wine with prime-run
    • ^ If pvkrun does not work, uninstall bumblebee prior to installing prime-run
    • For AMD: Use the environment variable PRIME_RUN=1
  4. Repeat the check in step 1

Consider to run your game manager (if present) directly from the dGPU to make sure that other games benefit from the discrete GPU performance as well.

Note: If Lutris is used, environment variables can be specified in the System options tab

Stutters

General stutters

DXVK needs to compile and cache (*.dxvk-cache files) shaders that are required in the game. It might take a while to build up the cache until the stutters reduce.

Try Esync or Fsync for further improvements: TWEAKS.md#esync

Stutters specific to Radeon RX 6000 series

Caused by:

  • Less recent Mesa drivers (<= Y2022)
  • Displays with adaptive sync support

Workaround: TWEAKS.md#amd-gpu-performance-tweaks

Locale-specific keyboard layout not working

Upon input, question mark signs (?) appear rather than the typed characters.

Gnome: Move the locale-specific layout to second place

Change the environment variable LANG to your locale

  • Run locale -a to pick your native language (referenced as your_LOCALE.utf8 below)
    • Custom script: LANG=your_LOCALE.utf8 wine ....
    • Lutris: Configure -> "System options" -> Add LANG, your_LOCALE.utf8 to the environment variables
    • Steam: Add LANG=your_LOCALE.utf8 in front of the "Start options" input box.
      • e.g. LANG=ja_JP.utf8 %command% /desktop=anyname,800x600 ....

Custom script: if the problem persists, create or update a WINEPREFIX using your locale

  • WINEPREFIX=/path/to/wineprefix/ LANG=your_LOCALE.utf8 /path/to/wineboot -u (untested)

Voiced cutscenes lack audio playback

"Feedback" and "Special Event" buttons crash Wine

Stock/vanilla Wine can yet not handle URLs of this length yet. They cause a stack corruption which in turn crashes the game. The following workarounds exist:

Use a Wine build that contains crash fixing patches:

  • Wine-GE 8-16 (or newer)
  • Proton-GE 8-16 (or newer)

"Feedback" button:

  1. For Gacha analytics: check FAQ.md for alternatives
  2. Check your in-game mail. It should contain a working URL.
    • Important: zfgamebrowser.exe must still be running (default)
  3. If there is no mail, wait for the reminder (arrives a few days).

"Special Event" button:

  1. Check the in-game browser for event links.
    • This is unreliable and might crash Wine in some cases
  2. Obtain the link from official channels or community. (e.g. Twitter)

Frequent crashes due to avcodec-58

Check whether this issue applies to you:

  1. Wait for the game to crash.
  2. Scroll to the bottom of output_log.txt (see FAQ.md)
  3. (avcodec-58) is mentioned in the stack trace section

Solution: Disable the library.

  • Lutris: See INSTALLATION.md
  • Custom script: Use the environment variable WINEDLLOVERRIDES=avcodec-58.dll=d

Crash when joining co-op

See "White screen freeze when entering the door".

Information sources

How to report issues

Please upload long log files to an external service such as:

Following information can help to speed up the troubleshooting process:

  1. What are you using: custom script, Lutris, Steam, other?
  2. Did you follow the installation instructions?
  3. For setup issues: provide the WINEDEBUG terminal output
    • Custom script: wine ????? 2>debug.txt (redirect stderr to a new file)
    • Lutris: Obtaining log output for games
    • Steam: start Steam from the terminal: PROTON_LOG=1 steam
      • Log files are saved to $HOME/steam-*.log
  4. For in-game crashes: provide its crash information
    • The file paths can be found in FAQ.md. Note: Wine-internal crashes might not generate a new dump in the Temp directory.
    • output_log.txt: DLL listing and stack backtrace at the end of the file
    • error.log: lines until (and including) Bytes at CS:EIP: are the most helpful
  5. Collect and provide GPU driver information
    • GPU driver: lspci -v | grep "VGA" -A 15
    • General overview: inxi -Ga
    • Vulkan driver: vulkaninfo --summary or vulkaninfo | grep DRIVER_ID -A 3