[Tracking] AMD handhelds and APUs (ROG Ally / Ally X, Legion Go, Radeon 780M/860M/890M): black screen, device lost, reboot #997

Open
opened 2026-11-09 05:38:50 +00:00 by NotRexed · 72 comments
NotRexed commented 2026-11-09 05:38:50 +00:00 (Migrated from github.com)

This issue collects every open report of AMD handhelds and APUs: black screen, device lost or reboot, so there is one place to follow it. The individual reports were closed pointing here; their logs, screenshots and discussion stay in each linked issue.

Summary

On Windows AMD handhelds and laptops with Radeon iGPUs:

  • black screen with audio after the first cutscene;
  • device lost or a full reboot seconds after the opening or after loading a save;
  • the HUD's button prompts stretched across the screen for a frame;
  • orange polygon spikes;
  • shader preparation that takes longer each start.

Steam Deck and SteamOS reports are in the Linux tracker.

Affected GPUs and versions

  • GPUs: ROG Ally Z1 / Z1 Extreme, ROG Ally X (Z2E / 890M), Legion Go (Z1E), Radeon 780M, 860M, 890M.
  • Versions: v2.0.2-v2.0.5.

Evidence from the logs

  • #426 (Legion Go Z1E, v2.0.5): black and frozen at the Deku Tree / Navi scene, audio stalls for 2-3 minutes, no device lost in the log.
  • #891 (Ally Z1E): device lost and full reboot (LiveKernelEvent 141) at 6 GB / Auto. A commenter fixed it with an 8 GB UMA frame buffer.
  • #708 (Ally X 890M, tracked with the AMD crashes): device lost seconds after loading a save (bugcheck 0x1C8).
  • #877 (780M): device lost in 4 of 5 logs on the old driver 0x80014b; v2.0.0 got past the intro.
  • #739 / #798: HUD button prompts stretched across the screen for a frame, map flicker, hearts vanish.
  • #837 (860M): orange polygon spikes when moving.
  • #879 (860M): preparation takes longer each start, and one log ends in device lost.
  • #151: water flashes when VRAM hits its allocation.

