protonscr

Zenless Zone Zero

protonopen appid 4162040Game compatibility - UnofficialXAudio2
ValveSoftware/Proton#9883 · opened 2026-06-18 by Barnacle · updated 2026-10-21 · 14 comments · github · game page · search this game
BBarnacle 2026-06-18 github

Compatibility Report

  • Name of the game with compatibility issues: Zenless Zone Zero
  • Steam AppID of the game: 4162040

System Information

I confirm:

  • [*] that I haven't found an existing compatibility report for this game.
  • [*] that I have checked whether there are updates for my system available.

Symptoms

Rendering issues / crashes with Ray tracing / Frame Generation enabled in DX12 mode.

DX12 seems to work fine on it's own. As well as it's working fine with ONLY Super Resolution enabled - DLSS or FSR, any quality.
However the game starts to falling apart, when Ray Tracing is enabled, any quality. The same thing happens with Frame Generation - both DLSS and FSR. Any combination: RT only, FG only, or RT+FG.

Usually happens after several minutes in the game world, with various visuals: mostly 3d scene goes half or fully dark, while UI is visible or partially broken. Sometimes it looks like a generic GPU failure with the crash to desktop some time later after that.

Reproduction

  1. Start the game in DX12 mode with the game launcher

  2. Enable Ray Tracing and/or Frame Generation in graphics options (the exact quality doesn't matter)
    Image

  3. Login into the game world to play

  4. Pressing Esc back and forth into the main menu greatly speedup the issues to appear

Can't test it on Windows, so can't really tell if it's platform specific or not.

Attachments:
Screenshots.tar.gz
steam-4162040.tar.gz - Proton logs. gamemoderun was added in Launch Options, but it's the same without it.

RRSerejo 2026-06-20 github

Gamepad are not working using experimental proton.
just updating

RRSerejo 2026-06-20 github

serejo1@serejo-PC
/\ OWOS endeavOwO
// \ MOWODEL TUF B450M-PRO GAMING
//>ω<\ KEWNEL Linuwu 7.0.12-arch1-1 x86_64
// \ \ CPUWU AMD Ryzen 5 3600 6-Cowe Processor
/ / ) ) GPUWU Advanced Micro Devices, Inc. AMD/ATI Navi 22 Radenyan RX 6700/6700 XT/6750 XT /
/
/__-- - MEMOWY 7721 MiB/31998 MiB
/
--- WESOWUTION 2560x1440
SHEWW /bin/bash
PKGS 1919: 41 (flatpak), 13 (snap), 1865 (pacman)
UWUPTIME 2h, 50m

FSR option are not showing

SSteamvoker 2026-07-27 · hidden on GitHub github

There seems to be around 15-20% fps regression in experimental compared to 11.0

GPU: RTX 4090
Driver/LLVM version: nvidia 610.43.03
Kernel version: 7.1.5-arch1-1
Proton version: 11.0, experimental.

Proton 11:

Image

Experimental:

Image
Vvecipher 2026-07-29 · hidden on GitHub github

Version 3.1 regression: game no longer starts (HoYoKProtect / MHYPBase)

ZZZ worked on this system on July 28, 2026. After the July 29 Version 3.1 update, the game no longer gets past the HoYoPlay launch button.

System

  • Ubuntu 24.04.4 LTS
  • Kernel: 7.0.0-28-generic
  • GPU: NVIDIA GeForce RTX 5090
  • NVIDIA driver: 595.84
  • Steam AppID: 4162040
  • Game build: 24294193 (Steam downloaded 12,497,142,464 bytes for this update)

Reproduction

  1. Start ZZZ through Steam.
  2. HoYoPlay opens normally.
  3. Click Start Game.
  4. The game process appears briefly and exits.

The executable is present at games/ZenlessZoneZero Game/ZenlessZoneZero.exe, and Steam reports the app as fully installed with UpdateResult 0.

driverError.log is updated on every attempt with:

[Local_Time]2026-07-29 11:41:56.792
[UTC_Time]2026-07-29 03:41:56.792
initDriver Failed: Error [4,1114,0].

The Unity player log initializes D3D11 and audio, then terminates in MHYPBase.dll.

Compatibility tools tested

  • Proton Experimental, build 24407790: exits with the error above
  • Proton Hotfix, build 24151874: identical error
  • Proton 11.0, build 24407896: identical error in a fresh isolated prefix
  • Proton 9.0, build 18753712: hangs with an unresponsive game window

No launch options were used. The original Proton Experimental prefix was also restored and reproduced the failure. Other Linux and Steam Deck users are reporting the same launch regression immediately after Version 3.1.

This looks like a Version 3.1 HoYoKProtect/MHYPBase regression rather than a missing executable or damaged Steam install.

Vvecipher 2026-07-29 · hidden on GitHub github

Follow-up: launch is working again

At 12:13 (UTC+8), ZZZ launched successfully and reached account login.

Immediately beforehand, Steam downloaded the official Proton Hotfix update from build 24151874 to build 24415271. However, the successful live process is using:

SteamLinuxRuntime_4 ... /Proton - Experimental/proton waitforexitandrun .../Zenless Zone Zero/HYP.exe

The active ZZZ prefix also identifies Proton Experimental, and there is no per-game CompatToolMapping selecting Proton Hotfix. Therefore I cannot confirm that the Hotfix update caused the recovery; a server-side Version 3.1 security configuration becoming available at approximately the same time is also consistent with the evidence.

The last failed attempt updated driverError.log at 12:00 with error [4,1114,0]. The successful ZenlessZoneZero.exe process started at 12:13:37 and remains running under Proton Experimental build 24407790. No game files, anti-cheat files, DLLs, or launch options were modified.

RRipleyTom 2026-08-12 · hidden on GitHub github

Latest bleeding edge seems to fail launching the game(after launching the game goes fullscreen for a few seconds and quickly returns). It seems to happen whether DX12 is selected or not in the launcher.

It works fine with August 7 Experimental, It started happening with https://github.com/ValveSoftware/Proton/commit/f2dd12c3a4981ce21d5378f6ba8b5af0acea2bf8 .

Log:
steam-4162040.log

Kkisak-valve maintainer 2026-08-16 github

[4162040] Zenless Zone Zero - D3D12 Crash on Intel Mesa and Prefix Corruption (Fedora)

Issue transferred from https://github.com/ValveSoftware/Proton/issues/10072.
@Abdulrahman-wada posted on 2026-08-16T22:10:22:

Compatibility Report

  • Name of the game with compatibility issues: Zenless Zone Zero
  • Steam AppID of the game: 4162040

System Information

  • GPU: Intel(R) HD Graphics 620 (KBL GT2)
  • Video driver version: Mesa 26.1.6
  • Kernel version:
  • Link to full system information report as Gist:
  • Proton version: Proton Experimental / GE-Proton 11-3

I confirm:

  • [x] that I haven't found an existing compatibility report for this game.
  • [x] that I have checked whether there are updates for my system available.

Symptoms

The game fails to launch, silently aborting before the game window can render. There are three primary symptoms observed in the terminal logs:

  1. D3D12 Engine Panic on Intel Mesa: The engine attempts to initialize DirectX 12 rendering, which causes an instant crash on the Intel HD 620 chip. Even when explicitly passing -force-d3d11 and PROTON_USE_DXVK=1 as launch parameters to force a DX11 fallback, the engine still probes for DX12 feature levels before dying (shader_cache_temp_dir_d3d12_64/fozpipelinesv6/steamapprun_pipeline_cache).
  2. Prefix Version Corruption: When using GE-Proton, Steam aggressively loops and corrupts the default 0 compatibility prefix. The logs continuously output: Proton: Upgrading prefix from GE-Proton11-1 to GE-Proton11-3 ... Prefix has an invalid version?!
  3. Steam Overlay ELF Errors: The boot sequence is flooded with 32-bit/64-bit gameoverlayrenderer.so preloading failures blocking the hook (wrong ELF class: ELFCLASS32).

Reproduction

  1. Launch Steam on a Fedora 44 (64-bit) machine using Intel HD 620 integrated graphics (Mesa drivers).
  2. Set the compatibility tool for Zenless Zone Zero (4162040) to Proton Experimental (or GE-Proton 11-3).
  3. (Optional) Apply launch parameters to force DX11: PROTON_USE_DXVK=1 %command% -force-d3d11
  4. Click "Play".
  5. Observe that the game silently crashes/aborts during the shader compilation phase before the HoYoverse logo or main window can appear.
