[Wayland] Freezes after NVN window creation on hybrid AMD+NVIDIA laptop; works with SDL_VIDEODRIVER=x11 + forcing NVIDIA ICD #992

Closed
opened 2026-11-09 05:35:12 +00:00 by nelsonmd72 · 1 comment
nelsonmd72 commented 2026-11-09 05:35:12 +00:00 (Migrated from github.com)

The idea

Environment

  • Hookshot v2.0.5 (source c5895377), built with HookshotBuilder AppImage
  • Pop!_OS 24.04, COSMIC desktop, Wayland session
  • Hybrid laptop: AMD Renoir iGPU (RADV, drives the displays) + NVIDIA GTX 1650 (proprietary 595.104.02)
  • Vulkan devices: GPU0 = RADV Renoir, GPU1 = GTX 1650, GPU2 = llvmpipe
  • Game version check passed (program 0400486024DEC000, update v131072)

Symptom

Launching the game on Wayland: no window ever appears, no audio, process stays alive. Only after a reboot the stuck processes disappear.

Findings

  • Stuck process: main thread sleeping in poll_schedule_timeout at ~1% CPU; earlier attempts were unkillable with SIGTERM (D state until reboot).
  • Log always stops right after "nvn: window of 3 textures (3 active), 2560x1440 format 0x25" + the nn::aoc CountAddOnContent unimplemented import. No [gpu]/[vk] lines are ever printed.
  • With VK_LOADER_DEBUG=error,warning there are zero loader errors/warnings: the renderer never reaches vkCreateInstance.
  • nvidia-smi never lists the process (1 MiB, 0% util): the dGPU is never touched, even when it is the only visible device.
  • Reproduced with all 3 devices visible and with VK_DRIVER_FILES=nvidia_icd.json only: identical freeze. When Vulkan finds no device at all, the game continues instead (audio plays, CPU spins, black window) — graphics init seems to fail silently.
  • Side note: VK_LOADER_DRIVERS_SELECT=nvidia_icd on loader 1.3.280 causes "Found no drivers!" in vulkaninfo (select/filter syntax didn't match anything).

Workaround (game runs)

SDL_VIDEODRIVER=x11 VK_DRIVER_FILES=/usr/share/vulkan/icd.d/nvidia_icd.json ./bin/hookshot

The SDL Wayland path appears to block the whole graphics init on this COSMIC/Wayland hybrid setup; X11 (XWayland) + restricting enumeration to the NVIDIA ICD makes the game run normally. Turing (GTX 16xx, NV + EXT mesh shaders, meshShader=true) seems able to run it with these two env vars.

Anything else

No response

### The idea ## Environment - Hookshot v2.0.5 (source c5895377), built with HookshotBuilder AppImage - Pop!_OS 24.04, COSMIC desktop, Wayland session - Hybrid laptop: AMD Renoir iGPU (RADV, drives the displays) + NVIDIA GTX 1650 (proprietary 595.104.02) - Vulkan devices: GPU0 = RADV Renoir, GPU1 = GTX 1650, GPU2 = llvmpipe - Game version check passed (program 0400486024DEC000, update v131072) ## Symptom Launching the game on Wayland: no window ever appears, no audio, process stays alive. Only after a reboot the stuck processes disappear. ## Findings - Stuck process: main thread sleeping in poll_schedule_timeout at ~1% CPU; earlier attempts were unkillable with SIGTERM (D state until reboot). - Log always stops right after "nvn: window of 3 textures (3 active), 2560x1440 format 0x25" + the nn::aoc CountAddOnContent unimplemented import. No [gpu]/[vk] lines are ever printed. - With VK_LOADER_DEBUG=error,warning there are zero loader errors/warnings: the renderer never reaches vkCreateInstance. - nvidia-smi never lists the process (1 MiB, 0% util): the dGPU is never touched, even when it is the only visible device. - Reproduced with all 3 devices visible and with VK_DRIVER_FILES=nvidia_icd.json only: identical freeze. When Vulkan finds no device at all, the game continues instead (audio plays, CPU spins, black window) — graphics init seems to fail silently. - Side note: VK_LOADER_DRIVERS_SELECT=nvidia_icd on loader 1.3.280 causes "Found no drivers!" in vulkaninfo (select/filter syntax didn't match anything). ## Workaround (game runs) SDL_VIDEODRIVER=x11 VK_DRIVER_FILES=/usr/share/vulkan/icd.d/nvidia_icd.json ./bin/hookshot The SDL Wayland path appears to block the whole graphics init on this COSMIC/Wayland hybrid setup; X11 (XWayland) + restricting enumeration to the NVIDIA ICD makes the game run normally. Turing (GTX 16xx, NV + EXT mesh shaders, meshShader=true) seems able to run it with these two env vars. ### Anything else _No response_
NotRexed commented 2026-11-09 06:03:28 +00:00 (Migrated from github.com)

Tracked in #1000, follow there. That issue collects every report of Linux / Steam Deck GPU hangs, crashes, low fps and build failures, and this one is linked from it with its GPU, version and log details. If it still happens on v2.0.6 (https://github.com/NotRexed/Hookshot/releases/tag/v2.0.6; Update next to Play in the launcher), please add a comment there with your hookshot_log.txt.

Tracked in #1000, follow there. That issue collects every report of Linux / Steam Deck GPU hangs, crashes, low fps and build failures, and this one is linked from it with its GPU, version and log details. If it still happens on v2.0.6 (https://github.com/NotRexed/Hookshot/releases/tag/v2.0.6; Update next to Play in the launcher), please add a comment there with your `hookshot_log.txt`.
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#992
No description provided.