Workarounds

  • Set the UMA frame buffer (VRAM) to 8 GB in the BIOS or Armoury Crate: fixed the reboot in #891.
  • Update the graphics driver (#877 was on an old 0x80014b driver).

Reports merged here (11 issues, about 19 people)

Issue Title People GPU Version Key detail
#426 Black screen with audio on AMD Ryzen Z1 Extreme (Lenovo Legion Go) 3 Legion Go Z1E v2.0.5 Legion Go Z1E: black after the intro at the Deku Tree/Navi scene. v2.0.2 black then device restart (2 logs); v2.0.5 (cd9cebb6) black and frozen, audio stalls 2-3 min, no…
#739 Weird visual glitches 2 Ryzen Z1 (Ally), Radeon 890M v2.0.2 HUD button prompts stretch across the whole screen for a frame, map flicker, hearts vanish, bright flashes (video)
#798 random flickering of light, flickering map hud and button icons flash… 2 Ryzen Z1E (SteamOS RADV) v2.0.4 Light flashes, HUD/map flicker, button/heart icons flash across the screen when switching items (same as #739); missing ground textures; no log
#815 Ally X20 still black screens and freezing indeffinitely. 2 ROG Ally X Z2E (890M) v2.0.5 Black after first cutscene with audio, freezes soon after reaching gameplay (log); same reporter as #151
#830 Black screen again in loading gameplay + Low fps in the title screen 2 Ryzen Z1 (Ally) v2.0.5 Black with audio as soon as the Deku Tree talks to Navi even on a new game (v2.0.5)
#877 AMD Radeon 780M Graphics - Game crashes after the first cinematic 2 Radeon 780M (driver 0x80014b, Vulkan 1.3) v2.0.5 Crash after the first cinematic; device lost in 4 of 5 logs (old driver 0x80014b); v2.0.0 got past the intro
#891 ROG Ally Z1 Extreme - Vulkan device lost and full system reboot after… 2 ROG Ally Z1E v2.0.5 Device lost and full reboot right after the opening (LiveKernelEvent 141) at 6 GB/Auto; a commenter fixed it with 8 GB UMA
#151 Ally x20 water flashes 1 Radeon 890M (Ally X) early Water flashes when VRAM hits its allocation
#586 Crash after opening scene on rog ally 1 ROG Ally Z1E 8GB ? After the opening: 60 -> 10 fps and black freeze, also on 4/6 GB presets; same family as #150 Ally reports
#837 Flickering Transient Geometry Tearing (Orange Polygon Spikes) and Una… 1 Radeon 860M v2.0.5 Orange polygon spikes across the screen when moving, HUD/controller overlays drift (2 logs)
#879 Building shaders process at application start is freezing/taking very… 1 Radeon 860M v2.0.5 Shader preparation at start takes longer each time until it seems frozen; reopening sometimes helps; one log ends in device lost at 7.4 fps

Adding a report

Please update to v2.0.6 first (https://github.com/NotRexed/Hookshot/releases/tag/v2.0.6; Update next to Play in the launcher). Please add: device, UMA/VRAM setting, driver version, preset, and hookshot_log.txt.

All tracking issues

  • #993 Garbled / rainbow textures that get worse over play time (VRAM over budget, mostly 4-8 GB cards)
  • #994 Floating trees, missing mountains and vanishing near vegetation
  • #995 Low FPS with low GPU usage (CPU-bound), FPS drops in Castle Town / Hyrule Field, shader stutter
  • #996 AMD on Windows: driver crash, device lost or freeze (RX 5000-9000, Deku Tree / after cutscenes)
  • #997 AMD handhelds and APUs (ROG Ally / Ally X, Legion Go, Radeon 780M/860M/890M): black screen, device lost, reboot
  • #998 Black screen with audio after the intro / at the Deku Tree cutscene
  • #999 Intel Arc and Core Ultra iGPUs: device lost, black screen after the intro, Linux ANV crashes
  • #1000 Linux and Steam Deck: GPU hangs, crashes, low FPS and build failures
  • #1001 GPUs without mesh shaders (GTX 9xx/10xx, RX 400/500/5000, Iris Xe/UHD): v2.0.6 fallback reports
  • #1002 Invisible or missing objects, walls and effects
  • #1003 Antivirus false positives on HookshotBuilder.exe (Defender Trojan:Script/Wacatac.H!ml)
  • #1004 Lighting: overexposure, over-bright bloom, crushed or black shadows, black faces
  • #1005 Flicker and flashing: brightness pulses, one-frame flashes, doubled image with frame pacing
  • #1006 AMD rendering: white silhouettes, block squares / grid lines, no anti-aliasing (networks in software)
  • #1007 Feature requests (collected)
This issue collects every open report of AMD handhelds and APUs: black screen, device lost or reboot, so there is one place to follow it. The individual reports were closed pointing here; their logs, screenshots and discussion stay in each linked issue. ## Summary On Windows AMD handhelds and laptops with Radeon iGPUs: - black screen with audio after the first cutscene; - device lost or a full reboot seconds after the opening or after loading a save; - the HUD's button prompts stretched across the screen for a frame; - orange polygon spikes; - shader preparation that takes longer each start. Steam Deck and SteamOS reports are in the Linux tracker. ## Affected GPUs and versions - **GPUs:** ROG Ally Z1 / Z1 Extreme, ROG Ally X (Z2E / 890M), Legion Go (Z1E), Radeon 780M, 860M, 890M. - **Versions:** v2.0.2-v2.0.5. ## Evidence from the logs - **#426** (Legion Go Z1E, v2.0.5): black and frozen at the Deku Tree / Navi scene, audio stalls for 2-3 minutes, no device lost in the log. - **#891** (Ally Z1E): device lost and full reboot (LiveKernelEvent 141) at 6 GB / Auto. A commenter fixed it with an 8 GB UMA frame buffer. - **#708** (Ally X 890M, tracked with the AMD crashes): device lost seconds after loading a save (bugcheck 0x1C8). - **#877** (780M): device lost in 4 of 5 logs on the old driver 0x80014b; v2.0.0 got past the intro. - **#739 / #798:** HUD button prompts stretched across the screen for a frame, map flicker, hearts vanish. - **#837** (860M): orange polygon spikes when moving. - **#879** (860M): preparation takes longer each start, and one log ends in device lost. - **#151:** water flashes when VRAM hits its allocation. ## Workarounds - Set the UMA frame buffer (VRAM) to 8 GB in the BIOS or Armoury Crate: fixed the reboot in #891. - Update the graphics driver (#877 was on an old 0x80014b driver). ## Reports merged here (11 issues, about 19 people) | Issue | Title | People | GPU | Version | Key detail | |---|---|---|---|---|---| | #426 | Black screen with audio on AMD Ryzen Z1 Extreme (Lenovo Legion Go) | 3 | Legion Go Z1E | v2.0.5 | Legion Go Z1E: black after the intro at the Deku Tree/Navi scene. v2.0.2 black then device restart (2 logs); v2.0.5 (cd9cebb6) black and frozen, audio stalls 2-3 min, no… | | #739 | Weird visual glitches | 2 | Ryzen Z1 (Ally), Radeon 890M | v2.0.2 | HUD button prompts stretch across the whole screen for a frame, map flicker, hearts vanish, bright flashes (video) | | #798 | random flickering of light, flickering map hud and button icons flash… | 2 | Ryzen Z1E (SteamOS RADV) | v2.0.4 | Light flashes, HUD/map flicker, button/heart icons flash across the screen when switching items (same as #739); missing ground textures; no log | | #815 | Ally X20 still black screens and freezing indeffinitely. | 2 | ROG Ally X Z2E (890M) | v2.0.5 | Black after first cutscene with audio, freezes soon after reaching gameplay (log); same reporter as #151 | | #830 | Black screen again in loading gameplay + Low fps in the title screen | 2 | Ryzen Z1 (Ally) | v2.0.5 | Black with audio as soon as the Deku Tree talks to Navi even on a new game (v2.0.5) | | #877 | AMD Radeon 780M Graphics - Game crashes after the first cinematic | 2 | Radeon 780M (driver 0x80014b, Vulkan 1.3) | v2.0.5 | Crash after the first cinematic; device lost in 4 of 5 logs (old driver 0x80014b); v2.0.0 got past the intro | | #891 | ROG Ally Z1 Extreme - Vulkan device lost and full system reboot after… | 2 | ROG Ally Z1E | v2.0.5 | Device lost and full reboot right after the opening (LiveKernelEvent 141) at 6 GB/Auto; a commenter fixed it with 8 GB UMA | | #151 | Ally x20 water flashes | 1 | Radeon 890M (Ally X) | early | Water flashes when VRAM hits its allocation | | #586 | Crash after opening scene on rog ally | 1 | ROG Ally Z1E 8GB | ? | After the opening: 60 -> 10 fps and black freeze, also on 4/6 GB presets; same family as #150 Ally reports | | #837 | Flickering Transient Geometry Tearing (Orange Polygon Spikes) and Una… | 1 | Radeon 860M | v2.0.5 | Orange polygon spikes across the screen when moving, HUD/controller overlays drift (2 logs) | | #879 | Building shaders process at application start is freezing/taking very… | 1 | Radeon 860M | v2.0.5 | Shader preparation at start takes longer each time until it seems frozen; reopening sometimes helps; one log ends in device lost at 7.4 fps | ## Adding a report Please update to v2.0.6 first (https://github.com/NotRexed/Hookshot/releases/tag/v2.0.6; Update next to Play in the launcher). Please add: device, UMA/VRAM setting, driver version, preset, and `hookshot_log.txt`. ## All tracking issues - #993 Garbled / rainbow textures that get worse over play time (VRAM over budget, mostly 4-8 GB cards) - #994 Floating trees, missing mountains and vanishing near vegetation - #995 Low FPS with low GPU usage (CPU-bound), FPS drops in Castle Town / Hyrule Field, shader stutter - #996 AMD on Windows: driver crash, device lost or freeze (RX 5000-9000, Deku Tree / after cutscenes) - #997 AMD handhelds and APUs (ROG Ally / Ally X, Legion Go, Radeon 780M/860M/890M): black screen, device lost, reboot - #998 Black screen with audio after the intro / at the Deku Tree cutscene - #999 Intel Arc and Core Ultra iGPUs: device lost, black screen after the intro, Linux ANV crashes - #1000 Linux and Steam Deck: GPU hangs, crashes, low FPS and build failures - #1001 GPUs without mesh shaders (GTX 9xx/10xx, RX 400/500/5000, Iris Xe/UHD): v2.0.6 fallback reports - #1002 Invisible or missing objects, walls and effects - #1003 Antivirus false positives on HookshotBuilder.exe (Defender Trojan:Script/Wacatac.H!ml) - #1004 Lighting: overexposure, over-bright bloom, crushed or black shadows, black faces - #1005 Flicker and flashing: brightness pulses, one-frame flashes, doubled image with frame pacing - #1006 AMD rendering: white silhouettes, block squares / grid lines, no anti-aliasing (networks in software) - #1007 Feature requests (collected)
pavelrossi commented 2026-11-09 09:27:38 +00:00 (Migrated from github.com)

Hi NotRexed,

I'm reporting an update regarding my issue #426, which is included in this AMD tracking thread.

Unfortunately, the black screen issue still persists in Hookshot v2.0.7 on my Lenovo Legion Go (AMD Ryzen Z1 Extreme, 16 GB RAM, Windows 11).

However, I've noticed something important that might help identify the cause:

  • The opening cinematic plays correctly.
  • After the introduction, the screen goes black and never recovers.
  • The game itself does not appear to be completely frozen. I can hear the audio and eventually reach the point where Link becomes controllable.
  • I can move Link using the controls, even though the screen remains completely black.
  • Most importantly, the game actually saves my progress. When I restart Hookshot and load the same save file, I can start directly in Kokiri Village rather than repeating the opening sequence.

This suggests that the game logic continues running and that the issue may be specifically related to rendering or displaying the game image after the opening cinematic.

The issue is still reproducible in v2.0.7.

I hope this additional information helps narrow down the problem. Thank you for your continued work on AMD compatibility!

hookshot_log.txt
hookshot_log.1.txt

Hi NotRexed, I'm reporting an update regarding my issue #426, which is included in this AMD tracking thread. Unfortunately, the black screen issue still persists in Hookshot v2.0.7 on my Lenovo Legion Go (AMD Ryzen Z1 Extreme, 16 GB RAM, Windows 11). However, I've noticed something important that might help identify the cause: - The opening cinematic plays correctly. - After the introduction, the screen goes black and never recovers. - The game itself does not appear to be completely frozen. I can hear the audio and eventually reach the point where Link becomes controllable. - I can move Link using the controls, even though the screen remains completely black. - Most importantly, the game actually saves my progress. When I restart Hookshot and load the same save file, I can start directly in Kokiri Village rather than repeating the opening sequence. This suggests that the game logic continues running and that the issue may be specifically related to rendering or displaying the game image after the opening cinematic. The issue is still reproducible in v2.0.7. I hope this additional information helps narrow down the problem. Thank you for your continued work on AMD compatibility! [hookshot_log.txt](https://github.com/user-attachments/files/34572208/hookshot_log.txt) [hookshot_log.1.txt](https://github.com/user-attachments/files/34572209/hookshot_log.1.txt)
pavelrossi commented 2026-11-09 09:43:42 +00:00 (Migrated from github.com)

Hi NotRexed,

I have an important update regarding my issue #426 on the Lenovo Legion Go (AMD Ryzen Z1 Extreme, 16 GB RAM), using Hookshot v2.0.7 (9b541c9c).

I can now confirm that the game continues running AND successfully autosaves despite the permanent black screen.

Here is what happens:

  • The opening cinematic renders correctly.
  • During the transition to the Great Deku Tree / Navi sequence, the screen becomes completely black and never recovers.
  • Audio continues, although it can temporarily stall for 2–3 minutes.
  • Eventually, I can control Link and move around, even though nothing is visible.
  • Most importantly, the game successfully autosaved in Kokiri Forest on November 9, 2026, at 10:36. I have attached a screenshot showing the autosave slot.

I also examined the v2.0.7 logs, which show continued Vulkan frame presentation, 176 failed programs and approximately 20–29 draw operations per frame reported as not ready in several late samples. No explicit "VK_ERROR_DEVICE_LOST" was found.

This seems to suggest that the game logic and save system are functioning while the rendering or presentation path is failing on the AMD GPU.

I'm attaching the screenshot and both log files ("hookshot_log.txt" and "hookshot_log.1.txt") to help with debugging.

I'm also willing to test an experimental diagnostic build if needed.

Thank you for your continued efforts to improve AMD compatibility!

Hi NotRexed, I have an important update regarding my issue #426 on the Lenovo Legion Go (AMD Ryzen Z1 Extreme, 16 GB RAM), using Hookshot v2.0.7 (9b541c9c). I can now confirm that the game continues running AND successfully autosaves despite the permanent black screen. Here is what happens: - The opening cinematic renders correctly. - During the transition to the Great Deku Tree / Navi sequence, the screen becomes completely black and never recovers. - Audio continues, although it can temporarily stall for 2–3 minutes. - Eventually, I can control Link and move around, even though nothing is visible. - Most importantly, the game successfully autosaved in Kokiri Forest on November 9, 2026, at 10:36. I have attached a screenshot showing the autosave slot. I also examined the v2.0.7 logs, which show continued Vulkan frame presentation, 176 failed programs and approximately 20–29 draw operations per frame reported as not ready in several late samples. No explicit "VK_ERROR_DEVICE_LOST" was found. This seems to suggest that the game logic and save system are functioning while the rendering or presentation path is failing on the AMD GPU. I'm attaching the screenshot and both log files ("hookshot_log.txt" and "hookshot_log.1.txt") to help with debugging. I'm also willing to test an experimental diagnostic build if needed. Thank you for your continued efforts to improve AMD compatibility!
pavelrossi commented 2026-11-09 09:53:27 +00:00 (Migrated from github.com)

Hi NotRexed,

I have discovered something important about the black screen issue on my Lenovo Legion Go (AMD Ryzen Z1 Extreme), running Hookshot v2.0.7.

It seems that the game itself keeps running normally, but the entire visual output becomes frozen.

I can confirm the following:

  • The opening cinematic renders correctly.
  • When the cinematic ends and the game transitions to the 3D scene, the image becomes permanently black.
  • The same issue occurs when loading an existing save.
  • Audio continues working, and I can control Link normally.
  • I even managed to leave Link's house and move around Kokiri Village completely blind, using only the sounds!
  • Autosaving works: I have a confirmed autosave in Kokiri Forest at 10:36 on November 9, 2026.
  • The FPS counter also freezes at its last displayed value.
  • The Triforce loading icon remains frozen on screen.
  • The Hookshot overlay/menu no longer responds when pressing Insert.

This last part may be especially relevant: it is not just the 3D scene that fails to render. The FPS overlay, loading indicator, and Hookshot's own interface also stop updating, while the game's logic, controls, audio, and save system continue functioning.

Could the Vulkan rendering/presentation thread be stuck waiting on a synchronization primitive, GPU fence, or pipeline compilation task while the game threads continue running?

The logs still show frame presentation activity without an explicit device-lost error, so I'm not sure whether the problem is in the renderer, swapchain presentation, or UI thread.

I hope this helps narrow down the issue. I'm happy to test a diagnostic build that logs render-thread progress and Vulkan synchronization waits.

Thank you again for your work!

hookshot_log.txt
hookshot_log.1.txt

Hi NotRexed, I have discovered something important about the black screen issue on my Lenovo Legion Go (AMD Ryzen Z1 Extreme), running Hookshot v2.0.7. It seems that the game itself keeps running normally, but the entire visual output becomes frozen. I can confirm the following: - The opening cinematic renders correctly. - When the cinematic ends and the game transitions to the 3D scene, the image becomes permanently black. - The same issue occurs when loading an existing save. - Audio continues working, and I can control Link normally. - I even managed to leave Link's house and move around Kokiri Village completely blind, using only the sounds! - Autosaving works: I have a confirmed autosave in Kokiri Forest at 10:36 on November 9, 2026. - The FPS counter also freezes at its last displayed value. - The Triforce loading icon remains frozen on screen. - The Hookshot overlay/menu no longer responds when pressing Insert. This last part may be especially relevant: it is not just the 3D scene that fails to render. The FPS overlay, loading indicator, and Hookshot's own interface also stop updating, while the game's logic, controls, audio, and save system continue functioning. Could the Vulkan rendering/presentation thread be stuck waiting on a synchronization primitive, GPU fence, or pipeline compilation task while the game threads continue running? The logs still show frame presentation activity without an explicit device-lost error, so I'm not sure whether the problem is in the renderer, swapchain presentation, or UI thread. I hope this helps narrow down the issue. I'm happy to test a diagnostic build that logs render-thread progress and Vulkan synchronization waits. Thank you again for your work! [hookshot_log.txt](https://github.com/user-attachments/files/34573066/hookshot_log.txt) [hookshot_log.1.txt](https://github.com/user-attachments/files/34573067/hookshot_log.1.txt)
kai2143 commented 2026-11-09 10:57:02 +00:00 (Migrated from github.com)

I am having the exact same problem, I'm using the ASUS ROG Ally (AMD Ryzen Z1 Extreme, 16 GB RAM) on hookshot v2.0.7. This seems to have been a problem for the past few updates and was fixed in update v2.0.2, there was other visual bugs though such as the map, hearts, and button tips flickering. I would be more than happy to test out future updates for these kinds of problems. Thank you!

hookshot_log.1.txt
hookshot_log.2.txt
hookshot_log.3.txt
hookshot_log.4.txt
hookshot_log.txt

I am having the exact same problem, I'm using the ASUS ROG Ally (AMD Ryzen Z1 Extreme, 16 GB RAM) on hookshot v2.0.7. This seems to have been a problem for the past few updates and was fixed in update v2.0.2, there was other visual bugs though such as the map, hearts, and button tips flickering. I would be more than happy to test out future updates for these kinds of problems. Thank you! [hookshot_log.1.txt](https://github.com/user-attachments/files/34575354/hookshot_log.1.txt) [hookshot_log.2.txt](https://github.com/user-attachments/files/34575358/hookshot_log.2.txt) [hookshot_log.3.txt](https://github.com/user-attachments/files/34575357/hookshot_log.3.txt) [hookshot_log.4.txt](https://github.com/user-attachments/files/34575356/hookshot_log.4.txt) [hookshot_log.txt](https://github.com/user-attachments/files/34575355/hookshot_log.txt)
skyekinghorn-svg commented 2026-11-09 11:35:23 +00:00 (Migrated from github.com)

OS: Windows 11 Insider Preview, build 29648
UMA / VRAM: 8 GB Out of 24GB (Armoury Crate -> Memory Assigned to GPU)
Driver: Vulkan driver 0x800184 (latest offered by Armoury Crate Update Center)
Hookshot: v2.0.6 and v2.0.7 (source 9b541c9c); also tried an older faster-builds build (71e8cff6), same result
Settings: Custom preset, frame generation off, fullscreen; tried resolution 50% and 67%, Handheld profile on and off

What happens: full system reboot (no blue screen), usually within ~15 s of loading a save, or at the Deku Tree / Navi scene on a new game. The log just stops mid-frame. Right before it there are always multi-second submits, e.g.:

vk: slow submit: 10498.4 ms: draw 10266.9 ...
vk: slow submit: 15480.4 ms: draw 15418.3 ...
vk: slow submit: 133492.8 ms: draw 133452.5 ...

Several crashes die during large ASTC uploads (1365x1365x1 x90 levels 11 ... ASTC (BC3)) or right after a long compute dispatch.

Tried, no lasting fix:

  • Cleared all graphics caches (programs, pipelines, prepared, mkw_vk_pipelines)
  • Armoury Crate Turbo, and Manual 27/30/35 W with an aggressive fan curve, tested cool (~44 C)[

hookshot_log.1.txt
hookshot_log.2.txt
hookshot_log.4.txt
hookshot_log.3.txt

](url)

**OS:** Windows 11 Insider Preview, build 29648 **UMA / VRAM:** 8 GB Out of 24GB (Armoury Crate -> Memory Assigned to GPU) **Driver:** Vulkan driver 0x800184 (latest offered by Armoury Crate Update Center) **Hookshot:** v2.0.6 and v2.0.7 (source 9b541c9c); also tried an older faster-builds build (71e8cff6), same result **Settings:** Custom preset, frame generation off, fullscreen; tried resolution 50% and 67%, Handheld profile on and off **What happens:** full system reboot (no blue screen), usually within ~15 s of loading a save, or at the Deku Tree / Navi scene on a new game. The log just stops mid-frame. Right before it there are always multi-second submits, e.g.: ``` vk: slow submit: 10498.4 ms: draw 10266.9 ... vk: slow submit: 15480.4 ms: draw 15418.3 ... vk: slow submit: 133492.8 ms: draw 133452.5 ... ``` Several crashes die during large ASTC uploads (1365x1365x1 x90 levels 11 ... ASTC (BC3)) or right after a long compute dispatch. **Tried, no lasting fix:** - Cleared all graphics caches (programs, pipelines, prepared, mkw_vk_pipelines) - Armoury Crate Turbo, and Manual 27/30/35 W with an aggressive fan curve, tested cool (~44 C)[ [hookshot_log.1.txt](https://github.com/user-attachments/files/34576796/hookshot_log.1.txt) [hookshot_log.2.txt](https://github.com/user-attachments/files/34576797/hookshot_log.2.txt) [hookshot_log.4.txt](https://github.com/user-attachments/files/34576795/hookshot_log.4.txt) [hookshot_log.3.txt](https://github.com/user-attachments/files/34576798/hookshot_log.3.txt) ](url)
bodyinternal228 commented 2026-11-09 12:16:30 +00:00 (Migrated from github.com)

Hi notrexed, I want to submit a report ( a similar one was previously submitted by other users, but maybe mine would add more insight; as it is kind of a detailed log for all the runs i tried, combined.) :

Legion Go (Z1 Extreme, Radeon 780M): hard reboot (bugcheck 0x119) at the first 3D frame, v2.0.6

Device: Lenovo Legion Go 8APU1 (Z1 Extreme, 16 GB), Windows, BIOS N3CN40WW
GPU driver: AMD Radeon Graphics 32.0.23044.19 (29 Jun 2026); Adrenalin offers no newer driver
Version: v2.0.6 (source 9b541c9c); also tried honest-eta (bd9bcd71) and v2.0.5 (cd9cebb6)
UMA frame buffer: tried 6G and 8G, no change.
Preset: Minimum (4GB), Resolution 50%, Handheld profile on, frame generation on and off

What happens: the logo, intro movie and title run (60 fps). At the first 3D scene (a 768x432 pass) the whole
device freezes and reboots. Windows System log, event 41, on every crash:
BugcheckCode 0x119 (VIDEO_SCHEDULER_INTERNAL_ERROR), P1 = 0x1 (invalid fence ID)
P2/P3 = 0xB0C7/0xB0C9, 0xB333/0xB335, 0x49EFC/0x49EFE (P3 = P2 + 2 each time)
No Display 4101 event, no dump in LiveKernelReports.

From the logs:

  • honest-eta: "submit 11943 failed (-4)" and device lost, after a submit with a 3.0 s queue time; the game then
    kept running with a black picture (the original black screen with sound).
  • v2.0.5: one 44 s "draw" step right after the first gameplay upscale, then 0.1 fps for 52 s, then the log
    ends (no device lost line).
  • v2.0.6: same ending in two runs (frame generation off and on), 42 s stall before the log stops.
  • Exactly one run got into the game (v2.0.6, 768x432, frame generation on). Textures sat at 4.3-4.5 GB
    against a budget of 4526 MB, 16 "image ... not made" lines for large images (3072x3072, 6144x6144),
    and the picture had heavy flicker, black characters and random-colour models.
    The same settings crashed on the next run.

Tried with no change: Minimum preset, 50% resolution, Handheld profile, frame generation on/off,
RX_VK_NO_MESH=1, UMA 6G and 8G, driver check, restarts. A second recompilation project also
crashes the device at the same step.

Because the device blue-screens, RX_VK_CHECKPOINTS=1 cannot write its report. Could a build write a short
trail file to disk (flushed before each GPU submit) so the last line names the job in flight? I can test
builds and attach logs.

Attached: hookshot_log.txt and hookshot_log.1.txt from the crashed runs, plus the one run that reached gameplay.

Hi notrexed, I want to submit a report ( a similar one was previously submitted by other users, but maybe mine would add more insight; as it is kind of a detailed log for all the runs i tried, combined.) : Legion Go (Z1 Extreme, Radeon 780M): hard reboot (bugcheck 0x119) at the first 3D frame, v2.0.6 Device: Lenovo Legion Go 8APU1 (Z1 Extreme, 16 GB), Windows, BIOS N3CN40WW GPU driver: AMD Radeon Graphics 32.0.23044.19 (29 Jun 2026); Adrenalin offers no newer driver Version: v2.0.6 (source 9b541c9c); also tried honest-eta (bd9bcd71) and v2.0.5 (cd9cebb6) UMA frame buffer: tried 6G and 8G, no change. Preset: Minimum (4GB), Resolution 50%, Handheld profile on, frame generation on and off What happens: the logo, intro movie and title run (60 fps). At the first 3D scene (a 768x432 pass) the whole device freezes and reboots. Windows System log, event 41, on every crash: BugcheckCode 0x119 (VIDEO_SCHEDULER_INTERNAL_ERROR), P1 = 0x1 (invalid fence ID) P2/P3 = 0xB0C7/0xB0C9, 0xB333/0xB335, 0x49EFC/0x49EFE (P3 = P2 + 2 each time) No Display 4101 event, no dump in LiveKernelReports. From the logs: - honest-eta: "submit 11943 failed (-4)" and device lost, after a submit with a 3.0 s queue time; the game then kept running with a black picture (the original black screen with sound). - v2.0.5: one 44 s "draw" step right after the first gameplay upscale, then 0.1 fps for 52 s, then the log ends (no device lost line). - v2.0.6: same ending in two runs (frame generation off and on), 42 s stall before the log stops. - Exactly one run got into the game (v2.0.6, 768x432, frame generation on). Textures sat at 4.3-4.5 GB against a budget of 4526 MB, 16 "image ... not made" lines for large images (3072x3072, 6144x6144), and the picture had heavy flicker, black characters and random-colour models. The same settings crashed on the next run. Tried with no change: Minimum preset, 50% resolution, Handheld profile, frame generation on/off, RX_VK_NO_MESH=1, UMA 6G and 8G, driver check, restarts. A second recompilation project also crashes the device at the same step. Because the device blue-screens, RX_VK_CHECKPOINTS=1 cannot write its report. Could a build write a short trail file to disk (flushed before each GPU submit) so the last line names the job in flight? I can test builds and attach logs. Attached: hookshot_log.txt and hookshot_log.1.txt from the crashed runs, plus the one run that reached gameplay.
pavelrossi commented 2026-11-09 12:51:39 +00:00 (Migrated from github.com)

Lenovo Legion Go 1 / Ryzen Z1 Extreme — compute mesh fallback restores visible gameplay on v2.0.7

I’ve been testing experimental Hookshot builds on my first-generation Legion Go (AMD Ryzen Z1 Extreme, integrated Radeon graphics, 16 GB shared RAM, Windows 11). I used OpenAI Codex to help analyze the logs and prepare the patches. I tested the builds myself on the Legion Go.

Original issue. The opening cinematic renders correctly, but the image freezes permanently when transitioning to 3D gameplay or loading my Kokiri Forest save. Audio and input continue, and I can still move Link. The logs show a replay submission returning VK_ERROR_DEVICE_LOST, followed by repeated -4 results from vkAcquireNextImageKHR. The issue still reproduced with frame generation off and with the uniform-update race fix (400caf1) backported.

What improved it. Forcing Hookshot’s existing compute mesh fallback restored visible gameplay and the Insert menu. Initially it ran at 1–2 FPS and eventually exited with LLVM ERROR: out of memory. We found that when a fallback compute pipeline failed to compile, the code retried it on every subsequent draw that needed it. After limiting each failed pipeline to one compilation attempt per session, I could move around Kokiri, pass the Navi/Saria scene, reach the sword chest, and close the game normally. Later runs with optimization disabled for the fallback compute pipelines reached roughly 47–49 FPS in some parts of Kokiri. Some pipeline compilations still raise driver exceptions (-77 from Hookshot’s exception guard).

What remains. I still see frequent flashes, minimap flicker, and intermittent texture or lighting artifacts. During the sword chest cutscene, Link performs the pickup animation, but the sword itself is invisible. The crawlspace and chest area look cleaner than Kokiri Village. I haven’t established which of these defects are caused by the failed pipelines.

We also found a separate issue in the fallback code. An indirect draw with a task stage can calculate zero mesh slots from the direct group count even though the GPU supplies the indirect count. We prepared an experimental patch for that case. Its effect on the missing geometry is still pending validation on the Legion Go.

If this is useful for #997, I can share the diffs and relevant log excerpts. The most reproducible result is that the same Kokiri save goes from a permanent display freeze on the native mesh path to visible, controllable gameplay on the compute fallback, once the repeated compilation attempts are stopped.

> **Lenovo Legion Go 1 / Ryzen Z1 Extreme — compute mesh fallback restores visible gameplay on v2.0.7** > > I’ve been testing experimental Hookshot builds on my first-generation Legion Go (AMD Ryzen Z1 Extreme, integrated Radeon graphics, 16 GB shared RAM, Windows 11). I used OpenAI Codex to help analyze the logs and prepare the patches. I tested the builds myself on the Legion Go. > > **Original issue.** The opening cinematic renders correctly, but the image freezes permanently when transitioning to 3D gameplay or loading my Kokiri Forest save. Audio and input continue, and I can still move Link. The logs show a replay submission returning `VK_ERROR_DEVICE_LOST`, followed by repeated `-4` results from `vkAcquireNextImageKHR`. The issue still reproduced with frame generation off and with the uniform-update race fix (`400caf1`) backported. > > **What improved it.** Forcing Hookshot’s existing compute mesh fallback restored visible gameplay and the Insert menu. Initially it ran at 1–2 FPS and eventually exited with `LLVM ERROR: out of memory`. We found that when a fallback compute pipeline failed to compile, the code retried it on every subsequent draw that needed it. After limiting each failed pipeline to one compilation attempt per session, I could move around Kokiri, pass the Navi/Saria scene, reach the sword chest, and close the game normally. Later runs with optimization disabled for the fallback compute pipelines reached roughly **47–49 FPS** in some parts of Kokiri. Some pipeline compilations still raise driver exceptions (`-77` from Hookshot’s exception guard). > > **What remains.** I still see frequent flashes, minimap flicker, and intermittent texture or lighting artifacts. During the sword chest cutscene, Link performs the pickup animation, but the sword itself is invisible. The crawlspace and chest area look cleaner than Kokiri Village. I haven’t established which of these defects are caused by the failed pipelines. > > We also found a separate issue in the fallback code. An indirect draw with a task stage can calculate zero mesh slots from the direct group count even though the GPU supplies the indirect count. We prepared an experimental patch for that case. Its effect on the missing geometry is still pending validation on the Legion Go. > > If this is useful for #997, I can share the diffs and relevant log excerpts. The most reproducible result is that **the same Kokiri save goes from a permanent display freeze on the native mesh path to visible, controllable gameplay on the compute fallback**, once the repeated compilation attempts are stopped.
makdiller commented 2026-11-09 13:40:11 +00:00 (Migrated from github.com)

Hey @NotRexed

I'm running into the issue where the shaders are taking forever to prepare prior to the game launching. I've had it opened for about 10 minutes now and it's having a tough time getting past 4%. It's moving but very slowly, sometimes a single integer every 30 seconds to a minute.

Log attached.

CPU: AMD Ryzen AI 7 350, 32GB RAM
GPU: AMD Radeon 860M 8GB RAM
Win 11

hookshot_log.txt

Hey @NotRexed I'm running into the issue where the shaders are taking forever to prepare prior to the game launching. I've had it opened for about 10 minutes now and it's having a tough time getting past 4%. It's moving but very slowly, sometimes a single integer every 30 seconds to a minute. Log attached. CPU: AMD Ryzen AI 7 350, 32GB RAM GPU: AMD Radeon 860M 8GB RAM Win 11 [hookshot_log.txt](https://github.com/user-attachments/files/34581343/hookshot_log.txt)
makdiller commented 2026-11-09 14:24:52 +00:00 (Migrated from github.com)

@NotRexed I'm also seeing #1126 during gameplay on AMD Radeon 860M with 8GB. Gameplay is getting better, running at a solid 30-40fps but still encountering the stuttering, UI overlays jumping along the screen and white glowing textures. Log attached.

hookshot_log.2.txt

@NotRexed I'm also seeing #1126 during gameplay on AMD Radeon 860M with 8GB. Gameplay is getting better, running at a solid 30-40fps but still encountering the stuttering, UI overlays jumping along the screen and white glowing textures. Log attached. [hookshot_log.2.txt](https://github.com/user-attachments/files/34583232/hookshot_log.2.txt)
TalonVI commented 2026-11-09 16:34:20 +00:00 (Migrated from github.com)

Hello, since I may be an outlier when it comes to the game running on an APU I figured I'd submit a log for you to look at. Game runs pretty well on my AMD RYZEN AI MAX+ 395 w/ Radeon 8060s but I do experience occasional bright yellow glow on objects and flickering terrain here and there. The terrain flicker was most notable once I entered Hyrule Field.

hookshot_log.txt

Hello, since I may be an outlier when it comes to the game running on an APU I figured I'd submit a log for you to look at. Game runs pretty well on my AMD RYZEN AI MAX+ 395 w/ Radeon 8060s but I do experience occasional bright yellow glow on objects and flickering terrain here and there. The terrain flicker was most notable once I entered Hyrule Field. [hookshot_log.txt](https://github.com/user-attachments/files/34588691/hookshot_log.txt)
swever826 commented 2026-11-09 17:34:53 +00:00 (Migrated from github.com)

Hello!! Thanks for creating this issue!

For my ROG Ally the game now runs much more stable in v2.0.9! At around 40-50 fps with Balanced (8GB) graphics on the first cutscene with the Deku Tree.

There are some bugs with the light and the textures that flash constantly.

https://streamable.com/urlgb4

EDIT: Forgot to attach the log:
hookshot_log.txt

Hello!! Thanks for creating this issue! For my ROG Ally the game now runs much more stable in v2.0.9! At around 40-50 fps with Balanced (8GB) graphics on the first cutscene with the Deku Tree. There are some bugs with the light and the textures that flash constantly. https://streamable.com/urlgb4 EDIT: Forgot to attach the log: ![hookshot_log.txt](https://github.com/user-attachments/files/34591195/hookshot_log.txt)
skyekinghorn-svg commented 2026-11-09 18:38:47 +00:00 (Migrated from github.com)

Update (ROG Ally X): v2.0.8 fixed the reboots for me, but v2.0.9 and v2.0.10 bring them back

Setup: ROG Ally X (AMD iGPU, 24 GB RAM with 8 GB assigned to the GPU), Vulkan driver 0x800184, Windows 11 Insider build 29648. Settings: Handheld profile, 50% resolution, RX_VK_GPU_UNSWIZZLE=0 plus the AMD fog/exposure lines.

  • v2.0.8: fixed it. I played 45 minutes and loaded the save several times with no reboot (average about 51 fps).
  • v2.0.9 (source d7b0b710): the whole system hard-rebooted 3 times out of 3 while loading the save. It happened with the two speed settings on (RX_VK_WB_DIFF=1 and RX_VK_PRESENT_QUEUE=1), at 67% and at 50%, and also with both turned off.
  • v2.0.10 (source f12c9e09), speed settings off, 50%: the first load worked. On the next launch (one copy, nothing else running) the save loaded, ran about 42 fps for a few seconds, then the system rebooted again.

Every time, it reboots within seconds of the area first drawing after Continue. The last lines in the log are always small 192x108 effect textures being set up on the host thread, for example:

[hos host] vk: slow submit: 36.0 ms: texture lookups 80.4 uploads 20.3 dispatch 13.3
[hos host] vk: texture #420 at 0x10000769800 beside #229: 192x108x1 x1 levels 1 layout 0x4 class 0x1007e NVN 0x34 target 1, the other 1000x1000x1 x3 levels 1 layout 0x4 class 0x1007c NVN 0x32 target 4

AllyX_v2.0.10_reboot_on_save_load.txt
AllyX_v2.0.9_reboot_on_save_load.txt

Update (ROG Ally X): v2.0.8 fixed the reboots for me, but v2.0.9 and v2.0.10 bring them back Setup: ROG Ally X (AMD iGPU, 24 GB RAM with 8 GB assigned to the GPU), Vulkan driver 0x800184, Windows 11 Insider build 29648. Settings: Handheld profile, 50% resolution, RX_VK_GPU_UNSWIZZLE=0 plus the AMD fog/exposure lines. - v2.0.8: fixed it. I played 45 minutes and loaded the save several times with no reboot (average about 51 fps). - v2.0.9 (source d7b0b710): the whole system hard-rebooted 3 times out of 3 while loading the save. It happened with the two speed settings on (RX_VK_WB_DIFF=1 and RX_VK_PRESENT_QUEUE=1), at 67% and at 50%, and also with both turned off. - v2.0.10 (source f12c9e09), speed settings off, 50%: the first load worked. On the next launch (one copy, nothing else running) the save loaded, ran about 42 fps for a few seconds, then the system rebooted again. Every time, it reboots within seconds of the area first drawing after Continue. The last lines in the log are always small 192x108 effect textures being set up on the host thread, for example: [hos host] vk: slow submit: 36.0 ms: texture lookups 80.4 uploads 20.3 dispatch 13.3 [hos host] vk: texture #420 at 0x10000769800 beside #229: 192x108x1 x1 levels 1 layout 0x4 class 0x1007e NVN 0x34 target 1, the other 1000x1000x1 x3 levels 1 layout 0x4 class 0x1007c NVN 0x32 target 4 [AllyX_v2.0.10_reboot_on_save_load.txt](https://github.com/user-attachments/files/34593355/AllyX_v2.0.10_reboot_on_save_load.txt) [AllyX_v2.0.9_reboot_on_save_load.txt](https://github.com/user-attachments/files/34593356/AllyX_v2.0.9_reboot_on_save_load.txt)
pcornejov commented 2026-11-09 18:59:17 +00:00 (Migrated from github.com)

ROG Xbox Ally X (Ryzen AI Z2 Extreme, Radeon 890M), Windows 11, AMD driver 0x800196, 8 GB UMA. Results on v2.0.8 to v2.0.10. This is the same machine as the #708 report linked above.

Native mesh path: device lost. On v2.0.10 with default mesh settings, loading a Kokiri save hangs every time. First slow submit: 22957.1 ms: draw 25202.7, then submit 8676 failed (-4) and a device lost. Log: hookshot_log.v2.0.10-conmesh.txt.

RX_VK_NO_MESH=1 (task/mesh draws left out): stable, but enemies are invisible.

  • Stability: on v2.0.8, v2.0.9 and v2.0.10 I had 0 device lost over about an hour. That covered a save load, Kokiri, a new game through the intro, and inside the Deku Tree down to basement 1. It ran at 30-55 fps with 75% resolution and the handheld profile, plus RX_VK_WB_DIFF=1 and RX_VK_PRESENT_QUEUE=1.
  • Side effect: some enemies are not drawn at all but still collide and deal damage. In Deku Tree basement 1 something invisible hits Link. Most other geometry (Kokiri, water, foliage, Link, Navi) looks fine.

So on this iGPU the only stable path is to skip the mesh draws, which leaves the game partly unplayable. Next I'm trying RX_VK_FORCE_MESH_FALLBACK=1, following pavelrossi's Legion Go result above, and will report back.

Also noted: with 8 GB carved out, Windows keeps 15.6 GB of RAM. The process sits at about 23-26 GB private, so it pages 5-6 GB to the pagefile, and that is where most of the fps drops come from (GPU time is only 12-15 ms a frame).

**ROG Xbox Ally X (Ryzen AI Z2 Extreme, Radeon 890M), Windows 11, AMD driver 0x800196, 8 GB UMA. Results on v2.0.8 to v2.0.10.** This is the same machine as the #708 report linked above. **Native mesh path: device lost.** On **v2.0.10** with default mesh settings, loading a Kokiri save hangs every time. First `slow submit: 22957.1 ms: draw 25202.7`, then `submit 8676 failed (-4)` and a device lost. Log: hookshot_log.v2.0.10-conmesh.txt. **`RX_VK_NO_MESH=1` (task/mesh draws left out): stable, but enemies are invisible.** - **Stability:** on v2.0.8, v2.0.9 and v2.0.10 I had **0 device lost** over about an hour. That covered a save load, Kokiri, a new game through the intro, and inside the Deku Tree down to basement 1. It ran at 30-55 fps with 75% resolution and the handheld profile, plus `RX_VK_WB_DIFF=1` and `RX_VK_PRESENT_QUEUE=1`. - **Side effect:** some enemies are **not drawn at all but still collide and deal damage**. In Deku Tree basement 1 something invisible hits Link. Most other geometry (Kokiri, water, foliage, Link, Navi) looks fine. So on this iGPU the only stable path is to skip the mesh draws, which leaves the game partly unplayable. Next I'm trying `RX_VK_FORCE_MESH_FALLBACK=1`, following pavelrossi's Legion Go result above, and will report back. Also noted: with 8 GB carved out, Windows keeps 15.6 GB of RAM. The process sits at about 23-26 GB private, so it pages 5-6 GB to the pagefile, and that is where most of the fps drops come from (GPU time is only 12-15 ms a frame).
Villanro commented 2026-11-09 19:20:05 +00:00 (Migrated from github.com)

ROG Ally X on v2.0.9: no more device lost (thanks!), but memory keeps growing during play until FPS drops from 60 to 0 and the whole system freezes (~41 min unresponsive). Log attached.

Setup

  • ROG Xbox Ally X (RC73XA), Ryzen AI Z2 Extreme, Radeon 890M
  • 24 GB RAM, 15.6 GB visible to Windows (about 8 GB assigned to the GPU), pagefile 22 GB
  • Driver 32.0.32015.7029 (Adrenalin 26.10.1), Windows 11 Home build 26300
  • Hookshot v2.0.9 (d7b0b710), plain hookshot.exe, no RX_ variables, no overlays
  • Options: quality_preset=1, frame_generation=0, resolution=1, upscaling=1, handheld_profile=1

What happens
Menu and opening: 60 fps. In gameplay, 60 fps at first, then a steady decline: 60 -> 46 -> 40 -> 36 -> 32 -> 26 -> 20 -> under 1 fps. Then 0.0 fps over the last 2513.4 s and Windows stops responding until it recovers. Restarting the game brings it back to 60.

From the log

  • nvn live copies grow out of control near the end (mostly on OptimizeChangeBanc):
    76385 live copies (25.1 MB) -> (840.1 MB) -> (2268.9 MB) -> (2865.5 MB)
  • Retired imports never given back:
    vk: imports: 58 live (1520 MB), 46 retired still imported (1312 MB), 0 retired given back (0 MB)
  • 1062 captures kept; VRAM in use 296 MB -> 5646 MB (textures 3752 MB)
  • The stall: Resource Memory (priority 21) ran without a core after 2463043.7 ms and OptimizeChangeBanc waiting 10 s; held by nobody
  • Internal resolution stays 2560x1440 with handheld_profile=1 on a 1920x1080 screen. Not sure if that's expected.

The v2.0.8 notes say old memory pools are now given back on NVIDIA. On this AMD iGPU (shared RAM) the same buildup seems to fill system memory and freeze Windows.

On v2.0.5 the same device lost the GPU right when gameplay started (device lost after storage buffer NOT bound from mesh programs). That's gone since the update.

This matches what @pcornejov saw above on the same model (process at 23-26 GB private, paging to the pagefile): here the growth shows up as nvn live copies and retired imports that are never released, so the drop gets worse the longer you play.

ROG Ally X on **v2.0.9**: no more device lost (thanks!), but memory keeps growing during play until FPS drops from 60 to 0 and **the whole system freezes** (~41 min unresponsive). Log attached. **Setup** - ROG Xbox Ally X (RC73XA), Ryzen AI Z2 Extreme, Radeon 890M - 24 GB RAM, 15.6 GB visible to Windows (about 8 GB assigned to the GPU), pagefile 22 GB - Driver 32.0.32015.7029 (Adrenalin 26.10.1), Windows 11 Home build 26300 - Hookshot v2.0.9 (d7b0b710), plain `hookshot.exe`, no `RX_` variables, no overlays - Options: quality_preset=1, frame_generation=0, resolution=1, upscaling=1, handheld_profile=1 **What happens** Menu and opening: 60 fps. In gameplay, 60 fps at first, then a steady decline: 60 -> 46 -> 40 -> 36 -> 32 -> 26 -> 20 -> under 1 fps. Then `0.0 fps over the last 2513.4 s` and Windows stops responding until it recovers. Restarting the game brings it back to 60. **From the log** - nvn live copies grow out of control near the end (mostly on `OptimizeChangeBanc`): `76385 live copies (25.1 MB)` -> `(840.1 MB)` -> `(2268.9 MB)` -> `(2865.5 MB)` - Retired imports never given back: `vk: imports: 58 live (1520 MB), 46 retired still imported (1312 MB), 0 retired given back (0 MB)` - 1062 captures kept; VRAM in use 296 MB -> 5646 MB (textures 3752 MB) - The stall: `Resource Memory (priority 21) ran without a core after 2463043.7 ms` and `OptimizeChangeBanc waiting 10 s; held by nobody` - Internal resolution stays 2560x1440 with `handheld_profile=1` on a 1920x1080 screen. Not sure if that's expected. The v2.0.8 notes say old memory pools are now given back on NVIDIA. On this AMD iGPU (shared RAM) the same buildup seems to fill system memory and freeze Windows. On v2.0.5 the same device lost the GPU right when gameplay started (`device lost` after `storage buffer NOT bound` from mesh programs). That's gone since the update. This matches what @pcornejov saw above on the same model (process at 23-26 GB private, paging to the pagefile): here the growth shows up as nvn live copies and retired imports that are never released, so the drop gets worse the longer you play.
Villanro commented 2026-11-09 19:23:57 +00:00 (Migrated from github.com)

Log for my comment above (the attachment didn't upload the first time):

log_cuelgue_2.0.9_20261109_1949.txt

Log for my comment above (the attachment didn't upload the first time): [log_cuelgue_2.0.9_20261109_1949.txt](https://github.com/user-attachments/files/34595936/log_cuelgue_2.0.9_20261109_1949.txt)
NotRexed commented 2026-11-09 19:48:01 +00:00 (Migrated from github.com)

@Villanro: thanks for the log. Memory growing until the system freezes on the Ally X is a known problem on integrated GPUs, which share system RAM. v2.0.11 (out now) caps textures at 2.5 GB and the shadow copies at 512 MB on integrated GPUs, and a bigger memory fix is being worked on; please retest on v2.0.11.

@Villanro: thanks for the log. Memory growing until the system freezes on the Ally X is a known problem on integrated GPUs, which share system RAM. v2.0.11 (out now) caps textures at 2.5 GB and the shadow copies at 512 MB on integrated GPUs, and a bigger memory fix is being worked on; please retest on v2.0.11.
pcornejov commented 2026-11-09 20:34:54 +00:00 (Migrated from github.com)

ROG Xbox Ally X (Radeon 890M) on v2.0.11. UMA is now 4 GB (19.6 GB RAM visible), down from 8 GB. This is the same machine as my earlier reports above.

1. RX_VK_WB_DIFF=1 causes one-frame HUD-garbage flashes on v2.0.11 (new).
Every few seconds a single frame shows broken 2D/HUD elements:

  • a large translucent brown quad over half the screen
  • the slingshot ammo counter ("22") drawn huge
  • an orange line across the screen
  • a white square
  • hollow hearts and a missing Navi icon

The next frame is clean again. This didn't happen on v2.0.8–v2.0.10 with the same env. It persists without RX_VK_PRESENT_QUEUE and with the texture budget raised, and it stops completely when WB_DIFF is removed.

flash

2. Without RX_VK_NO_MESH, v2.0.11 still hits device lost.
After the save loads, it shows slow submit of 4 s, then submit 14771 failed (-4). This is the same pattern as v2.0.10.

3. NO_MESH also hides chunks of level geometry, not only enemies.
In Kokiri/Lost Woods areas, parts of the scenery are missing and show as flat green/black blocks.

missing geometry

4. Without WB_DIFF (but with NO_MESH), v2.0.11 hits device lost in 3 of 4 runs.
Settings: 75% resolution, handheld twice and docked once. The sequence was slow present: ~4300 ms, then queue submit 1000/2000 ms, then a few slow submit of up to 5 s, then submit failed (-4). Two of the losses came about 30 s after launch, the docked one a few minutes into gameplay. The same settings with WB_DIFF=1 had 0 device lost across 3 sessions. So WB_DIFF seems to be what keeps this iGPU alive, flashes included.

5. The default 2.5 GB texture cap is too small at 1080p.
v2.0.11's default iGPU texture cap (2560 MB) sat at 2535/2560 MB in Kokiri at 1080p. RX_VK_VRAM_MB=3072 gives enough headroom.

Most stable config so far, about 35–50 fps:

  • docked (handheld off), 1080p output, 75% resolution
  • env: HOS_FULLSCREEN=1, RX_VK_WB_DIFF=1, RX_VK_MOVIE_UPSCALE=linear, RX_VK_NO_MESH=1, RX_VK_VRAM_MB=3072

Remaining problems: the WB_DIFF flashes, plus invisible enemies and missing geometry (both from NO_MESH). Logs for all of the above are available if useful.

**ROG Xbox Ally X (Radeon 890M) on v2.0.11. UMA is now 4 GB (19.6 GB RAM visible), down from 8 GB.** This is the same machine as my earlier reports above. **1. `RX_VK_WB_DIFF=1` causes one-frame HUD-garbage flashes on v2.0.11 (new).** Every few seconds a single frame shows broken 2D/HUD elements: - a large translucent brown quad over half the screen - the slingshot ammo counter ("22") drawn huge - an orange line across the screen - a white square - hollow hearts and a missing Navi icon The next frame is clean again. This didn't happen on v2.0.8–v2.0.10 with the same env. It persists without `RX_VK_PRESENT_QUEUE` and with the texture budget raised, and it **stops completely when `WB_DIFF` is removed**. <img width="960" height="540" alt="flash" src="https://github.com/user-attachments/assets/42fabcc7-d9a2-4add-8f7b-605c462f535f" /> **2. Without `RX_VK_NO_MESH`, v2.0.11 still hits device lost.** After the save loads, it shows `slow submit` of 4 s, then `submit 14771 failed (-4)`. This is the same pattern as v2.0.10. **3. `NO_MESH` also hides chunks of level geometry, not only enemies.** In Kokiri/Lost Woods areas, parts of the scenery are missing and show as flat green/black blocks. <img width="960" height="540" alt="missing geometry" src="https://github.com/user-attachments/assets/95c99308-b8dd-4cc6-898d-db621b4a5ed5" /> **4. Without `WB_DIFF` (but with `NO_MESH`), v2.0.11 hits device lost in 3 of 4 runs.** Settings: 75% resolution, handheld twice and docked once. The sequence was `slow present: ~4300 ms`, then `queue submit 1000/2000 ms`, then a few `slow submit` of up to 5 s, then `submit failed (-4)`. Two of the losses came about 30 s after launch, the docked one a few minutes into gameplay. The same settings **with** `WB_DIFF=1` had 0 device lost across 3 sessions. So `WB_DIFF` seems to be what keeps this iGPU alive, flashes included. **5. The default 2.5 GB texture cap is too small at 1080p.** v2.0.11's default iGPU texture cap (2560 MB) sat at 2535/2560 MB in Kokiri at 1080p. `RX_VK_VRAM_MB=3072` gives enough headroom. **Most stable config so far, about 35–50 fps:** - docked (handheld off), 1080p output, 75% resolution - env: `HOS_FULLSCREEN=1`, `RX_VK_WB_DIFF=1`, `RX_VK_MOVIE_UPSCALE=linear`, `RX_VK_NO_MESH=1`, `RX_VK_VRAM_MB=3072` Remaining problems: the `WB_DIFF` flashes, plus invisible enemies and missing geometry (both from `NO_MESH`). Logs for all of the above are available if useful.
xPapaCapimx commented 2026-11-09 20:56:26 +00:00 (Migrated from github.com)

On my Xbox Ally X Z2E the game still freezes in a black screen after the logo after the first cutscene. Some times the audio continues but no image appears.

hookshot_log.txt

On my Xbox Ally X Z2E the game still freezes in a black screen after the logo after the first cutscene. Some times the audio continues but no image appears. [hookshot_log.txt](https://github.com/user-attachments/files/34599590/hookshot_log.txt)
Kaizoku85 commented 2026-11-09 21:25:58 +00:00 (Migrated from github.com)

hookshot_log.txt

Having flickering issues with latest build (2.0.11)
Device: ASUS ROG Ally X, AMD Ryzen Z1 Extreme (RADV PHOENIX), Bazzite 45, Linux AppImage build 2.011
Allocated RAM is 14 GB, VRAM is 10 GB and SWAP is 6 GB
1280x720 resolution and 1920x1080 output mode
Frame rate averages between 30-45 FPS depending on area.

[hookshot_log.txt](https://github.com/user-attachments/files/34600768/hookshot_log.txt) Having flickering issues with latest build (2.0.11) Device: ASUS ROG Ally X, AMD Ryzen Z1 Extreme (RADV PHOENIX), Bazzite 45, Linux AppImage build 2.011 Allocated RAM is 14 GB, VRAM is 10 GB and SWAP is 6 GB 1280x720 resolution and 1920x1080 output mode Frame rate averages between 30-45 FPS depending on area.
TalonVI commented 2026-11-09 21:46:27 +00:00 (Migrated from github.com)

Seems very similar to an issue I saw for AMD users in one of the Shadow of the Colossus ports. Had something to do with Far Shadows. On AMD if enabled they would flicker so need to disable them. Sure it's unrelated but would make sense if it's a similar issue given I noticed it more once in Hyrule field which would have a lot of subtle distant shadows.

Seems very similar to an issue I saw for AMD users in one of the Shadow of the Colossus ports. Had something to do with Far Shadows. On AMD if enabled they would flicker so need to disable them. Sure it's unrelated but would make sense if it's a similar issue given I noticed it more once in Hyrule field which would have a lot of subtle distant shadows.
austrelius commented 2026-11-09 23:05:30 +00:00 (Migrated from github.com)

Asus Rog Ally X
Gam

hookshot_log.txt

e works just with a ton of visual problems

Asus Rog Ally X Gam [hookshot_log.txt](https://github.com/user-attachments/files/34603786/hookshot_log.txt) e works just with a ton of visual problems
swever826 commented 2026-11-09 23:24:57 +00:00 (Migrated from github.com)

Asus Rog Ally X
Gam

hookshot_log.txt

e works just with a ton of visual problems

Same with my ROG Ally. The more I increase the graphic presets, the more intense are the visual problems. Just a detail I saw that I hope it helps.

> Asus Rog Ally X > Gam > > [hookshot_log.txt](https://github.com/user-attachments/files/34603786/hookshot_log.txt) > > e works just with a ton of visual problems > > Same with my ROG Ally. The more I increase the graphic presets, the more intense are the visual problems. Just a detail I saw that I hope it helps.
Que20 commented 2026-11-09 23:26:03 +00:00 (Migrated from github.com)

Lenovo Legion Go S (Ryzen Z2 Go / SteamOS) — GPU hang persists in v2.0.11, mesh fallback allows gameplay

Hardware / environment

  • Device: Lenovo Legion Go S
  • APU: AMD Ryzen Z2 Go, RADV REMBRANDT
  • RAM: 16 GB shared
  • OS: SteamOS, Gaming Mode (Gamescope)
  • Hookshot: v2.0.11 (10f983ad)
  • Vulkan: 1.4, RADV driver 0x6801063

I have experienced a reproducible GPU hang during the Great Deku Tree / Navi opening sequence, whether I let the cutscene play or skip it.

The issue still occurs on v2.0.11.

Tests performed

Configuration Result
Default mesh rendering GPU hang during the opening sequence
RX_VK_SKIP_CODE=2c56dc1006942f74 GPU hang persists
Above workaround + ASTC/VRAM/texture memory optimizations GPU hang persists
RX_VK_NO_MESH=1 Successfully reaches gameplay

With ´RX_VK_NO_MESH´ and the skip code, I can get past the opening sequence and actually control Link in Kokiri Forest.

Unfortunately, rendering is severely corrupted (widespread visual glitches), and performance is extremely poor. This is not a playable workaround, but it is a significant behavioral difference.

Game running video

Game running video

Kernel evidence

The GPU hangs with the mesh rendering path enabled:
´´´
amdgpu: ring gfx_0.0.0 timeout
Process hookshot pid 17580 thread mkw_vk
Starting gfx_0.0.0 ring reset
Ring gfx_0.0.0 reset failed
GPU reset begin!
MODE2 reset
GPU reset succeeded
´´´
Earlier runs with RX_VK_CHECKPOINTS=1 repeatedly showed:
´´´
Last completed draw: 3741fc69b2a60e64
First unconfirmed draw: a6d0f6a379e407c4
Next draw: ffe0b5b31697ea95
´´´
These checkpoints identify where GPU progress stopped, not necessarily the shader responsible.

Conclusion / possible investigation direction

Disabling mesh shaders changes the outcome from a reproducible GPU hang to successful gameplay with broken rendering and very low FPS.

This strongly suggests investigating the mesh/task shader rendering path or its interaction with RADV on this APU, although it does not conclusively establish the root cause.

A targeted workaround preserving correct mesh rendering would be preferable to disabling the entire path.

I’m available to test diagnostic builds or additional flags on the actual hardware.

Debug and message generated by Codex. If LLM generated report are not allowed please le me know.

**Lenovo Legion Go S (Ryzen Z2 Go / SteamOS) — GPU hang persists in v2.0.11, mesh fallback allows gameplay** Hardware / environment * Device: Lenovo Legion Go S * APU: AMD Ryzen Z2 Go, RADV REMBRANDT * RAM: 16 GB shared * OS: SteamOS, Gaming Mode (Gamescope) * Hookshot: v2.0.11 (10f983ad) * Vulkan: 1.4, RADV driver 0x6801063 I have experienced a reproducible GPU hang during the Great Deku Tree / Navi opening sequence, whether I let the cutscene play or skip it. The issue still occurs on v2.0.11. ## Tests performed | Configuration | Result | |--|--| | Default mesh rendering | GPU hang during the opening sequence | | RX_VK_SKIP_CODE=2c56dc1006942f74 | GPU hang persists | | Above workaround + ASTC/VRAM/texture memory optimizations | GPU hang persists | | RX_VK_NO_MESH=1 | Successfully reaches gameplay | With ´RX_VK_NO_MESH´ and the skip code, I can get past the opening sequence and actually control Link in Kokiri Forest. Unfortunately, rendering is severely corrupted (widespread visual glitches), and performance is extremely poor. This is not a playable workaround, but it is a significant behavioral difference. ### Game running video [![Game running video](https://img.youtube.com/vi/9svGRl0tjT8/0.jpg)](https://www.youtube.com/watch?v=9svGRl0tjT8) ### Kernel evidence The GPU hangs with the mesh rendering path enabled: ´´´ amdgpu: ring gfx_0.0.0 timeout Process hookshot pid 17580 thread mkw_vk Starting gfx_0.0.0 ring reset Ring gfx_0.0.0 reset failed GPU reset begin! MODE2 reset GPU reset succeeded ´´´ Earlier runs with RX_VK_CHECKPOINTS=1 repeatedly showed: ´´´ Last completed draw: 3741fc69b2a60e64 First unconfirmed draw: a6d0f6a379e407c4 Next draw: ffe0b5b31697ea95 ´´´ These checkpoints identify where GPU progress stopped, not necessarily the shader responsible. ## Conclusion / possible investigation direction Disabling mesh shaders changes the outcome from a reproducible GPU hang to successful gameplay with broken rendering and very low FPS. This strongly suggests investigating the mesh/task shader rendering path or its interaction with RADV on this APU, although it does not conclusively establish the root cause. A targeted workaround preserving correct mesh rendering would be preferable to disabling the entire path. I’m available to test diagnostic builds or additional flags on the actual hardware. Debug and message generated by Codex. If LLM generated report are not allowed please le me know.
skyekinghorn-svg commented 2026-11-09 23:42:46 +00:00 (Migrated from github.com)

Follow-up (ROG Ally X): v2.0.11 still hard-reboots the Ally on save load

Same setup as my last comment (Handheld profile, 50% resolution, RX_VK_GPU_UNSWIZZLE=0, speed settings off, driver 0x800184). One game window each time, checked in the log.

v2.0.11 (source d6369f1e):

  • First launch right after the update: the save loaded fine and I played about 25 minutes (Kokiri Forest > Hyrule Field > castle), 40-60 fps, no reboot. Some flicker, and Kaepora Gaebora rendered with holes in him (sky showing through).
  • Saved, exited normally, relaunched once, loaded the same save: the whole system rebooted a few seconds after the area appeared (58.9 / 54.1 / 39.1 fps, then the log stops).
  • Moved hookshot_pipelines.bin, hookshot_pipeline_states.bin and mkw_vk_pipelines.bin aside and relaunched cool (APU 64 C on a desk). The pipelines were rebuilt on the title screen, then on Continue there were very long submits (up to 23159.8 ms) and the system rebooted during the load.

v2.0.10 behaved the same way: the first load after updating worked, the next launch rebooted on load. v2.0.8 never rebooted for me.

So it doesn't look like heat, resolution, the two speed settings or the pipeline cache. It seems tied to loading the save on a launch after the first one on v2.0.9+.

AllyX_v2.0.11_reboot_after_pipeline_cache_cleared.txt
AllyX_v2.0.11_reboot_second_load.txt

Follow-up (ROG Ally X): v2.0.11 still hard-reboots the Ally on save load Same setup as my last comment (Handheld profile, 50% resolution, RX_VK_GPU_UNSWIZZLE=0, speed settings off, driver 0x800184). One game window each time, checked in the log. v2.0.11 (source d6369f1e): - First launch right after the update: the save loaded fine and I played about 25 minutes (Kokiri Forest > Hyrule Field > castle), 40-60 fps, no reboot. Some flicker, and Kaepora Gaebora rendered with holes in him (sky showing through). - Saved, exited normally, relaunched once, loaded the same save: the whole system rebooted a few seconds after the area appeared (58.9 / 54.1 / 39.1 fps, then the log stops). - Moved hookshot_pipelines.bin, hookshot_pipeline_states.bin and mkw_vk_pipelines.bin aside and relaunched cool (APU 64 C on a desk). The pipelines were rebuilt on the title screen, then on Continue there were very long submits (up to 23159.8 ms) and the system rebooted during the load. v2.0.10 behaved the same way: the first load after updating worked, the next launch rebooted on load. v2.0.8 never rebooted for me. So it doesn't look like heat, resolution, the two speed settings or the pipeline cache. It seems tied to loading the save on a launch after the first one on v2.0.9+. [AllyX_v2.0.11_reboot_after_pipeline_cache_cleared.txt](https://github.com/user-attachments/files/34604557/AllyX_v2.0.11_reboot_after_pipeline_cache_cleared.txt) [AllyX_v2.0.11_reboot_second_load.txt](https://github.com/user-attachments/files/34604558/AllyX_v2.0.11_reboot_second_load.txt)
git-hub-al commented 2026-11-10 00:12:37 +00:00 (Migrated from github.com)

Legion go Z1. After disabling mesh shaders was able to get to gameplay. Link turned white a few times and I had to restart the second intro which worked fine the second time. hookshot_log.1.txt

Before RX_VK_NO_MESH=1
Legion go Z1. Not able to get past opening scene. Lowered resolution and tried 50% and auto. Tried different vram auto and 6g. Auto didn't crash but hung, 6g crashed. hookshot_log.1.txt
hookshot_log.2.txt

Legion go Z1. After disabling mesh shaders was able to get to gameplay. Link turned white a few times and I had to restart the second intro which worked fine the second time. [hookshot_log.1.txt](https://github.com/user-attachments/files/34606491/hookshot_log.1.txt) Before RX_VK_NO_MESH=1 *Legion go Z1. Not able to get past opening scene. Lowered resolution and tried 50% and auto. Tried different vram auto and 6g. Auto didn't crash but hung, 6g crashed. [hookshot_log.1.txt](https://github.com/user-attachments/files/34605297/hookshot_log.1.txt) [hookshot_log.2.txt](https://github.com/user-attachments/files/34605305/hookshot_log.2.txt)*
Que20 commented 2026-11-10 00:17:00 +00:00 (Migrated from github.com)

@git-hub-al have you tried RX_VK_NO_MESH=1 ?

@git-hub-al have you tried `RX_VK_NO_MESH=1` ?
git-hub-al commented 2026-11-10 00:56:46 +00:00 (Migrated from github.com)

@git-hub-al have you tried RX_VK_NO_MESH=1 ?
Thanks, this got me into gameplay.

> [@git-hub-al](https://github.com/git-hub-al) have you tried `RX_VK_NO_MESH=1` ? Thanks, this got me into gameplay.
TalonVI commented 2026-11-10 00:57:10 +00:00 (Migrated from github.com)

Actually upon closer inspection when looking around the entrance to Hyrule field it appears to be weird vertex explosions and bits of the ui that is flickering in front of the screen.

Actually upon closer inspection when looking around the entrance to Hyrule field it appears to be weird vertex explosions and bits of the ui that is flickering in front of the screen.
makdiller commented 2026-11-10 02:25:17 +00:00 (Migrated from github.com)

Most of the flickering and stuttering has stopped. Great work!

I was able to get through the Deku Tree dungeon, beat the boss but then it crashed just as the cutscene went to transition. Performance has been incredibly stable up until this point running at a solid 40-60 fps.

CPU & RAM: AMD Ryzen AI 7 350, 32GB RAM
GPU: Radeon 860M 8GB

hookshot_env.txt
hookshot_log.txt

Image
Most of the flickering and stuttering has stopped. Great work! I was able to get through the Deku Tree dungeon, beat the boss but then it crashed just as the cutscene went to transition. Performance has been incredibly stable up until this point running at a solid 40-60 fps. CPU & RAM: AMD Ryzen AI 7 350, 32GB RAM GPU: Radeon 860M 8GB [hookshot_env.txt](https://github.com/user-attachments/files/34608526/hookshot_env.txt) [hookshot_log.txt](https://github.com/user-attachments/files/34608525/hookshot_log.txt) <img width="947" height="509" alt="Image" src="https://github.com/user-attachments/assets/54473e64-2c81-460d-84f4-8e2fc909cbdc" />
NotRexed commented 2026-11-10 05:07:55 +00:00 (Migrated from github.com)

Folded in: #1126 (v2.0.7 on an AMD iGPU with RADV: objects glowing white, whole-screen whiteouts while moving), plus #1481 and #1482 earlier.

Folded in: #1126 (v2.0.7 on an AMD iGPU with RADV: objects glowing white, whole-screen whiteouts while moving), plus #1481 and #1482 earlier.
starlight2k commented 2026-11-10 08:17:46 +00:00 (Migrated from github.com)

hookshot_log.txt
hookshot_log1.txt

still the same issue on 780M devices (and maybe other amd apu):

intro starts, then on deku scene black screen. sound does not stutter anymore on 2.0.11, but still no screen (black and 0fps in corner). if you wait you can control link and hear sound, but still no picture. auto-save is generated. if you restart the game and load save, still black screen

8gb vram in bios does not help

2 logs attached. one where it restarts, the other where black screen and link controlable

[hookshot_log.txt](https://github.com/user-attachments/files/34619100/hookshot_log.txt) [hookshot_log1.txt](https://github.com/user-attachments/files/34619101/hookshot_log1.txt) still the same issue on 780M devices (and maybe other amd apu): intro starts, then on deku scene black screen. sound does not stutter anymore on 2.0.11, but still no screen (black and 0fps in corner). if you wait you can control link and hear sound, but still no picture. auto-save is generated. if you restart the game and load save, still black screen 8gb vram in bios does not help 2 logs attached. one where it restarts, the other where black screen and link controlable
kakuduo commented 2026-11-10 09:16:00 +00:00 (Migrated from github.com)

I have the same issue on a Ryzen 7 7840U (Radeon 780M). Black screen with audio after the intro cutscene. Driver crashes. Log attached. v2.0.11

hookshot_log.1.txt
hookshot_log.txt

I have the same issue on a Ryzen 7 7840U (Radeon 780M). Black screen with audio after the intro cutscene. Driver crashes. Log attached. v2.0.11 [hookshot_log.1.txt](https://github.com/user-attachments/files/34621417/hookshot_log.1.txt) [hookshot_log.txt](https://github.com/user-attachments/files/34621418/hookshot_log.txt)
BlasterA01 commented 2026-11-10 11:53:59 +00:00 (Migrated from github.com)

hookshot_log.txt hookshot_log1.txt

still the same issue on 780M devices (and maybe other amd apu):

intro starts, then on deku scene black screen. sound does not stutter anymore on 2.0.11, but still no screen (black and 0fps in corner). if you wait you can control link and hear sound, but still no picture. auto-save is generated. if you restart the game and load save, still black screen

8gb vram in bios does not help

2 logs attached. one where it restarts, the other where black screen and link controlable

On v2.0.12 no more deku scene black screen but heavy lags and white flashes.
AMD Ryzen 9 7940HS w/ Radeon 780M Graphics (4.00 GHz), 16G of RAM, 512M of VRAM, drivers up to date. (On an asus vivobook)
I can't play link. Navi arrives on link and it freezes.

hookshot_log.txt
Here is the logs
Thanks for the work !

> [hookshot_log.txt](https://github.com/user-attachments/files/34619100/hookshot_log.txt) [hookshot_log1.txt](https://github.com/user-attachments/files/34619101/hookshot_log1.txt) > > still the same issue on 780M devices (and maybe other amd apu): > > intro starts, then on deku scene black screen. sound does not stutter anymore on 2.0.11, but still no screen (black and 0fps in corner). if you wait you can control link and hear sound, but still no picture. auto-save is generated. if you restart the game and load save, still black screen > > 8gb vram in bios does not help > > 2 logs attached. one where it restarts, the other where black screen and link controlable On v2.0.12 no more deku scene black screen but heavy lags and white flashes. AMD Ryzen 9 7940HS w/ Radeon 780M Graphics (4.00 GHz), 16G of RAM, 512M of VRAM, drivers up to date. (On an asus vivobook) I can't play link. Navi arrives on link and it freezes. [hookshot_log.txt](https://github.com/user-attachments/files/34627529/hookshot_log.txt) Here is the logs Thanks for the work !
cutmandln003-cmyk commented 2026-11-10 13:13:37 +00:00 (Migrated from github.com)

Was told to add my log here

hookshot_log.txt

ROG Ally Z1 Extreme model, Full system crash after first cutscene. Will try proposed 8GB UMA fix advised.

Was told to add my log here [hookshot_log.txt](https://github.com/user-attachments/files/34630925/hookshot_log.txt) ROG Ally Z1 Extreme model, Full system crash after first cutscene. Will try proposed 8GB UMA fix advised.
kyran97310-arch commented 2026-11-10 13:28:52 +00:00 (Migrated from github.com)

I’m experiencing micro-stutters on my ROG Ally Z1 Extreme, along with visual artifacts and a glitchy HUD.

hookshot_log(20261110-123453).txt

Image
I’m experiencing micro-stutters on my ROG Ally Z1 Extreme, along with visual artifacts and a glitchy HUD. [hookshot_log(20261110-123453).txt](https://github.com/user-attachments/files/34631710/hookshot_log.20261110-123453.txt) <img width="1919" height="1073" alt="Image" src="https://github.com/user-attachments/assets/23880acd-c769-4ceb-ac40-b03307b2d44e" />
kakuduo commented 2026-11-10 13:38:55 +00:00 (Migrated from github.com)

Still crashing on v2.0.13.

Device: Radeon 780M (Ryzen 7 7840U).
Issue: AMD driver crashes, game instantly closes.
Note: v2.0.11 had black screen with audio, but v2.0.12 and v2.0.13 just crash.
Tried: Clean rebuild and deleted config files.
Log attached.

hookshot_log.1 (1).txt
hookshot_log (1).txt

Still crashing on v2.0.13. Device: Radeon 780M (Ryzen 7 7840U). Issue: AMD driver crashes, game instantly closes. Note: v2.0.11 had black screen with audio, but v2.0.12 and v2.0.13 just crash. Tried: Clean rebuild and deleted config files. Log attached. [hookshot_log.1 (1).txt](https://github.com/user-attachments/files/34632190/hookshot_log.1.1.txt) [hookshot_log (1).txt](https://github.com/user-attachments/files/34632189/hookshot_log.1.txt)
pcornejov commented 2026-11-10 13:48:31 +00:00 (Migrated from github.com)

v2.0.13 on ROG Xbox Ally X (Radeon 890M, RDNA 3.5), retest of the mesh paths. Windows 11, AMD driver 0x8001a0, 4 GB UMA, 19.6 GB RAM visible. Fresh build with --no-prepare-shaders; the first start prepared 38.8k shaders + 12.6k pipelines in about 10 min with no errors. Base env: RX_VK_WB_DIFF=1, RX_VK_VRAM_MB=3072, docked, 1080p output at 75%.

Mesh path Result
RX_VK_NO_MESH=1 Stable, 50-60 fps, 0 device lost, but scenery chunks and enemies are missing, so it is not playable
Native mesh (no NO_MESH) Progress since v2.0.11: the save loads with no device lost, and scenery and enemies draw. After a few minutes of play it hangs, with no device lost reported: fps went 48 57 60 56 8 36 48 4.5 1.0 1.0 0.8 1.0 ... 0.6, the GPU 3D engine sat at 1%, the process at 6% CPU, and nvn logged GPU waits in 5 s: 1 sync waits (4419 ms). It never recovered.
RX_VK_FORCE_MESH_FALLBACK=1 Prepares 8 fallback programs (1.3-10.6 s each), then black screen for 5+ min with 0 frames presented. Commit grew to about 15 GB and free RAM dropped to 0.4 GB, the same as on v2.0.10.

So on this iGPU the native mesh path no longer dies on save load, but it stalls the GPU a few minutes into gameplay.

Last 300 lines of each run:
hookshot-2.0.13-890m-conmesh-pegado.txt
hookshot-2.0.13-890m-fallback-negro.txt

**v2.0.13 on ROG Xbox Ally X (Radeon 890M, RDNA 3.5), retest of the mesh paths.** Windows 11, AMD driver 0x8001a0, 4 GB UMA, 19.6 GB RAM visible. Fresh build with `--no-prepare-shaders`; the first start prepared 38.8k shaders + 12.6k pipelines in about 10 min with no errors. Base env: `RX_VK_WB_DIFF=1`, `RX_VK_VRAM_MB=3072`, docked, 1080p output at 75%. | Mesh path | Result | |---|---| | `RX_VK_NO_MESH=1` | Stable, 50-60 fps, 0 device lost, but scenery chunks and enemies are missing, so it is not playable | | Native mesh (no `NO_MESH`) | **Progress since v2.0.11:** the save loads with no device lost, and scenery and enemies draw. After a few minutes of play it **hangs**, with no device lost reported: fps went `48 57 60 56 8 36 48 4.5 1.0 1.0 0.8 1.0 ... 0.6`, the GPU 3D engine sat at 1%, the process at 6% CPU, and nvn logged `GPU waits in 5 s: 1 sync waits (4419 ms)`. It never recovered. | | `RX_VK_FORCE_MESH_FALLBACK=1` | Prepares 8 fallback programs (1.3-10.6 s each), then **black screen for 5+ min with 0 frames presented**. Commit grew to about 15 GB and free RAM dropped to 0.4 GB, the same as on v2.0.10. | So on this iGPU the native mesh path no longer dies on save load, but it stalls the GPU a few minutes into gameplay. Last 300 lines of each run: [hookshot-2.0.13-890m-conmesh-pegado.txt](https://github.com/user-attachments/files/34632572/hookshot-2.0.13-890m-conmesh-pegado.txt) [hookshot-2.0.13-890m-fallback-negro.txt](https://github.com/user-attachments/files/34632573/hookshot-2.0.13-890m-fallback-negro.txt)
pcornejov commented 2026-11-10 14:04:42 +00:00 (Migrated from github.com)

Update, same Ally X / 890M, same v2.0.13 native-mesh config (no NO_MESH; env RX_VK_WB_DIFF=1, RX_VK_VRAM_MB=3072, RX_VK_MOVIE_UPSCALE=linear, 1080p output at 75%, docked).

A second run with the exact same settings played through to the end of the Deku Tree and beat Queen Gohma, with scenery and enemies all drawn. Over about 15 minutes there were 0 device lost, the median was 42 fps (range 28-60), and memory stayed at 7.5-9.8 GB.

There were 2 short stalls where one 5 s window fell to about 2-4 fps, but each time it recovered on its own within seconds. In the first run (my comment above) a stall like that never came back: it stayed at about 1 fps with the GPU idle and 4 s nvn sync waits. So the native mesh path on this iGPU looks playable now, but it sometimes stalls, and a stall can either recover or stay hung.

**Update, same Ally X / 890M, same v2.0.13 native-mesh config** (no `NO_MESH`; env `RX_VK_WB_DIFF=1`, `RX_VK_VRAM_MB=3072`, `RX_VK_MOVIE_UPSCALE=linear`, 1080p output at 75%, docked). A second run with the exact same settings **played through to the end of the Deku Tree and beat Queen Gohma**, with scenery and enemies all drawn. Over about 15 minutes there were 0 device lost, the median was 42 fps (range 28-60), and memory stayed at 7.5-9.8 GB. There were 2 short stalls where one 5 s window fell to about 2-4 fps, but each time it **recovered on its own** within seconds. In the first run (my comment above) a stall like that never came back: it stayed at about 1 fps with the GPU idle and 4 s nvn sync waits. So the native mesh path on this iGPU looks playable now, but it sometimes stalls, and a stall can either recover or stay hung.
bodyinternal228 commented 2026-11-10 14:17:34 +00:00 (Migrated from github.com)

Update: Lenovo Legion Go 1 (AMD Z1 Extreme), 16gb ram, allocated vram = auto.

I managed to get the game running again. Performance has been surprisingly good so far: a consistent 60 FPS inside the first dungeon, and Kokiri forest, using FSR 3.1 Performance mode with no frame generation.

There are still some significant issues with texture loading. I'm encountering numerous texture-loading errors, and several textures aren't rendering correctly. I haven't progressed beyond the first dungeon yet, because of the aforementioned texture loading problems, so I can't comment on performance in the overworld yet.

However, updating from v2.0.11 to v2.0.12 fixed some previously missing UI elements. Menus and HUD elements that weren't loading before, or were glitching and broken, are now displaying correctly. Also, a lot of the artifacting, screen tearing and ghosting either stopped or just decreased substantially.

I also added "RX_VK_NO_MESH=1" to a newly created "hookshot_env.txt" file, which wasn't applied to runs on previous versions, but on this version i suspect that it applied, as the game wasn't launching at all on 2.0.12 out of the box, but it launched when i added the env file, but i still didn't verify from the actual log.

I'll continue testing and report back as I make progress.

Extra note: For those of you who are still experiencing the game crashing every single time, out of all the fixes i tried, like changing UMA frame buffers to 4, 6 and 8, adding a .bat file, and applying multiple external commands, the only one that actually made the game stop crashing was changing UMA Frame buffer size from the BIOS menu to auto. Give it a try and hopefully it'll work for you.

Update: Lenovo Legion Go 1 (AMD Z1 Extreme), 16gb ram, allocated vram = auto. I managed to get the game running again. Performance has been surprisingly good so far: a consistent 60 FPS inside the first dungeon, and Kokiri forest, using FSR 3.1 Performance mode with no frame generation. There are still some significant issues with texture loading. I'm encountering numerous texture-loading errors, and several textures aren't rendering correctly. I haven't progressed beyond the first dungeon yet, because of the aforementioned texture loading problems, so I can't comment on performance in the overworld yet. However, updating from v2.0.11 to v2.0.12 fixed some previously missing UI elements. Menus and HUD elements that weren't loading before, or were glitching and broken, are now displaying correctly. Also, a lot of the artifacting, screen tearing and ghosting either stopped or just decreased substantially. I also added "RX_VK_NO_MESH=1" to a newly created "hookshot_env.txt" file, which wasn't applied to runs on previous versions, but on this version i suspect that it applied, as the game wasn't launching at all on 2.0.12 out of the box, but it launched when i added the env file, but i still didn't verify from the actual log. I'll continue testing and report back as I make progress. Extra note: For those of you who are still experiencing the game crashing every single time, out of all the fixes i tried, like changing UMA frame buffers to 4, 6 and 8, adding a .bat file, and applying multiple external commands, the only one that actually made the game stop crashing was *changing UMA Frame buffer size from the BIOS menu to auto*. Give it a try and hopefully it'll work for you.
swever826 commented 2026-11-10 14:47:08 +00:00 (Migrated from github.com)

Tried v2.0.13 on my ROG Ally and big improvement! Now on Minimal graphic preset the visual problems are almost unnoticeable (there's still a small flickering happening). The Low preset has big visual problems rarely and the Balanced preset has them but less than before.

hookshot_log.txt

Tried v2.0.13 on my ROG Ally and big improvement! Now on Minimal graphic preset the visual problems are almost unnoticeable (there's still a small flickering happening). The Low preset has big visual problems rarely and the Balanced preset has them but less than before. ![hookshot_log.txt](https://github.com/user-attachments/files/34635137/hookshot_log.txt)
kyran97310-arch commented 2026-11-10 15:21:05 +00:00 (Migrated from github.com)

Hookshot 2.0.13 crashes my ASUS ROG Ally (Windows BSOD)

Hello,

I'm having a serious issue with Hookshot 2.0.13 on my ASUS ROG Ally Z1 Extreme.

When I launch and play the game, my entire system crashes and restarts.

Windows reports the following error:

VIDEO_SCHEDULER_INTERNAL_ERROR (0x119)

My setup:

  • ASUS ROG Ally Z1 Extreme
  • Windows 11
  • AMD Radeon Graphics
  • Vulkan 1.4
  • Hookshot 2.0.13

Previous versions also had graphical issues, including flickering textures and large gray polygons.

Other games work normally. This problem only happens with Hookshot.

I've attached the Hookshot log.

Is this a known issue with AMD GPUs? Is there a possible fix?

Thanks!

hookshot_log.txt

# Hookshot 2.0.13 crashes my ASUS ROG Ally (Windows BSOD) Hello, I'm having a serious issue with Hookshot 2.0.13 on my ASUS ROG Ally Z1 Extreme. When I launch and play the game, my entire system crashes and restarts. Windows reports the following error: **VIDEO_SCHEDULER_INTERNAL_ERROR (0x119)** My setup: - ASUS ROG Ally Z1 Extreme - Windows 11 - AMD Radeon Graphics - Vulkan 1.4 - Hookshot 2.0.13 Previous versions also had graphical issues, including flickering textures and large gray polygons. Other games work normally. This problem only happens with Hookshot. I've attached the Hookshot log. Is this a known issue with AMD GPUs? Is there a possible fix? Thanks! [hookshot_log.txt](https://github.com/user-attachments/files/34636942/hookshot_log.txt)
Que20 commented 2026-11-10 15:37:36 +00:00 (Migrated from github.com)

With the last version 2.0.13 and the following flags, I was able to run the game quite playable (talking 30fps with 2x frame gen FSR 3.1) on my Legion Go S z2 Go 16GB.

RX_VK_NO_MESH=1
RX_VK_PER_QUEUE_FENCES=0
RX_VK_CHECKPOINTS=1
DISABLE_VK_LAYER_VALVE_steam_fossilize_1=1
RX_VK_MIRROR_MB=256
RX_VK_TEX_MAX_DIM=1024
RX_VK_TEX_MAX_MB=128
RX_VK_MESH_NOCULL=2c56dc1006942f74

Also some tweaks with the resolution and frame gen.

With the last version 2.0.13 and the following flags, I was able to run the game quite _playable_ (talking 30fps with 2x frame gen FSR 3.1) on my Legion Go S z2 Go 16GB. ``` RX_VK_NO_MESH=1 RX_VK_PER_QUEUE_FENCES=0 RX_VK_CHECKPOINTS=1 DISABLE_VK_LAYER_VALVE_steam_fossilize_1=1 RX_VK_MIRROR_MB=256 RX_VK_TEX_MAX_DIM=1024 RX_VK_TEX_MAX_MB=128 RX_VK_MESH_NOCULL=2c56dc1006942f74 ``` Also some tweaks with the resolution and frame gen.
drpowerup commented 2026-11-10 15:42:11 +00:00 (Migrated from github.com)

On an AMD handheld under SteamOS, v2.0.12 shows short bursts of broken graphics in Hyrule Field. Adding RX_VK_MIRROR=1 to the launch options removed all of them in my test. The cost was the frame rate: the game went from about 39 fps to about 20.

Tested on

Hardware

•	Lenovo Legion Go S
•	AMD Ryzen Z1 Extreme, 8 cores / 16 threads
•	Integrated Radeon graphics (RDNA 3). The log names it AMD Ryzen Z1 Extreme (RADV PHOENIX)
•	32 GB RAM (the log reports 31,371 MB, plus 16,709 MB swap)

Software

•	SteamOS, Steam Gaming Mode (Gamescope)
•	Mesa RADV, Vulkan 1.4, driver 0x6801063 (Mesa 26.1.99)
•	Hookshot v2.0.12, native Linux build, updated with the Builder
•	Launched as a non-Steam shortcut straight to bin/hookshot

Settings

•	Output resolution 2048x1152
•	Frame generation on (2x in the first run, 3x in the second)
•	A quality preset on
•	Launch options: RX_VK_MESH_OPT=1 HOOKSHOT_NO_UPDATE_CHECK=1

v2.0.13 was not tested. Its changes are the menu and the frame-rate cap, not the renderer.

What goes wrong

Standing in Hyrule Field, these show up within seconds, every session. Each lasts a few frames and then the picture is normal again.

•	A flat red or orange band cuts across the screen, with straight edges.
•	A solid red rectangle covers the upper right of the screen.
•	Half the screen goes dark along a clean diagonal line. The scene is still visible through it.
•	A large heart, filled or outlined, appears at the lower right where the minimap is.
•	The grass turns bright green or white for a moment, with a strong glow.

The game does not crash. Startup and shader precompile finish normally.

What made it stop

One change: RX_VK_MIRROR=1 in front of the launch options. Same install, same save, same place.

With it, none of the above appeared in a session of 3,000 game frames.

What it costs

Without	With RX_VK_MIRROR=1

Broken frames Yes, within seconds None seen
Game frame rate about 39 fps about 20 fps
GPU time per frame 17.8 ms 33.6 ms
Memory sync per frame 0.6 ms 16.9 ms
Copied back to game memory per frame nothing 68 MB

Memory was not short. Usage was lower in the second run (5.5 GB against 9.6 GB). The time goes into copying.

Why I think this happens

The game writes a frame's data into its memory, submits the frame, and starts writing the next one into the same memory.

On a dedicated graphics card, Hookshot gives the GPU its own copy of that memory, taken when the frame was submitted. That copy is the VRAM mirror.

On integrated graphics the mirror is off by default. The GPU reads the game's memory directly, and may read it after the game has started on the next frame. A HUD element or a full-screen effect drawn from half-old, half-new data would look like the sheets and triangles above.

Where this is in the source (tag v2.0.13):

•	The mirror defaults to dedicated cards only: gpu/vk/vk_memory.cpp:1959-1968
•	Without it, buffers are bound straight to game memory: gpu/vk/vk_memory.cpp:2586-2588
•	The comment below that describes this exact effect: gpu/vk/vk_memory.cpp:2590-2592
•	The design rule it breaks, "Nothing the replay reads comes from live guest memory": docs/design.md:96
•	On RADV, submits are also held and sent in batches, which gives the game more time to overwrite: gpu/vk/vk_replay.cpp:138-144

What I can't be sure of

•	The two runs differ in frame rate. A slower game overlaps less with the GPU, so the slowdown alone might hide the problem. Against that, the stray heart was there in v2.0.7 at about 24 fps without the mirror.
•	Frame generation was 2x in the first run and 3x in the second.
•	The clean run was short and only in Hyrule Field.
•	I have not built Hookshot from source. This is one device test plus reading the logs and the code.

What it is not

•	Not the shaders that fail to translate. 30 programs fail at startup, but none of them was used during play.
•	Not a crash or a driver fault. There is none in the log.
•	Not the old precompile crash from v2.0.5. Precompile completes on v2.0.12.

Also in the log

•	The texture budget went to about 8 GB, past the 2,560 MB limit meant for integrated graphics. This looks like #1376, which is on main but not in v2.0.13.
•	Some compute passes were skipped while their shaders were still compiling, at least 40 times.
•	One shader reads a buffer that is not bound: program da7a7ab28b8e73d9, stage 1.

hookshot-steam-v2.0.12-baseline.txt
hookshot-test1-mirror-v2_0_12.txt

On an AMD handheld under SteamOS, v2.0.12 shows short bursts of broken graphics in Hyrule Field. Adding RX_VK_MIRROR=1 to the launch options removed all of them in my test. The cost was the frame rate: the game went from about 39 fps to about 20. Tested on Hardware • Lenovo Legion Go S • AMD Ryzen Z1 Extreme, 8 cores / 16 threads • Integrated Radeon graphics (RDNA 3). The log names it AMD Ryzen Z1 Extreme (RADV PHOENIX) • 32 GB RAM (the log reports 31,371 MB, plus 16,709 MB swap) Software • SteamOS, Steam Gaming Mode (Gamescope) • Mesa RADV, Vulkan 1.4, driver 0x6801063 (Mesa 26.1.99) • Hookshot v2.0.12, native Linux build, updated with the Builder • Launched as a non-Steam shortcut straight to bin/hookshot Settings • Output resolution 2048x1152 • Frame generation on (2x in the first run, 3x in the second) • A quality preset on • Launch options: RX_VK_MESH_OPT=1 HOOKSHOT_NO_UPDATE_CHECK=1 v2.0.13 was not tested. Its changes are the menu and the frame-rate cap, not the renderer. What goes wrong Standing in Hyrule Field, these show up within seconds, every session. Each lasts a few frames and then the picture is normal again. • A flat red or orange band cuts across the screen, with straight edges. • A solid red rectangle covers the upper right of the screen. • Half the screen goes dark along a clean diagonal line. The scene is still visible through it. • A large heart, filled or outlined, appears at the lower right where the minimap is. • The grass turns bright green or white for a moment, with a strong glow. The game does not crash. Startup and shader precompile finish normally. What made it stop One change: RX_VK_MIRROR=1 in front of the launch options. Same install, same save, same place. With it, none of the above appeared in a session of 3,000 game frames. What it costs Without With RX_VK_MIRROR=1 Broken frames Yes, within seconds None seen Game frame rate about 39 fps about 20 fps GPU time per frame 17.8 ms 33.6 ms Memory sync per frame 0.6 ms 16.9 ms Copied back to game memory per frame nothing 68 MB Memory was not short. Usage was lower in the second run (5.5 GB against 9.6 GB). The time goes into copying. Why I think this happens The game writes a frame's data into its memory, submits the frame, and starts writing the next one into the same memory. On a dedicated graphics card, Hookshot gives the GPU its own copy of that memory, taken when the frame was submitted. That copy is the VRAM mirror. On integrated graphics the mirror is off by default. The GPU reads the game's memory directly, and may read it after the game has started on the next frame. A HUD element or a full-screen effect drawn from half-old, half-new data would look like the sheets and triangles above. Where this is in the source (tag v2.0.13): • The mirror defaults to dedicated cards only: gpu/vk/vk_memory.cpp:1959-1968 • Without it, buffers are bound straight to game memory: gpu/vk/vk_memory.cpp:2586-2588 • The comment below that describes this exact effect: gpu/vk/vk_memory.cpp:2590-2592 • The design rule it breaks, "Nothing the replay reads comes from live guest memory": docs/design.md:96 • On RADV, submits are also held and sent in batches, which gives the game more time to overwrite: gpu/vk/vk_replay.cpp:138-144 What I can't be sure of • The two runs differ in frame rate. A slower game overlaps less with the GPU, so the slowdown alone might hide the problem. Against that, the stray heart was there in v2.0.7 at about 24 fps without the mirror. • Frame generation was 2x in the first run and 3x in the second. • The clean run was short and only in Hyrule Field. • I have not built Hookshot from source. This is one device test plus reading the logs and the code. What it is not • Not the shaders that fail to translate. 30 programs fail at startup, but none of them was used during play. • Not a crash or a driver fault. There is none in the log. • Not the old precompile crash from v2.0.5. Precompile completes on v2.0.12. Also in the log • The texture budget went to about 8 GB, past the 2,560 MB limit meant for integrated graphics. This looks like #1376, which is on main but not in v2.0.13. • Some compute passes were skipped while their shaders were still compiling, at least 40 times. • One shader reads a buffer that is not bound: program da7a7ab28b8e73d9, stage 1. [hookshot-steam-v2.0.12-baseline.txt](https://github.com/user-attachments/files/34637731/hookshot-steam-v2.0.12-baseline.txt) [hookshot-test1-mirror-v2_0_12.txt](https://github.com/user-attachments/files/34637732/hookshot-test1-mirror-v2_0_12.txt)
myylkn commented 2026-11-10 16:56:04 +00:00 (Migrated from github.com)

Strix Halo (Radeon 8060S, GPD Win 5): near-locked 60 fps in Kokiri Forest with no flashes. Two local changes and the settings behind it.

Follow-up to #1186 (closed in favour of this tracker). Same device: GPD Win 5, Ryzen AI Max+ 395, Radeon 8060S (8 GB UMA), Bazzite, Mesa/RADV 26.2.6, Steam Game Mode, on the charger.

Result: v2.0.11 with the two patches below, Handheld profile on, Resolution 100%, Output 1920x1080, frame generation off. Kokiri Forest at ~2,300–3,000 draws a frame runs at 57–60 fps, mostly a steady 60. No white flashes, stray HUD pieces or missing objects. Before the patches it was ~36 fps, with flashes once parallel replay was on.

1. The flashes: value_rec keeps the first part of a split submission (gpu/vk/vk_replay.cpp, submit_recording)

With RX_VK_PARALLEL (and RX_VK_CHUNK), a submission is sent in several recordings. The first one carries the submission's value with signal_value = false. value_rec.emplace keeps that first recording's seq, and the tail's later seq never replaces it. So wait_recorded (the game's fence waits and the readback waits) returns as soon as the first part finishes, while the segments and the tail are still on the GPU. The log showed 0 sync waits in 5 s. The game then writes the next frame's data while the GPU is still drawing with it. That gives the one-frame flashes, the unlit objects and the stray HUD on a UMA APU, where the GPU reads guest memory live. After the fix there are ~229 waits in 5 s and no flashes.

// was:
//   for (uint64_t v : rec_open_values) value_rec.emplace(v, seq);
//   if (r.value) value_rec.emplace(r.value, seq);
for (uint64_t v : rec_open_values) { uint64_t& at = value_rec[v]; at = std::max(at, seq); }
if (r.value && signal_value) { uint64_t& at = value_rec[r.value]; at = std::max(at, seq); }

I checked v2.0.13: it still has the emplace version (lines 335–336), so the bug is still there. The patch applies cleanly on v2.0.13 too.

2. CPU: all threads on one CCD (RX_VK_PIN_L3=1, local option)

Once the GPU was waited on correctly, the frame became CPU-bound: the main thread plus the replay thread. The Max+ 395 has two CCDs. Pinning every thread of the process to the CPUs that share CPU 0's L3 (0-7,16-23) with sched_setaffinity over /proc/self/task, called once at device creation, raised heavy scenes from ~53–56 to 57–60. That's 14 threads moved, and the ones created later inherit it. It's about 40 lines in vk_main.cpp, and I can share it if it's useful.

Settings

RX_VK_PARALLEL=4
RX_VK_BATCH=0
RX_VK_CHUNK=40
RX_VK_PARALLEL_SEG=64
RX_VK_PIN_L3=1

Power matters on this APU: TDP 85 W with the GPU clock locked high gave the best result. At 80 W, locking the GPU clock took power from the CPU and was slower than automatic clocks.

Investigation done with Claude (Anthropic's AI assistant).

**Strix Halo (Radeon 8060S, GPD Win 5): near-locked 60 fps in Kokiri Forest with no flashes. Two local changes and the settings behind it.** Follow-up to #1186 (closed in favour of this tracker). Same device: GPD Win 5, Ryzen AI Max+ 395, Radeon 8060S (8 GB UMA), Bazzite, Mesa/RADV 26.2.6, Steam Game Mode, on the charger. **Result:** v2.0.11 with the two patches below, Handheld profile on, Resolution 100%, Output 1920x1080, frame generation off. Kokiri Forest at ~2,300–3,000 draws a frame runs at 57–60 fps, mostly a steady 60. No white flashes, stray HUD pieces or missing objects. Before the patches it was ~36 fps, with flashes once parallel replay was on. ### 1. The flashes: `value_rec` keeps the first part of a split submission (`gpu/vk/vk_replay.cpp`, `submit_recording`) With `RX_VK_PARALLEL` (and `RX_VK_CHUNK`), a submission is sent in several recordings. The first one carries the submission's value with `signal_value = false`. `value_rec.emplace` keeps that first recording's seq, and the tail's later seq never replaces it. So `wait_recorded` (the game's fence waits and the readback waits) returns as soon as the first part finishes, while the segments and the tail are still on the GPU. The log showed 0 sync waits in 5 s. The game then writes the next frame's data while the GPU is still drawing with it. That gives the one-frame flashes, the unlit objects and the stray HUD on a UMA APU, where the GPU reads guest memory live. After the fix there are ~229 waits in 5 s and no flashes. ```cpp // was: // for (uint64_t v : rec_open_values) value_rec.emplace(v, seq); // if (r.value) value_rec.emplace(r.value, seq); for (uint64_t v : rec_open_values) { uint64_t& at = value_rec[v]; at = std::max(at, seq); } if (r.value && signal_value) { uint64_t& at = value_rec[r.value]; at = std::max(at, seq); } ``` I checked v2.0.13: it still has the `emplace` version (lines 335–336), so the bug is still there. The patch applies cleanly on v2.0.13 too. ### 2. CPU: all threads on one CCD (`RX_VK_PIN_L3=1`, local option) Once the GPU was waited on correctly, the frame became CPU-bound: the main thread plus the replay thread. The Max+ 395 has two CCDs. Pinning every thread of the process to the CPUs that share CPU 0's L3 (`0-7,16-23`) with `sched_setaffinity` over `/proc/self/task`, called once at device creation, raised heavy scenes from ~53–56 to 57–60. That's 14 threads moved, and the ones created later inherit it. It's about 40 lines in `vk_main.cpp`, and I can share it if it's useful. ### Settings ``` RX_VK_PARALLEL=4 RX_VK_BATCH=0 RX_VK_CHUNK=40 RX_VK_PARALLEL_SEG=64 RX_VK_PIN_L3=1 ``` Power matters on this APU: TDP 85 W with the GPU clock locked high gave the best result. At 80 W, locking the GPU clock took power from the CPU and was slower than automatic clocks. Investigation done with Claude (Anthropic's AI assistant).
kakuduo commented 2026-11-10 17:22:40 +00:00 (Migrated from github.com)

CRITICAL: System BSOD (VIDEO_SCHEDULER_INTERNAL_ERROR, 0x119)
Device: Radeon 780M (Ryzen 7 7840U, 32GB RAM, Win11).
Running the game causes a full system crash and forces the PC to reboot.

Image

hookshot_log.2.txt
hookshot_log.1.txt
hookshot_log.3.txt

CRITICAL: System BSOD (VIDEO_SCHEDULER_INTERNAL_ERROR, 0x119) Device: Radeon 780M (Ryzen 7 7840U, 32GB RAM, Win11). Running the game causes a full system crash and forces the PC to reboot. <img width="913" height="534" alt="Image" src="https://github.com/user-attachments/assets/2465a13a-68bf-48f3-a64d-aca44e515317" /> [hookshot_log.2.txt](https://github.com/user-attachments/files/34641832/hookshot_log.2.txt) [hookshot_log.1.txt](https://github.com/user-attachments/files/34641833/hookshot_log.1.txt) [hookshot_log.3.txt](https://github.com/user-attachments/files/34641834/hookshot_log.3.txt)
NotRexed commented 2026-11-10 21:45:44 +00:00 (Migrated from github.com)

Community work-around from Discord, not an official recommendation: on a Legion Go S (Z2 Go) the game is playable at about 30 fps with FSR 3.1 frame generation 2x, using these lines in hookshot_env.txt (in the game folder, next to image.bin):

RX_VK_NO_MESH=1
RX_VK_PER_QUEUE_FENCES=0
RX_VK_MIRROR_MB=256
RX_VK_TEX_MAX_DIM=1024
RX_VK_TEX_MAX_MB=128

RX_VK_NO_MESH=1 skips the mesh draws (some objects may be missing), and the last three keep memory use small (smaller mirror budget, textures capped at 1024 pixels and 128 MB). If you try it on another handheld, please post the result here.

Community work-around from Discord, not an official recommendation: on a Legion Go S (Z2 Go) the game is playable at about 30 fps with FSR 3.1 frame generation 2x, using these lines in hookshot_env.txt (in the game folder, next to image.bin): ``` RX_VK_NO_MESH=1 RX_VK_PER_QUEUE_FENCES=0 RX_VK_MIRROR_MB=256 RX_VK_TEX_MAX_DIM=1024 RX_VK_TEX_MAX_MB=128 ``` `RX_VK_NO_MESH=1` skips the mesh draws (some objects may be missing), and the last three keep memory use small (smaller mirror budget, textures capped at 1024 pixels and 128 MB). If you try it on another handheld, please post the result here.
romulo-arpini commented 2026-11-10 22:03:17 +00:00 (Migrated from github.com)

Strix Halo (Radeon 8060S, GPD Win 5): near-locked 60 fps in Kokiri Forest with no flashes. Two local changes and the settings behind it.

Follow-up to #1186 (closed in favour of this tracker). Same device: GPD Win 5, Ryzen AI Max+ 395, Radeon 8060S (8 GB UMA), Bazzite, Mesa/RADV 26.2.6, Steam Game Mode, on the charger.

Result: v2.0.11 with the two patches below, Handheld profile on, Resolution 100%, Output 1920x1080, frame generation off. Kokiri Forest at ~2,300–3,000 draws a frame runs at 57–60 fps, mostly a steady 60. No white flashes, stray HUD pieces or missing objects. Before the patches it was ~36 fps, with flashes once parallel replay was on.

1. The flashes: value_rec keeps the first part of a split submission (gpu/vk/vk_replay.cpp, submit_recording)

With RX_VK_PARALLEL (and RX_VK_CHUNK), a submission is sent in several recordings. The first one carries the submission's value with signal_value = false. value_rec.emplace keeps that first recording's seq, and the tail's later seq never replaces it. So wait_recorded (the game's fence waits and the readback waits) returns as soon as the first part finishes, while the segments and the tail are still on the GPU. The log showed 0 sync waits in 5 s. The game then writes the next frame's data while the GPU is still drawing with it. That gives the one-frame flashes, the unlit objects and the stray HUD on a UMA APU, where the GPU reads guest memory live. After the fix there are ~229 waits in 5 s and no flashes.

// was:
// for (uint64_t v : rec_open_values) value_rec.emplace(v, seq);
// if (r.value) value_rec.emplace(r.value, seq);
for (uint64_t v : rec_open_values) { uint64_t& at = value_rec[v]; at = std::max(at, seq); }
if (r.value && signal_value) { uint64_t& at = value_rec[r.value]; at = std::max(at, seq); }
I checked v2.0.13: it still has the emplace version (lines 335–336), so the bug is still there. The patch applies cleanly on v2.0.13 too.

2. CPU: all threads on one CCD (RX_VK_PIN_L3=1, local option)

Once the GPU was waited on correctly, the frame became CPU-bound: the main thread plus the replay thread. The Max+ 395 has two CCDs. Pinning every thread of the process to the CPUs that share CPU 0's L3 (0-7,16-23) with sched_setaffinity over /proc/self/task, called once at device creation, raised heavy scenes from ~53–56 to 57–60. That's 14 threads moved, and the ones created later inherit it. It's about 40 lines in vk_main.cpp, and I can share it if it's useful.

Settings

RX_VK_PARALLEL=4
RX_VK_BATCH=0
RX_VK_CHUNK=40
RX_VK_PARALLEL_SEG=64
RX_VK_PIN_L3=1

Power matters on this APU: TDP 85 W with the GPU clock locked high gave the best result. At 80 W, locking the GPU clock took power from the CPU and was slower than automatic clocks.

Investigation done with Claude (Anthropic's AI assistant).

Hi mate, I have a flow z13 with the same APU, how can I apply the first setting? The second one I put on a hookshot_env.txt but it doesnt seem to matter much.

Thank you in advance.

> **Strix Halo (Radeon 8060S, GPD Win 5): near-locked 60 fps in Kokiri Forest with no flashes. Two local changes and the settings behind it.** > > Follow-up to [#1186](https://git.magicbean.dev/MagicBeanDev/Hookshot/issues/1186) (closed in favour of this tracker). Same device: GPD Win 5, Ryzen AI Max+ 395, Radeon 8060S (8 GB UMA), Bazzite, Mesa/RADV 26.2.6, Steam Game Mode, on the charger. > > **Result:** v2.0.11 with the two patches below, Handheld profile on, Resolution 100%, Output 1920x1080, frame generation off. Kokiri Forest at ~2,300–3,000 draws a frame runs at 57–60 fps, mostly a steady 60. No white flashes, stray HUD pieces or missing objects. Before the patches it was ~36 fps, with flashes once parallel replay was on. > > ### 1. The flashes: `value_rec` keeps the first part of a split submission (`gpu/vk/vk_replay.cpp`, `submit_recording`) > With `RX_VK_PARALLEL` (and `RX_VK_CHUNK`), a submission is sent in several recordings. The first one carries the submission's value with `signal_value = false`. `value_rec.emplace` keeps that first recording's seq, and the tail's later seq never replaces it. So `wait_recorded` (the game's fence waits and the readback waits) returns as soon as the first part finishes, while the segments and the tail are still on the GPU. The log showed 0 sync waits in 5 s. The game then writes the next frame's data while the GPU is still drawing with it. That gives the one-frame flashes, the unlit objects and the stray HUD on a UMA APU, where the GPU reads guest memory live. After the fix there are ~229 waits in 5 s and no flashes. > > // was: > // for (uint64_t v : rec_open_values) value_rec.emplace(v, seq); > // if (r.value) value_rec.emplace(r.value, seq); > for (uint64_t v : rec_open_values) { uint64_t& at = value_rec[v]; at = std::max(at, seq); } > if (r.value && signal_value) { uint64_t& at = value_rec[r.value]; at = std::max(at, seq); } > I checked v2.0.13: it still has the `emplace` version (lines 335–336), so the bug is still there. The patch applies cleanly on v2.0.13 too. > > ### 2. CPU: all threads on one CCD (`RX_VK_PIN_L3=1`, local option) > Once the GPU was waited on correctly, the frame became CPU-bound: the main thread plus the replay thread. The Max+ 395 has two CCDs. Pinning every thread of the process to the CPUs that share CPU 0's L3 (`0-7,16-23`) with `sched_setaffinity` over `/proc/self/task`, called once at device creation, raised heavy scenes from ~53–56 to 57–60. That's 14 threads moved, and the ones created later inherit it. It's about 40 lines in `vk_main.cpp`, and I can share it if it's useful. > > ### Settings > ``` > RX_VK_PARALLEL=4 > RX_VK_BATCH=0 > RX_VK_CHUNK=40 > RX_VK_PARALLEL_SEG=64 > RX_VK_PIN_L3=1 > ``` > > Power matters on this APU: TDP 85 W with the GPU clock locked high gave the best result. At 80 W, locking the GPU clock took power from the CPU and was slower than automatic clocks. > > Investigation done with Claude (Anthropic's AI assistant). Hi mate, I have a flow z13 with the same APU, how can I apply the first setting? The second one I put on a hookshot_env.txt but it doesnt seem to matter much. Thank you in advance.
Stevo4863288 commented 2026-11-10 22:11:02 +00:00 (Migrated from github.com)

Rog ally Z1E X 8gb vram, Win 11
Ive not had any black screens since 2.0.14 only issue is hard reboot occasionally but it works fine next load in have been playing for almost n hour n half, while reloading saves and intro to make sure black screen is gone! Flickering goes away when I turn frame gen x2 on, and frame pacing off. Also keep frame rate limited to 60 in settings or else it hardcrash everytime. I attached pic of ingame hookshot settings. Will attach a log next hardcrash upon loading.

20261110_165650
Rog ally Z1E X 8gb vram, Win 11 Ive not had any black screens since 2.0.14 only issue is hard reboot occasionally but it works fine next load in have been playing for almost n hour n half, while reloading saves and intro to make sure black screen is gone! Flickering goes away when I turn frame gen x2 on, and frame pacing off. Also keep frame rate limited to 60 in settings or else it hardcrash everytime. I attached pic of ingame hookshot settings. Will attach a log next hardcrash upon loading. <img width="4000" height="1848" alt="20261110_165650" src="https://github.com/user-attachments/assets/4144910a-7b49-4271-8e43-14b4c5ee4dc9" />
ricardoluevano commented 2026-11-10 22:28:39 +00:00 (Migrated from github.com)

Community work-around from Discord, not an official recommendation: on a Legion Go S (Z2 Go) the game is playable at about 30 fps with FSR 3.1 frame generation 2x, using these lines in hookshot_env.txt (in the game folder, next to image.bin):

RX_VK_NO_MESH=1
RX_VK_PER_QUEUE_FENCES=0
RX_VK_MIRROR_MB=256
RX_VK_TEX_MAX_DIM=1024
RX_VK_TEX_MAX_MB=128

Tested in legion go z1 Xtreme 16gb 4gb uma, deleting the no mesh options works too, very little flickering but it's ok the problem I had more stuttering, if I delete the shaders manually the program will compile it again ? Thanks

> Community work-around from Discord, not an official recommendation: on a Legion Go S (Z2 Go) the game is playable at about 30 fps with FSR 3.1 frame generation 2x, using these lines in hookshot_env.txt (in the game folder, next to image.bin): > > ``` > RX_VK_NO_MESH=1 > RX_VK_PER_QUEUE_FENCES=0 > RX_VK_MIRROR_MB=256 > RX_VK_TEX_MAX_DIM=1024 > RX_VK_TEX_MAX_MB=128 > ``` Tested in legion go z1 Xtreme 16gb 4gb uma, deleting the no mesh options works too, very little flickering but it's ok the problem I had more stuttering, if I delete the shaders manually the program will compile it again ? Thanks
skyekinghorn-svg commented 2026-11-10 23:10:43 +00:00 (Migrated from github.com)

Thanks! Is this aimed at the AMD reboot on save load as well, or just
performance? On the Ally X, v2.0.8 was stable, but v2.0.9–v2.0.11
hard-reboot on the second launch's save load. Happy to test a build with
the thread change if it might help.

On Tue, Nov 10, 2026, 2:29 PM ricardoluevano @.***>
wrote:

ricardoluevano left a comment (NotRexed/Hookshot#997)
https://git.magicbean.dev/MagicBeanDev/Hookshot/issues/997

Community work-around from Discord, not an official recommendation: on a
Legion Go S (Z2 Go) the game is playable at about 30 fps with FSR 3.1 frame
generation 2x, using these lines in hookshot_env.txt (in the game folder,
next to image.bin):

RX_VK_NO_MESH=1
RX_VK_PER_QUEUE_FENCES=0
RX_VK_MIRROR_MB=256
RX_VK_TEX_MAX_DIM=1024
RX_VK_TEX_MAX_MB=128

RX_VK_NO_MESH=1 skips the mesh draws (some objects may be missing), and
the last three keep memory use small (smaller mirror budget, textures
capped at 1024 pixels and 128 MB). If you try it on another handheld,
please post the result here.
Tested in legion go z1 Xtreme 16gb 4gb uma, deleting the no mesh options
works too, very little flickering but it's ok the problem I had more
stuttering, if I delete the shaders manually the program will compile it
again ? Thanks

—
Reply to this email directly, view it on GitHub
https://git.magicbean.dev/MagicBeanDev/Hookshot/issues/997?email_source=notifications&email_token=CUKW3AJLTA63VYUY3JPLIST5YOJD3A5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTMNZYGEYDEMJTHAYKM4TFMFZW63VHMNXW23LFNZ2KKZLWMVXHJLDGN5XXIZLSL5RWY2LDNM#issuecomment-6781021380,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/CUKW3ALZ5FEGR35Q7UCGDLT5YOJD3AVCNFSNUABGKJSXA33TNF2G64TZHMYTINBWHE3DENJSGA5US43TOVSTWNRSHAYDMMRYGE2DJILWAI
.
Triage notifications, keep track of coding agent tasks and review pull
requests on the go with GitHub Mobile for iOS
https://github.com/notifications/mobile/ios/CUKW3AMOC5FSBSSJBEOBGML5YOJD3A5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTMNZYGEYDEMJTHAYKM4TFMFZW63VHMNXW23LFNZ2KKZLWMVXHJKTGN5XXIZLSL5UW64Y
and Android
https://github.com/notifications/mobile/android/CUKW3AMPIVN75NIBAEK6SCL5YOJD3A5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTMNZYGEYDEMJTHAYKM4TFMFZW63VHMNXW23LFNZ2KKZLWMVXHJLTGN5XXIZLSL5QW4ZDSN5UWI.
Download it today!
You are receiving this because you commented.Message ID:
@.***>

Thanks! Is this aimed at the AMD reboot on save load as well, or just performance? On the Ally X, v2.0.8 was stable, but v2.0.9–v2.0.11 hard-reboot on the second launch's save load. Happy to test a build with the thread change if it might help. On Tue, Nov 10, 2026, 2:29 PM ricardoluevano ***@***.***> wrote: > *ricardoluevano* left a comment (NotRexed/Hookshot#997) > <https://git.magicbean.dev/MagicBeanDev/Hookshot/issues/997> > > Community work-around from Discord, not an official recommendation: on a > Legion Go S (Z2 Go) the game is playable at about 30 fps with FSR 3.1 frame > generation 2x, using these lines in hookshot_env.txt (in the game folder, > next to image.bin): > > RX_VK_NO_MESH=1 > RX_VK_PER_QUEUE_FENCES=0 > RX_VK_MIRROR_MB=256 > RX_VK_TEX_MAX_DIM=1024 > RX_VK_TEX_MAX_MB=128 > > RX_VK_NO_MESH=1 skips the mesh draws (some objects may be missing), and > the last three keep memory use small (smaller mirror budget, textures > capped at 1024 pixels and 128 MB). If you try it on another handheld, > please post the result here. > Tested in legion go z1 Xtreme 16gb 4gb uma, deleting the no mesh options > works too, very little flickering but it's ok the problem I had more > stuttering, if I delete the shaders manually the program will compile it > again ? Thanks > > — > Reply to this email directly, view it on GitHub > <https://git.magicbean.dev/MagicBeanDev/Hookshot/issues/997?email_source=notifications&email_token=CUKW3AJLTA63VYUY3JPLIST5YOJD3A5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTMNZYGEYDEMJTHAYKM4TFMFZW63VHMNXW23LFNZ2KKZLWMVXHJLDGN5XXIZLSL5RWY2LDNM#issuecomment-6781021380>, > or unsubscribe > <https://github.com/notifications/unsubscribe-auth/CUKW3ALZ5FEGR35Q7UCGDLT5YOJD3AVCNFSNUABGKJSXA33TNF2G64TZHMYTINBWHE3DENJSGA5US43TOVSTWNRSHAYDMMRYGE2DJILWAI> > . > Triage notifications, keep track of coding agent tasks and review pull > requests on the go with GitHub Mobile for iOS > <https://github.com/notifications/mobile/ios/CUKW3AMOC5FSBSSJBEOBGML5YOJD3A5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTMNZYGEYDEMJTHAYKM4TFMFZW63VHMNXW23LFNZ2KKZLWMVXHJKTGN5XXIZLSL5UW64Y> > and Android > <https://github.com/notifications/mobile/android/CUKW3AMPIVN75NIBAEK6SCL5YOJD3A5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTMNZYGEYDEMJTHAYKM4TFMFZW63VHMNXW23LFNZ2KKZLWMVXHJLTGN5XXIZLSL5QW4ZDSN5UWI>. > Download it today! > You are receiving this because you commented.Message ID: > ***@***.***> >
pavelrossi commented 2026-11-10 23:15:08 +00:00 (Migrated from github.com)

Hi @NotRexed ,

I’m testing Hookshot on a Lenovo Legion Go 1 with a Ryzen Z1 Extreme, integrated Radeon graphics, 16 GB of shared memory, and Windows 11. I’m posting this in issue #997 because the behavior may be relevant to the AMD handheld reports.

Build and previous progress

  • Hookshot v2.0.14.
  • Earlier experimental builds had a permanent black/frozen display after the opening cinematic. We eventually got visible 3D gameplay, the Insert menu, and the FPS overlay working.
  • I have been able to load my Kokiri Forest save, move around the village, and reach the sword chest.
  • Before this latest test, I was still seeing frequent flashes/flicker, missing geometry and texture artifacts, and unstable frame rates. Some Kokiri areas had reached roughly 47–49 FPS, but performance could also drop sharply and stutter.

A/B test
I ran the prepared A/B launchers on the same v2.0.14 installation, using the same graphics settings and save. The only intended difference between the runs was:

B:
RX_VK_PER_QUEUE_FENCES=0

I did not enable RX_VK_NO_MESH=1, RX_VK_MIRROR=1, RX_VK_MIRROR_MB=256, RX_VK_TEX_MAX_DIM=1024, or RX_VK_TEX_MAX_MB=128. I also did not change the graphics settings specifically for B. The point was to isolate the fence behavior while keeping the other settings the same.

Result so far
During a short test in Kokiri Forest, the B run appeared to eliminate the flashing, and the frame rate felt much steadier. I have not played long enough or repeated the test enough times to call this confirmed, but it is the clearest improvement I have seen so far.

Earlier log observations
The earlier log from this setup identified the integrated AMD Radeon GPU and Vulkan 1.4, and reported mesh shader support. It showed a 2560 MB texture-cache budget, with reported texture use close to that budget at one point. The VRAM mirror path was reported as off.

That earlier run recorded about 5,280 presents and a final reported rate of 34.1 FPS; there were also periods where the rate fell into the low 20s and later recovered into the 50s. The log contained some long queue-finish/wait intervals, including intervals around 0.9–1.4 seconds. Those observations are from the earlier run, not measurements from the latest B test.

Could you please look at the attached A and B logs and check:

  1. Whether the B log confirms that RX_VK_PER_QUEUE_FENCES=0 was actually applied.
  2. Whether the synchronization or queue-wait data changes between A and B.
  3. Whether this is a known or expected workaround on AMD integrated GPUs.
  4. Whether the apparent reduction in flashing could come with a risk of stalls, device loss, or other correctness problems.

I’ll repeat the B test for longer and report whether the result is consistent. For now, this is promising but preliminary.

Thanks for your work on Hookshot.

A-hookshot_log.1.txt
A-hookshot_log.txt
B-hookshot_log.1.txt
B-hookshot_log.txt

Hi @NotRexed , I’m testing Hookshot on a Lenovo Legion Go 1 with a Ryzen Z1 Extreme, integrated Radeon graphics, 16 GB of shared memory, and Windows 11. I’m posting this in issue #997 because the behavior may be relevant to the AMD handheld reports. Build and previous progress - Hookshot v2.0.14. - Earlier experimental builds had a permanent black/frozen display after the opening cinematic. We eventually got visible 3D gameplay, the Insert menu, and the FPS overlay working. - I have been able to load my Kokiri Forest save, move around the village, and reach the sword chest. - Before this latest test, I was still seeing frequent flashes/flicker, missing geometry and texture artifacts, and unstable frame rates. Some Kokiri areas had reached roughly 47–49 FPS, but performance could also drop sharply and stutter. A/B test I ran the prepared A/B launchers on the same v2.0.14 installation, using the same graphics settings and save. The only intended difference between the runs was: B: RX_VK_PER_QUEUE_FENCES=0 I did not enable RX_VK_NO_MESH=1, RX_VK_MIRROR=1, RX_VK_MIRROR_MB=256, RX_VK_TEX_MAX_DIM=1024, or RX_VK_TEX_MAX_MB=128. I also did not change the graphics settings specifically for B. The point was to isolate the fence behavior while keeping the other settings the same. Result so far During a short test in Kokiri Forest, the B run appeared to eliminate the flashing, and the frame rate felt much steadier. I have not played long enough or repeated the test enough times to call this confirmed, but it is the clearest improvement I have seen so far. Earlier log observations The earlier log from this setup identified the integrated AMD Radeon GPU and Vulkan 1.4, and reported mesh shader support. It showed a 2560 MB texture-cache budget, with reported texture use close to that budget at one point. The VRAM mirror path was reported as off. That earlier run recorded about 5,280 presents and a final reported rate of 34.1 FPS; there were also periods where the rate fell into the low 20s and later recovered into the 50s. The log contained some long queue-finish/wait intervals, including intervals around 0.9–1.4 seconds. Those observations are from the earlier run, not measurements from the latest B test. Could you please look at the attached A and B logs and check: 1. Whether the B log confirms that RX_VK_PER_QUEUE_FENCES=0 was actually applied. 2. Whether the synchronization or queue-wait data changes between A and B. 3. Whether this is a known or expected workaround on AMD integrated GPUs. 4. Whether the apparent reduction in flashing could come with a risk of stalls, device loss, or other correctness problems. I’ll repeat the B test for longer and report whether the result is consistent. For now, this is promising but preliminary. Thanks for your work on Hookshot. [A-hookshot_log.1.txt](https://github.com/user-attachments/files/34655902/A-hookshot_log.1.txt) [A-hookshot_log.txt](https://github.com/user-attachments/files/34655903/A-hookshot_log.txt) [B-hookshot_log.1.txt](https://github.com/user-attachments/files/34655901/B-hookshot_log.1.txt) [B-hookshot_log.txt](https://github.com/user-attachments/files/34655900/B-hookshot_log.txt)
myylkn commented 2026-11-10 23:24:20 +00:00 (Migrated from github.com)

@romulo-arpini Neither of them is a setting. Both are code changes in my own local build, and that's why the env line did nothing for you: RX_VK_PIN_L3 only exists in that build, so the official one ignores it.

  • The flash fix is the change in submit_recording in gpu/vk/vk_replay.cpp from my comment above (the two emplace lines replaced with the std::max version). It needs hookshot_vk.so / the Vulkan back end rebuilt from source.
  • The CCD pin is about 40 extra lines in vk_main.cpp. Without a rebuild you can get much the same effect on Linux by starting the game pinned to one CCD, for example with Steam launch options taskset -c 0-7,16-23 %command%. On Windows: Task Manager → Details → Set affinity → CPUs 0-7 and 16-23, or start /affinity FF00FF hookshot.exe. The CPU numbering for each CCD can differ, so check yours first.

I'd rather not pass binaries around. The clean way is for the flash fix to go into Hookshot itself. @NotRexed, would you take a PR with the value_rec change? It's small, and it's what removed the flashes and stray HUD here with RX_VK_PARALLEL on. RX_VK_REC_MAP_FIRST=1 keeps the old behaviour for A/B testing.

Investigation done with Claude (Anthropic's AI assistant).

@romulo-arpini Neither of them is a setting. Both are code changes in my own local build, and that's why the env line did nothing for you: `RX_VK_PIN_L3` only exists in that build, so the official one ignores it. - **The flash fix** is the change in `submit_recording` in `gpu/vk/vk_replay.cpp` from my comment above (the two `emplace` lines replaced with the `std::max` version). It needs `hookshot_vk.so` / the Vulkan back end rebuilt from source. - **The CCD pin** is about 40 extra lines in `vk_main.cpp`. Without a rebuild you can get much the same effect on Linux by starting the game pinned to one CCD, for example with Steam launch options `taskset -c 0-7,16-23 %command%`. On Windows: Task Manager → Details → Set affinity → CPUs 0-7 and 16-23, or `start /affinity FF00FF hookshot.exe`. The CPU numbering for each CCD can differ, so check yours first. I'd rather not pass binaries around. The clean way is for the flash fix to go into Hookshot itself. @NotRexed, would you take a PR with the `value_rec` change? It's small, and it's what removed the flashes and stray HUD here with `RX_VK_PARALLEL` on. `RX_VK_REC_MAP_FIRST=1` keeps the old behaviour for A/B testing. Investigation done with Claude (Anthropic's AI assistant).
NotRexed commented 2026-11-11 01:49:19 +00:00 (Migrated from github.com)

One more from Discord (v2.0.14, Windows, Radeon 780M, 24 GB of memory): white flashing textures, then a crash while loading in. The log runs normally at 0.4 GB of VRAM and a 2560 MB texture budget, then ends with vk: slow submit: 91392.5 ms ... slot wait 91360.8, submit 34168 failed (-4) and VK_ERROR_DEVICE_LOST: the GPU stalled for about 90 seconds before the driver reset it, the same device-lost pattern as #996.

One more from Discord (v2.0.14, Windows, Radeon 780M, 24 GB of memory): white flashing textures, then a crash while loading in. The log runs normally at 0.4 GB of VRAM and a 2560 MB texture budget, then ends with `vk: slow submit: 91392.5 ms ... slot wait 91360.8`, `submit 34168 failed (-4)` and `VK_ERROR_DEVICE_LOST`: the GPU stalled for about 90 seconds before the driver reset it, the same device-lost pattern as #996.
willcrisis commented 2026-11-11 02:37:03 +00:00 (Migrated from github.com)

ROG Ally X (Z1 Extreme, RADV PHOENIX, Linux): the one-frame flashes and stray HUD are gone with the value_rec fix, confirming @myylkn 's finding above on another device.

Symptoms before, in Hyrule Field and Castle Town: HUD pieces drawn stretched across the screen for one frame (the minimap as a cone from a point, the slingshot's "22" drawn huge, hollow hearts), grass drawn flat white or blue, and whole-screen brightness jumps. The frame before and the frame after were always clean. The log shows VRAM mirror of buffer pools off and batched submits on (RX_VK_BATCH, on with RADV).

Cause (as myylkn described): in submit_recording (gpu/vk/vk_replay.cpp), value_rec.emplace keeps the first recording of a submission split by RX_VK_CHUNK (on by default, 120 draws a part), or of one stopped at an event wait and finished later. wait_recorded then returns after the first part, for both the fence waits and the exposure readback wait, and the game rewrites memory the later parts still read in place. It is still there on main and v2.1.0-rc.2.

Fix used (a variant of the patch above that keeps registering r.value when the recording does not signal, so a wait on a stopped submission still finds its recording):

const auto finished_in = [&](uint64_t v) {
    auto it = value_rec.find(v);
    if (it == value_rec.end()) value_rec.emplace(v, seq);
    else if (it->second < seq) it->second = seq;
};
for (uint64_t v : rec_open_values) finished_in(v);
if (r.value) finished_in(r.value);

Only hookshot_vk.so needs rebuilding (RX_VK_ONLY=1, built per release, since the renderer API version changes between releases).

Measured on v2.0.13 in Hyrule Field, counting one-frame luminance spikes in screen recordings:

One-frame flashes, any size Large ones (≥ 15 of 255 luma)
stock (69 s) 104 15
with the fix (42 s) 3 0 (the largest was a real sword-hit effect)

GPU waits in 5 s: 4–109 sync waits (31–232 ms) before, 103–137 (1.4–1.8 s) after. It costs frame rate: the FPS overlay in the field read roughly 45–70 before and 38–49 after (two recordings, not a controlled benchmark). Part of the old frame rate came from the game running ahead of the GPU.

This may also bear on #1795, which copies uniform buffers on GPUs without mirrors for the same symptoms. An A/B with this fix alone, with RX_VK_UB_SNAPSHOT=0, would show how much of that is this wait.

The analysis was done with AI assistance (Claude); the testing and recordings are mine.

**ROG Ally X (Z1 Extreme, RADV PHOENIX, Linux): the one-frame flashes and stray HUD are gone with the `value_rec` fix, confirming @myylkn 's finding above on another device.** Symptoms before, in Hyrule Field and Castle Town: HUD pieces drawn stretched across the screen for one frame (the minimap as a cone from a point, the slingshot's "22" drawn huge, hollow hearts), grass drawn flat white or blue, and whole-screen brightness jumps. The frame before and the frame after were always clean. The log shows `VRAM mirror of buffer pools off` and `batched submits on (RX_VK_BATCH, on with RADV)`. **Cause** (as myylkn described): in `submit_recording` (`gpu/vk/vk_replay.cpp`), `value_rec.emplace` keeps the *first* recording of a submission split by `RX_VK_CHUNK` (on by default, 120 draws a part), or of one stopped at an event wait and finished later. `wait_recorded` then returns after the first part, for both the fence waits and the exposure readback wait, and the game rewrites memory the later parts still read in place. It is still there on `main` and `v2.1.0-rc.2`. **Fix used** (a variant of the patch above that keeps registering `r.value` when the recording does not signal, so a wait on a stopped submission still finds its recording): ```cpp const auto finished_in = [&](uint64_t v) { auto it = value_rec.find(v); if (it == value_rec.end()) value_rec.emplace(v, seq); else if (it->second < seq) it->second = seq; }; for (uint64_t v : rec_open_values) finished_in(v); if (r.value) finished_in(r.value); ``` Only `hookshot_vk.so` needs rebuilding (`RX_VK_ONLY=1`, built per release, since the renderer API version changes between releases). **Measured** on v2.0.13 in Hyrule Field, counting one-frame luminance spikes in screen recordings: | | One-frame flashes, any size | Large ones (≥ 15 of 255 luma) | |---|---|---| | stock (69 s) | 104 | 15 | | with the fix (42 s) | 3 | 0 (the largest was a real sword-hit effect) | `GPU waits in 5 s`: 4–109 sync waits (31–232 ms) before, 103–137 (1.4–1.8 s) after. It costs frame rate: the FPS overlay in the field read roughly 45–70 before and 38–49 after (two recordings, not a controlled benchmark). Part of the old frame rate came from the game running ahead of the GPU. This may also bear on #1795, which copies uniform buffers on GPUs without mirrors for the same symptoms. An A/B with this fix alone, with `RX_VK_UB_SNAPSHOT=0`, would show how much of that is this wait. The analysis was done with AI assistance (Claude); the testing and recordings are mine.
qqqcode commented 2026-11-11 03:01:03 +00:00 (Migrated from github.com)

AMD APU (Radeon 760M): v2.0.11 runs, v2.0.13 crashes while loading — guest null deref, not a driver fault

Adding a data point that may not be in this tracker yet: on this machine the crash is inside the recompiled game, not in amdvlk64.dll, and it arrived with v2.0.13.

Machine

  • Ryzen 5 7640HS / Radeon 760M (RDNA3 iGPU, 1.75 GB device-local + shared), 46 GB RAM
  • Windows 11 24H2 (26100), AMD 26.10.2, Vulkan 1.4.359
  • Game: dump at v131072, build e0f3ccfa (the supported one), built with the bundled builder
  • 720p window, game output 2048x1152

Results

Build Result
v2.0.11 plays: title screen, intro, Kokiri Forest at 60 fps (GPU 1.6–4.2 ms/frame)
v2.0.13 crashes every time during loading, before the first frame

v2.0.13 log (swapchain is fine here — immediate):

vk: swapchain 1280x720, 4 images, immediate
vk: the last start did not get through the precompile (closed, or it crashed there): trying it once more
CRASH: exception 0xc0000005 (read 0x100000001030, guest 0x1030) at hookshot.exe+0xa77c6a5
vk: start-up: pipelines 189 of 10317

It is reproducible with the program/pipeline caches deleted (hookshot_programs.bin, hookshot_pipelines.bin, hookshot_prepared.bin), so it is not a corrupt cache. It also happens with RX_VK_PRECOMPILE=0. No TDR (Event ID 4101) is logged, and amdvlk64.dll is not in the backtrace.

Question: is a start-up regression on APUs between v2.0.11 and v2.0.13 known? #1719/#1750 (Z1 Extreme, v2.0.13, crash after intro / loading) look like the same thing; they were closed, so I am posting here instead of opening a new issue. Happy to run any build with extra logging (RX_VK_*, HOS_*) if that helps narrow it down.

**AMD APU (Radeon 760M): v2.0.11 runs, v2.0.13 crashes while loading — guest null deref, not a driver fault** Adding a data point that may not be in this tracker yet: on this machine the crash is *inside the recompiled game*, not in `amdvlk64.dll`, and it arrived with v2.0.13. **Machine** - Ryzen 5 7640HS / Radeon 760M (RDNA3 iGPU, 1.75 GB device-local + shared), 46 GB RAM - Windows 11 24H2 (26100), AMD 26.10.2, Vulkan 1.4.359 - Game: dump at v131072, build `e0f3ccfa` (the supported one), built with the bundled builder - 720p window, game output 2048x1152 **Results** | Build | Result | |---|---| | v2.0.11 | plays: title screen, intro, Kokiri Forest at 60 fps (GPU 1.6–4.2 ms/frame) | | v2.0.13 | **crashes every time during loading**, before the first frame | v2.0.13 log (swapchain is fine here — `immediate`): ``` vk: swapchain 1280x720, 4 images, immediate vk: the last start did not get through the precompile (closed, or it crashed there): trying it once more CRASH: exception 0xc0000005 (read 0x100000001030, guest 0x1030) at hookshot.exe+0xa77c6a5 vk: start-up: pipelines 189 of 10317 ``` It is reproducible with the program/pipeline caches deleted (`hookshot_programs.bin`, `hookshot_pipelines.bin`, `hookshot_prepared.bin`), so it is not a corrupt cache. It also happens with `RX_VK_PRECOMPILE=0`. No TDR (Event ID 4101) is logged, and `amdvlk64.dll` is not in the backtrace. **Question:** is a start-up regression on APUs between v2.0.11 and v2.0.13 known? #1719/#1750 (Z1 Extreme, v2.0.13, crash after intro / loading) look like the same thing; they were closed, so I am posting here instead of opening a new issue. Happy to run any build with extra logging (`RX_VK_*`, `HOS_*`) if that helps narrow it down.
git-hub-al commented 2026-11-11 05:47:53 +00:00 (Migrated from github.com)

2.1 Legion go 1 z1. Tested with auto 6g and 8g for device vram. Seemed best with 6 or 8, crash on auto. Seemed to prevent crashing with system os power mode on performance. Not sure of best game settings, tried to turn most things off and run with the system on lowest resolution. 10-30 fps. Excited how much more playable this is now!

hookshot_log.1.txt
hookshot_log.2.txt
hookshot_log.3.txt
hookshot_log.4.txt
hookshot_log.txt

2.1 Legion go 1 z1. Tested with auto 6g and 8g for device vram. Seemed best with 6 or 8, crash on auto. Seemed to prevent crashing with system os power mode on performance. Not sure of best game settings, tried to turn most things off and run with the system on lowest resolution. 10-30 fps. Excited how much more playable this is now! [hookshot_log.1.txt](https://github.com/user-attachments/files/34672376/hookshot_log.1.txt) [hookshot_log.2.txt](https://github.com/user-attachments/files/34672378/hookshot_log.2.txt) [hookshot_log.3.txt](https://github.com/user-attachments/files/34672375/hookshot_log.3.txt) [hookshot_log.4.txt](https://github.com/user-attachments/files/34672377/hookshot_log.4.txt) [hookshot_log.txt](https://github.com/user-attachments/files/34672374/hookshot_log.txt)
swever826 commented 2026-11-11 14:43:02 +00:00 (Migrated from github.com)

For my ROG Ally Z1E, v2.1.0 was a HUGE improvement! I no longer have any visual problems in the first cutscene with the Deku Tree. Also the game runs at 35-40 fps with Balanced (8 GB) graphic preset and with AMD FSR 3.1 and 4 GB allocated for VRAM. Also, I am running it in Bazzite OS.

If I lower the graphic preset to Low (6 GB), I gain +10 fps.

After the cutscene, when playing as link inside his house, I got some big stutters but they go away after a minute of moving around.

Great work!!! Thank you!!

hookshot_log.txt

For my ROG Ally Z1E, v2.1.0 was a HUGE improvement! I no longer have any visual problems in the first cutscene with the Deku Tree. Also the game runs at 35-40 fps with Balanced (8 GB) graphic preset and with AMD FSR 3.1 and 4 GB allocated for VRAM. Also, I am running it in Bazzite OS. If I lower the graphic preset to Low (6 GB), I gain +10 fps. After the cutscene, when playing as link inside his house, I got some big stutters but they go away after a minute of moving around. Great work!!! Thank you!! ![hookshot_log.txt](https://github.com/user-attachments/files/34692398/hookshot_log.txt)
miguelmg4 commented 2026-11-11 15:32:45 +00:00 (Migrated from github.com)

hookshot_log_para_github.txt

hookshot_log_para_github.txt

Device: ASUS ROG Ally (RC71L), Ryzen Z1 Extreme / Radeon 780M-class iGPU, 16 GB LPDDR5-6400 (4 GB UMA frame buffer, 11.7 GB visible to Windows), Windows 11 (build 26200)
Driver: AMD 32.0.31007.6002 (May 2026)
Hookshot: v2.1.0 (updated from v2.0.14 via the launcher)
Preset: Minimum (4GB VRAM / iGPU) → Handheld profile, Resolution 50%, Lanczos, Sharpness 30%, Frame pacing on, AMD Anti-Lag 2 on, mesh shaders Automatic (native)

What happens: In the very first area, turning the camera with the right stick drops to ~10 fps with heavy stutter. Standing still it holds ~43-45 fps (GPU time ~13.6 ms/frame with the Minimum preset; it was ~31 ms/frame and ~25 fps on the default Custom/Docked 2048x1152).

What the log shows during the stutter:

vk: slow upload 26.2 ms: #830 ... 3072x3072x1 x1 levels 12 NVN 0x7b ASTC, 7959 of 7959 KB
vk: slow submit: 58.3 ms: draw 56.2 descriptors 50.4 texture lookups 47.8 uploads 46.8 programs 2.1 commands 3.0
vk: 28 new ASTC textures left for a later frame (this frame's uploads took their budget; 1741 so far)
[sead::MainThread] vk: slow submit: 215.0 ms: memory sync 214.8
vk: a frame's replay time (ms): submit 87.43, present 7.50, draw 43.76, descriptors 29.11, texture lookups 27.47, uploads 24.80, ... dispatch 24.65
vk: 3960 presents, 8.8 fps; ... 7.5 uploads (7.8 MB) ...
vk: status: 600 frames, the slowest 3108.7 ms; VRAM 3.1 of 6.3 GB

In one session: 25 "slow upload", 21 "slow submit ... memory sync" and 11 "ASTC textures left for a later frame" lines. "ASTC is decoded on the GPU (Eden's decoder, Switch 2 tiling)". VRAM is not full (3.1-3.6 of 6.3 GB), so it looks like the ASTC upload cost (40 ms default upload budget per frame) plus memory-sync spikes, not memory pressure.

Also seen many times: vk: storage buffer NOT bound (reads zeros): program da7a7ab28b8e73d9 stage 1 c5+0 addr 0x4180000000000200 size 0x20

Testing now (hookshot_env.txt): RX_VK_UPLOAD_BUDGET_MS=8, RX_VK_TEX_CAPTURE=0, RX_VK_TEX_MAX_DIM=1024. Will report back whether it helps.

Full hookshot_log.txt available on request.

[hookshot_log_para_github.txt](https://github.com/user-attachments/files/34694664/hookshot_log_para_github.txt) [hookshot_log_para_github.txt](https://github.com/user-attachments/files/34694670/hookshot_log_para_github.txt) **Device:** ASUS ROG Ally (RC71L), Ryzen Z1 Extreme / Radeon 780M-class iGPU, 16 GB LPDDR5-6400 (4 GB UMA frame buffer, 11.7 GB visible to Windows), Windows 11 (build 26200) **Driver:** AMD 32.0.31007.6002 (May 2026) **Hookshot:** v2.1.0 (updated from v2.0.14 via the launcher) **Preset:** Minimum (4GB VRAM / iGPU) → Handheld profile, Resolution 50%, Lanczos, Sharpness 30%, Frame pacing on, AMD Anti-Lag 2 on, mesh shaders Automatic (native) **What happens:** In the very first area, turning the camera with the right stick drops to ~10 fps with heavy stutter. Standing still it holds ~43-45 fps (GPU time ~13.6 ms/frame with the Minimum preset; it was ~31 ms/frame and ~25 fps on the default Custom/Docked 2048x1152). **What the log shows during the stutter:** ``` vk: slow upload 26.2 ms: #830 ... 3072x3072x1 x1 levels 12 NVN 0x7b ASTC, 7959 of 7959 KB vk: slow submit: 58.3 ms: draw 56.2 descriptors 50.4 texture lookups 47.8 uploads 46.8 programs 2.1 commands 3.0 vk: 28 new ASTC textures left for a later frame (this frame's uploads took their budget; 1741 so far) [sead::MainThread] vk: slow submit: 215.0 ms: memory sync 214.8 vk: a frame's replay time (ms): submit 87.43, present 7.50, draw 43.76, descriptors 29.11, texture lookups 27.47, uploads 24.80, ... dispatch 24.65 vk: 3960 presents, 8.8 fps; ... 7.5 uploads (7.8 MB) ... vk: status: 600 frames, the slowest 3108.7 ms; VRAM 3.1 of 6.3 GB ``` In one session: 25 "slow upload", 21 "slow submit ... memory sync" and 11 "ASTC textures left for a later frame" lines. "ASTC is decoded on the GPU (Eden's decoder, Switch 2 tiling)". VRAM is not full (3.1-3.6 of 6.3 GB), so it looks like the ASTC upload cost (40 ms default upload budget per frame) plus memory-sync spikes, not memory pressure. Also seen many times: `vk: storage buffer NOT bound (reads zeros): program da7a7ab28b8e73d9 stage 1 c5+0 addr 0x4180000000000200 size 0x20` **Testing now** (hookshot_env.txt): `RX_VK_UPLOAD_BUDGET_MS=8`, `RX_VK_TEX_CAPTURE=0`, `RX_VK_TEX_MAX_DIM=1024`. Will report back whether it helps. Full hookshot_log.txt available on request.
miguelmg4 commented 2026-11-11 16:13:56 +00:00 (Migrated from github.com)

Follow-up to my ROG Ally Z1E comment above (v2.1.0, Minimum preset + Handheld profile, fullscreen on). ~30 min in Kokiri Forest with RX_VK_UPLOAD_BUDGET_MS=8, RX_VK_TEX_CAPTURE=0, RX_VK_TEX_MAX_DIM=1024 (log confirms texture storage in the submit-time capture off).

Result: mostly playable but still stutters. ~40 fps average (37-43 in most stretches, ~55 at the end), lows of 22-27 fps.

before (no env) with the env above
"slow submit … memory sync" lines 21-24 13
memory-sync spikes >100 ms 3-6 2
draw/upload slow submits >50 ms 23-26 13
worst draw/upload slow submit 1480-1900 ms 721 ms

So RX_VK_TEX_CAPTURE=0 + the lower upload budget clearly cut the long spikes. What's left:

  1. Texture budget churn. On an iGPU the budget is capped at 2560 MB (vk: an integrated GPU shares the system's RAM: textures at most 2560 MB). The forest sits right at it (2.40-2.52 GB) the whole time: ~198,000 textures retired in 30 min (4,535 "textures retired" lines, e.g. 444 textures retired (1262 left, 2239 MB)) while VRAM is only 3.8 of 6.3 GB. The re-uploads look like the source of the regular hitches: in 53 of 133 600-frame windows the slowest frame was >100 ms.
    vk: a frame's uploads took 56 ms: ASTC on the GPU 1 (1.4 MB, 56 ms); [1464x640 x1 NVN 0x87 ASTC on the GPU 1.4 MB 56 ms]
    vk: a frame's uploads took 85 ms: ... on the CPU 7 (26.6 MB, 80 ms); [3056x868 x3 NVN 0x4d on the CPU 7.8 MB 38 ms] [6112x1736 x1 NVN 0x4b on the CPU 10.3 MB 29 ms]
    
    Small ASTC textures sometimes take 50+ ms on the GPU decoder, and 60 "slow upload" lines remain even with the 8 ms budget.
  2. Two 1.4-2.0 s freezes late in the session, next to compute pipelines compiled during play: vk: compute pipeline of 32181d6d0de7191d: SLOW compile, 5357 ms (on a worker) (also ebd3b57c88a833d1 5237 ms, 3cc366c42baaf4d5 5745 ms, faaa7dfb77ab84d9 4992 ms).

Next I'm testing RX_VK_VRAM_MB=3072 to see if a slightly bigger texture budget stops the churn without running out of RAM (16 GB device, 4 GB UMA, 11.7 GB visible to Windows). Will report back.

**Follow-up to my ROG Ally Z1E comment above** (v2.1.0, Minimum preset + Handheld profile, fullscreen on). ~30 min in Kokiri Forest with `RX_VK_UPLOAD_BUDGET_MS=8`, `RX_VK_TEX_CAPTURE=0`, `RX_VK_TEX_MAX_DIM=1024` (log confirms `texture storage in the submit-time capture off`). **Result:** mostly playable but still stutters. ~40 fps average (37-43 in most stretches, ~55 at the end), lows of 22-27 fps. | | before (no env) | with the env above | |---|---|---| | "slow submit … memory sync" lines | 21-24 | 13 | | memory-sync spikes >100 ms | 3-6 | 2 | | draw/upload slow submits >50 ms | 23-26 | 13 | | worst draw/upload slow submit | 1480-1900 ms | 721 ms | So `RX_VK_TEX_CAPTURE=0` + the lower upload budget clearly cut the long spikes. What's left: 1. **Texture budget churn.** On an iGPU the budget is capped at 2560 MB (`vk: an integrated GPU shares the system's RAM: textures at most 2560 MB`). The forest sits right at it (2.40-2.52 GB) the whole time: **~198,000 textures retired in 30 min** (4,535 "textures retired" lines, e.g. `444 textures retired (1262 left, 2239 MB)`) while VRAM is only 3.8 of 6.3 GB. The re-uploads look like the source of the regular hitches: in 53 of 133 600-frame windows the slowest frame was >100 ms. ``` vk: a frame's uploads took 56 ms: ASTC on the GPU 1 (1.4 MB, 56 ms); [1464x640 x1 NVN 0x87 ASTC on the GPU 1.4 MB 56 ms] vk: a frame's uploads took 85 ms: ... on the CPU 7 (26.6 MB, 80 ms); [3056x868 x3 NVN 0x4d on the CPU 7.8 MB 38 ms] [6112x1736 x1 NVN 0x4b on the CPU 10.3 MB 29 ms] ``` Small ASTC textures sometimes take 50+ ms on the GPU decoder, and 60 "slow upload" lines remain even with the 8 ms budget. 2. **Two 1.4-2.0 s freezes** late in the session, next to compute pipelines compiled during play: `vk: compute pipeline of 32181d6d0de7191d: SLOW compile, 5357 ms (on a worker)` (also `ebd3b57c88a833d1` 5237 ms, `3cc366c42baaf4d5` 5745 ms, `faaa7dfb77ab84d9` 4992 ms). Next I'm testing `RX_VK_VRAM_MB=3072` to see if a slightly bigger texture budget stops the churn without running out of RAM (16 GB device, 4 GB UMA, 11.7 GB visible to Windows). Will report back.
miguelmg4 commented 2026-11-11 16:37:12 +00:00 (Migrated from github.com)

Result of RX_VK_VRAM_MB=3072 (ROG Ally Z1E, v2.1.0, Minimum preset + Handheld, on battery in Turbo, same Kokiri Forest area as my comments above; other env unchanged: RX_VK_UPLOAD_BUDGET_MS=8, RX_VK_TEX_CAPTURE=0, RX_VK_TEX_MAX_DIM=1024).

With the env set, the textures at most 2560 MB line no longer appears, and it did not run out of RAM (16 GB device, 4 GB UMA).

Texture churn dropped a lot: ~11,300 textures retired in a ~6 min session (most of them in the first 3 minutes), compared with ~198,000 in 30 min at the default 2560 MB, so roughly 70% fewer per minute. After the first minutes the per-600-frame "textures retired" totals fell to 12-120. The worst frames per 600-frame window fell to 40-90 ms, instead of the regular 100-250 ms hitches before. Average ~45 fps, reaching 60 at the end.

What's left is mostly the first ~3 minutes after starting: texture loading (515-2,850 retired per window) plus compute pipelines compiled during play:

vk: compute pipeline of 48e9bba06d9b6bfb: SLOW compile, 37223 ms (on a worker)
vk: compute pipeline of 861f49724a6a95d3: SLOW compile, 5066 ms (on a worker)
vk: compute pipeline of a54cc311642db265: SLOW compile, 5122 ms (on a worker)
vk: compute pipeline of ef4c919de2bbaa84: SLOW compile, 5200 ms (on a worker)
vk: compute pipeline of ff50e95ffc77e564: SLOW compile, 4912 ms (on a worker)
vk: compute pipeline of b8bcb47debfeb278: SLOW compile, 5112 ms (on a worker)
vk: compute pipeline of 2bcc0360574bb416: SLOW compile, 5195 ms (on a worker)

These match the worst freezes (up to 1.7 s). Each new compute pipeline takes ~5 s on this APU on battery (one took 37 s), and they were different keys from the previous session (32181d6d0de7191d, ebd3b57c88a833d1, ...). They do get saved to play cache files afterwards (play file 11/12/13 saved, ~90 pipelines).

Suggestion: on iGPUs, a texture budget a bit above 2560 MB (3072 here) might be a better default when the UMA frame buffer is 4 GB or more. Precompiling these compute pipelines (or shipping them in the pipeline list) would remove most of the first-minutes stutter on AMD APUs.

**Result of `RX_VK_VRAM_MB=3072`** (ROG Ally Z1E, v2.1.0, Minimum preset + Handheld, on battery in Turbo, same Kokiri Forest area as my comments above; other env unchanged: `RX_VK_UPLOAD_BUDGET_MS=8`, `RX_VK_TEX_CAPTURE=0`, `RX_VK_TEX_MAX_DIM=1024`). With the env set, the `textures at most 2560 MB` line no longer appears, and **it did not run out of RAM** (16 GB device, 4 GB UMA). **Texture churn dropped a lot:** ~11,300 textures retired in a ~6 min session (most of them in the first 3 minutes), compared with ~198,000 in 30 min at the default 2560 MB, so roughly 70% fewer per minute. After the first minutes the per-600-frame "textures retired" totals fell to 12-120. The worst frames per 600-frame window fell to 40-90 ms, instead of the regular 100-250 ms hitches before. Average ~45 fps, reaching 60 at the end. **What's left is mostly the first ~3 minutes after starting:** texture loading (515-2,850 retired per window) plus compute pipelines compiled during play: ``` vk: compute pipeline of 48e9bba06d9b6bfb: SLOW compile, 37223 ms (on a worker) vk: compute pipeline of 861f49724a6a95d3: SLOW compile, 5066 ms (on a worker) vk: compute pipeline of a54cc311642db265: SLOW compile, 5122 ms (on a worker) vk: compute pipeline of ef4c919de2bbaa84: SLOW compile, 5200 ms (on a worker) vk: compute pipeline of ff50e95ffc77e564: SLOW compile, 4912 ms (on a worker) vk: compute pipeline of b8bcb47debfeb278: SLOW compile, 5112 ms (on a worker) vk: compute pipeline of 2bcc0360574bb416: SLOW compile, 5195 ms (on a worker) ``` These match the worst freezes (up to 1.7 s). Each new compute pipeline takes ~5 s on this APU on battery (one took 37 s), and they were different keys from the previous session (`32181d6d0de7191d`, `ebd3b57c88a833d1`, ...). They do get saved to play cache files afterwards (`play file 11/12/13 saved`, ~90 pipelines). **Suggestion:** on iGPUs, a texture budget a bit above 2560 MB (3072 here) might be a better default when the UMA frame buffer is 4 GB or more. Precompiling these compute pipelines (or shipping them in the pipeline list) would remove most of the first-minutes stutter on AMD APUs.
bika66 commented 2026-11-11 16:52:04 +00:00 (Migrated from github.com)

Hi what do you suggest as settings?I have exactly the same device as you and with hookshot_env.txt I can now start to play because before I was stuck on the black screen of hell,but the game now is super slow and not stable,before it was running super smooth but possible to see just the opening.what is your advice?

Hi what do you suggest as settings?I have exactly the same device as you and with hookshot_env.txt I can now start to play because before I was stuck on the black screen of hell,but the game now is super slow and not stable,before it was running super smooth but possible to see just the opening.what is your advice?
NotRexed commented 2026-11-11 21:21:51 +00:00 (Migrated from github.com)

More reports of this, collected here:

  • #1903: OoT on Radeon 780M (Linux): flickering, blown-out white image; auto-exposure chain reads its own target ("read (v2.0.14; Radeon 780M iGPU (RADV PHOENIX),; 32GB RAM, AMD Ryzen 9 270, Linux)
  • #2077: Everything from UI to textures flickering and glowing (V2.0.14; AMD Radeon 780M Graphics, 26.1.10; AMD Ryzen Z2, 32GB, Windows 11)
  • #2161: AMD Ryzen Z1 Extreme Handheld - Lighting / White Flash while Gaming (v2.0.14; AMD Radeon 780M; Driver vesion: 32.031007.6082; CPU z1e, 24GB RAM, 8GB VRAM, Win11 26h2)
  • #2174: game crashes after Ganon cutscend (v2.1.0; z1x; z1 extreme)
  • #2233: 2.1 rog ally z1E (v2.1; Z1E; z1e, 6gb vram)
  • #2255: Black screen with audio at deku tree calling navi cutsceen and gameplay not showing if skipped (v2.1.0; AMD Radeon(TM) 860M Graphics; AMD Ryzen 7 7700)
  • #2318: flickering fixed on 780m, horrible performance.
  • #2369: Legion go S Z2GO Steam OS game crashes after intro (2 1.0; Latest linux drivers on the Z2GO version of Legion Go S; Z2go, Steam OS)
More reports of this, collected here: - #1903: OoT on Radeon 780M (Linux): flickering, blown-out white image; auto-exposure chain reads its own target ("read (v2.0.14; Radeon 780M iGPU (RADV PHOENIX),; 32GB RAM, AMD Ryzen 9 270, Linux) - #2077: Everything from UI to textures flickering and glowing (V2.0.14; AMD Radeon 780M Graphics, 26.1.10; AMD Ryzen Z2, 32GB, Windows 11) - #2161: AMD Ryzen Z1 Extreme Handheld - Lighting / White Flash while Gaming (v2.0.14; AMD Radeon 780M; Driver vesion: 32.031007.6082; CPU z1e, 24GB RAM, 8GB VRAM, Win11 26h2) - #2174: game crashes after Ganon cutscend (v2.1.0; z1x; z1 extreme) - #2233: 2.1 rog ally z1E (v2.1; Z1E; z1e, 6gb vram) - #2255: Black screen with audio at deku tree calling navi cutsceen and gameplay not showing if skipped (v2.1.0; AMD Radeon(TM) 860M Graphics; AMD Ryzen 7 7700) - #2318: flickering fixed on 780m, horrible performance. - #2369: Legion go S Z2GO Steam OS game crashes after intro (2 1.0; Latest linux drivers on the Z2GO version of Legion Go S; Z2go, Steam OS)
swever826 commented 2026-11-11 22:33:19 +00:00 (Migrated from github.com)

With ROG Ally Z1E, It ran stable at 35-40 fps in Balanced (8 GB) quality preset during the first cutscene with the Deku tree and then moving around Link's house. When opening the door, the game froze and my ROG Ally became unresponsive so I had to manually restart it.

hookshot_log (1).txt

With ROG Ally Z1E, It ran stable at 35-40 fps in Balanced (8 GB) quality preset during the first cutscene with the Deku tree and then moving around Link's house. When opening the door, the game froze and my ROG Ally became unresponsive so I had to manually restart it. ![hookshot_log (1).txt](https://github.com/user-attachments/files/34718726/hookshot_log.1.txt)
NotRexed commented 2026-11-12 03:07:12 +00:00 (Migrated from github.com)

More reports of this, collected here:

  • #2526: [AMD] bunch of issues while testing (v2.1.0; radeon 780m, 26.10.1; 7940hs, 16gb, win11 26h2)
More reports of this, collected here: - #2526: [AMD] bunch of issues while testing (v2.1.0; radeon 780m, 26.10.1; 7940hs, 16gb, win11 26h2)
Owner

@miguelmg4 commented on GitHub · 2026-11-12 07:09 UTC · original

@bika66 Here's what works best for me on the ROG Ally Z1E (v2.1.0). It's playable, not perfect.

In-game menu (F1 → Graphics):

  • Quality preset: Minimum (4GB VRAM / iGPU). This turns on the Handheld profile (the game renders at 1536x864) and sets 50% resolution. Restart the game after changing it, because the profile only applies at start.
  • Fullscreen: On (F11)
  • AMD Anti-Lag 2: On
  • I'd avoid Balanced (8 GB). Someone above had the Ally freeze on it.

hookshot_env.txt (next to hookshot.exe, one per line):

RX_VK_UPLOAD_BUDGET_MS=8
RX_VK_TEX_CAPTURE=0
RX_VK_TEX_MAX_DIM=1024
RX_VK_VRAM_MB=3072
  • RX_VK_UPLOAD_BUDGET_MS=8: spreads texture uploads over several frames (default 40 ms in one frame). This helped most with stutter when turning the camera.
  • RX_VK_TEX_CAPTURE=0: fewer long "memory sync" spikes.
  • RX_VK_TEX_MAX_DIM=1024: smaller textures, less to decode and upload. Barely visible on the Ally's screen.
  • RX_VK_VRAM_MB=3072: raises the iGPU texture budget from 2560 to 3072 MB, so it stops evicting and reloading textures all the time (about 70% fewer for me). No out-of-memory with 4 GB UMA. If yours crashes, remove this line first.

Keep the env lines that fixed your black screen and add these to them.

Outside the game:

  • Armoury Crate: Turbo, and FPS Limiter at 40 (or 30 on battery). Steady 40 feels much better than jumping between 60 and 30.
  • Play plugged in if you can. Turbo on battery is about 25 W vs 30 W.
  • Close the browser and other apps. 16 GB is tight for this game.

Expect the first ~3 minutes in a new area to stutter badly while it compiles shaders (about 5 s each in my log, one took 37 s). They're saved after that, so the same place runs smoother next time.

If it's still very slow, post your hookshot_log.txt and say which env lines you're using.

> [@miguelmg4](https://github.com/miguelmg4) commented on GitHub · 2026-11-12 07:09 UTC · [original](https://github.com/NotRexed/Hookshot/issues/997#issuecomment-6817210261) @bika66 Here's what works best for me on the ROG Ally Z1E (v2.1.0). It's playable, not perfect. **In-game menu (F1 → Graphics):** - **Quality preset: Minimum (4GB VRAM / iGPU).** This turns on the **Handheld profile** (the game renders at 1536x864) and sets 50% resolution. Restart the game after changing it, because the profile only applies at start. - **Fullscreen: On** (F11) - **AMD Anti-Lag 2: On** - I'd avoid Balanced (8 GB). Someone above had the Ally freeze on it. **`hookshot_env.txt`** (next to `hookshot.exe`, one per line): ``` RX_VK_UPLOAD_BUDGET_MS=8 RX_VK_TEX_CAPTURE=0 RX_VK_TEX_MAX_DIM=1024 RX_VK_VRAM_MB=3072 ``` - `RX_VK_UPLOAD_BUDGET_MS=8`: spreads texture uploads over several frames (default 40 ms in one frame). This helped most with stutter when turning the camera. - `RX_VK_TEX_CAPTURE=0`: fewer long "memory sync" spikes. - `RX_VK_TEX_MAX_DIM=1024`: smaller textures, less to decode and upload. Barely visible on the Ally's screen. - `RX_VK_VRAM_MB=3072`: raises the iGPU texture budget from 2560 to 3072 MB, so it stops evicting and reloading textures all the time (about 70% fewer for me). No out-of-memory with 4 GB UMA. If yours crashes, remove this line first. Keep the env lines that fixed your black screen and add these to them. **Outside the game:** - **Armoury Crate:** Turbo, and **FPS Limiter at 40** (or 30 on battery). Steady 40 feels much better than jumping between 60 and 30. - Play plugged in if you can. Turbo on battery is about 25 W vs 30 W. - Close the browser and other apps. 16 GB is tight for this game. **Expect the first ~3 minutes in a new area to stutter badly** while it compiles shaders (about 5 s each in my log, one took 37 s). They're saved after that, so the same place runs smoother next time. If it's still very slow, post your `hookshot_log.txt` and say which env lines you're using. <!-- github-sync:c:6817210261 -->
Owner

@aligrispi commented on GitHub · 2026-11-12 09:11 UTC · original

hookshot_log.txt
i tried all but the game is always crashing

> [@aligrispi](https://github.com/aligrispi) commented on GitHub · 2026-11-12 09:11 UTC · [original](https://github.com/NotRexed/Hookshot/issues/997#issuecomment-6819520492) [hookshot_log.txt](https://github.com/user-attachments/files/34738390/hookshot_log.txt) i tried all but the game is always crashing <!-- github-sync:c:6819520492 -->
Owner

@pavelrossi commented on GitHub · 2026-11-12 11:09 UTC · original

Hi @NotRexed

I have a very promising update from my Lenovo Legion Go (Ryzen Z1 Extreme, 16 GB RAM, Windows 11) regarding the AMD Vulkan crashes tracked in #997.

After extensive testing, I finally managed to get Hookshot v2.1.0 running successfully in Kokiri Forest, with no noticeable flickering, flashing, or missing geometry during my latest tests.

What I found

  1. Native mesh shaders still cause GPU driver crashes on my device.

With v2.1.0 and "RX_VK_PER_QUEUE_FENCES=0", the game reaches the menu but crashes while loading my Kokiri save.

Diagnostic checkpoints identified pending draws associated with different shader programs. Skipping individual programs did not resolve the issue.

The logs consistently showed "VK_ERROR_DEVICE_LOST", and Windows recorded Display event 4101, indicating an AMD driver timeout and recovery.

  1. Forcing global compute mesh fallback appears to resolve the crashes.

I tested the following configuration:

RX_VK_PER_QUEUE_FENCES=0
RX_VK_FORCE_MESH_FALLBACK=1

This was tested using the official v2.1.0 build, without custom renderer patches.

The game now loads Kokiri successfully, and I can move around and play without the visual corruption I experienced in earlier versions.

More importantly, I was able to close the game normally, relaunch it, and load my save again successfully.

  1. Performance is playable, although native FPS remain relatively low.

I initially observed approximately 26–28 native FPS, with around 77–80 displayed FPS using 3× frame generation.

I subsequently enabled AMD FSR 3.1 Quality and 4× frame generation, with very encouraging visual results.

I have not yet measured the native FPS again with those latest settings.

Why this may be useful

An earlier v2.0.14 test ran successfully for an extended session using native mesh shaders and "RX_VK_PER_QUEUE_FENCES=0", but subsequent launches became unstable.

With v2.1.0, global compute mesh fallback has produced the most promising and repeatable results so far.

This suggests that the native mesh rendering path, or its interaction with Vulkan synchronization and AMD drivers, deserves further investigation. It does not necessarily mean an individual mesh shader is defective.

I can provide both the failing native-mesh log and the successful compute-fallback log for comparison.

I will continue testing stability and performance and report any further findings.

Thank you for your continued work on AMD handheld compatibility!

> [@pavelrossi](https://github.com/pavelrossi) commented on GitHub · 2026-11-12 11:09 UTC · [original](https://github.com/NotRexed/Hookshot/issues/997#issuecomment-6821946374) Hi @NotRexed I have a very promising update from my Lenovo Legion Go (Ryzen Z1 Extreme, 16 GB RAM, Windows 11) regarding the AMD Vulkan crashes tracked in #997. After extensive testing, I finally managed to get Hookshot v2.1.0 running successfully in Kokiri Forest, with no noticeable flickering, flashing, or missing geometry during my latest tests. What I found 1. Native mesh shaders still cause GPU driver crashes on my device. With v2.1.0 and "RX_VK_PER_QUEUE_FENCES=0", the game reaches the menu but crashes while loading my Kokiri save. Diagnostic checkpoints identified pending draws associated with different shader programs. Skipping individual programs did not resolve the issue. The logs consistently showed "VK_ERROR_DEVICE_LOST", and Windows recorded Display event 4101, indicating an AMD driver timeout and recovery. 2. Forcing global compute mesh fallback appears to resolve the crashes. I tested the following configuration: RX_VK_PER_QUEUE_FENCES=0 RX_VK_FORCE_MESH_FALLBACK=1 This was tested using the official v2.1.0 build, without custom renderer patches. The game now loads Kokiri successfully, and I can move around and play without the visual corruption I experienced in earlier versions. More importantly, I was able to close the game normally, relaunch it, and load my save again successfully. 3. Performance is playable, although native FPS remain relatively low. I initially observed approximately 26–28 native FPS, with around 77–80 displayed FPS using 3× frame generation. I subsequently enabled AMD FSR 3.1 Quality and 4× frame generation, with very encouraging visual results. I have not yet measured the native FPS again with those latest settings. Why this may be useful An earlier v2.0.14 test ran successfully for an extended session using native mesh shaders and "RX_VK_PER_QUEUE_FENCES=0", but subsequent launches became unstable. With v2.1.0, global compute mesh fallback has produced the most promising and repeatable results so far. This suggests that the native mesh rendering path, or its interaction with Vulkan synchronization and AMD drivers, deserves further investigation. It does not necessarily mean an individual mesh shader is defective. I can provide both the failing native-mesh log and the successful compute-fallback log for comparison. I will continue testing stability and performance and report any further findings. Thank you for your continued work on AMD handheld compatibility! <!-- github-sync:c:6821946374 -->
Owner

@mooki000 commented on GitHub · 2026-11-12 15:18 UTC · original

Tracker upkeep note (merged pull requests and code checked against main 51da0464; no new test run was made for it).

The split-submission fence bug is fixed in main by #2419: gpu/vk/vk_replay.cpp now maps a submission to its last recording rather than the first part. #2125 and #2602 cover related readback ordering, while #1906 changes retired-import reclamation and #2603 changes integrated-GPU budgeting. These are useful completed entries, not evidence that every handheld freeze is gone. On 51da0464, uniform snapshots without mirrors still default on only for Intel; #1795 owns the wider change. Please keep this tracker open for the remaining freezes, device losses and memory-pressure reports, with effective mesh mode, UMA settings and matching OS evidence.

> [@mooki000](https://github.com/mooki000) commented on GitHub · 2026-11-12 15:18 UTC · [original](https://github.com/NotRexed/Hookshot/issues/997#issuecomment-6827617966) **Tracker upkeep note** (merged pull requests and code checked against main `51da0464`; no new test run was made for it). The split-submission fence bug is fixed in main by #2419: `gpu/vk/vk_replay.cpp` now maps a submission to its last recording rather than the first part. #2125 and #2602 cover related readback ordering, while #1906 changes retired-import reclamation and #2603 changes integrated-GPU budgeting. These are useful completed entries, not evidence that every handheld freeze is gone. On `51da0464`, uniform snapshots without mirrors still default on only for Intel; #1795 owns the wider change. Please keep this tracker open for the remaining freezes, device losses and memory-pressure reports, with effective mesh mode, UMA settings and matching OS evidence. <!-- github-sync:c:6827617966 -->
Owner

@aligrispi commented on GitHub · 2026-11-12 16:50 UTC · original

following @pavelrossi i made an hookshot_env.txt with
RX_VK_PER_QUEUE_FENCES=0
RX_VK_FORCE_MESH_FALLBACK=1
RX_VK_UPLOAD_BUDGET_MS=8
RX_VK_TEX_CAPTURE=0
RX_VK_TEX_MAX_DIM=1024
RX_VK_VRAM_MB=3072
and the game pipeline made a check of 1h, then i closed and opened my rog ally and the pipeline's done in 5 min.
the game is playable just like pavel tell. At the opening of the scene the assets, texture and fog loading make a good 2/3 min to stabilize, the sliced signal turn very bright but for at least 2 min then normalize itself. when i used sword for the first time all foliage disappear for a flash (every hit) but this stop after a while to. i attach the log of the game start and the game after i saved, closed and reopened.

hookshot_log.1.txt first play
hookshot_log.txt second play

> [@aligrispi](https://github.com/aligrispi) commented on GitHub · 2026-11-12 16:50 UTC · [original](https://github.com/NotRexed/Hookshot/issues/997#issuecomment-6829999777) following @pavelrossi i made an hookshot_env.txt with RX_VK_PER_QUEUE_FENCES=0 RX_VK_FORCE_MESH_FALLBACK=1 RX_VK_UPLOAD_BUDGET_MS=8 RX_VK_TEX_CAPTURE=0 RX_VK_TEX_MAX_DIM=1024 RX_VK_VRAM_MB=3072 and the game pipeline made a check of 1h, then i closed and opened my rog ally and the pipeline's done in 5 min. the game is playable just like pavel tell. At the opening of the scene the assets, texture and fog loading make a good 2/3 min to stabilize, the sliced signal turn very bright but for at least 2 min then normalize itself. when i used sword for the first time all foliage disappear for a flash (every hit) but this stop after a while to. i attach the log of the game start and the game after i saved, closed and reopened. [hookshot_log.1.txt](https://github.com/user-attachments/files/34759764/hookshot_log.1.txt) first play [hookshot_log.txt](https://github.com/user-attachments/files/34759763/hookshot_log.txt) second play <!-- github-sync:c:6829999777 -->
Owner

@BlasterA01 commented on GitHub · 2026-11-12 17:28 UTC · original

Hey ! That's me again !
I just wanted to let you know that the game is fully playable but is really lagging all the time with dark or white shapes. Not smooth at all in other words. But no crashes !

hookshot_log.txt
I added some SWAP memory to not run out of RAM.
v2.1.0
AMD Ryzen 9 7940HS w/ Radeon 780M Graphics (4.00 GHz)
16Go of physical RAM & 32Go SWAP
Windows 11

I hope this will help for future work of optimization and debugging
Thanks !

> [@BlasterA01](https://github.com/BlasterA01) commented on GitHub · 2026-11-12 17:28 UTC · [original](https://github.com/NotRexed/Hookshot/issues/997#issuecomment-6830950338) Hey ! That's me again ! I just wanted to let you know that the game is fully playable but is really lagging all the time with dark or white shapes. Not smooth at all in other words. But no crashes ! [hookshot_log.txt](https://github.com/user-attachments/files/34761287/hookshot_log.txt) I added some SWAP memory to not run out of RAM. v2.1.0 AMD Ryzen 9 7940HS w/ Radeon 780M Graphics (4.00 GHz) 16Go of physical RAM & 32Go SWAP Windows 11 I hope this will help for future work of optimization and debugging Thanks ! <!-- github-sync:c:6830950338 -->
Owner

@pavelrossi commented on GitHub · 2026-11-12 17:44 UTC · original

Progress update: Lenovo Legion Go Z1 Extreme — Hookshot 2.1.0 (AMD Vulkan)

Hi everyone!

I wanted to share some encouraging progress with Hookshot 2.1.0 on my Lenovo Legion Go (Ryzen Z1 Extreme, 16 GB RAM, Windows).

After extensive testing and troubleshooting, I've managed to make significant progress. The game is now much more playable than before, although there are still some rendering issues to resolve.

  1. Major improvement with global compute mesh fallback

The biggest breakthrough came from using these Vulkan environment variables:

RX_VK_FORCE_MESH_FALLBACK=1
RX_VK_PER_QUEUE_FENCES=0

With global compute mesh fallback enabled, I've been able to avoid the severe flashing, missing geometry and AMD driver resets that affected my previous configurations during the areas tested.

I've successfully managed to:

  • Complete the Great Deku Tree dungeon.
  • Leave Kokiri Forest and enter Hyrule Field.
  • Get past the owl encounter.
  • Reach Hyrule Castle.

The visual quality has been excellent in the areas that render correctly, without the graphical corruption I experienced with earlier compute fallback implementations.

  1. Performance and frame generation

With AMD FSR 3.1 Quality enabled, I initially observed approximately 26–28 native FPS, with 77–80 displayed FPS using 3× frame generation.

I also experimented with 4× frame generation. It looked impressively smooth, but I encountered a white screen when leaving the Great Deku Tree.

Disabling frame generation allowed me to get past that transition.

I later crossed Hyrule Field using 2× frame generation and successfully reached Hyrule Castle.

However, my latest tests confirm that frame generation is not the only cause of the remaining problems.

  1. Reproducible black screen at Hyrule Castle

I've now identified a consistent issue when entering Hyrule Castle.

The screen turns completely black immediately upon crossing the entrance, before I can see any part of the new area.

Interestingly:

  • The background music continues playing.
  • Controller inputs still appear to work.
  • The game process remains active.
  • Vulkan presentation continues according to the logs.

To investigate this, I ran a separate test with frame generation disabled ("frame_generation=0"), while retaining the compute mesh fallback configuration.

The black screen still occurred.

This confirms that disabling frame generation does not resolve the Hyrule Castle black screen.

  1. Vulkan memory allocation findings

The diagnostic log from this test revealed several interesting issues:

  • 8 Vulkan submission failures reporting "-2", consistent with "VK_ERROR_OUT_OF_DEVICE_MEMORY".
  • 10 image allocation retries due to memory budget pressure.
  • 16 images that could not be created.
  • 612 render targets released, representing approximately 1,284 MB.
  • 2,823 presents recorded before I closed the game.
  • No "VK_ERROR_DEVICE_LOST".

What I find particularly interesting is that the renderer releases a substantial amount of render target memory but subsequently encounters additional image allocation failures.

This suggests a possible issue involving render target lifetime, memory budgeting or image reuse.

Of course, these logs do not conclusively establish the cause of the black screen.

  1. Next experiment: PR #2766

I'm currently investigating whether the changes proposed in PR #2766 could help:

#2766

This PR addresses the eviction and reuse of covered render targets, which seems potentially relevant to the allocation failures I'm observing.

My next step is to verify whether this patch can be applied independently to the exact source revision used by my current Hookshot 2.1.0 build.

If compatible, I plan to test it in a separate experimental build without changing my working Vulkan configuration.

I haven't tested this PR yet, so I'm not claiming it fixes the issue.

Summary

Based on my testing so far, I suspect there may be two distinct AMD Vulkan-related problems:

  1. Native mesh rendering instability: significantly improved in my tests by enabling global compute mesh fallback.
  2. Image allocation or render target management issues: potentially contributing to black screens during scene transitions, even with frame generation disabled.

The encouraging part is that I've gone from experiencing frequent driver resets and serious rendering corruption to being able to complete the first dungeon and reach Hyrule Castle with good visual quality.

I now have a reproducible black-screen scenario and diagnostic logs that may help narrow down the remaining problem.

I'll share another update once I've tested the experimental PR #2766 build.

Thanks to the developers for their continued work on Hookshot and AMD GPU compatibility. I hope these findings are useful!

> [@pavelrossi](https://github.com/pavelrossi) commented on GitHub · 2026-11-12 17:44 UTC · [original](https://github.com/NotRexed/Hookshot/issues/997#issuecomment-6831336364) Progress update: Lenovo Legion Go Z1 Extreme — Hookshot 2.1.0 (AMD Vulkan) Hi everyone! I wanted to share some encouraging progress with Hookshot 2.1.0 on my Lenovo Legion Go (Ryzen Z1 Extreme, 16 GB RAM, Windows). After extensive testing and troubleshooting, I've managed to make significant progress. The game is now much more playable than before, although there are still some rendering issues to resolve. 1. Major improvement with global compute mesh fallback The biggest breakthrough came from using these Vulkan environment variables: RX_VK_FORCE_MESH_FALLBACK=1 RX_VK_PER_QUEUE_FENCES=0 With global compute mesh fallback enabled, I've been able to avoid the severe flashing, missing geometry and AMD driver resets that affected my previous configurations during the areas tested. I've successfully managed to: - Complete the Great Deku Tree dungeon. - Leave Kokiri Forest and enter Hyrule Field. - Get past the owl encounter. - Reach Hyrule Castle. The visual quality has been excellent in the areas that render correctly, without the graphical corruption I experienced with earlier compute fallback implementations. 2. Performance and frame generation With AMD FSR 3.1 Quality enabled, I initially observed approximately 26–28 native FPS, with 77–80 displayed FPS using 3× frame generation. I also experimented with 4× frame generation. It looked impressively smooth, but I encountered a white screen when leaving the Great Deku Tree. Disabling frame generation allowed me to get past that transition. I later crossed Hyrule Field using 2× frame generation and successfully reached Hyrule Castle. However, my latest tests confirm that frame generation is not the only cause of the remaining problems. 3. Reproducible black screen at Hyrule Castle I've now identified a consistent issue when entering Hyrule Castle. The screen turns completely black immediately upon crossing the entrance, before I can see any part of the new area. Interestingly: - The background music continues playing. - Controller inputs still appear to work. - The game process remains active. - Vulkan presentation continues according to the logs. To investigate this, I ran a separate test with frame generation disabled ("frame_generation=0"), while retaining the compute mesh fallback configuration. The black screen still occurred. This confirms that disabling frame generation does not resolve the Hyrule Castle black screen. 4. Vulkan memory allocation findings The diagnostic log from this test revealed several interesting issues: - 8 Vulkan submission failures reporting "-2", consistent with "VK_ERROR_OUT_OF_DEVICE_MEMORY". - 10 image allocation retries due to memory budget pressure. - 16 images that could not be created. - 612 render targets released, representing approximately 1,284 MB. - 2,823 presents recorded before I closed the game. - No "VK_ERROR_DEVICE_LOST". What I find particularly interesting is that the renderer releases a substantial amount of render target memory but subsequently encounters additional image allocation failures. This suggests a possible issue involving render target lifetime, memory budgeting or image reuse. Of course, these logs do not conclusively establish the cause of the black screen. 5. Next experiment: PR #2766 I'm currently investigating whether the changes proposed in PR #2766 could help: https://git.magicbean.dev/MagicBeanDev/Hookshot/pulls/2766 This PR addresses the eviction and reuse of covered render targets, which seems potentially relevant to the allocation failures I'm observing. My next step is to verify whether this patch can be applied independently to the exact source revision used by my current Hookshot 2.1.0 build. If compatible, I plan to test it in a separate experimental build without changing my working Vulkan configuration. I haven't tested this PR yet, so I'm not claiming it fixes the issue. Summary Based on my testing so far, I suspect there may be two distinct AMD Vulkan-related problems: 1. Native mesh rendering instability: significantly improved in my tests by enabling global compute mesh fallback. 2. Image allocation or render target management issues: potentially contributing to black screens during scene transitions, even with frame generation disabled. The encouraging part is that I've gone from experiencing frequent driver resets and serious rendering corruption to being able to complete the first dungeon and reach Hyrule Castle with good visual quality. I now have a reproducible black-screen scenario and diagnostic logs that may help narrow down the remaining problem. I'll share another update once I've tested the experimental PR #2766 build. Thanks to the developers for their continued work on Hookshot and AMD GPU compatibility. I hope these findings are useful! <!-- github-sync:c:6831336364 -->
Owner

@git-hub-al commented on GitHub · 2026-11-12 17:49 UTC · original

Hey ! That's me again ! I just wanted to let you know that the game is fully playable but is really lagging all the time with dark or white shapes. Not smooth at all in other words. But no crashes !

hookshot_log.txt I added some SWAP memory to not run out of RAM. v2.1.0 AMD Ryzen 9 7940HS w/ Radeon 780M Graphics (4.00 GHz) 16Go of physical RAM & 32Go SWAP Windows 11

I hope this will help for future work of optimization and debugging Thanks !

Thanks for doing this testing, I am using the same device. Can you tell me you current device and game settings? I've noticed a difference with the device OS Power Modes effecting gameplay for instance. Happy to help test as well.

> [@git-hub-al](https://github.com/git-hub-al) commented on GitHub · 2026-11-12 17:49 UTC · [original](https://github.com/NotRexed/Hookshot/issues/997#issuecomment-6831453746) > Hey ! That's me again ! I just wanted to let you know that the game is fully playable but is really lagging all the time with dark or white shapes. Not smooth at all in other words. But no crashes ! > > [hookshot_log.txt](https://github.com/user-attachments/files/34761287/hookshot_log.txt) I added some SWAP memory to not run out of RAM. v2.1.0 AMD Ryzen 9 7940HS w/ Radeon 780M Graphics (4.00 GHz) 16Go of physical RAM & 32Go SWAP Windows 11 > > I hope this will help for future work of optimization and debugging Thanks ! Thanks for doing this testing, I am using the same device. Can you tell me you current device and game settings? I've noticed a difference with the device OS Power Modes effecting gameplay for instance. Happy to help test as well. <!-- github-sync:c:6831453746 -->
Commenting is not possible because the repository is archived.
No milestone
No assignees
2 participants
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
MagicBeanDev/Hookshot#997
No description provided.