SSteamvoker 2026-09-18 · hidden on GitHub github

Replying to https://github.com/ValveSoftware/Proton/issues/9883#issuecomment-5096142351

Seems to be fixed in experimental 2026-09-10b.

Proton 11.0-2c:
Image

Experimental:
Image

Mm1lkch4n 2026-09-28 github

Additional report: game exits after launcher start on Arch/CachyOS with AMD RX 480

I am seeing a similar post-launcher exit on Steam AppID 4162040. The launcher opens, but the game exits after clicking Start. Starting ZenlessZoneZero.exe directly instead of the launcher did not help. I reproduced the same behavior on GNOME Wayland and X11.

System:

  • CachyOS (Arch-based), x86_64, native Steam
  • AMD Ryzen 5 1600; Radeon RX 480 8 GB (POLARIS10), amdgpu + RADV
  • Linux 7.1.8-1-cachyos; Mesa/RADV 26.2.2-2; Vulkan 1.4
  • DXVK/Vulkan initialize successfully before the failure

Tested Proton 10, Proton 11.0-2, Proton Experimental (experimental-11.0-20260910b), Proton Hotfix (hotfix-20260828-ptr), GE-Proton 11-7, DW-Proton 11.0-13, and Proton-CachyOS 11.0. The launcher-to-game transition still fails on all tested runners. The most recent captured run used GE-Proton 11-7.

Relevant sanitized GE-Proton log sequence:

Loaded ... drivers\\WDFLDR.SYS ... builtin
Loaded ... HoYoKProtect.sys ... native
... EXCEPTION_ACCESS_VIOLATION ...
fixme:wdfldr:WdfVersionUnbind ... HoYoProtect ... stub!
err:ntoskrnl:ZwLoadDriver failed to create driver ... HoYoProtect: c0000355
... backtrace ... MHYPBase.dll + 000000000182A36A

The GE-Proton game-side driverError.log reports:

initDriver Failed: Error [4,643,0].

For comparison, a separate Proton Hotfix run logged Library WDFLDR.SYS ... not found, then ZwLoadDriver ... HoYoProtect: c0000142, followed by an access violation in MHYPBase.dll. With GE-Proton, WDFLDR.SYS is present and loads, but the HoYoProtect/WDF path still fails with c0000355 before the MHYPBase.dll crash. This makes a missing Linux graphics driver less likely; I have not modified the prefix, replaced driver files, or attempted to disable/bypass anti-cheat.

Does this look like an unsupported WDF/KMDF operation in Wine/Proton, or is there a safe additional diagnostic that would help identify the failing operation? I can provide a reviewed/redacted full Proton log if needed.

Rrunar-work 2026-10-20 github

@m1lkch4n Do you still have this issue? I haven't had any problems reaching the main menu with RX 470, 7.2.11-arch1-1, Mesa 26.2.5, Proton 11 and Proton Experimental bleeding-edge.

Oosmarios 2026-10-21 github

Version 3.3 regression: launch crash, root cause is Wine's wdfldr stub (with Proton log)

Replying here since this seems to be the umbrella thread for 4162040. I believe this is the same failure that @m1lkch4n reported above, reintroduced by the Version 3.3 update (2026-10-20) — the game ran fine on this system before 3.3 and now crashes immediately on launch, never reaching the title screen.

I captured a PROTON_LOG=1 log this time, and it shows the causal chain explicitly, so I can point at a specific cause rather than just a symptom.

System

  • CachyOS (Arch-based), native Steam
  • Kernel 7.2.11-1-cachyos, x86_64
  • AMD Ryzen 7 5700X; Radeon RX 7600 XT (Navi 33, 1002:7480), RADV
  • Mesa 26.2.4, Vulkan 1.4
  • Proton Experimental (also reproduced on 3 other builds — see below)

Root cause: Wine's WDFLDR.SYS is a builtin stub, so HoYoKProtect.sys fails to load

From the Proton log, in order:

trace:loaddll:build_module Loaded L"C:\windows\system32\HoYoKProtect.sys" at 0000000100400000: native
trace:loaddll:build_module Loaded L"C:\windows\system32\drivers\WDFLDR.SYS" at 00006FFFC1300000: builtin

fixme:wdfldr:WdfVersionUnbind L"\Registry\Machine\System\CurrentControlSet\Services\HoYoProtect" 0000000100449540 0000000000C24F78 stub!
trace:seh:dispatch_exception code=c0000005 (EXCEPTION_ACCESS_VIOLATION) flags=0 addr=FFFFEFFFFF6BF0EE
trace:seh:dispatch_exception rax=00000000c0000355 ...
err:ntoskrnl:ZwLoadDriver failed to create driver L"\Registry\Machine\System\CurrentControlSet\Services\HoYoProtect": c0000355

fixme:ntdll:NtRaiseHardError 0x50000018 4 0x3 ...: stub

The game ships a kernel driver (HoYoKProtect.sys) and loads it natively. That pulls in Wine's WDFLDR.SYS, which is a builtin stub — WdfVersionUnbind is unimplemented. The driver then takes an access violation and ZwLoadDriver fails with c0000355. The game treats that as fatal.

c0000355 here matches the game's own driverError.log exactly:

initDriver Failed: Error [4,643,0].

(Also seen as [4,1114,0] on a different prefix state — same failure, different prefix config.)

So this is not graphics/DXVK/Vulkan/Unity — it's Wine's incomplete Windows Driver Framework support. The D3D11 device and the Wwise sound engine both initialize successfully before the failure:

Direct3D: Version: Direct3D 11.0 [level 11.1]  Renderer: AMD Radeon RX 7600 XT
WwiseUnity: Sound engine initialized successfully.
Crash!!!

The crash stack lines up with the driver failure

Player.log shows a stack entirely inside MHYPBase.dll (39 frames, 37 of them the same address — the signature of a recursive error path rather than a graphics or engine fault):

MHYPBase.dll (..., fileVersion: 1.0.1.1)
========== OUTPUTTING STACK TRACE ==================
0x00006FFFC2BB6A61 (mhypbase) (function-name not available)
0x00006FFFC2C44F00 (mhypbase) (function-name not available)   <- x37
...
0x00006FFFC146D414 (mhypbase) (function-name not available)

And the Wine-side unwind matches it:

warn:seh:virtual_unwind backtrace: 00006FFFC2B96A61: L"MHYPBase.dll" + 0000000001856A61.
warn:seh:virtual_unwind backtrace: 00006FFFC2C24F00: L"MHYPBase.dll" + 00000000018E4F00.   <- x37

i.e. MHYPBase calls into HoYoKProtect, the driver fails to start, and the module recurses into its own error handler until it faults.

Confirmed not Proton-version-specific

I tested four builds, on both reused and freshly rebuilt prefixes — identical failure every time (same 39 mhypbase frames, same MHYPBase.dll +0x1856A61 / +0x18E4F00):

Proton build Result
Proton Experimental Crash — 39 mhypbase frames
GE-Proton11-11 Crash — identical
DW-Proton 11.0-15 Crash — identical
Proton-CachyOS 11.0-20261015-slr Crash — identical

I specifically tested Proton-CachyOS 11.0-20261015-slr because its release notes claim to fix ZZZ via winehq MR 11824. Its prefix was verified freshly built by that tool (config_info = CachyOS-11.0-100), and it crashes identically. Those notes scope the MR fix to Genshin Impact / Zenless Zone Zero CN editions, which use a different anti-tamper path than this global/Steam build — consistent with no change here.

Reproduction

  1. Install 4162040 with any modern Proton, launch.
  2. Process exits within seconds; no title screen.
  3. Artifacts in .../compatdata/4162040/pfx/drive_c/users/steamuser/AppData/Local/Temp/miHoYo/ZenlessZoneZero/Crashes/Crash_<timestamp>/

Launched via HYP.exe and via ZenlessZoneZero.exe directly — same crash either way.

Timeline

mhypbase.dll (MD5 0657a7d7d3d47d27705e41f27a1bff5b, 26,754,424 bytes) and ZenlessZoneZero.exe in the depot are both stamped 2026-10-20 20:20, matching the 3.3 update. Crashes started immediately after; the game worked before. config.ini reports game_version=3.3.0, version_info = OSPRODWin3.3.0.

