Unstable VRR when running native Wayland
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 14.1k
- Forks
- 2.2k
- Avg merge
- 7h 35m
- Merged PRs (30d)
- 51
Description
Is there an existing issue for this?
- This is a bug in RetroArch frontend
- I have searched the existing issues
Description
On Gnome 48, when running RetroArch natively through Wayland using the Vulkan driver, VRR is unable to properly sync the refresh rate with the framerate. With Max Swapchain Images set to 2, the framerate of the game drops. When setting it to 3, the framerate reaches the target, but the refresh rate is still unstable. Both happens regardless of whether or not Sync to Exact content is on or off. Forcing Wayland off with WAYLAND_DISPLAY="" retroarch fixes both issues.
Expected behavior
The monitor would properly sync the refresh rate with RetroArch's framerate.
Steps to reproduce the bug
Run RetroArch on Gnome 48, using a VRR monitor with a refresh rate meter or on a monitor prone to VRR flicker, and using Vulkan Wayland.
Version/Commit
1.20.0 (Git ab3b175848)
Bisect Results
No response
Present in the nightly version
I don't know
Platform & operating system
Arch Linux x86-64
Affected Cores
No response
Environment information
- Gnome 48 Wayland
- Vulkan driver
- Installed through pacman
Relevant log output
[INFO] RetroArch 1.20.0 (Git ab3b175848)
[INFO] === Build =======================================
[INFO] CPU Model Name: AMD Ryzen 5 5600X 6-Core Processor
[INFO] Capabilities: MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE42 AES AVX AVX2
[INFO] Version: 1.20.0
[INFO] Git: ab3b175848
[INFO] Built: Feb 20 2025
[INFO] =================================================
[INFO] [Input]: Found input driver: "x".
[INFO] [Core]: Loading dynamic libretro core from: "/home/user/.config/retroarch/cores/sameboy_libretro.so"
[INFO] [Overrides]: Redirecting save file to "/home/user/.config/retroarch/saves/Game Boy/Pokemon - Red Version (USA, Europe) (SGB Enhanced).srm".
[INFO] [Overrides]: Redirecting save state to "/home/user/.config/retroarch/states/SameBoy/Pokemon - Red Version (USA, Europe) (SGB Enhanced).state".
[INFO] [Environ]: GET_CORE_OPTIONS_VERSION.
[INFO] [Environ]: GET_LANGUAGE: "0".
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_V2_INTL.
[INFO] [Environ]: SYSTEM_DIRECTORY: "/home/user/.config/retroarch/system".
[INFO] [Environ]: GET_LOG_INTERFACE.
[INFO] [Content]: Loading content file: "/media/hdd/user/Documentos/ROMs/Game Boy/Pokemon - Red Version (USA, Europe) (SGB Enhanced).zip#Pokemon - Red Version (USA, Europe) (SGB Enhanced).gb".
[INFO] [Content]: CRC32: 0x9f7fdd53.
[INFO] [Environ]: SET_PIXEL_FORMAT: XRGB8888.
[libretro INFO] Initializing as model: dmg
[libretro INFO] Loading boot image: /home/user/.config/retroarch/system/dmg_boot.bin
[INFO] [Environ]: SET_CONTROLLER_INFO.
[INFO] [Environ]: SET_INPUT_DESCRIPTORS:
[INFO] [Environ]: SET_SUPPORT_ACHIEVEMENTS: yes.
[INFO] [Environ]: GET_RUMBLE_INTERFACE.
[libretro INFO] Rumble environment supported
[INFO] [Environ]: SET_MEMORY_MAPS.
[INFO] [RCHEEVOS]: Using host: https://retroachievements.org
[INFO] [RCHEEVOS]: Unofficial disabled
[INFO] [RCHEEVOS]: Encore mode disabled
[INFO] [RCHEEVOS]: Spectator mode disabled
[INFO] [RCHEEVOS]: Load started, hardcore active
[INFO] [RCHEEVOS]: Attempting to log in user (with token)
[INFO] [RCHEEVOS]: Identifying game: 1048576 bytes at 0x5cb18e14cc90 (/media/hdd/user/Documentos/ROMs/Game Boy/Pokemon - Red Version (USA, Europe) (SGB Enhanced).zip#Pokemon - Red Version (USA, Europe) (SGB Enhanced).gb)
[INFO] [RCHEEVOS]: Found 1 potential consoles for gb file extension
[INFO] [RCHEEVOS]: Trying console 4
[INFO] [RCHEEVOS]: Hashing 1048576 byte buffer
[INFO] [RCHEEVOS]: Generated hash 3d45c1ee9abd5738df46d2bdda8b57dc
[INFO] [Core]: Version of libretro API: 1, Compiled against API: 1
[INFO] [Core]: Geometry: 160x144, Aspect: 1.111, FPS: 59.73, Sample rate: 384000.00 Hz.
[INFO] [Video]: Set video size to: fullscreen.
[INFO] [Wayland]: Registered interface wl_compositor at version 6
[INFO] [Wayland]: Registered interface wl_shm at version 2
[INFO] [Wayland]: Registered interface wl_data_device_manager at version 3
[INFO] [Wayland]: Registered interface xdg_wm_base at version 6
[INFO] [Wayland]: Registered interface wp_viewporter at version 1
[INFO] [Wayland]: Registered interface wp_fractional_scale_manager_v1 at version 1
[INFO] [Wayland]: Registered interface wl_seat at version 8
[INFO] [Wayland]: Registered interface zwp_relative_pointer_manager_v1 at version 1
[INFO] [Wayland]: Registered interface zwp_pointer_constraints_v1 at version 1
[INFO] [Wayland]: Registered interface wp_single_pixel_buffer_manager_v1 at version 1
[INFO] [Wayland]: Registered interface zwp_idle_inhibit_manager_v1 at version 1
[INFO] [Wayland]: Registered interface wp_cursor_shape_manager_v1 at version 2
[INFO] [Wayland]: Registered interface wl_output at version 4
[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!
(retroarch:10930): Gtk-WARNING **: 20:18:09.207: gtk_disable_setlocale() must be called before gtk_init()
[INFO] [Vulkan]: Vulkan dynamic library loaded.
[INFO] [Vulkan]: Found vulkan context: "vk_wayland".
[INFO] [Vulkan]: Detecting screen resolution: 1920x1080.
[INFO] [Vulkan]: Found GPU at index 0: "AMD Radeon RX 6600 XT (RADV NAVI23)".
[INFO] [Vulkan]: Using GPU index 0.
[INFO] [Vulkan]: Using fences for WSI acquire.
[INFO] [Vulkan]: Using GPU: "AMD Radeon RX 6600 XT (RADV NAVI23)".
[INFO] [Vulkan]: Queue family 0 supports 1 sub-queues.
[INFO] [Vulkan]: Got 2 swapchain images.
[INFO] [Wayland] Failed to specify monitor for fullscreen, letting compositor decide
[INFO] [Vulkan]: Using resolution 1920x1080.
[INFO] [Vulkan]: Using BGRA8888 format.
[INFO] [Shaders]: Specific shader preset found at "/home/user/.config/retroarch/config/SameBoy/Game Boy.slangp".
[INFO] [slang]: Compiling shader: "/home/user/.config/retroarch/shaders/shaders_slang/bezel/Mega_Bezel/shaders/guest/extras/hsm-drez-none.slang".
[INFO] [slang]: Using render target format R8G8B8A8_SRGB for pass output #0.
[INFO] [slang]: Compiling shader: "/home/user/.config/retroarch/shaders/shaders_slang/bezel/Mega_Bezel/shaders/base/cache-info-all-params.slang".
[INFO] [slang]: Using render target format R32G32B32A32_SFLOAT for pass output #1.
[INFO] [slang]: Compiling shader: "/home/user/.config/retroarch/shaders/shaders_slang/bezel/Mega_Bezel/shaders/base/text-std.slang".
[INFO] [slang]: Using render target format R16G16B16A16_SFLOAT for pass output #2.
[INFO] [slang]: Compiling shader: "/home/user/.config/retroarch/shaders/shaders_slang/bezel/Mega_Bezel/shaders/guest/extras/hsm-fetch-drez-output.slang".
[INFO] [slang]: Using render target format R8G8B8A8_SRGB for pass output #3.
[INFO] [slang]: Compiling shader: "/home/user/.config/retroarch/shaders/shaders_slang/motionblur/shaders/response-time.slang".
[INFO] [slang]: Using render target format R8G8B8A8_UNORM for pass output #4.
[INFO] [slang]: Compiling shader: "/home/user/.config/retroarch/shaders/shaders_slang/handheld/shaders/gb-palette/gb-palette.slang".
[INFO] [slang]: Using render target format R8G8B8A8_UNORM for pass output #5.
[INFO] [slang]: Compiling shader: "/home/user/.config/retroarch/shaders/shaders_slang/handheld/shaders/simpletex_lcd/simpletex_lcd.slang".
[INFO] [slang]: Using render target format R8G8B8A8_UNORM for pass output #6.
[INFO] [slang]: Compiling shader: "/home/user/.config/retroarch/shaders/shaders_slang/bezel/Mega_Bezel/shaders/fxaa/fxaa.slang".
[INFO] [slang]: Using render target format R8G8B8A8_UNORM for pass output #7.
[INFO] [slang]: Compiling shader: "/home/user/.config/retroarch/shaders/shaders_slang/bezel/Mega_Bezel/shaders/base/intro.slang".
[INFO] [slang]: Using render target format R16G16B16A16_SFLOAT for pass output #8.
[INFO] [slang]: Compiling shader: "/home/user/.config/retroarch/shaders/shaders_slang/bezel/Mega_Bezel/shaders/dogway/hsm-grade.slang".
[INFO] [slang]: Using render target format R8G8B8A8_UNORM for pass output #9.
[INFO] [slang]: Compiling shader: "/home/user/.config/retroarch/shaders/shaders_slang/bezel/Mega_Bezel/shaders/guest/hsm-custom-fast-sharpen.slang".
[INFO] [slang]: Using render target format R8G8B8A8_UNORM for pass output #10.
[INFO] [slang]: Compiling shader: "/home/user/.config/retroarch/shaders/shaders_slang/bezel/Mega_Bezel/shaders/base/linearize.slang".
[INFO] [slang]: Using render target format R16G16B16A16_SFLOAT for pass output #11.
[INFO] [slang]: Compiling shader: "/home/user/.config/retroarch/shaders/shaders_slang/bezel/Mega_Bezel/shaders/guest/extras/hsm-screen-scale-g-sharp_resampler.slang".
[INFO] [slang]: Using render target format R16G16B16A16_SFLOAT for pass output #12.
[INFO] [slang]: Compiling shader: "/home/user/.config/retroarch/shaders/shaders_slang/bezel/Mega_Bezel/shaders/base/post-crt-prep-image-layers.slang".
[INFO] [slang]: Using render target format R16G16B16A16_SFLOAT for pass output #13.
[INFO] [slang]: Compiling shader: "/home/user/.config/retroarch/shaders/shaders_slang/bezel/Mega_Bezel/shaders/base/bezel-images-under-crt.slang".
[INFO] [slang]: Using render target format R16G16B16A16_SFLOAT for pass output #14.
[INFO] [slang]: Compiling shader: "/home/user/.config/retroarch/shaders/shaders_slang/bezel/Mega_Bezel/shaders/base/bezel-images-over-crt.slang".
[INFO] [slang]: Using render target format R16G16B16A16_SFLOAT for pass output #15.
[INFO] [slang]: Compiling shader: "/home/user/.config/retroarch/shaders/shaders_slang/bezel/Mega_Bezel/shaders/base/linearize-crt.slang".
[INFO] [slang]: Using render target format R16G16B16A16_SFLOAT for pass output #16.
[INFO] [slang]: Compiling shader: "/home/user/.config/retroarch/shaders/shaders_slang/bezel/Mega_Bezel/shaders/base/blur-outside-screen-horiz.slang".
[INFO] [slang]: Using render target format R8G8B8A8_UNORM for pass output #17.
[INFO] [slang]: Compiling shader: "/home/user/.config/retroarch/shaders/shaders_slang/bezel/Mega_Bezel/shaders/base/blur-outside-screen-vert.slang".
[INFO] [slang]: Using render target format R8G8B8A8_UNORM for pass output #18.
[INFO] [slang]: Compiling shader: "/home/user/.config/retroarch/shaders/shaders_slang/blurs/shaders/royale/blur9x9.slang".
[INFO] [slang]: Using render target format R16G16B16A16_SFLOAT for pass output #19.
[INFO] [slang]: Compiling shader: "/home/user/.config/retroarch/shaders/shaders_slang/blurs/shaders/royale/blur9x9.slang".
[INFO] [slang]: Using render target format R16G16B16A16_SFLOAT for pass output #20.
[INFO] [slang]: Compiling shader: "/home/user/.config/retroarch/shaders/shaders_slang/bezel/Mega_Bezel/shaders/base/reflection.slang".
[INFO] [slang]: Using render target format R16G16B16A16_SFLOAT for pass output #21.
[INFO] [slang]: Compiling shader: "/home/user/.config/retroarch/shaders/shaders_slang/bezel/Mega_Bezel/shaders/base/combine-passes.slang".
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 4294967295 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 4294967295 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 800x600 (max 4294967295 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 800x600 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 800x600 (max 4294967295 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 128x128 (max 4294967295 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 12x12 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Using framebuffer feedback for pass #1.
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Using framebuffer feedback for pass #2.
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Using framebuffer feedback for pass #13.
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Using framebuffer feedback for pass #14.
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 4294967295 level(s)).
[INFO] [Vulkan filter chain]: Using framebuffer feedback for pass #15.
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Using framebuffer feedback for pass #21.
[INFO] [udev]: Pad #0 (/dev/input/event25) supports force feedback.
[INFO] [udev]: Pad #0 (/dev/input/event25) supports 16 force feedback effects.
[INFO] [Joypad]: Found joypad driver: "udev".
[INFO] [Wayland]: Enabling idle inhibitor
[INFO] [Video]: Found display server: "null".
[INFO] [Audio]: Set audio input rate to: 384000.00 Hz.
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 4294967295 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 4294967295 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 800x600 (max 4294967295 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 800x600 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 800x600 (max 4294967295 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 128x128 (max 4294967295 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 12x12 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Using framebuffer feedback for pass #1.
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Using framebuffer feedback for pass #2.
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Using framebuffer feedback for pass #13.
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Using framebuffer feedback for pass #14.
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 4294967295 level(s)).
[INFO] [Vulkan filter chain]: Using framebuffer feedback for pass #15.
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Using framebuffer feedback for pass #21.
[INFO] [PulseAudio]: Requested 24576 bytes buffer, got 18432.
[INFO] [Audio]: Started synchronous audio driver.
[INFO] [ALSA] Using ALSA version 1.2.13
[INFO] [Microphone]: Initialized microphone driver.
[INFO] [Display]: Found display driver: "vulkan".
[INFO] [Environ]: SET_SUBSYSTEM_INFO.
[libretro INFO] Connecting device 1 into port 0
[INFO] [Playlist]: Loading history file: "/home/user/.config/retroarch/content_history.lpl".
[INFO] [Playlist]: Loading history file: "/home/user/.config/retroarch/content_music_history.lpl".
[INFO] [Playlist]: Loading history file: "/home/user/.config/retroarch/content_video_history.lpl".
[INFO] [Playlist]: Loading history file: "/home/user/.config/retroarch/content_image_history.lpl".
[INFO] [Playlist]: Loading favorites file: "/home/user/.config/retroarch/content_favorites.lpl".
[INFO] [RCHEEVOS]: user logged in successfully
[INFO] [RCHEEVOS]: Identified game: 724 (3d45c1ee9abd5738df46d2bdda8b57dc)
[INFO] [RCHEEVOS]: Fetching data for game 724
[INFO] [Vulkan filter chain]: Updating framebuffer size 160x144 (format: 43).
[INFO] [Vulkan filter chain]: Updating framebuffer size 160x144 (format: 109).
[INFO] [Vulkan filter chain]: Updating framebuffer size 160x144 (format: 97).
[INFO] [Vulkan filter chain]: Updating framebuffer size 160x144 (format: 43).
[INFO] [Vulkan filter chain]: Updating framebuffer size 160x144 (format: 37).
[INFO] [Vulkan filter chain]: Updating framebuffer size 160x144 (format: 37).
[INFO] [Vulkan filter chain]: Updating framebuffer size 160x144 (format: 44).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 4294967295 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 4294967295 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 800x600 (max 4294967295 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 800x600 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 800x600 (max 4294967295 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 128x128 (max 4294967295 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 12x12 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Using framebuffer feedback for pass #1.
[INFO] [Vulkan filter chain]: Creating framebuffer 256x256 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Using framebuffer feedback for pass #2.
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Using framebuffer feedback for pass #13.
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Using framebuffer feedback for pass #14.
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 4294967295 level(s)).
[INFO] [Vulkan filter chain]: Using framebuffer feedback for pass #15.
[INFO] [Vulkan filter chain]: Creating framebuffer 1920x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Using framebuffer feedback for pass #21.
[INFO] [Vulkan filter chain]: Updating framebuffer size 160x144 (format: 43).
[INFO] [Vulkan filter chain]: Updating framebuffer size 160x144 (format: 109).
[INFO] [Vulkan filter chain]: Updating framebuffer size 160x144 (format: 97).
[INFO] [Vulkan filter chain]: Updating framebuffer size 160x144 (format: 43).
[INFO] [Vulkan filter chain]: Updating framebuffer size 160x144 (format: 37).
[INFO] [Vulkan filter chain]: Updating framebuffer size 160x144 (format: 37).
[INFO] [Vulkan filter chain]: Updating framebuffer size 160x144 (format: 44).
[INFO] [Vulkan filter chain]: Updating framebuffer size 160x144 (format: 109).
[INFO] [Vulkan filter chain]: Updating framebuffer size 160x144 (format: 97).
[INFO] [Vulkan filter chain]: Updating framebuffer size 160x144 (format: 44).
[INFO] [Vulkan filter chain]: Updating framebuffer size 160x144 (format: 44).
[INFO] [Vulkan filter chain]: Updating framebuffer size 160x144 (format: 44).
[INFO] [Vulkan filter chain]: Updating framebuffer size 160x144 (format: 44).
[INFO] [Vulkan filter chain]: Updating framebuffer size 160x144 (format: 44).
[INFO] [Vulkan filter chain]: Updating framebuffer size 160x144 (format: 44).
[INFO] [RCHEEVOS]: Starting session for game 724
[INFO] [RCHEEVOS]: Registered 0x0100 bytes of SYSTEM RAM at $000000 (descriptor 7, offset 0x000000)
[INFO] [RCHEEVOS]: Registered 0x0050 bytes of SYSTEM RAM at $000100 (descriptor 7, offset 0x000100)
[INFO] [RCHEEVOS]: Registered 0x3EB0 bytes of SYSTEM RAM at $000150 (descriptor 7, offset 0x000150)
[INFO] [RCHEEVOS]: Registered 0x4000 bytes of SYSTEM RAM at $004000 (descriptor 8, offset 0x000000)
[INFO] [RCHEEVOS]: Registered 0x1800 bytes of VRAM at $008000 (descriptor 6, offset 0x000000)
[INFO] [RCHEEVOS]: Registered 0x0400 bytes of VRAM at $009800 (descriptor 6, offset 0x001800)
[INFO] [RCHEEVOS]: Registered 0x0400 bytes of VRAM at $009C00 (descriptor 6, offset 0x001C00)
[INFO] [RCHEEVOS]: Registered 0x2000 bytes of SRAM at $00A000 (descriptor 5, offset 0x000000)
[INFO] [RCHEEVOS]: Registered 0x1000 bytes of SYSTEM RAM at $00C000 (descriptor 3, offset 0x000000)
[INFO] [RCHEEVOS]: Registered 0x1000 bytes of SYSTEM RAM at $00D000 (descriptor 4, offset 0x000000)
[INFO] [RCHEEVOS]: Registered 0x1000 bytes of SYSTEM RAM at $00E000 (descriptor 3, offset 0x000000)
[INFO] [RCHEEVOS]: Registered 0x0E00 bytes of SYSTEM RAM at $00F000 (descriptor 4, offset 0x000000)
[INFO] [RCHEEVOS]: Registered 0x00A0 bytes of VRAM at $00FE00 (descriptor 9, offset 0x000000)
[INFO] [RCHEEVOS]: Registered 0x0060 bytes of UNUSED at $00FEA0 (null filler)
[INFO] [RCHEEVOS]: Registered 0x0080 bytes of SYSTEM RAM at $00FF00 (descriptor 11, offset 0x000000)
[INFO] [RCHEEVOS]: Registered 0x007F bytes of SYSTEM RAM at $00FF80 (descriptor 2, offset 0x000000)
[INFO] [RCHEEVOS]: Registered 0x0001 bytes of SYSTEM RAM at $00FFFF (descriptor 1, offset 0x000000)
[INFO] [RCHEEVOS]: Registered 0x6000 bytes of UNUSED at $010000 (descriptor 10, offset 0x000000)
[INFO] [RCHEEVOS]: Registered 0xA000 bytes of SRAM at $016000 (descriptor 10, offset 0x006000)
[INFO] [RCHEEVOS]: Could not map region starting at $020000
[INFO] [RCHEEVOS]: Registered 0x14000 bytes of SRAM at $020000 (null filler)
[INFO] [RCHEEVOS]: 369/369 memory addresses valid
[INFO] [RCHEEVOS]: Game 724 loaded, hardcore enabled
[INFO] [RCHEEVOS]: You have 19 of 93 achievements unlocked
[INFO] [Core]: Content ran for a total of: 00 hours, 00 minutes, 19 seconds.
[INFO] [Runtime]: Saving runtime log file: "/home/user/.config/retroarch/playlists/logs/SameBoy/Pokemon - Red Version (USA, Europe) (SGB Enhanced).lrtl".
[INFO] [Core]: No content, starting dummy core.
[INFO] [SRAM]: Saving RAM type #0 to "/home/user/.config/retroarch/saves/Game Boy/Pokemon - Red Version (USA, Europe) (SGB Enhanced).srm".
[INFO] [SRAM]: Saved successfully to "/home/user/.config/retroarch/saves/Game Boy/Pokemon - Red Version (USA, Europe) (SGB Enhanced).srm".
[INFO] [SRAM]: Saving RAM type #1 to "/home/user/.config/retroarch/saves/Game Boy/Pokemon - Red Version (USA, Europe) (SGB Enhanced).rtc".
[INFO] [SRAM]: Saved successfully to "/home/user/.config/retroarch/saves/Game Boy/Pokemon - Red Version (USA, Europe) (SGB Enhanced).rtc".
[INFO] [Core]: Content ran for a total of: 00 hours, 00 minutes, 00 seconds.
[INFO] [RCHEEVOS]: Unloading game 724
[INFO] [Core]: Unloading game..
[libretro INFO] Unloading GB: 1
[INFO] [Core]: Unloading core..
[INFO] [Core]: Unloading core symbols..
[INFO] [Core]: Saved core options file to "/home/user/.config/retroarch/config/SameBoy/SameBoy.opt".
[INFO] RetroArch 1.20.0 (Git ab3b175848)
[INFO] === Build =======================================
[INFO] CPU Model Name: AMD Ryzen 5 5600X 6-Core Processor
[INFO] Capabilities: MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE42 AES AVX AVX2
[INFO] Version: 1.20.0
[INFO] Git: ab3b175848
[INFO] Built: Feb 20 2025
[INFO] =================================================
[INFO] [Input]: Found input driver: "x".
[INFO] [Environ]: SET_PIXEL_FORMAT: RGB565.
[INFO] [Core]: Version of libretro API: 1, Compiled against API: 1
[INFO] [Core]: Geometry: 320x240, Aspect: 1.333, FPS: 143.93, Sample rate: 48000.00 Hz.
[INFO] [Video]: Set video size to: fullscreen.
[INFO] [Wayland]: Registered interface wl_compositor at version 6
[INFO] [Wayland]: Registered interface wl_shm at version 2
[INFO] [Wayland]: Registered interface wl_data_device_manager at version 3
[INFO] [Wayland]: Registered interface xdg_wm_base at version 6
[INFO] [Wayland]: Registered interface wp_viewporter at version 1
[INFO] [Wayland]: Registered interface wp_fractional_scale_manager_v1 at version 1
[INFO] [Wayland]: Registered interface wl_seat at version 8
[INFO] [Wayland]: Registered interface zwp_relative_pointer_manager_v1 at version 1
[INFO] [Wayland]: Registered interface zwp_pointer_constraints_v1 at version 1
[INFO] [Wayland]: Registered interface wp_single_pixel_buffer_manager_v1 at version 1
[INFO] [Wayland]: Registered interface zwp_idle_inhibit_manager_v1 at version 1
[INFO] [Wayland]: Registered interface wp_cursor_shape_manager_v1 at version 2
[INFO] [Wayland]: Registered interface wl_output at version 4
[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!
(retroarch:10930): Gtk-WARNING **: 20:18:40.024: gtk_disable_setlocale() must be called before gtk_init()
[INFO] [Vulkan]: Vulkan dynamic library loaded.
[INFO] [Vulkan]: Found vulkan context: "vk_wayland".
[INFO] [Vulkan]: Detecting screen resolution: 1920x1080.
[INFO] [Vulkan]: Found GPU at index 0: "AMD Radeon RX 6600 XT (RADV NAVI23)".
[INFO] [Vulkan]: Using GPU index 0.
[INFO] [Vulkan]: Using fences for WSI acquire.
[INFO] [Vulkan]: Using GPU: "AMD Radeon RX 6600 XT (RADV NAVI23)".
[INFO] [Vulkan]: Queue family 0 supports 1 sub-queues.
[INFO] [Vulkan]: Got 2 swapchain images.
[INFO] [Wayland] Failed to specify monitor for fullscreen, letting compositor decide
[INFO] [Vulkan]: Using resolution 1920x1080.
[INFO] [Vulkan]: Using RGB565 format.
[INFO] [Vulkan]: Loading stock shader.
[INFO] [udev]: Pad #0 (/dev/input/event25) supports force feedback.
[INFO] [udev]: Pad #0 (/dev/input/event25) supports 16 force feedback effects.
[INFO] [Joypad]: Found joypad driver: "udev".
[INFO] [Wayland]: Enabling idle inhibitor
[INFO] [Video]: Found display server: "null".
[INFO] [Audio]: Set audio input rate to: 48000.00 Hz.
[INFO] [PulseAudio]: Requested 24576 bytes buffer, got 18432.
[INFO] [Audio]: Started synchronous audio driver.
[INFO] [ALSA] Using ALSA version 1.2.13
[INFO] [Microphone]: Initialized microphone driver.
[INFO] [Display]: Found display driver: "vulkan".
[INFO] [Environ]: SET_SUBSYSTEM_INFO.
[INFO] [Shaders]: Specific shader preset found at "/home/user/.config/retroarch/config/SameBoy/Game Boy.slangp".
[INFO] [Playlist]: Loading history file: "/home/user/.config/retroarch/content_history.lpl".
[INFO] [Playlist]: Loading history file: "/home/user/.config/retroarch/content_music_history.lpl".
[INFO] [Playlist]: Loading history file: "/home/user/.config/retroarch/content_video_history.lpl".
[INFO] [Playlist]: Loading history file: "/home/user/.config/retroarch/content_image_history.lpl".
[INFO] [Playlist]: Loading favorites file: "/home/user/.config/retroarch/content_favorites.lpl".
[INFO] [CloudSync] begin succeeded
[INFO] [CloudSync] server manifest fetch succeeded
[INFO] [CloudSync] created manifest with 22 files
[WARN] [CloudSync] opened local manifest
[INFO] [CloudSync] created manifest with 22 files
[INFO] [CloudSync] created in-memory manifest of current disk state
[INFO] [CloudSync] uploading saves/Game Boy/Pokemon - Red Version (USA, Europe) (SGB Enhanced).srm
[INFO] [CloudSync] finished processing manifests
[INFO] [CloudSync] uploading saves/Game Boy/Pokemon - Red Version (USA, Europe) (SGB Enhanced).srm succeeded
[INFO] [CloudSync] wrote /home/user/.config/retroarch/downloads/manifest.local
[INFO] [CloudSync] uploading updated manifest to server
[INFO] [CloudSync] wrote /home/user/.config/retroarch/downloads/manifest.server
[INFO] [CloudSync] uploading updated manifest succeeded
[INFO] [CloudSync] finished after 3.427548 seconds, 1 files uploaded, 0 files downloaded
[INFO] [Core]: Content ran for a total of: 00 hours, 00 minutes, 00 seconds.
[INFO] [Core]: Unloading core..
[INFO] [Core]: Unloading core symbols..
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source file or test is named; first reproduce the issue on GNOME 48 Wayland with the Vulkan driver, a VRR monitor, and both swapchain-image settings while comparing native Wayland with WAYLAND_DISPLAY="". Done means the game reaches its target framerate and the monitor refresh rate remains synchronized without instability or flicker.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- arch-linux, c, linux
- Domain
- computer-graphics, desktop, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100