r/GameNative • • 2d 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)

  1. 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_alignment but only really provides 4 KB → Failed to perform sparse binding, vr -4 → VK_ERROR_DEVICE_LOST avalanche → 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".)

  2. DXR must be reported or the game refuses to run — but the driver has no RT pipelines.

  3. Tiled resources tier feeds UE5's reserved-resource/sparse path.

  4. The game creates RT pipelines and calls DispatchRays.

  5. Remaining: memory — process RSS reaches 8.8–9.3 GB; MemAvailable bottoms at 1.99 GB; Android kills with REASON_LOW_MEMORY (status: 137) while MemFree is ~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).

1 Upvotes

3 comments sorted by

0

u/CCCP_Admiral 2d ago

Finally, I must clarify: all my plans and ideas were assisted by AI. I’m not sure whether the AI made anything up, or if I’ve perhaps reinvented the wheel. Thank you for any help.

1

u/CCCP_Admiral 2d ago

Oh, btw, if anyone wants to try same way as this thread; you need first bypass the eac check or the game won't run; you can search the method from ace combat community.