Skip to content

[Regression] Quick menu becomes unresponsive on audio callback cores #19541

Description

@anyputer

Is there an existing issue for this?

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

Description

Quick Menu becomes very unresponsive when going on audio callback cores such as Dinothawr. It affects at least pulse, pipewire, sdl3, alsa drivers. Disabling audio entirely has no lag. Also, there is an unusual freeze upon starting the core.

Expected behavior

Expect the quick menu to be smooth.

Steps to reproduce the bug

  1. Load Dinothawr or any audio callback capable core

Version/Commit

1.22.2 (Git 3da8ee7)

Bisect Results

some commit right after august 25th

Present in the nightly version

Yes, this is reproduced in the nightly build

Platform & operating system

Arch Linux

Affected Cores

Dinothawr, EasyRPG, ChaiLove, WASM-4 (with callback audio on)

Environment information

  • Desktop Environment: GNOME Wayland, PipeWire
  • System is running PipeWire, affects any audio driver
  • Installed retroarch-git from AUR

Relevant log output

[INFO] --libretro argument "dinothawr" matches core file "/home/yari/.config/retroarch/cores/dinothawr_libretro.so".
[INFO] RetroArch 1.22.2 (Git 3da8ee7485)
[INFO] === Build =================================================
[INFO] CPU Model Name: AMD Ryzen 7 8845HS w/ Radeon 780M Graphics     
[INFO] Capabilities: MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE42 AES PCLMUL AVX AVX2 AVX512 FMA3 LZCNT SHA1 SHA256 
[INFO] Version: 1.22.2
[INFO] Git: 3da8ee7485
[INFO] Built: Sep 13 2026
[INFO] ===========================================================
[INFO] [Input] Found input driver: "x".
[INFO] [Core] Loading dynamic libretro core from: "/home/yari/.config/retroarch/cores/dinothawr_libretro.so".
[INFO] [Override] Redirecting save file to "/home/yari/.config/retroarch/saves/Dinothawr.srm".
[INFO] [Override] Redirecting save state to "/home/yari/.config/retroarch/states/Dinothawr.state".
[INFO] [Environ] GET_CORE_OPTIONS_VERSION.
[INFO] [Environ] SET_VARIABLES.
[INFO] [Environ] SET_SUPPORT_NO_GAME: yes.
[INFO] [Environ] GET_LOG_INTERFACE.
[DEBUG] [Environ] SET_PERFORMANCE_LEVEL: 4 (Deprecated).
[INFO] [Environ] GET_SYSTEM_DIRECTORY: "/home/yari/.config/retroarch/system".
[INFO] [Environ] SET_AUDIO_CALLBACK.
[INFO] [Environ] SET_INPUT_DESCRIPTORS.
[DEBUG] Port 1:
[DEBUG]    "D-Pad Up" => "D-Pad Up"
[DEBUG]    "D-Pad Down" => "D-Pad Down"
[DEBUG]    "D-Pad Left" => "D-Pad Left"
[DEBUG]    "D-Pad Right" => "D-Pad Right"
[DEBUG]    "B Button (Down)" => "Push"
[DEBUG]    "A Button (Right)" => "Menu"
[DEBUG]    "X Button (Top)" => "Reset"
[DEBUG] Port 2:
[DEBUG] Port 3:
[DEBUG] Port 4:
[DEBUG] Port 5:
[INFO] [Environ] SET_FRAME_TIME_CALLBACK.
[INFO] [Environ] SET_PIXEL_FORMAT: XRGB8888.
[DEBUG] [Environ] GET_VARIABLE: dino_timer = "enabled"
[libretro INFO] Dinothawr: Using timer as FPS reference: enabled.
[DEBUG] [State] Save state scanning finished, used slots (in range): 0 (0), max:0, load index 0, gap index 0, delete index 0.
[INFO] [State] found_last_state_slot: #0 (slot reset 0 -> 0 from on-disk scan, max_keep 0). If the previous slot was higher, earlier saves may be missing on disk.
[INFO] [Core] Version of libretro API: 1, Compiled against API: 1
[INFO] [Core] Geometry: 320x200, Aspect: 0.0000, FPS: 60.0000, Sample rate: 44100 Hz.
[INFO] [Video] Set video size to: fullscreen.
[DEBUG] [Wayland] Add global 1, interface wl_compositor, version 6.
[INFO] [Wayland] Registered interface wl_compositor at version 6.
[DEBUG] [Wayland] Add global 2, interface wl_shm, version 2.
[INFO] [Wayland] Registered interface wl_shm at version 2.
[DEBUG] [Wayland] Add global 3, interface wl_output, version 4.
[INFO] [Wayland] Registered interface wl_output at version 4.
[DEBUG] [Wayland] Add global 4, interface wl_output, version 4.
[INFO] [Wayland] Registered interface wl_output at version 4.
[DEBUG] [Wayland] Add global 5, interface zxdg_output_manager_v1, version 3.
[DEBUG] [Wayland] Add global 6, interface wl_data_device_manager, version 3.
[INFO] [Wayland] Registered interface wl_data_device_manager at version 3.
[DEBUG] [Wayland] Add global 7, interface xdg_toplevel_drag_manager_v1, version 1.
[DEBUG] [Wayland] Add global 8, interface zwp_primary_selection_device_manager_v1, version 1.
[DEBUG] [Wayland] Add global 9, interface wl_subcompositor, version 1.
[DEBUG] [Wayland] Add global 10, interface xdg_wm_base, version 7.
[INFO] [Wayland] Registered interface xdg_wm_base at version 7.
[DEBUG] [Wayland] Add global 11, interface gtk_shell1, version 7.
[DEBUG] [Wayland] Add global 12, interface wp_viewporter, version 1.
[INFO] [Wayland] Registered interface wp_viewporter at version 1.
[DEBUG] [Wayland] Add global 13, interface wp_fractional_scale_manager_v1, version 1.
[INFO] [Wayland] Registered interface wp_fractional_scale_manager_v1 at version 1.
[DEBUG] [Wayland] Add global 14, interface zwp_pointer_gestures_v1, version 3.
[DEBUG] [Wayland] Add global 15, interface zwp_tablet_manager_v2, version 2.
[DEBUG] [Wayland] Add global 16, interface wp_pointer_warp_v1, version 1.
[DEBUG] [Wayland] Add global 17, interface wl_seat, version 10.
[INFO] [Wayland] Registered interface wl_seat at version 10.
[DEBUG] [Wayland] Add global 18, interface zwp_relative_pointer_manager_v1, version 1.
[INFO] [Wayland] Registered interface zwp_relative_pointer_manager_v1 at version 1.
[DEBUG] [Wayland] Add global 19, interface zwp_pointer_constraints_v1, version 1.
[INFO] [Wayland] Registered interface zwp_pointer_constraints_v1 at version 1.
[DEBUG] [Wayland] Add global 20, interface zxdg_exporter_v2, version 1.
[DEBUG] [Wayland] Add global 21, interface zxdg_importer_v2, version 1.
[DEBUG] [Wayland] Add global 22, interface zxdg_exporter_v1, version 1.
[DEBUG] [Wayland] Add global 23, interface zxdg_importer_v1, version 1.
[DEBUG] [Wayland] Add global 24, interface zwp_linux_dmabuf_v1, version 5.
[DEBUG] [Wayland] Add global 25, interface wp_single_pixel_buffer_manager_v1, version 1.
[INFO] [Wayland] Registered interface wp_single_pixel_buffer_manager_v1 at version 1.
[DEBUG] [Wayland] Add global 26, interface zwp_keyboard_shortcuts_inhibit_manager_v1, version 1.
[DEBUG] [Wayland] Add global 27, interface zwp_text_input_manager_v3, version 2.
[DEBUG] [Wayland] Add global 28, interface wp_presentation, version 2.
[INFO] [Wayland] Registered interface wp_presentation at version 2.
[DEBUG] [Wayland] Add global 29, interface xdg_activation_v1, version 1.
[DEBUG] [Wayland] Add global 30, interface zwp_idle_inhibit_manager_v1, version 1.
[INFO] [Wayland] Registered interface zwp_idle_inhibit_manager_v1 at version 1.
[DEBUG] [Wayland] Add global 31, interface wp_linux_drm_syncobj_manager_v1, version 1.
[DEBUG] [Wayland] Add global 32, interface xdg_wm_dialog_v1, version 1.
[DEBUG] [Wayland] Add global 33, interface wp_color_manager_v1, version 2.
[DEBUG] [Wayland] Add global 34, interface xdg_session_manager_v1, version 1.
[DEBUG] [Wayland] Add global 35, interface xdg_system_bell_v1, version 1.
[DEBUG] [Wayland] Add global 36, interface xdg_toplevel_tag_manager_v1, version 1.
[INFO] [Wayland] Registered interface xdg_toplevel_tag_manager_v1 at version 1.
[DEBUG] [Wayland] Add global 37, interface wp_drm_lease_device_v1, version 1.
[DEBUG] [Wayland] Add global 38, interface wp_commit_timing_manager_v1, version 1.
[DEBUG] [Wayland] Add global 39, interface wp_fifo_manager_v1, version 1.
[DEBUG] [Wayland] Add global 40, interface wp_cursor_shape_manager_v1, version 2.
[INFO] [Wayland] Registered interface wp_cursor_shape_manager_v1 at version 2.
[DEBUG] [Wayland] Add global 41, interface wp_color_representation_manager_v1, version 1.
[DEBUG] [Wayland] Add global 42, interface ext_background_effect_manager_v1, version 1.
[DEBUG] [Wayland] Add global 43, interface wl_fixes, version 1.
[INFO] [Wayland] Compositor doesn't support the zxdg_decoration_manager_v1 protocol.
[INFO] [Wayland] Compositor doesn't support the wp_content_type_manager_v1 protocol.
[INFO] [Wayland] Compositor doesn't support the xdg_toplevel_icon_manager_v1 protocol.
[INFO] [Wayland] Compositor doesn't support the wp_tearing_control_manager_v1 protocol.
[INFO] [Vulkan] Vulkan dynamic library loaded.
[DEBUG] [Vulkan] Instance extension supported: VK_KHR_surface.
[DEBUG] [Vulkan] Instance extension supported: VK_KHR_wayland_surface.
[DEBUG] [Vulkan] Found vulkan context: "vk_wayland".
[DEBUG] [Vulkan] Detecting screen resolution: 1920x1080.
[INFO] [Vulkan] Found GPU #0: "AMD Radeon 780M Graphics (RADV PHOENIX)".
[INFO] [Vulkan] Using GPU #0: "AMD Radeon 780M Graphics (RADV PHOENIX)".
[INFO] [Vulkan] Using semaphores for WSI acquire.
[INFO] [Vulkan] Queue family 0 supports 1 sub-queues.
[DEBUG] [Vulkan] Device extension supported: VK_KHR_swapchain.
[DEBUG] [Vulkan] Optional device extension supported: VK_KHR_sampler_mirror_clamp_to_edge.
[DEBUG] [Vulkan] Optional device extension NOT supported: VK_EXT_full_screen_exclusive.
[DEBUG] [Vulkan] Optional device extension NOT supported: VK_KHR_portability_subset.
[DEBUG] [Vulkan] Optional device extension NOT supported: VK_GOOGLE_display_timing.
[DEBUG] [Vulkan] Optional device extension supported: VK_EXT_hdr_metadata.
[DEBUG] [Vulkan] Swapchain supports present mode: MAILBOX.
[DEBUG] [Vulkan] Swapchain supports present mode: FIFO.
[INFO] [Vulkan] Using 10-bit SDR swapchain format 58.
[INFO] [Vulkan] Got 4 swapchain images.
[INFO] [Wayland] Auto fullscreen monitor index, letting compositor decide.
[INFO] [Vulkan] Using resolution 1920x1080.
[INFO] [Vulkan] Source is SDR (32-bit), swapchain SDR.
[INFO] [Vulkan] Using BGRA8888 format.
[INFO] [Vulkan] Loading stock shader.
[DEBUG] [Vulkan] Stock chain allocated.
[DEBUG] [Vulkan] Building pass #0 (N/A).
[DEBUG] [Vulkan] Chain UBO ready.
[DEBUG] [Vulkan] Chain history ready.
[DEBUG] [Vulkan] Chain feedback ready.
[DEBUG] [Vulkan] Stock chain built.
[DEBUG] [Vulkan] Filter chain ready.
[DEBUG] [udev] Couldn't open any joypads. Are permissions set correctly for /dev/input/event* and /run/udev/?
[INFO] [Input] Found joypad driver: "udev".
[DEBUG] [Vulkan] Context input driver ready.
[INFO] [Wayland] Enabling idle inhibitor.
[INFO] [Video] Found display server: "null".
[INFO] [Audio] Set audio input rate to: 44100.00 Hz.
[INFO] [Audio] Starting threaded audio driver...
[INFO] [Audio] Audio thread priority raised.
[DEBUG] [PulseAudio] Sink detected: alsa_output.pci-0000_c7_00.1.hdmi-stereo.
[DEBUG] [PulseAudio] Sink detected: alsa_output.pci-0000_c7_00.6.analog-stereo.
[DEBUG] [PulseAudio] Sink detected: bluez_output.E8_EE_CC_4A_10_9A.1.
[INFO] [PulseAudio] Requested 22576 bytes buffer, got 16928.
[INFO] [Audio] sinc resampler: integer s16 path available.
[INFO] [Audio] Driver "pulse" reports a 16928-byte buffer: 48.0 ms of 2-channel float at 44100 Hz against a 64 ms latency setting; rate control holds it near 24.0 ms.
[DEBUG] [Audio] Started audio driver "audio-thread" (is_shutdown=false)
[INFO] [Audio] sinc resampler active path: float
[INFO] [Display] Found display driver: "vulkan".
[INFO] [LED] Using driver: "overlay".
[INFO] [Playlist] Loading favorites file: "/home/yari/.config/retroarch/playlists/builtin/content_favorites.lpl".
[INFO] [Playlist] Loading history file: "/home/yari/.config/retroarch/playlists/builtin/content_history.lpl".
[INFO] [Playlist] Loading history file: "/home/yari/.config/retroarch/playlists/builtin/content_image_history.lpl".
[INFO] [Playlist] Loading history file: "/home/yari/.config/retroarch/playlists/builtin/content_music_history.lpl".
[INFO] [Playlist] Loading history file: "/home/yari/.config/retroarch/playlists/builtin/content_video_history.lpl".
[DEBUG] [Vulkan] Building pass #0 (N/A).
[DEBUG] [Vulkan] Chain UBO ready.
[DEBUG] [Vulkan] Chain history ready.
[DEBUG] [Vulkan] Chain feedback ready.
[INFO] [Runtime] Content ran for a total of: 00 hours, 00 minutes, 02 seconds.
[INFO] [Runtime] Saving runtime log file: "/home/yari/.config/retroarch/playlists/logs/Dinothawr/Dinothawr.lrtl".
[INFO] [Config] Saved credentials to "/home/yari/.config/retroarch/retroarch-keychain.cfg".
[INFO] [Config] Saved config to "/home/yari/.config/retroarch/retroarch.cfg".
[INFO] [SRAM] Saved successfully to "/home/yari/.config/retroarch/saves/Dinothawr.srm" (unchanged, skipping write).
[INFO] [Core] Unloading game...
[DEBUG] [Audio] Stopped audio driver "audio-thread".
[INFO] [Core] Unloading core...
[INFO] [Core] Unloading core symbols...
[INFO] [Core] Saved core options file to "/home/yari/.config/retroarch/config/Dinothawr/Dinothawr.opt".
[DEBUG] [Video] Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.

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