Hang at logo screen in Neverness to Everness (NTE) when enabling VKD3D descriptor heap #11

Open
opened 2026-04-23 14:31:41 +00:00 by sunnyy · 8 comments

Compatibility Report

  • Name of the game with compatibility issues: Neverness to Everness

System Information

  • GPU: 5090
  • Video driver version: NVIDIA [595.58.03]
  • Kernel version: Linux 6.19.12-200.fc43.x86_64
  • Proton version: dwproton10-24

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

When launching Neverness to Everness (NTE / 异环) using dwproton with VKD3D's new VK_EXT_descriptor_heap feature enabled via environment variables, the game completely hangs at the initial logo screen.
It freezes for about 5 minutes before the system/game pops up a "frozen/not responding" window prompting me to force quit the application.

Reproduction

  1. Use dwproton-10.0-24
  2. Set the environment variables to enable the VKD3D descriptor heap:
    WINENTSYNC=1 (tested without this makes no difference)
    WINEDEBUG=+ntoskrnl,+wdfldr,+seh,+loaddll
    VKD3D_CONFIG=descriptor_heap
  3. Launch NTE (Neverness to Everness).
  4. Wait at the developer logo screen.
  5. The game hangs completely for 5 minutes, followed by a crash/force-quit prompt.
# Compatibility Report - Name of the game with compatibility issues: Neverness to Everness ## System Information - GPU: 5090 - Video driver version: NVIDIA [595.58.03] - Kernel version: Linux 6.19.12-200.fc43.x86_64 - Proton version: dwproton10-24 ## 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 <!-- What's the problem? --> When launching Neverness to Everness (NTE / 异环) using dwproton with VKD3D's new `VK_EXT_descriptor_heap` feature enabled via environment variables, the game completely hangs at the initial logo screen. It freezes for about 5 minutes before the system/game pops up a "frozen/not responding" window prompting me to force quit the application. ## Reproduction 1. Use dwproton-10.0-24 2. Set the environment variables to enable the VKD3D descriptor heap: `WINENTSYNC=1` (tested without this makes no difference) `WINEDEBUG=+ntoskrnl,+wdfldr,+seh,+loaddll` `VKD3D_CONFIG=descriptor_heap` 3. Launch NTE (Neverness to Everness). 4. Wait at the developer logo screen. 5. The game hangs completely for 5 minutes, followed by a crash/force-quit prompt.
Author

Just a quick update / log highlight:

I was looking at the log right around the time the 5-minute hang starts, and it
consistently stops at these specific lines right after the descriptor heap is
created:

info: Creating resource descriptor heap (8192 kB)
...
trace:seh:sigsys_handler SIGSYS, rax 0xffff, rip 0x600000000005.
trace:seh:install_bpf Seccomp filters already installed.

This SIGSYS trap (rax 0xffff) seems to trigger both when NTEUpdate.exe and
CrashClientReporter.exe are invoked. Just leaving this specific error signature
here in case it helps narrow down if it's a vkd3d memory allocation issue or
something tripping the anti-cheat/seccomp!

Just a quick update / log highlight: I was looking at the log right around the time the 5-minute hang starts, and it consistently stops at these specific lines right after the descriptor heap is created: info: Creating resource descriptor heap (8192 kB) ... trace:seh:sigsys_handler SIGSYS, rax 0xffff, rip 0x600000000005. trace:seh:install_bpf Seccomp filters already installed. This SIGSYS trap (rax 0xffff) seems to trigger both when NTEUpdate.exe and CrashClientReporter.exe are invoked. Just leaving this specific error signature here in case it helps narrow down if it's a vkd3d memory allocation issue or something tripping the anti-cheat/seccomp!
Member
trace:seh:sigsys_handler SIGSYS, rax 0xffff, rip 0x600000000005.
trace:seh:install_bpf Seccomp filters already installed.

This is not really a problem, just syscall emulation logging, you can ignore it.

As for the descriptor heap issue, the version in dwproton is likely kinda old and missing all the latest updates. You should try replacing the vkd3d-proton files manually, I will eventually make a release based on latest proton-cachyos after the game drops this weekend.

``` trace:seh:sigsys_handler SIGSYS, rax 0xffff, rip 0x600000000005. trace:seh:install_bpf Seccomp filters already installed. ``` This is not really a problem, just syscall emulation logging, you can ignore it. As for the descriptor heap issue, the version in dwproton is likely kinda old and missing all the latest updates. You should try replacing the vkd3d-proton files manually, I will eventually make a release based on latest proton-cachyos after the game drops this weekend.
Author

vkd3d-bratan from cachyos-proton-10.0-20260407,latest commit from vkd3d-proton github.com/HansKristian-Work/vkd3d-proton@2889f1c8
tested and failed same way as before

