Skip to content

Retroarch crt royale anr issue #19482

Description

@rightleftkr

Is there an existing issue for this?

  • This is a bug in RetroArch frontend
  • I have searched the existing issues

Description

When "Load shader preset on content load" (auto-apply shader preset) is enabled and the shader preset is CRT Royale (a preset that recursively #references many sub-preset/shader files), RetroArch triggers an Android ANR ("Input dispatching timed out ... Waited 5000ms for KeyEvent") shortly after cold-starting content. Tapping "Wait" in the ANR dialog does not resolve it — the ANR recurs roughly every 5 seconds until the the process is killed.

I've also noticed the ANR appears tied to content/ROM size: with a small ROM (e.g. Street Smart), auto-loading CRT Royale on cold start does not trigger the ANR. With a larger ROM (e.g. The Crystal of Kings), the same auto-load triggers it.

Applying the exact same CRT Royale preset manually via the Quick Menu while content is already running works fine with only a brief, sub-5-second hitch — no ANR. The problem only appears when the preset is loaded automatically during the cold-start/content-load path.

Expected behavior

Shader preset loads (with a normal loading hitch) without triggering an ANR, matching the behavior of manually loading the same preset from the Quick Menu during an active session.

Steps to reproduce the bug

  1. Set a CRT Royale shader preset as the active shader for a core (e.g. via core/content shader override) with "auto-apply shader preset on content load" enabled
  2. Fully close RetroArch (kill process)
  3. Relaunch RetroArch and load the same content Observe ANR dialog within a few seconds of the content loading

Version/Commit

Android (aarch64), latest stable (1.22.2)

Bisect Results

No response

Present in the nightly version

I don't know

Platform & operating system

Android 16

Affected Cores

mame(current), fbneo

Environment information

Device: Lenovo Yoga Pad Pro 12.7 (TB520FU), Snapdragon 8 Gen 3

anr_2026-09-01-12-42-04-961.txt

Relevant log output

Subject: Input dispatching timed out (a68fb05 com.retroarch.aarch64/com.retroarch.browser.retroactivity.RetroActivityFuture is not responding. Waited 5000ms for KeyEvent).

"Thread-3" sysTid=16091
    #00 string_tokenize
    #01 glslang_read_shader_file+500
    #02 glslang_read_shader_file+1400
    #03 glslang_read_shader_file+1400   <- recursive re-entry (reference chain)
    #04 slang_preprocess_parse_parameters+68
    #05 (libretroarch-activity.so, offset only)
    #06 video_shader_load_preset_into_shader+808
    #07 menu_shader_manager_init+472
    #08 (libretroarch-activity.so, offset only)
    #09 (libretroarch-activity.so, offset only)
    #10 rarch_main+528




Starting game: "/storage/emulated/0/ROMs/arcade/SNK/crysking.zip"
Game name: crysking
Game description: The Crystal of Kings
[Environ] SET_ROTATION: "0" (0 deg).
[SRAM] SRAM 불러오기 건너뛰는 중.
[Core] libretro API 버전: 1, 컴파일 대상 API: 1
[Core] Geometry: 320x240, Aspect: 1.333, FPS: 60.05, Sample rate: 48000.00 Hz.
[Video] Set video size to: 960x720.
[Vulkan] Vulkan dynamic library loaded.
[Vulkan] Setting swap interval: 1.
[Vulkan] Created Android surface: 529145507744.
[Vulkan] Found GPU at index 0: "Adreno (TM) 750".
[Vulkan] Using GPU index 0.
[Vulkan] Using semaphores for WSI acquire.
[Vulkan] Using GPU: "Adreno (TM) 750".
[Vulkan] Queue family 0 supports 3 sub-queues.
[Vulkan] Got 6 swapchain images.
[Vulkan] Native window size: 2944x1840.
[Vulkan] Using resolution 2944x1840.
[Vulkan] Using BGRA8888 format.
[Shaders] Specific shader preset found at "/storage/emulated/0/RetroArch/config/MAME/MAME.slangp".
[Slang] Compiling shader: "/data/user/0/com.retroarch.aarch64/shaders/shaders_slang/crt/shaders/crt-royale/src/crt-royale-first-pass-linearize-crt-gamma-bob-fields.slang".
[Vulkan] Using render target format R8G8B8A8_SRGB for pass output #0.
[Slang] Compiling shader: "/data/user/0/com.retroarch.aarch64/shaders/shaders_slang/crt/shaders/crt-royale/src/crt-royale-scanlines-vertical-interlacing.slang".
[Vulkan] Using render target format R8G8B8A8_SRGB for pass output #1.
[Slang] Compiling shader: "/data/user/0/com.retroarch.aarch64/shaders/shaders_slang/crt/shaders/crt-royale/src/crt-royale-bloom-approx.slang".
[Vulkan] Using render target format R8G8B8A8_SRGB for pass output #2.
[Slang] Compiling shader: "/data/user/0/com.retroarch.aarch64/shaders/shaders_slang/blurs/shaders/royale/blur9fast-vertical.slang".
[Vulkan] Using render target format R8G8B8A8_SRGB for pass output #3.
[Slang] Compiling shader: "/data/user/0/com.retroarch.aarch64/shaders/shaders_slang/blurs/shaders/royale/blur9fast-horizontal.slang".
[Vulkan] Using render target format R8G8B8A8_SRGB for pass output #4.
[Slang] Compiling shader: "/data/user/0/com.retroarch.aarch64/shaders/shaders_slang/crt/shaders/crt-royale/src/crt-royale-mask-resize-vertical.slang".
[Vulkan] Using render target format R8G8B8A8_UNORM for pass output #5.
[Slang] Compiling shader: "/data/user/0/com.retroarch.aarch64/shaders/shaders_slang/crt/shaders/crt-royale/src/crt-royale-mask-resize-horizontal.slang".
[Vulkan] Using render target format R8G8B8A8_UNORM for pass output #6.
[Slang] Compiling shader: "/data/user/0/com.retroarch.aarch64/shaders/shaders_slang/crt/shaders/crt-royale/src/crt-royale-scanlines-horizontal-apply-mask.slang".
[Vulkan] Using render target format R8G8B8A8_SRGB for pass output #7.
[Slang] Compiling shader: "/data/user/0/com.retroarch.aarch64/shaders/shaders_slang/crt/shaders/crt-royale/src/crt-royale-brightpass.slang".
[Vulkan] Using render target format R8G8B8A8_SRGB for pass output #8.
[Slang] Compiling shader: "/data/user/0/com.retroarch.aarch64/shaders/shaders_slang/crt/shaders/crt-royale/src/crt-royale-bloom-vertical.slang".
[Vulkan] Using render target format R8G8B8A8_SRGB for pass output #9.
[Slang] Compiling shader: "/data/user/0/com.retroarch.aarch64/shaders/shaders_slang/crt/shaders/crt-royale/src/crt-royale-bloom-horizontal-reconstitute.slang".
[Vulkan] Using render target format R8G8B8A8_SRGB for pass output #10.
[Slang] Compiling shader: "/data/user/0/com.retroarch.aarch64/shaders/shaders_slang/crt/shaders/crt-royale/src/crt-royale-geometry-aa-last-pass.slang".
[Vulkan] Using render target format R8G8B8A8_UNORM for pass output #11.
[Vulkan] Creating framebuffer 1024x1024 (max 1 level(s)).
[Vulkan] Creating framebuffer 1024x1680 (max 1 level(s)).
[Vulkan] Creating framebuffer 320x240 (max 1 level(s)).
[Vulkan] Creating framebuffer 320x240 (max 1 level(s)).
[Vulkan] Creating framebuffer 320x240 (max 1 level(s)).
[Vulkan] Creating framebuffer 64x105 (max 1 level(s)).
[Vulkan] Creating framebuffer 140x105 (max 1 level(s)).
[Vulkan] Creating framebuffer 2240x1680 (max 1 level(s)).
[Vulkan] Creating framebuffer 2240x1680 (max 1 level(s)).
[Vulkan] Creating framebuffer 2240x1680 (max 1 level(s)).
[Vulkan] Creating framebuffer 2240x1680 (max 4294967295 level(s)).
[Vulkan] Creating framebuffer 2240x1680 (max 1 level(s)).
[Input] Found joypad driver: "android".
[Video] Found display server: "android".
[Audio] Set audio input rate to: 47956.48 Hz.
[Vulkan] Creating framebuffer 1024x1024 (max 1 level(s)).
[Vulkan] Creating framebuffer 1024x1680 (max 1 level(s)).
[Vulkan] Creating framebuffer 320x240 (max 1 level(s)).
[Vulkan] Creating framebuffer 320x240 (max 1 level(s)).
[Vulkan] Creating framebuffer 320x240 (max 1 level(s)).
[Vulkan] Creating framebuffer 64x105 (max 1 level(s)).
[Vulkan] Creating framebuffer 140x105 (max 1 level(s)).
[Vulkan] Creating framebuffer 2240x1680 (max 1 level(s)).
[Vulkan] Creating framebuffer 2240x1680 (max 1 level(s)).
[Vulkan] Creating framebuffer 2240x1680 (max 1 level(s)).
[Vulkan] Creating framebuffer 2240x1680 (max 4294967295 level(s)).
[Vulkan] Creating framebuffer 2240x1680 (max 1 level(s)).
[OpenSL] Requested audio latency: 128 ms.
[OpenSL] Setting audio latency: Block size = 768, Blocks = 32, Total = 24576...
[Audio] Started synchronous audio driver.
[Display] Found display driver: "vulkan".

[Vulkan] Native window size: 2944x1840.

[Vulkan] Creating framebuffer 1024x1024 (max 1 level(s)).
[Vulkan] Creating framebuffer 1024x1680 (max 1 level(s)).
[Vulkan] Creating framebuffer 320x240 (max 1 level(s)).
[Vulkan] Creating framebuffer 320x240 (max 1 level(s)).
[Vulkan] Creating framebuffer 320x240 (max 1 level(s)).
[Vulkan] Creating framebuffer 64x105 (max 1 level(s)).
[Vulkan] Creating framebuffer 140x105 (max 1 level(s)).
[Vulkan] Creating framebuffer 2240x1680 (max 1 level(s)).
[Vulkan] Creating framebuffer 2240x1680 (max 1 level(s)).
[Vulkan] Creating framebuffer 2240x1680 (max 1 level(s)).
[Vulkan] Creating framebuffer 2240x1680 (max 4294967295 level(s)).
[Vulkan] Creating framebuffer 2240x1680 (max 1 level(s)).
[Vulkan] Updating framebuffer size 320x240 (format: 43).
[Vulkan] Updating framebuffer size 320x1680 (format: 43).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions