Game black screens after shaders compile #1161

Closed
opened 2026-11-09 15:43:39 +00:00 by jioball · 17 comments
jioball commented 2026-11-09 15:43:39 +00:00 (Migrated from github.com)

Hookshot version

2.0.8

What kind of problem

Crash, freeze or black screen

What happened

The first time it happened the game audio and inputs was working, but it had a black screen. Now it just black screens with no output. The game doesn't respond and have to task manager kill it.

Where in the game

after shaders compile

How often

Every time

Graphics card and driver version

RTX 4090

CPU, RAM and operating system

Ryzen 7 7800X3D, 64GB, Windows 11

Changes from the defaults

No response

Other software hooked into the game

No, nothing hooked in

hookshot_log.txt

hookshot_log.txt

hookshot_log.1.txt

hookshot_log.2.txt

hookshot_log.3.txt

hookshot_log.4.txt

Screenshots or video

No response

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 2.0.8 ### What kind of problem Crash, freeze or black screen ### What happened The first time it happened the game audio and inputs was working, but it had a black screen. Now it just black screens with no output. The game doesn't respond and have to task manager kill it. ### Where in the game after shaders compile ### How often Every time ### Graphics card and driver version RTX 4090 ### CPU, RAM and operating system Ryzen 7 7800X3D, 64GB, Windows 11 ### Changes from the defaults _No response_ ### Other software hooked into the game No, nothing hooked in ### hookshot_log.txt [hookshot_log.txt](https://github.com/user-attachments/files/34586588/hookshot_log.txt) [hookshot_log.1.txt](https://github.com/user-attachments/files/34586618/hookshot_log.1.txt) [hookshot_log.2.txt](https://github.com/user-attachments/files/34586624/hookshot_log.2.txt) [hookshot_log.3.txt](https://github.com/user-attachments/files/34586634/hookshot_log.3.txt) [hookshot_log.4.txt](https://github.com/user-attachments/files/34586639/hookshot_log.4.txt) ### Screenshots or video _No response_ ### 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.
NotRexed commented 2026-11-09 15:47:34 +00:00 (Migrated from github.com)

Thanks for the logs. Linking this to the black-screen-after-the-intro tracker #998 for now. Does it still happen if you start the game a second time (the first start after an update prepares shaders and pipelines)?

Thanks for the logs. Linking this to the black-screen-after-the-intro tracker #998 for now. Does it still happen if you start the game a second time (the first start after an update prepares shaders and pipelines)?
adrianomarinhosilva commented 2026-11-09 15:48:18 +00:00 (Migrated from github.com)

I’m having the same problem; after updating to version Hookshot v2.0.8, the shaders compile, but then the game opens with sound only—no image. CPU 5800X3d and RTX 5070

hookshot_log.4.txt

