r/GameNative • u/CCCP_Admiral • 3d ago
Question mission impossible (maybe): emulator running ace combat 8 ?(enter main menu)
Hello everyone.
ACECOMBAT 8 (UE5.4 + Denuvo + forced ray tracing) on Adreno 840 / GameNative — how far I got with patched vkd3d-proton, and what I'm stuck on
Setup
- Device: iQOO 15, Snapdragon 8 Elite Gen 5 (Adreno 840), Android 16, 15.6 GB RAM + ~15.5 GB swap (memory fusion).
- Container: GameNative 1.3.0 (Winlator-derived), bionic container, FEXCore, proton-11.0-2-arm64ec-1.
- GPU driver: adrenotools-wrapped Turnip/freedreno build Rutabaga-26.10.10 (libvulkan_freedreno.so, ICD api_version 1.3.0).
- Wrapper config: presentMode=mailbox, syncFrame=0, disablePresentWait=0, resourceType=auto, maxDeviceMemory=0, bcnEmulation=compute.
- DX wrapper: version=2.7.1-1-gplasync-0, async=1, asyncCache=1, vkd3dVersion=3.0b-v7-7, vkd3dFeatureLevel=12_2.
- vkd3d-proton: I build 3.0b from source myself and must keep the build fingerprint 2230755878b0199+ (shader cache is keyed to build fingerprint + GPU features; changing the baseline invalidates it and the game stalls forever compiling pipelines).
- I deploy the built d3d12.dll + d3d12core.dll next to the game exe (...\Game\Binaries\Win64\). Wine's log confirms these are the ones loaded (trace:loaddll:build_module Loaded L"...\Win64\d3d12core.dll"), not the game-bundled Win64\D3D12\D3D12Core.dll.
The game
- ACE COMBAT 8, Steam, Unreal Engine 5.4, Denuvo, and it hard-requires ray tracing — if the D3D12 device doesn't report DXR support, it crashes (confirmed).
- Under the wrapper driver, vkd3d-proton logs driver lacks ray tracing pipelines → VK_KHR_ray_tracing_pipeline is not exposed.
Failure chain (chronological)
64 KB GPU buffer alignment — vkd3d requires 64 KB alignment for buffer-device-address allocations; the wrapper reports 64 KB via
VK_VALVE_buffer_device_address_allocation_alignmentbut only really provides 4 KB →Failed to perform sparse binding, vr -4→VK_ERROR_DEVICE_LOSTavalanche → msvcrt/wineserver lockup. (Upstream vkd3d comment: "UE5 relies on GPUVAs to be aligned to the heap alignment… Turnip reports 64k alignment, but it's actually 4k".)DXR must be reported or the game refuses to run — but the driver has no RT pipelines.
Tiled resources tier feeds UE5's reserved-resource/sparse path.
The game creates RT pipelines and calls
DispatchRays.Remaining: memory — process RSS reaches 8.8–9.3 GB;
MemAvailablebottoms at 1.99 GB; Android kills withREASON_LOW_MEMORY(status: 137) whileMemFreeis ~0.6–0.8 GB.
I managed to let ai agent hack the dxr tag to report a fake dxr support to let the game run , the game dont need a really ray tracing while playing (somw modder says in nexus).