Worth noting this is a recurrence of a known class — the HoYoKProtect/MHYPBase failure also hit at 2.8.0 and 3.1 and was resolved upstream/server-side (see @vecipher's report above for the 3.1 case). Suggests the fix pattern already exists.

Evidence attached

Gist: https://gist.github.com/osmarios/625aa0cb89fe8af3b7d6a63354cc0e6b

  • Player.log — game crash log (39 mhypbase frames)
  • driverError.log — initDriver Failed: Error [4,643,0]
  • proton-log-driver-failure.txt — pruned Proton log covering the wdfldr/HoYoKProtect failure and stack unwind (start here)
  • steam-4162040.proton-log.xz.base64.txt — full Proton log, xz+base64 (base64 -d FILE | xz -d > steam-4162040.log)
  • crash.dmp.gz.base64.txt — crash dump, gzip+base64 (base64 -d FILE | gunzip > crash.dmp)

@m1lkch4n flagging in case this is the same thing you saw — your report and this one look like the same regression, and 3.3 appears to have brought it back.

AAlphaproject1998 2026-10-21 github

Version 3.3: same crash on NVIDIA, plus a trace of what the driver does after WDFLDR binds

Adding to @osmarios's report above. Same failure here since 3.3, on NVIDIA this time, so it's not tied to AMD/RADV. I had extra tracing on, and it shows a bit more about where it actually breaks.

System

  • Arch Linux, native Steam
  • Kernel 7.2.9-zen1-1-zen, x86_64
  • Intel i9-13900K; NVIDIA RTX 3090, proprietary driver 615.78.08
  • Steam build 25596035, version_info = OSPRODWin3.3.0
  • mhypbase.dll MD5 0657a7d7d3d47d27705e41f27a1bff5b (same file as above), HoYoKProtect.sys MD5 cb4a0060c4656a0f849913a43ce8cf36, unchanged since June

Every build fails on 3.3

Proton build Result
Proton 11.0 Crash
UMU-Proton 10.0-4 Crash
GE-Proton10-34 Crash
GE-Proton11-7 Crash
DW-Proton 11.0-9 Crash
DW-Proton 11.0-10 Crash, traced below
proton-cachyos 11.0-20260602-slr Crash
proton-cachyos 11.0-20260703-slr Crash

Before 3.3 it was intermittent

On 3.2 with DW-Proton 11.0-10, roughly 1 launch in 6 died with the same initDriver Failed: Error [4,643,0], and a relaunch would work (7 failures between 10-10 and 10-19). Since 3.3 it's every launch. So 3.2 already had this code path. The update looks to have made it run every time rather than adding it.

WDFLDR binds fine; the driver backs out on its own

With WINEDEBUG=+timestamp,+pid,+tid,+loaddll,+ntoskrnl,+service,+reg,+wdfldr the bind succeeds:

trace:wdfldr:WdfVersionBind 0000000000C23ED0 L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\HoYoProtect" version 1.9.7600, 396 functions
trace:wdfldr:WdfVersionBind driver 0000000000C23ED0 bound successfully

DriverEntry then runs, allocates its pools, and writes its own status values to its service key over about 135ms:

trace:reg:NtSetValueKey (0x58,L"LastState",11,...)
trace:reg:NtSetValueKey (0x58,L"LoadTime",11,...)
trace:reg:NtSetValueKey (0x58,L"LastStatus",11,...)
trace:reg:NtSetValueKey (0x58,L"LastState",11,...)
trace:reg:NtSetValueKey (0x58,L"UnLoadTime",11,...)

Then it frees everything and unbinds:

fixme:wdfldr:WdfVersionUnbind L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\HoYoProtect" 0000000100449540 0000000000C24668 stub!
err:ntoskrnl:ZwLoadDriver failed to create driver L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\HoYoProtect": c0000355

So I don't think the WdfVersionUnbind stub is the cause. By the time Unbind is called, the driver has already written UnLoadTime and freed its pools, so it's tearing down after deciding to fail. No traced kernel or WDF call fails before that. The LastStatus/LastState values it leaves behind aren't NTSTATUS codes and change on every launch (0x12b2a065 on one, 0x2712e665 on the next), so they look encoded rather than being a plain reason code.

Builds that don't ship wdfldr.sys fail one step earlier, as @m1lkch4n saw on Hotfix:

err:module:import_dll Library WDFLDR.SYS (which is needed by HoYoKProtect.sys) not found
err:ntoskrnl:ZwLoadDriver failed to create driver L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\HoYoProtect": c0000142

MHYPBase chooses the driver path, and on a good launch it never does

A good 3.2 launch with the same tracing never touches the SCM. MHYPBase does its hardware/WMI checks and carries on. A bad launch goes straight from the code integrity query to the driver:

fixme:ntdll:NtQuerySystemInformation SystemCodeIntegrityInformation, size 8, info 0xfdf18, stub!
trace:service:OpenSCManagerW (null) (null) 0x20000000
trace:service:OpenServiceW ... L"HoYoProtect" 0x34
trace:service:DeleteService ...
err:service:validate_context_handle Access denied - handle created with access 34, needed 10000
trace:reg:RegQueryValueExW (...,L"LoadTime",...)
trace:reg:RegQueryValueExW (...,L"UnLoadTime",...)
trace:service:CreateServiceW ... L"HoYoProtect" L"HoYoProtect"
trace:service:StartServiceW ...

It makes no registry reads between mhypbase.dll loading and that OpenSCManagerW, so nothing in the prefix is steering it there. On 3.2 something (internal or server-side) picked the driver path now and then. On 3.3 it picks it every time. That fits with this being resolved on HoYoverse's side at 2.8.0 and 3.1, as mentioned above.

Logs

Gist: https://gist.github.com/Alphaproject1998/39e27ab06dc025f3cc68937e1cfe4d7b

Trace excerpts for a good 3.2 launch and a bad 3.3 launch, both full Proton logs, the HoYoProtect service key after a failure, and driverError.log. Hostname and audio device names are redacted.

I haven't modified the prefix or game files, or tried to bypass the anti-cheat.

Kkisak-valve maintainer 2026-10-21 github

ZZZ (4162040) stopped launching after the [3.3] update - HoYoProtect c0000355

Issue transferred from https://github.com/ValveSoftware/Proton/issues/10292.
@vertex416 posted on 2026-10-21T02:49:42:

Game worked on this setup before today's update ([game version]). After
updating, the game closes right after pressing Start in HoYoPlay.

System:
Distro: CachyOS, kernel 7.2.11-1-cachyos
GPU / driver: Nvidia GTX 1660Ti /

615.78.08
Desktop : Wayland

Tested (all fail the same way, fresh prefix each time):
dwproton-11.0-14-x86_64
proton-cachyos-11.0-20261014
GE-Proton11-10
Proton Experimental

Log (PROTON_LOG=1):
667.287:086c:087c:fixme:wdfldr:WdfVersionUnbind L"\Registry\Machine\System\CurrentControlSet\Services\HoYoProtect" ... stub!
667.287:086c:087c:err:ntoskrnl:ZwLoadDriver failed to create driver L"\Registry\Machine\System\CurrentControlSet\Services\HoYoProtect": c0000355

Video - https://github.com/user-attachments/assets/1e8d2d6d-e7cf-4d9b-9279-4496cbecb151


@kyceblake commented on 2026-10-21T06:47:02:

Same failure on Gentoo, kernel 6.18.54, Ryzen 7 7700, RTX 4070 Ti, NVIDIA 615.78.08, DW-Proton 11.0-14.

Repeated crashes with WINE_ENABLE_TIMEOUT_FIX=1 already enabled:

ZwLoadDriver failed to create driver ... HoYoProtect: c0000355
initDriver Failed: Error [4,643,0].

Dumps show MHYPBase.dll access violations writing to 0x1000

One launch succeeded after adding tracing:

PROTON_LOG=1 WINEDEBUG=+timestamp,+pid,+tid,+seh,+loaddll,+winsock WINE_ENABLE_TIMEOUT_FIX=1 %command%

and in the logs HACK: WSACreateEvent adjusted curl timeout to 5000ms in memory

so is it timing issue?