re9_vkd3d_issue_draft.md
Title: Resident Evil Requiem / RE9 on Adreno 840 + Turnip triggers repeatable GPU page faults and missing mesh surfaces
Hi,
I would like to report a Resident Evil Requiem / RE9 rendering issue on Android running through a Winlator/GameHub style stack.
Environment:
re9.exe
NX809J
16
Observed symptom:
This suggests a resource / descriptor / mesh-related path issue rather than a generic texture decode problem.
Most important low-level symptom:
The Android kernel driver reports repeated GPU virtual address faults:
F kgsl-3d0: GPU PAGE FAULT F kgsl-3d0: context=gfx3d_user ... (read translation fault) F kgsl-3d0: FAULTING BLOCK: UCHE: Unknown F kgsl-3d0: <- fault @ ... F kgsl-3d0: **EMPTY**
**EMPTY** strongly suggests the GPU is reading unmapped / invalid VA.
**EMPTY**
What I tested
VKD3D_CONFIG=single_queue
VKD3D_CONFIG=single_queue,no_upload_hvv
Issue behavior summary
single_queue
no_upload_hvv
This makes it look like a boundary problem between VKD3D resource management and the Vulkan driver's VA mapping behavior on this platform.
Interesting clue
Changing in-game mesh quality changes the location / objects of missing surfaces. That strongly points to:
more than a fixed broken asset.
Relevant fault address patterns observed
Different VKD3D / Turnip combinations produced different but stable fault clusters, such as:
0x4FBFD55800 0x4FCF302800 0x5037AD3000 0x5047080000 0x5067AD3000 0x5077080000
and with another tested combination:
0x4FBECD5800 0x4FCE882800 0x5036A53000 0x5046600000 0x5066A53000 0x5076600000
and with another patched combination:
0x4FBFFF5800 0x4FCF3EE800 0x5037D73000 0x504716C000 0x507716C000
The fact that the set changes with both driver version and VKD3D changes suggests the fault is sensitive to resource allocation / binding layout.
Custom VKD3D tests already tried
I tested app-specific VKD3D workarounds for re9.exe including combinations of:
NO_UPLOAD_HVV
NO_STAGGERED_SUBMIT
AVOID_IMAGE_BUFFER_ALIASING
FORCE_INITIAL_TRANSITION
DEFER_RESOURCE_DESTRUCTION
RETAIN_PSOS
FORCE_DEDICATED_IMAGE_ALLOCATION
These changed the fault pattern but did not fully fix it.
Questions / suspected directions
My best guess is that this is related to one or more of:
Since RE9 already has other known VKD3D issues on desktop Linux/Proton, it may also be hitting a D3D12 path that becomes more severe on Adreno/Turnip.
If useful, I can provide:
We cannot support anything running on Android.
VKD3D_CONFIG=single_queue,no_upload_hvv`
VKD3D_CONFIG=single_queue`
re9_vkd3d_issue_draft.md
Title: Resident Evil Requiem / RE9 on Adreno 840 + Turnip triggers repeatable GPU page faults and missing mesh surfaces
Hi,
I would like to report a Resident Evil Requiem / RE9 rendering issue on Android running through a Winlator/GameHub style stack.
Environment:
re9.exeNX809J16Observed symptom:
This suggests a resource / descriptor / mesh-related path issue rather than a generic texture decode problem.
Most important low-level symptom:
The Android kernel driver reports repeated GPU virtual address faults:
**EMPTY**strongly suggests the GPU is reading unmapped / invalid VA.What I tested
VKD3D_CONFIG=single_queueVKD3D_CONFIG=single_queue,no_upload_hvvre9.exe.Issue behavior summary
single_queuedid not resolve the issue.no_upload_hvvalso did not resolve the issue.This makes it look like a boundary problem between VKD3D resource management and the Vulkan driver's VA mapping behavior on this platform.
Interesting clue
Changing in-game mesh quality changes the location / objects of missing surfaces.
That strongly points to:
more than a fixed broken asset.
Relevant fault address patterns observed
Different VKD3D / Turnip combinations produced different but stable fault clusters, such as:
and with another tested combination:
and with another patched combination:
The fact that the set changes with both driver version and VKD3D changes suggests the fault is sensitive to resource allocation / binding layout.
Custom VKD3D tests already tried
I tested app-specific VKD3D workarounds for
re9.exeincluding combinations of:NO_UPLOAD_HVVNO_STAGGERED_SUBMITAVOID_IMAGE_BUFFER_ALIASINGFORCE_INITIAL_TRANSITIONDEFER_RESOURCE_DESTRUCTIONRETAIN_PSOSFORCE_DEDICATED_IMAGE_ALLOCATIONThese changed the fault pattern but did not fully fix it.
Questions / suspected directions
My best guess is that this is related to one or more of:
Since RE9 already has other known VKD3D issues on desktop Linux/Proton, it may also be hitting a D3D12 path that becomes more severe on Adreno/Turnip.
If useful, I can provide: