Snapdragon X / Adreno X1-45: renderer startup fails because VK_EXT_external_memory_host is unavailable #2230
Labels
No labels
accessibility
autorelease: pending
autorelease: tagged
bug
dependencies
documentation
duplicate
enhancement
github_actions
good first issue
help wanted
invalid
question
testing wanted
wontfix
No milestone
No assignees
2 participants
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/Hookshot#2230
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Hookshot version
v2.0.14
What kind of problem
Crash, freeze or black screen
What happened
I am testing Hookshot on a Windows 11 ARM64 laptop with a Snapdragon X processor and Qualcomm Adreno X1-45 GPU.
The launcher starts correctly and the game builds successfully.
When I press Play, the game window opens and a black screen appears. A few seconds later the renderer initialization fails and the game exits.
The issue happens every launch.
I checked the log and found that the Vulkan device is detected successfully, but Hookshot reports that VK_EXT_external_memory_host is unavailable and renderer startup aborts afterward.
The most relevant log lines are:
vk: no VK_EXT_external_memory_host: the guest memory cannot be imported (needed for now)
vk: renderer startup failed after window and swapchain initialization
CRASH: exception 0xc0000005
The GPU is detected correctly:
Qualcomm(R) Adreno(TM) X1-45 GPU
Vulkan 1.3
The log also reports:
mesh shaders no
and Hookshot appears to use its mesh shader fallback successfully before reaching the VK_EXT_external_memory_host failure.
Where in the game
Immediately after pressing Play. The game never reaches the title screen.
How often
Every time
Graphics card and driver version
Qualcomm Adreno X1-45 GPU Vulkan API 1.3.295
CPU, RAM and operating system
Snapdragon X X1-26-100 16 GB RAM Windows 11 ARM64
Changes from the defaults
No configuration changes.
No hookshot_env.txt file exists.
Fresh installation.
Other software hooked into the game
No, nothing hooked in
hookshot_log.txt
hookshot_log.txt
hookshot_log.1.txt
Screenshots or video
No response
Before you send it
Thanks for the report. Reports of the same problem are now collected in #1007, which lists this one with your details and links back here, so one fix closes them together and the open list stays readable. Follow #1007 for the fix, and add new details there (or here). If this turns out to be a separate problem it will be reopened.
Same cause on a second platform: Turnip on the msm kernel driver does not expose
VK_EXT_external_memory_host. On an AYN Thor (Adreno 740, Mesa 26.2.6) I worked around it by exporting device memory as dma-buf and mapping it over the guest window (see the comment in #1007). The renderer starts and presents; the CPU-visible caching of that mapping and the lost-write window during the copy are still open. If a maintainer knows of a safer way to give the GPU the guest pages without a host-pointer import, I would like to hear it.I would be interested in testing your branch or patch if you decide to publish it.