[Steam Deck / RADV] Device lost at intro cutscene → gameplay transition (12288 depth pass); SKIP_CODE not enough #1318

Closed
opened 2026-11-09 21:36:10 +00:00 by LucianoMSS · 3 comments
LucianoMSS commented 2026-11-09 21:36:10 +00:00 (Migrated from github.com)

Hookshot version

v2.0.11 (source 10f983ad)

What kind of problem

Crash, freeze or black screen (Vulkan device lost / AMDGPU reset)

What happened

On a Steam Deck (RADV VANGOGH), the intro cutscene itself plays fine. The hang is 100% reproducible at the transition from that cutscene into gameplay (when the first 3D scene / Kokiri-area load starts after the movie).

Sequence every time:

  1. Title / cutscene run at ~60 fps
  2. Cutscene ends → gameplay transition begins
  3. Log allocates a 12288×12288 depth/shadow target (~1.2–1.7 GB of live textures)
  4. Long submits / a ~1.2 s dispatch
  5. radv/amdgpu: The CS has been cancelled because the context is lost
  6. vk: device lost
  7. Kernel: amdgpu: ring gfx_0.0.0 timeout → GPU reset

In Desktop Mode this GPU reset also killed Xwayland (DrKonqi popup). That looks like collateral damage from the GPU reset, not a separate Wayland bug.

Where in the game

Right after the first intro cutscene, at the cutscene → gameplay transition (before/as the first playable 3D scene comes in). Cutscene playback itself is OK.

How often

Every time

Graphics card and driver version

  • Device: AMD Custom GPU 0405 (RADV VANGOGH) (Steam Deck)
  • Vulkan 1.4.350
  • Mesa 26.2.0-devel (git-5c65d4fc31) / driverVersion 26.1.99
  • SteamOS 3.9.5 (BUILD_ID=20261023.100), kernel 7.2.7-valve2-2-neptune-72-...

CPU, RAM and operating system

Steam Deck, SteamOS 3.9.5 (Desktop Mode for these runs; same Hookshot hang pattern across runs)

Changes from the defaults

hookshot_options.ini (graphics):

  • quality_preset=1 (Minimum / 4GB)
  • frame_generation=0
  • resolution=4 (50%)
  • output_res=0
  • handheld_profile=1
  • upscaling=0
  • sharpness=0
  • fps_counter=1
  • game_speed=0 (per frame)

hookshot_env.txt for the latest run:

RX_VK_VRAM_MB=2500
RX_VK_TEX_MAX_MB=768
RX_VK_TEX_MAX_DIM=4096
RX_VK_LOW_SPEC=1
RX_VK_KEEP_RETIRED=1
RX_VK_SKIP_CODE=2c56dc1006942f74
RX_VK_SKIP_PROG=ffb53ed102dd9908

Other software hooked into the game

None

What we already tried (still hangs)

