Problems with fullscreen mode under Wayland

Hey. I’m experiencing problems with fullscreen mode on Wayland specifically under KDE KWin. Retroarch can properly start in fullscreen mode but if I ever change to windowed mode and then switch it back to fullscreen RA occupies only bottom right quarter of the screen.

This also happens when video mode changes for other reason like switching core internal resolution. The only way to get rid of it is program restart. It has to start in fullscreen so I close it while it’s glitched.

My system is Ubuntu 25.04 with RA version 1.20.0. Below I attach a log output

[INFO] [Config]: Looking for config in: "/home/reng/.config/retroarch/retroarch.cfg".
[INFO] RetroArch 1.20.0 (Git b2ceb50)
[INFO] === Build =======================================
[INFO] CPU Model Name: Intel(R) Core(TM) i5-2540M CPU @ 2.60GHz
[INFO] Capabilities: MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE42 AES AVX 
[INFO] Version: 1.20.0
[INFO] Git: b2ceb50
[INFO] Built: Mar 15 2025
[INFO] =================================================
[INFO] [Input]: Found input driver: "udev".
[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: 60.00, 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 zxdg_decoration_manager_v1 at version 1
[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_shm at version 1
[INFO] [Wayland]: Registered interface wl_seat at version 9
[INFO] [Wayland]: Registered interface zwp_pointer_constraints_v1 at version 1
[INFO] [Wayland]: Registered interface zwp_relative_pointer_manager_v1 at version 1
[INFO] [Wayland]: Registered interface wl_data_device_manager at version 3
[INFO] [Wayland]: Registered interface wp_cursor_shape_manager_v1 at version 1
[INFO] [Wayland]: Registered interface zwp_idle_inhibit_manager_v1 at version 1
[INFO] [Wayland]: Registered interface wp_content_type_manager_v1 at version 1
[INFO] [Wayland]: Registered interface xdg_wm_base at version 6
[INFO] [Wayland]: Registered interface wl_output at version 4
[INFO] [Wayland]: Compositor doesn't support the wp_single_pixel_buffer_manager_v1 protocol!
[INFO] [EGL] Found EGL client version >= 1.5, trying eglGetPlatformDisplay
[INFO] [EGL]: EGL version: 1.5
[INFO] [GLCore]: Found GL context: "wayland".
[INFO] [GLCore]: Detecting screen resolution: 1600x900.
[INFO] [EGL]: Current context: 0x5e776f4c2120.
[INFO] [Wayland] Failed to specify monitor for fullscreen, letting compositor decide
[INFO] [GLCore]: Vendor: Intel, Renderer: Mesa Intel(R) HD Graphics 3000 (SNB GT2).
[INFO] [GLCore]: Version: 3.3 (Core Profile) Mesa 25.0.7-0ubuntu0.25.04.1.
[INFO] [GLCore]: Using resolution 1600x900.
[INFO] [Joypad]: Found joypad driver: "udev".
[INFO] [GLCore]: Loading stock shader.
[INFO] [slang]: Building pass #0 (N/A)
[INFO] [GLCore]: Not using frame history.
[INFO] [GLCore]: Not using framebuffer feedback.
[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.
[ERROR] [Microphone]: Failed to start microphone driver. Will continue without audio input.
[INFO] [Display]: Found display driver: "glcore".
[INFO] [Playlist]: Loading history file: "/home/reng/.config/retroarch/content_history.lpl".
[INFO] [Playlist]: Loading history file: "/home/reng/.config/retroarch/content_music_history.lpl".
[INFO] [Playlist]: Loading history file: "/home/reng/.config/retroarch/content_video_history.lpl".
[INFO] [Playlist]: Loading history file: "/home/reng/.config/retroarch/content_image_history.lpl".
[INFO] [Playlist]: Loading favorites file: "/home/reng/.config/retroarch/content_favorites.lpl".
[INFO] [Video]: Set video size to: 960x720.
[INFO] [Wayland]: Registered interface wl_compositor at version 6
[INFO] [Wayland]: Registered interface zxdg_decoration_manager_v1 at version 1
[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_shm at version 1
[INFO] [Wayland]: Registered interface wl_seat at version 9
[INFO] [Wayland]: Registered interface zwp_pointer_constraints_v1 at version 1
[INFO] [Wayland]: Registered interface zwp_relative_pointer_manager_v1 at version 1
[INFO] [Wayland]: Registered interface wl_data_device_manager at version 3
[INFO] [Wayland]: Registered interface wp_cursor_shape_manager_v1 at version 1
[INFO] [Wayland]: Registered interface zwp_idle_inhibit_manager_v1 at version 1
[INFO] [Wayland]: Registered interface wp_content_type_manager_v1 at version 1
[INFO] [Wayland]: Registered interface xdg_wm_base at version 6
[INFO] [Wayland]: Registered interface wl_output at version 4
[INFO] [Wayland]: Compositor doesn't support the wp_single_pixel_buffer_manager_v1 protocol!
[INFO] [EGL] Found EGL client version >= 1.5, trying eglGetPlatformDisplay
[INFO] [EGL]: EGL version: 1.5
[INFO] [GLCore]: Found GL context: "wayland".
[INFO] [GLCore]: Detecting screen resolution: 1600x900.
[INFO] [EGL]: Current context: 0x5e77726e7b60.
[INFO] [GLCore]: Vendor: Intel, Renderer: Mesa Intel(R) HD Graphics 3000 (SNB GT2).
[INFO] [GLCore]: Version: 3.3 (Core Profile) Mesa 25.0.7-0ubuntu0.25.04.1.
[INFO] [GLCore]: Using resolution 960x720.
[INFO] [Joypad]: Found joypad driver: "udev".
[INFO] [GLCore]: Loading stock shader.
[INFO] [slang]: Building pass #0 (N/A)
[INFO] [GLCore]: Not using frame history.
[INFO] [GLCore]: Not using framebuffer feedback.
[INFO] [Wayland]: Enabling idle inhibitor
[INFO] [Audio]: Set audio input rate to: 48000.00 Hz.
[INFO] [PulseAudio]: Requested 24576 bytes buffer, got 18432.
[INFO] [Audio]: Started synchronous audio driver.
[ERROR] [Microphone]: Failed to start microphone driver. Will continue without audio input.
[INFO] [Display]: Found display driver: "glcore".
[INFO] [Input]: Game Focus => OFF
[INFO] [Video]: Set video size to: fullscreen.
[INFO] [Wayland]: Registered interface wl_compositor at version 6
[INFO] [Wayland]: Registered interface zxdg_decoration_manager_v1 at version 1
[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_shm at version 1
[INFO] [Wayland]: Registered interface wl_seat at version 9
[INFO] [Wayland]: Registered interface zwp_pointer_constraints_v1 at version 1
[INFO] [Wayland]: Registered interface zwp_relative_pointer_manager_v1 at version 1
[INFO] [Wayland]: Registered interface wl_data_device_manager at version 3
[INFO] [Wayland]: Registered interface wp_cursor_shape_manager_v1 at version 1
[INFO] [Wayland]: Registered interface zwp_idle_inhibit_manager_v1 at version 1
[INFO] [Wayland]: Registered interface wp_content_type_manager_v1 at version 1
[INFO] [Wayland]: Registered interface xdg_wm_base at version 6
[INFO] [Wayland]: Registered interface wl_output at version 4
[INFO] [Wayland]: Compositor doesn't support the wp_single_pixel_buffer_manager_v1 protocol!
[INFO] [EGL] Found EGL client version >= 1.5, trying eglGetPlatformDisplay
[INFO] [EGL]: EGL version: 1.5
[INFO] [GLCore]: Found GL context: "wayland".
[INFO] [GLCore]: Detecting screen resolution: 1600x900.
[INFO] [EGL]: Current context: 0x5e777249bc00.
[INFO] [Wayland] Failed to specify monitor for fullscreen, letting compositor decide
[INFO] [GLCore]: Vendor: Intel, Renderer: Mesa Intel(R) HD Graphics 3000 (SNB GT2).
[INFO] [GLCore]: Version: 3.3 (Core Profile) Mesa 25.0.7-0ubuntu0.25.04.1.
[INFO] [GLCore]: Using resolution 1600x900.
[INFO] [Joypad]: Found joypad driver: "udev".
[INFO] [GLCore]: Loading stock shader.
[INFO] [slang]: Building pass #0 (N/A)
[INFO] [GLCore]: Not using frame history.
[INFO] [GLCore]: Not using framebuffer feedback.
[INFO] [Wayland]: Enabling idle inhibitor
[INFO] [Audio]: Set audio input rate to: 48000.00 Hz.
[INFO] [PulseAudio]: Requested 24576 bytes buffer, got 18432.
[INFO] [Audio]: Started synchronous audio driver.
[ERROR] [Microphone]: Failed to start microphone driver. Will continue without audio input.
[INFO] [Display]: Found display driver: "glcore".
[INFO] [Input]: Game Focus => OFF
[INFO] [Config]: Saved new config to "/home/reng/.config/retroarch/retroarch.cfg".
[INFO] [Core]: Content ran for a total of: 00 hours, 00 minutes, 00 seconds.
[INFO] [Core]: Unloading core..
[INFO] [Core]: Unloading core symbols..

Hi,

Thank you for the log.

Do you reproduce the issue with stable 1.21.0 ? Nightly ?

Not sure if it is because

[INFO] [Wayland] Failed to specify monitor for fullscreen, letting compositor decide

Are you using perhaps several monitors ? If yes, we have this issue which could be related to your issue.