I’m having the same problem; after updating to version Hookshot v2.0.8, the shaders compile, but then the game opens with sound only—no image. CPU 5800X3d and RTX 5070 [hookshot_log.4.txt](https://github.com/user-attachments/files/34586885/hookshot_log.4.txt)
jioball commented 2026-11-09 15:50:43 +00:00 (Migrated from github.com)

Yes the same issue still happens. The hookshot logo pops up and the shaders compile under it for a brief second and then nothing, just blackscreen now. I set the game from ultrawide to normal using the .ini, but no change. I am going to try to rebuild hookshot in a different file to see if that fixes it.

When I click on the hookshot when in black screen the mouse gets captured. Pressing ESC does pop it back out, so some functions are still working during the black screen.

Yes the same issue still happens. The hookshot logo pops up and the shaders compile under it for a brief second and then nothing, just blackscreen now. I set the game from ultrawide to normal using the .ini, but no change. I am going to try to rebuild hookshot in a different file to see if that fixes it. When I click on the hookshot when in black screen the mouse gets captured. Pressing ESC does pop it back out, so some functions are still working during the black screen.
NotRexed commented 2026-11-09 15:57:35 +00:00 (Migrated from github.com)

Thanks for the logs, they pinned it down: on v2.0.8 the GPU was lost inside a new write-back pass a few hundred frames after start, every time, and your v2.0.7 log shows the same PC running fine. Your driver (the 621 series) is newer than the one it was tested on.

v2.0.9 is out and turns that change (and the presents' new queue) off by default, back to v2.0.7's paths. Update from the launcher and please say here whether it starts now.

If you have a minute afterwards, it would help a lot to try each one alone, since they made v2.0.8 ~20% faster where they work: set RX_VK_WB_DIFF=1, start the game, then remove it and try RX_VK_PRESENT_QUEUE=1. Tell us which one (if either) brings the black screen back.

Thanks for the logs, they pinned it down: on v2.0.8 the GPU was lost inside a new write-back pass a few hundred frames after start, every time, and your v2.0.7 log shows the same PC running fine. Your driver (the 621 series) is newer than the one it was tested on. **v2.0.9 is out** and turns that change (and the presents' new queue) off by default, back to v2.0.7's paths. Update from the launcher and please say here whether it starts now. If you have a minute afterwards, it would help a lot to try each one alone, since they made v2.0.8 ~20% faster where they work: set `RX_VK_WB_DIFF=1`, start the game, then remove it and try `RX_VK_PRESENT_QUEUE=1`. Tell us which one (if either) brings the black screen back.
jioball commented 2026-11-09 16:17:38 +00:00 (Migrated from github.com)

2.0.9 works now.

Edit: Initially tested environment variables without resetting between tests, and caused both variables to stay in mem. I corrected the mistake.

set RX_VK_WB_DIFF=1 && hookshot.exe
works

set RX_VK_PRESENT_QUEUE=1 && hookshot.exe
black screens with no sound

hookshot_log.txt

hookshot_log.1.txt

2.0.9 works now. Edit: Initially tested environment variables without resetting between tests, and caused both variables to stay in mem. I corrected the mistake. set RX_VK_WB_DIFF=1 && hookshot.exe works set RX_VK_PRESENT_QUEUE=1 && hookshot.exe black screens with no sound [hookshot_log.txt](https://github.com/user-attachments/files/34588714/hookshot_log.txt) [hookshot_log.1.txt](https://github.com/user-attachments/files/34588718/hookshot_log.1.txt)
Gustour commented 2026-11-09 16:17:57 +00:00 (Migrated from github.com)

621.14 RTX 5080 no problem with 2.0.8

621.14 RTX 5080 no problem with 2.0.8
yuelumiao commented 2026-11-09 16:37:23 +00:00 (Migrated from github.com)

621.14 rtx5080m
运行2.0.8没有问题 there is no problem in 2.0.8
但是在游玩过程中会出现飞天树木和地面贴图错误。

621.14 rtx5080m 运行2.0.8没有问题 there is no problem in 2.0.8 但是在游玩过程中会出现飞天树木和地面贴图错误。
bronze-ff commented 2026-11-09 17:12:29 +00:00 (Migrated from github.com)

Hookshot v2.0.9 A/B test on CachyOS with an RTX 5060 (8 GB), NVIDIA driver 615.78.08, a Ryzen 5 5600G, and 16 GB of RAM.

Both configurations reached controllable gameplay in Kokiri Forest after loading the same save. The logs showed zero device-lost events and zero Vulkan submit or present failures.

I recorded one scripted camera pan of about 24 seconds per configuration with RX_VK_FRAME_LOG. Both runs used 67% resolution (1366×768), frame pacing on, 2× frame generation, and RX_VK_PRESENT_QUEUE=0. MangoHud was disabled. FPS counts Vulkan presents, including generated frames.

Write-back diff Average present FPS Frames over 50 ms Longest frame
Off (RX_VK_WB_DIFF=0) 59.0 0 39.9 ms
On (RX_VK_WB_DIFF=1) 66.7 4 200.8 ms

The opt-in run was second. It increased average present FPS in this short test, with a few longer stalls. I left the separate present queue off in both runs.

Hookshot v2.0.9 A/B test on CachyOS with an RTX 5060 (8 GB), NVIDIA driver `615.78.08`, a Ryzen 5 5600G, and 16 GB of RAM. Both configurations reached controllable gameplay in Kokiri Forest after loading the same save. The logs showed zero device-lost events and zero Vulkan submit or present failures. I recorded one scripted camera pan of about 24 seconds per configuration with `RX_VK_FRAME_LOG`. Both runs used 67% resolution (1366×768), frame pacing on, 2× frame generation, and `RX_VK_PRESENT_QUEUE=0`. MangoHud was disabled. FPS counts Vulkan presents, including generated frames. | Write-back diff | Average present FPS | Frames over 50 ms | Longest frame | | --- | ---: | ---: | ---: | | Off (`RX_VK_WB_DIFF=0`) | 59.0 | 0 | 39.9 ms | | On (`RX_VK_WB_DIFF=1`) | 66.7 | 4 | 200.8 ms | The opt-in run was second. It increased average present FPS in this short test, with a few longer stalls. I left the separate present queue off in both runs.
doonv commented 2026-11-09 17:24:11 +00:00 (Migrated from github.com)

Both variables work on Arch Linux with NVIDIA driver 615.78.08 on an RTX 3060 (8GB)

Both variables work on Arch Linux with NVIDIA driver 615.78.08 on an RTX 3060 (8GB)
mashakos commented 2026-11-09 17:24:50 +00:00 (Migrated from github.com)

RTX 3080 mobile, driver 617.14 on windows 10
2.0.8 works fine

2.0.8 average framerate: 40fps
2.0.9 average framerate: 25fps

RTX 3080 mobile, driver 617.14 on windows 10 2.0.8 works fine 2.0.8 average framerate: 40fps 2.0.9 average framerate: 25fps
kroongh commented 2026-11-09 17:26:27 +00:00 (Migrated from github.com)

621.14 rtx 4060 notebook
Both variables without problem, also together no problem (put them in hookshot_env.txt)

621.14 rtx 4060 notebook Both variables without problem, also together no problem (put them in hookshot_env.txt)
itaskaev2 commented 2026-11-09 18:31:33 +00:00 (Migrated from github.com)

A data point for narrowing the hotfix: on an RTX 4080 SUPER with driver 616.92 (0x9a170000, Windows 11, Ryzen 7 5800X3D), RX_VK_WB_DIFF=1 ran twice for 200 s in Kokiri Forest without losing the device. That was main plus PR #841, at a 3840x2160 output.

What the diff is worth there, from RX_VK_PASS_TIMING=1 with the camera swinging in the village: wb copies move the same 68 MB a frame in both runs, 0.55 ms (60 us a span) with the diff and 5.2 ms (540 us a span) without it. The GPU time drops from 11.9 to 7.6 ms a frame with the game's own upscale at 67%, and from 13.6 to 9.2 ms with DLSS Quality. Frame rate goes from 49 to 50 fps median, and from 45 to 49.5 with DLSS, since the game is CPU-bound there.

So 0x9b438000 (the driver in the report) may be the condition, rather than the diff pass on every NVIDIA card. I do not have that driver here to try it.

A data point for narrowing the hotfix: on an RTX 4080 SUPER with driver 616.92 (0x9a170000, Windows 11, Ryzen 7 5800X3D), `RX_VK_WB_DIFF=1` ran twice for 200 s in Kokiri Forest without losing the device. That was main plus PR #841, at a 3840x2160 output. What the diff is worth there, from `RX_VK_PASS_TIMING=1` with the camera swinging in the village: `wb copies` move the same 68 MB a frame in both runs, 0.55 ms (60 us a span) with the diff and 5.2 ms (540 us a span) without it. The GPU time drops from 11.9 to 7.6 ms a frame with the game's own upscale at 67%, and from 13.6 to 9.2 ms with DLSS Quality. Frame rate goes from 49 to 50 fps median, and from 45 to 49.5 with DLSS, since the game is CPU-bound there. So 0x9b438000 (the driver in the report) may be the condition, rather than the diff pass on every NVIDIA card. I do not have that driver here to try it.
ShroomKing commented 2026-11-09 19:12:08 +00:00 (Migrated from github.com)

2.0.9 works now.

Edit: Initially tested environment variables without resetting between tests, and caused both variables to stay in mem. I corrected the mistake.

set RX_VK_WB_DIFF=1 && hookshot.exe works

set RX_VK_PRESENT_QUEUE=1 && hookshot.exe black screens with no sound

hookshot_log.txt

hookshot_log.1.txt

Hey i am running the same driver version on a 5070ti and it works fine for me but i am also running with 3x/4x frame-generation and a lower resolution.

You are running at 8x frame-gen and 4k resolution, can you try the RX_VK_PRESENT_QUEUE=1 without frame-generation or with lower levels like 3x and let me know if the black screen keeps happening? I feel like your driver is crashing due to running out of memory

> 2.0.9 works now. > > Edit: Initially tested environment variables without resetting between tests, and caused both variables to stay in mem. I corrected the mistake. > > set RX_VK_WB_DIFF=1 && hookshot.exe works > > set RX_VK_PRESENT_QUEUE=1 && hookshot.exe black screens with no sound > > [hookshot_log.txt](https://github.com/user-attachments/files/34588714/hookshot_log.txt) > > [hookshot_log.1.txt](https://github.com/user-attachments/files/34588718/hookshot_log.1.txt) Hey i am running the same driver version on a 5070ti and it works fine for me but i am also running with 3x/4x frame-generation and a lower resolution. You are running at 8x frame-gen and 4k resolution, can you try the RX_VK_PRESENT_QUEUE=1 without frame-generation or with lower levels like 3x and let me know if the black screen keeps happening? I feel like your driver is crashing due to running out of memory
jioball commented 2026-11-09 19:28:31 +00:00 (Migrated from github.com)

2.0.9 works now.
Edit: Initially tested environment variables without resetting between tests, and caused both variables to stay in mem. I corrected the mistake.
set RX_VK_WB_DIFF=1 && hookshot.exe works
set RX_VK_PRESENT_QUEUE=1 && hookshot.exe black screens with no sound
hookshot_log.txt
hookshot_log.1.txt

Hey i am running the same driver version on a 5070ti and it works fine for me but i am also running with 3x/4x frame-generation and a lower resolution.

You are running at 8x frame-gen and 4k resolution, can you try the RX_VK_PRESENT_QUEUE=1 without frame-generation or with lower levels like 3x and let me know if the black screen keeps happening? I feel like your driver is crashing due to running out of memory

It looks like you are right. it runs when I did those changes.

hookshot_log.txt

it also runs with both DIFF and QUEUE enabled with the same settings.

hookshot_log.txt

> > 2.0.9 works now. > > Edit: Initially tested environment variables without resetting between tests, and caused both variables to stay in mem. I corrected the mistake. > > set RX_VK_WB_DIFF=1 && hookshot.exe works > > set RX_VK_PRESENT_QUEUE=1 && hookshot.exe black screens with no sound > > [hookshot_log.txt](https://github.com/user-attachments/files/34588714/hookshot_log.txt) > > [hookshot_log.1.txt](https://github.com/user-attachments/files/34588718/hookshot_log.1.txt) > > Hey i am running the same driver version on a 5070ti and it works fine for me but i am also running with 3x/4x frame-generation and a lower resolution. > > You are running at 8x frame-gen and 4k resolution, can you try the RX_VK_PRESENT_QUEUE=1 without frame-generation or with lower levels like 3x and let me know if the black screen keeps happening? I feel like your driver is crashing due to running out of memory It looks like you are right. it runs when I did those changes. [hookshot_log.txt](https://github.com/user-attachments/files/34596160/hookshot_log.txt) it also runs with both DIFF and QUEUE enabled with the same settings. [hookshot_log.txt](https://github.com/user-attachments/files/34596479/hookshot_log.txt)
ShroomKing commented 2026-11-09 19:45:50 +00:00 (Migrated from github.com)

2.0.9 works now.
Edit: Initially tested environment variables without resetting between tests, and caused both variables to stay in mem. I corrected the mistake.
set RX_VK_WB_DIFF=1 && hookshot.exe works
set RX_VK_PRESENT_QUEUE=1 && hookshot.exe black screens with no sound
hookshot_log.txt
hookshot_log.1.txt

Hey i am running the same driver version on a 5070ti and it works fine for me but i am also running with 3x/4x frame-generation and a lower resolution.
You are running at 8x frame-gen and 4k resolution, can you try the RX_VK_PRESENT_QUEUE=1 without frame-generation or with lower levels like 3x and let me know if the black screen keeps happening? I feel like your driver is crashing due to running out of memory

It looks like you are right. it runs when I did those changes.

hookshot_log.txt

it also runs with both DIFF and QUEUE enabled with the same settings.

hookshot_log.txt

Okay that's good to hear!

Honestly 8x frame-gen seems a bit excessive anyway, not sure if you were getting many benefits from using that.
If lower frame-gen levels work well for you i would suggest sticking to those.

To make sure 'cryptic' crashes like these don't happen in the future it would be good to have a guard/warning before running out of memory. Would be useful to implement some kind of check for certain settings i think.

EDIT: to be fair, in these early stages of this port the memory usage seems quite extreme and inefficient. IMO there are lots of optimizations that can be implemented in the next weeks to reduce memory usage.

> > > 2.0.9 works now. > > > Edit: Initially tested environment variables without resetting between tests, and caused both variables to stay in mem. I corrected the mistake. > > > set RX_VK_WB_DIFF=1 && hookshot.exe works > > > set RX_VK_PRESENT_QUEUE=1 && hookshot.exe black screens with no sound > > > [hookshot_log.txt](https://github.com/user-attachments/files/34588714/hookshot_log.txt) > > > [hookshot_log.1.txt](https://github.com/user-attachments/files/34588718/hookshot_log.1.txt) > > > > > > Hey i am running the same driver version on a 5070ti and it works fine for me but i am also running with 3x/4x frame-generation and a lower resolution. > > You are running at 8x frame-gen and 4k resolution, can you try the RX_VK_PRESENT_QUEUE=1 without frame-generation or with lower levels like 3x and let me know if the black screen keeps happening? I feel like your driver is crashing due to running out of memory > > It looks like you are right. it runs when I did those changes. > > [hookshot_log.txt](https://github.com/user-attachments/files/34596160/hookshot_log.txt) > > it also runs with both DIFF and QUEUE enabled with the same settings. > > [hookshot_log.txt](https://github.com/user-attachments/files/34596479/hookshot_log.txt) Okay that's good to hear! Honestly 8x frame-gen seems a bit excessive anyway, not sure if you were getting many benefits from using that. If lower frame-gen levels work well for you i would suggest sticking to those. To make sure 'cryptic' crashes like these don't happen in the future it would be good to have a guard/warning before running out of memory. Would be useful to implement some kind of check for certain settings i think. EDIT: to be fair, in these early stages of this port the memory usage seems quite extreme and inefficient. IMO there are lots of optimizations that can be implemented in the next weeks to reduce memory usage.
jioball commented 2026-11-09 19:59:49 +00:00 (Migrated from github.com)

2.0.9 works now.
Edit: Initially tested environment variables without resetting between tests, and caused both variables to stay in mem. I corrected the mistake.
set RX_VK_WB_DIFF=1 && hookshot.exe works
set RX_VK_PRESENT_QUEUE=1 && hookshot.exe black screens with no sound
hookshot_log.txt
hookshot_log.1.txt

Hey i am running the same driver version on a 5070ti and it works fine for me but i am also running with 3x/4x frame-generation and a lower resolution.
You are running at 8x frame-gen and 4k resolution, can you try the RX_VK_PRESENT_QUEUE=1 without frame-generation or with lower levels like 3x and let me know if the black screen keeps happening? I feel like your driver is crashing due to running out of memory

It looks like you are right. it runs when I did those changes.

hookshot_log.txt

it also runs with both DIFF and QUEUE enabled with the same settings.

hookshot_log.txt

Okay that's good to hear!

Honestly 8x frame-gen seems a bit excessive anyway, not sure if you were getting many benefits from using that.
If lower frame-gen levels work well for you i would suggest sticking to those.

To make sure 'cryptic' crashes like these don't happen in the future it would be good to have a guard/warning before running out of memory. Would be useful to implement some kind of check for certain settings i think.

EDIT: to be fair, in these early stages of this port the memory usage seems quite extreme and inefficient. IMO there are lots of optimizations that can be implemented in the next weeks to reduce memory usage.

It looks like any amount of framegen black screens it, while running QUEUE.

hookshot_log.txt

hookshot_log.1.txt

> > > > 2.0.9 works now. > > > > Edit: Initially tested environment variables without resetting between tests, and caused both variables to stay in mem. I corrected the mistake. > > > > set RX_VK_WB_DIFF=1 && hookshot.exe works > > > > set RX_VK_PRESENT_QUEUE=1 && hookshot.exe black screens with no sound > > > > [hookshot_log.txt](https://github.com/user-attachments/files/34588714/hookshot_log.txt) > > > > [hookshot_log.1.txt](https://github.com/user-attachments/files/34588718/hookshot_log.1.txt) > > > > > > > > > Hey i am running the same driver version on a 5070ti and it works fine for me but i am also running with 3x/4x frame-generation and a lower resolution. > > > You are running at 8x frame-gen and 4k resolution, can you try the RX_VK_PRESENT_QUEUE=1 without frame-generation or with lower levels like 3x and let me know if the black screen keeps happening? I feel like your driver is crashing due to running out of memory > > > > It looks like you are right. it runs when I did those changes. > > > > [hookshot_log.txt](https://github.com/user-attachments/files/34596160/hookshot_log.txt) > > > > it also runs with both DIFF and QUEUE enabled with the same settings. > > > > [hookshot_log.txt](https://github.com/user-attachments/files/34596479/hookshot_log.txt) > > Okay that's good to hear! > > Honestly 8x frame-gen seems a bit excessive anyway, not sure if you were getting many benefits from using that. > If lower frame-gen levels work well for you i would suggest sticking to those. > > To make sure 'cryptic' crashes like these don't happen in the future it would be good to have a guard/warning before running out of memory. Would be useful to implement some kind of check for certain settings i think. > > EDIT: to be fair, in these early stages of this port the memory usage seems quite extreme and inefficient. IMO there are lots of optimizations that can be implemented in the next weeks to reduce memory usage. It looks like any amount of framegen black screens it, while running QUEUE. [hookshot_log.txt](https://github.com/user-attachments/files/34597669/hookshot_log.txt) [hookshot_log.1.txt](https://github.com/user-attachments/files/34597680/hookshot_log.1.txt)
NotRexed commented 2026-11-09 22:53:17 +00:00 (Migrated from github.com)

Fixed in v2.0.9, as confirmed above (the v2.0.8 present queue lost the GPU on NVIDIA 621 drivers). Thanks for the A/B tests!

Fixed in v2.0.9, as confirmed above (the v2.0.8 present queue lost the GPU on NVIDIA 621 drivers). Thanks for the A/B tests!
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#1161
No description provided.