Attempt Result
Minimum preset + handheld + FG off + 50% res Still hangs at same transition
v2.0.8 → v2.0.10 → v2.0.11 Still hangs
RX_VK_VRAM_MB / TEX_MAX_* / KEEP_RETIRED=1 Env applies (budget 2500 MB), still hangs
RX_VK_SKIP_CODE=2c56dc1006942f74 (#817 / v2.0.11 readme) Does engage (many programs left out), still hangs
Also RX_VK_SKIP_PROG=ffb53ed102dd9908 Does engage; 12288 pass draw count drops (~3400 → ~337); last program on the clear becomes f2999864d78ae1d3; still device lost after a ~1.2 s dispatch

So this looks related to but not fixed by the Deck culling workaround in #1165 / #817. Skipping 2c56dc1006942f74 is not enough for this intro→gameplay transition.

Notable log lines (latest run, with both skips)

vk: draws of program ffb53ed102dd9908 left out (RX_VK_SKIP_PROG); its code: 0:365b92d206544e3f 1:acfb185a608654e9
...
vk: texture 0x113acf6000 12288x12288x1 x1 levels 1 NVN 0x32 -> vk 124 (258 textures, 1252 MB)
vk: a clear after 337 draws of its pass (12288x12288, 0 colour targets + depth, last program f2999864d78ae1d3): a pass of its own
vk: a clear after 337 draws of its pass (4096x4096, 0 colour targets + depth, last program f2999864d78ae1d3): a pass of its own
...
vk: slow submit: 1265.7 ms: texture lookups 4.5 uploads 4.3 dispatch 1258.3 queue submit 7.8
radv/amdgpu: The CS has been cancelled because the context is lost. This context is innocent.
vk: device lost: reading the fault info (RX_VK_CHECKPOINTS=1 for markers)
vi: 11531 frames presented (0.4 fps over the last 12.2 s, interval 1)

Kernel:

amdgpu: ring gfx_0.0.0 timeout
amdgpu: GPU reset begin!
amdgpu: GPU reset succeeded

Without SKIP_PROG, the same 12288 clear previously showed last program ffb53ed102dd9908 with ~3400+ draws — same transition, same end state.

  • #817 / #1000 — Steam Deck gfx_0.0.0 timeout (culling task shader 2c56dc1006942f74); workaround shipped in v2.0.11 as RX_VK_SKIP_CODE, but does not cover this intro transition hang
  • #996 / #708 — AMD device lost family (mostly Windows; same device lost / GPU hang pattern)

Happy to retest with RX_VK_CHECKPOINTS=1 (or any experimental build) if that helps name the dispatch that hangs after the 12288 clear.

Before you send it

  • I'm on the newest release, or the problem is still there on it.
  • I searched the open issues for this problem.
  • I'm not attaching game files, keys, hookshot.exe, the .bin caches or saves.
### Hookshot version v2.0.11 (source `10f983ad`) ### What kind of problem Crash, freeze or black screen (Vulkan device lost / AMDGPU reset) ### What happened On a Steam Deck (RADV VANGOGH), the **intro cutscene itself plays fine**. The hang is **100% reproducible at the transition from that cutscene into gameplay** (when the first 3D scene / Kokiri-area load starts after the movie). Sequence every time: 1. Title / cutscene run at ~60 fps 2. Cutscene ends → gameplay transition begins 3. Log allocates a **12288×12288** depth/shadow target (~1.2–1.7 GB of live textures) 4. Long submits / a ~1.2 s dispatch 5. `radv/amdgpu: The CS has been cancelled because the context is lost` 6. `vk: device lost` 7. Kernel: `amdgpu: ring gfx_0.0.0 timeout` → `GPU reset` In Desktop Mode this GPU reset also killed **Xwayland** (DrKonqi popup). That looks like collateral damage from the GPU reset, not a separate Wayland bug. ### Where in the game Right after the first intro cutscene, at the cutscene → gameplay transition (before/as the first playable 3D scene comes in). Cutscene playback itself is OK. ### How often Every time ### Graphics card and driver version - Device: `AMD Custom GPU 0405 (RADV VANGOGH)` (Steam Deck) - Vulkan 1.4.350 - Mesa `26.2.0-devel (git-5c65d4fc31)` / driverVersion `26.1.99` - SteamOS 3.9.5 (`BUILD_ID=20261023.100`), kernel `7.2.7-valve2-2-neptune-72-...` ### CPU, RAM and operating system Steam Deck, SteamOS 3.9.5 (Desktop Mode for these runs; same Hookshot hang pattern across runs) ### Changes from the defaults `hookshot_options.ini` (graphics): - `quality_preset=1` (Minimum / 4GB) - `frame_generation=0` - `resolution=4` (50%) - `output_res=0` - `handheld_profile=1` - `upscaling=0` - `sharpness=0` - `fps_counter=1` - `game_speed=0` (per frame) `hookshot_env.txt` for the latest run: ``` RX_VK_VRAM_MB=2500 RX_VK_TEX_MAX_MB=768 RX_VK_TEX_MAX_DIM=4096 RX_VK_LOW_SPEC=1 RX_VK_KEEP_RETIRED=1 RX_VK_SKIP_CODE=2c56dc1006942f74 RX_VK_SKIP_PROG=ffb53ed102dd9908 ``` ### Other software hooked into the game None ### What we already tried (still hangs) | Attempt | Result | |---|---| | Minimum preset + handheld + FG off + 50% res | Still hangs at same transition | | v2.0.8 → v2.0.10 → **v2.0.11** | Still hangs | | `RX_VK_VRAM_MB` / `TEX_MAX_*` / `KEEP_RETIRED=1` | Env applies (`budget 2500 MB`), still hangs | | `RX_VK_SKIP_CODE=2c56dc1006942f74` (#817 / v2.0.11 readme) | **Does engage** (many programs left out), **still hangs** | | Also `RX_VK_SKIP_PROG=ffb53ed102dd9908` | **Does engage**; 12288 pass draw count drops (~3400 → ~337); last program on the clear becomes `f2999864d78ae1d3`; **still device lost** after a ~1.2 s dispatch | So this looks **related to but not fixed by** the Deck culling workaround in #1165 / #817. Skipping `2c56dc1006942f74` is not enough for this intro→gameplay transition. ### Notable log lines (latest run, with both skips) ``` vk: draws of program ffb53ed102dd9908 left out (RX_VK_SKIP_PROG); its code: 0:365b92d206544e3f 1:acfb185a608654e9 ... vk: texture 0x113acf6000 12288x12288x1 x1 levels 1 NVN 0x32 -> vk 124 (258 textures, 1252 MB) vk: a clear after 337 draws of its pass (12288x12288, 0 colour targets + depth, last program f2999864d78ae1d3): a pass of its own vk: a clear after 337 draws of its pass (4096x4096, 0 colour targets + depth, last program f2999864d78ae1d3): a pass of its own ... vk: slow submit: 1265.7 ms: texture lookups 4.5 uploads 4.3 dispatch 1258.3 queue submit 7.8 radv/amdgpu: The CS has been cancelled because the context is lost. This context is innocent. vk: device lost: reading the fault info (RX_VK_CHECKPOINTS=1 for markers) vi: 11531 frames presented (0.4 fps over the last 12.2 s, interval 1) ``` Kernel: ``` amdgpu: ring gfx_0.0.0 timeout amdgpu: GPU reset begin! amdgpu: GPU reset succeeded ``` Without `SKIP_PROG`, the same 12288 clear previously showed `last program ffb53ed102dd9908` with ~3400+ draws — same transition, same end state. ### Related issues - #817 / #1000 — Steam Deck `gfx_0.0.0 timeout` (culling task shader `2c56dc1006942f74`); workaround shipped in v2.0.11 as `RX_VK_SKIP_CODE`, but **does not cover this intro transition hang** - #996 / #708 — AMD device lost family (mostly Windows; same `device lost` / GPU hang pattern) Happy to retest with `RX_VK_CHECKPOINTS=1` (or any experimental build) if that helps name the dispatch that hangs after the 12288 clear. ### Before you send it - [x] I'm on the newest release, or the problem is still there on it. - [x] I searched the open issues for this problem. - [x] I'm not attaching game files, keys, hookshot.exe, the .bin caches or saves.
LucianoMSS commented 2026-11-09 21:36:20 +00:00 (Migrated from github.com)

Attached evidence

Sanitized Deck log excerpt (version / env / options / skip+crash matches / last 250 lines):

Clarification on timing

Cutscene playback is fine. The hang is specifically at the transition into gameplay after the cutscene ends (first 3D load), not during the movie itself.

### Attached evidence Sanitized Deck log excerpt (version / env / options / skip+crash matches / last 250 lines): - Creating gist hookshot-steamdeck-intro-transition-crash.txt ✓ Created public gist hookshot-steamdeck-intro-transition-crash.txt https://gist.github.com/LucianoMSS/d7cb4148e85c7dc501f11ebd86892973 ### Clarification on timing Cutscene playback is fine. The hang is specifically at the **transition into gameplay after the cutscene ends** (first 3D load), not during the movie itself.
NotRexed commented 2026-11-09 21:46:50 +00:00 (Migrated from github.com)

Thanks for the detailed timeline (the 12288x12288 depth/shadow target at the cutscene-to-gameplay transition). Linking this to the Linux and Steam Deck tracker #1000, where the same Steam Deck crash after the intro is collected (#1061, #1258).

Thanks for the detailed timeline (the 12288x12288 depth/shadow target at the cutscene-to-gameplay transition). Linking this to the Linux and Steam Deck tracker #1000, where the same Steam Deck crash after the intro is collected (#1061, #1258).
NotRexed commented 2026-11-09 22:52:08 +00:00 (Migrated from github.com)

Thanks for the report. To keep each problem in one place, this is tracked in #1000 (Linux and Steam Deck: GPU hangs, crashes and low FPS), which links your details. Closing this as a duplicate; please follow #1000 for updates.

Thanks for the report. To keep each problem in one place, this is tracked in #1000 (Linux and Steam Deck: GPU hangs, crashes and low FPS), which links your details. Closing this as a duplicate; please follow #1000 for updates.
Commenting is not possible because the repository is archived.
No milestone
No assignees
1 participant
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#1318
No description provided.