vkd3d-bratan from cachyos-proton-10.0-20260407,latest commit from vkd3d-proton https://github.com/HansKristian-Work/vkd3d-proton/commit/2889f1c8 tested and failed same way as before
Author
https://github.com/HansKristian-Work/vkd3d-proton/issues/2914 caused by this issue
sunnyy reopened this issue 2026-04-24 16:00:40 +00:00
Author

https://github.com/HansKristian-Work/vkd3d-proton/issues/2914
https://github.com/NVIDIA/open-gpu-kernel-modules/issues/1097
as long as having VKD3D_CONFIG=no_upload_hvv,descriptor_heap
this will happen
fedora kernel: NVRM: Xid (PCI:0000:01:00): 109, pid=45891, name=HTGame.exe, channel 0x0000000f, errorString CTX SWITCH TIMEOUT, Info 0x2c012
this might due to 595.58.03 driver internal issue

https://github.com/HansKristian-Work/vkd3d-proton/issues/2914 https://github.com/NVIDIA/open-gpu-kernel-modules/issues/1097 as long as having VKD3D_CONFIG=no_upload_hvv,descriptor_heap this will happen fedora kernel: NVRM: Xid (PCI:0000:01:00): 109, pid=45891, name=HTGame.exe, channel 0x0000000f, errorString CTX SWITCH TIMEOUT, Info 0x2c012 this might due to 595.58.03 driver internal issue
Author

i manually backport some commits from main to descriptor-heap-rebase and the compiled vkd3d with heap make it to the login screen (one on protoncachyos failed even before login screen , just after logo appears) and fail just about to show the 3d world.
https://github.com/sunnyyangyangyang/vkd3d-proton/tree/descriptor-heap-rebase

i manually backport some commits from main to descriptor-heap-rebase and the compiled vkd3d with heap make it to the login screen (one on protoncachyos failed even before login screen , just after logo appears) and fail just about to show the 3d world. https://github.com/sunnyyangyangyang/vkd3d-proton/tree/descriptor-heap-rebase
Author
https://forums.developer.nvidia.com/t/xid109-ctx-switch-timeout-driver-crashes-in-many-applications/283722 😭
Author

WhyAreAllTheseTaken
4月 19 日

As a last resort, I tried using the nouveau drivers. With this, Vintage Story fully freezes but I do get a somewhat more detailed error:

【 796.199239】 nouveau 0000:01:00.0: gsp: rc engn:00000001 chid:9 gfid:0 level:2 type:109 scope:1 part:233 fault_addr:0000000000000000 fault_type:00000000
【 796.199263】 nouveau 0000:01:00.0: fifo:000000:0008:0009:[Vintagestory【5865】] errored - disabling channel
【 796.199278】 nouveau 0000:01:00.0: Vintagestory【5865】: channel 9 killed!
【 796.206853】 nouveau 0000:01:00.0: Vintagestory【5865】: error fencing pushbuf: -19
【 796.206910】 nouveau 0000:01:00.0: Vintagestory【5865】: error fencing pushbuf: -19
【 796.206934】 nouveau 0000:01:00.0: Vintagestory【5865】: error fencing pushbuf: -1
https://forums.developer.nvidia.com/t/xid109-ctx-switch-timeout-driver-crashes-in-many-applications/283722/69

This might caused by the GSP firmware 595.58.03 accidentally calculate the wrong pointer address under certain conditions, this illegal address caused the driver to reset.

WhyAreAllTheseTaken 4月 19 日 As a last resort, I tried using the nouveau drivers. With this, Vintage Story fully freezes but I do get a somewhat more detailed error: 【 796.199239】 nouveau 0000:01:00.0: gsp: rc engn:00000001 chid:9 gfid:0 level:2 type:109 scope:1 part:233 fault_addr:0000000000000000 fault_type:00000000 【 796.199263】 nouveau 0000:01:00.0: fifo:000000:0008:0009:[Vintagestory【5865】] errored - disabling channel 【 796.199278】 nouveau 0000:01:00.0: Vintagestory【5865】: channel 9 killed! 【 796.206853】 nouveau 0000:01:00.0: Vintagestory【5865】: error fencing pushbuf: -19 【 796.206910】 nouveau 0000:01:00.0: Vintagestory【5865】: error fencing pushbuf: -19 【 796.206934】 nouveau 0000:01:00.0: Vintagestory【5865】: error fencing pushbuf: -1 https://forums.developer.nvidia.com/t/xid109-ctx-switch-timeout-driver-crashes-in-many-applications/283722/69 This might caused by the GSP firmware 595.58.03 accidentally calculate the wrong pointer address under certain conditions, this illegal address caused the driver to reset.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
dawn-winery/dwproton#11
No description provided.