Open future-figs opened 1 year ago
Same problem on Arch Linux after today Gnome 44 Update!
Looks like gnome 44 / Mutter are having issues with fullscreen games: https://gitlab.gnome.org/GNOME/mutter/-/issues/2678
I don't know if this applies to retroarch...
Looks like gnome 44 / Mutter are having issues with fullscreen games: https://gitlab.gnome.org/GNOME/mutter/-/issues/2678
This is still issue with Mutter 44.1, so at least this this is not 2678
This is for sure not Retroarch issue.
You can subscribe to https://gitlab.gnome.org/GNOME/mutter/-/issues/2639
I'm having the same problem as you... Apparently it's a problem in the Gnome interface, the only way is to wait for an update.
The error only happens when I'm using Xorg. Everything works fine with Wayland.
As Workaround You can set Custom Window Size matching your Screen. And set Show Window Decoration off.
I created new issue in mutter for retroarch [1] because [2] was closed as fixed.
[1] https://gitlab.gnome.org/GNOME/mutter/-/issues/2827 [2] https://gitlab.gnome.org/GNOME/mutter/-/issues/2639
Here, behave the same on latest Gnome 44, RetroArch works fine on Wayland but buggy when fullscreen on X11. I like Gnome a lot and i play on RetroArch a lot either, lol. Then i remembered i can use devilspie to manipulate windows. devilspie2 config and solved my problem. >>
if (get_class_instance_name()=="retroarch") then set_window_workspace(2); set_window_fullscreen(true); undecorate_window(); change_workspace(2); end
A workaround for this issue that I use is to launch with gamescope: gamescope -w 1920 -h 1080 -W 1920 -H 1080 -f flatpak run org.libretro.RetroArch
It'd be nice if that weren't necessary though! :)
Also happens on Fedora 39.
I have the same issue on Ubuntu 23.04 with Gnome 44.3 but I only experienced this on Retroarch. All other programs even SDL based work just fine.
Using Fedora 39 (Gnome 45) now, this bug was implemented on gnome 44. But as a workaround now, i use dash to panel extension with intelihide and devilspie to remove retroarch window decoration.
Using Fedora 39 (Gnome 45) now, this bug was implemented on gnome 44. But as a workaround now, i use dash to panel extension with intelihide and devilspie to remove retroarch window decoration.
How do you do it with devilspie?
Mine (devilspie2-0.43-13.fc37.x86_64) on Fedora 39 as well, never detects the fullscreen or maximize of retroarch window:
devilspie2 --debug Running devilspie2 in debug mode. Using scripts from folder: /home/myuser/.config/devilspie2 List of Lua files handling "window_open" events in folder: /home/myuser/.config/devilspie2/retroarch.lua List of Lua files handling "window_close" events in folder: List of Lua files handling "window_focus" events in folder: List of Lua files handling "window_blur" events in folder: get_application_name: retroarch get_window_name: Untitled window get_application_name: retroarch get_window_geometry: 0.0 get_window_client_geometry: 0.0 get_window_type: WINDOW_TYPE_NORMAL get_class_instance_name: retroarch get_window_role: get_window_xid: 111149058.0 get_window_class: retroarch get_window_is_maximized: false get_window_fullscreen: false get_workspace_count: 4.0 ..................................... get_application_name: retroarch get_window_name: Untitled window get_application_name: retroarch get_window_geometry: 0.0 get_window_client_geometry: 0.0 get_window_type: WINDOW_TYPE_NORMAL get_class_instance_name: retroarch get_window_role: get_window_xid: 111149073.0 get_window_class: retroarch get_window_is_maximized: false get_window_fullscreen: false get_workspace_count: 4.0 ..................................... get_application_name: retroarch get_window_name: Untitled window get_application_name: retroarch get_window_geometry: 0.0 get_window_client_geometry: 0.0 get_window_type: WINDOW_TYPE_NORMAL get_class_instance_name: retroarch get_window_role: get_window_xid: 111149100.0 get_window_class: retroarch get_window_is_maximized: false get_window_fullscreen: false get_workspace_count: 4.0 .....................................
My devilspie lua script:
if (get_application_name() == "retroarch") then debug_print( "get_application_name: " .. get_application_name()) debug_print( "get_window_name: " .. get_window_name()) debug_print( "get_application_name: " .. get_application_name()) debug_print( "get_window_geometry: " .. get_window_geometry()) debug_print( "get_window_client_geometry: " .. get_window_client_geometry()) debug_print( "get_window_type: " .. get_window_type()) debug_print( "get_class_instance_name: " .. get_class_instance_name()) debug_print( "get_window_role: " .. get_window_role()) debug_print( "get_window_xid: " .. get_window_xid()) debug_print( "get_window_class: " .. get_window_class()) debug_print( "get_window_is_maximized: " .. tostring(get_window_is_maximized())) debug_print( "get_window_fullscreen: " .. tostring(get_window_fullscreen())) debug_print( "get_workspace_count: " .. get_workspace_count()) debug_print( "..................................... ") if (get_window_fullscreen() == true) then undecorate_window() else decorate_window() end end
It's now looking pretty unlikely that this is a GNOME bug, since they fixed all the other broken fullscreen apps and moved on to version 46 (bug appeared in version 44). It's good that workarounds exist for RA but this bug is pretty severe and deserves a real solution.
Just messing around, I noticed that setting a breakpoint on x11_set_net_wm_fullscreen()
actually fixes the bug for the first time RA is fullscreen-ed (only the first time each run). Adding a sleep(1)
to the beginning of the function has the same effect. Race condition maybe?
I have the same issue (window titlebar and Gnome menubar visible in fullscreen) after upgrading from Ubuntu 23.10 to 24.04 (Gnome 46). Applies to ARM64 and X64 versions,
same issue fedora 40 it only works under wayland
I made a test on Fedora 40 on Wayland and I can't reproduce this issue anymore.
@future-figs Do you still reproduce the issue on X11 ?
Thank you.
That's good news! Unfortunately I still see the issue in X11, which is critical for Switchres.
Edit: Checking in a Wayland session, window decorations seem to be missing in windowed mode? (Testing with a default config, window decorations enabled.) Fullscreen works properly at least.
I made a test on Fedora 40 on Wayland
This is X11-only issue AFAIK
@nE0sIghT yes that is why I asked @future-figs if he reproduced the issue on X11.
I made some test on Fedora 40 with Mate spin which is running X11 and I can't reproduce the issue using Appimage.
@future-figs Is it only related to Gnome with Mutter ? How do you test on Fedora 40 as they have migrated to full Wayland ?
Thank you.
Is it only related to Gnome with Mutter
Yes, this is GNOME/Mutter/X11 issue. Relevant upstream issue: https://gitlab.gnome.org/GNOME/mutter/-/issues/2827
@nE0sIghT Thank you.
@future-figs Please rename the issue title to something Fullscreen is not working correctly anymore with Gnome/Mutter on X11 since Gnome 44
. Thank you.
How do you test on Fedora 40 as they have migrated to full Wayland ?
On the greeter screen, there is a gear icon in the lower-right corner which allows you to choose the session type. Wayland is the default but X11 is still an option.
Good point about the title, it's more accurate this way.
On the greeter screen, there is a gear icon in the lower-right corner which allows you to choose the session type. Wayland is the default but X11 is still an option.
I see ok, I may have missed it as I was using live usb.
Good point about the title, it's more accurate this way.
👍
Thank you.
Here are logs after pressing "F" button with "window fullscreen":
[INFO] [XINERAMA]: Xinerama version: 1.1.
[INFO] [XINERAMA]: Xinerama screens: 1.
[INFO] [XINERAMA]: Saved monitor #0.
[INFO] [Video]: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
[INFO] [Audio]: Set audio input rate to: 48000.00 Hz.
[INFO] [Video]: Set video size to: fullscreen.
[ERROR] [Wayland]: Failed to connect to Wayland server.
[INFO] [Vulkan]: Vulkan dynamic library loaded.
[INFO] [Vulkan]: Found vulkan context: "vk_x".
[INFO] [Vulkan]: Detecting screen resolution: 3440x1440.
[INFO] [XINERAMA]: Xinerama version: 1.1.
[INFO] [XINERAMA]: Xinerama screens: 1.
[INFO] [X/Vulkan]: Using Xinerama on screen #0.
[INFO] [X/Vulkan]: X = 0, Y = 0, W = 3440, H = 1440.
[INFO] [X/Vulkan]: Using windowed fullscreen.
[INFO] [Vulkan]: Found GPU at index 0: "NVIDIA GeForce RTX 3060".
[INFO] [Vulkan]: Using GPU index 0.
[INFO] [Vulkan]: Using fences for WSI acquire.
[INFO] [Vulkan]: Using GPU: "NVIDIA GeForce RTX 3060".
[INFO] [Vulkan]: Queue family 0 supports 16 sub-queues.
[INFO] [Vulkan]: Got 3 swapchain images.
[INFO] [Vulkan]: Using resolution 3440x1403.
[INFO] [Vulkan]: Using RGB565 format.
[INFO] [Vulkan]: Loading stock shader.
[INFO] [Joypad]: Found joypad driver: "sdl2".
[INFO] [DBus]: Suspended screensaver via DBus.
[INFO] [Video]: Found display server: "x11".
[INFO] [PulseAudio]: Requested 24576 bytes buffer, got 18432.
[INFO] [Audio]: Started synchronous audio driver.
[INFO] [ALSA] Using ALSA version 1.2.11
[INFO] [Microphone]: Initialized microphone driver.
[INFO] [Display]: Found display driver: "vulkan".
[INFO] [Input]: Game Focus => OFF
[INFO] [X/Vulkan]: Resized fullscreen resolution to 3440x1403.
If I understand correctly, [INFO] [X/Vulkan]: Using windowed fullscreen
means retroarch failed to enter "true" fullscreen
Logs with "true" fullscreen:
[INFO] [Autoconf]: Xbox 360 Controller отключен от порта 1.
[INFO] [XINERAMA]: Xinerama version: 1.1.
[INFO] [XINERAMA]: Xinerama screens: 1.
[INFO] [XINERAMA]: Saved monitor #0.
[INFO] [Video]: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
[INFO] [Audio]: Set audio input rate to: 48000.00 Hz.
[INFO] [Video]: Set video size to: fullscreen.
[ERROR] [Wayland]: Failed to connect to Wayland server.
[INFO] [Vulkan]: Vulkan dynamic library loaded.
[INFO] [Vulkan]: Found vulkan context: "vk_x".
[INFO] [Vulkan]: Detecting screen resolution: 3440x1440.
[INFO] [X/Vulkan]: Window manager is GNOME Shell.
[INFO] [XINERAMA]: Xinerama version: 1.1.
[INFO] [XINERAMA]: Xinerama screens: 1.
[INFO] [X/Vulkan]: Using Xinerama on screen #0.
[INFO] [X/Vulkan]: X = 0, Y = 0, W = 3440, H = 1440.
[INFO] [X/Vulkan]: Using true fullscreen.
[INFO] [Vulkan]: Found GPU at index 0: "NVIDIA GeForce RTX 3060".
[INFO] [Vulkan]: Using GPU index 0.
[INFO] [Vulkan]: Using fences for WSI acquire.
[INFO] [Vulkan]: Using GPU: "NVIDIA GeForce RTX 3060".
[INFO] [Vulkan]: Queue family 0 supports 16 sub-queues.
[INFO] [Vulkan]: Got 3 swapchain images.
[INFO] [Vulkan]: Using resolution 3440x1403.
[INFO] [Vulkan]: Using RGB565 format.
[INFO] [Vulkan]: Loading stock shader.
[INFO] [Joypad]: Found joypad driver: "sdl2".
[INFO] [Autoconf]: Xbox 360 Controller (1118/654) не настроен, используется резерв.
[INFO] [DBus]: Suspended screensaver via DBus.
[INFO] [Video]: Found display server: "x11".
[INFO] [PulseAudio]: Requested 24576 bytes buffer, got 18432.
[INFO] [Audio]: Started synchronous audio driver.
[INFO] [ALSA] Using ALSA version 1.2.11
[INFO] [Microphone]: Initialized microphone driver.
[INFO] [Display]: Found display driver: "vulkan".
[INFO] [Input]: Game Focus => OFF
[INFO] [X/Vulkan]: Resized fullscreen resolution to 3440x1403.
[INFO] [X/Vulkan]: Resized fullscreen resolution to 3394x1367.
This issue also happens with the Steam version of RetroArch in Wayland. Exactly as described in the original post; GNOME's top panel is visible, RetroArch shows the titlebar and it gets cut off at the bottom.
Sometimes restarting the application or toggling between windowed and full screen mode with the F key solves the issue, but not always.
Can confirm the Flatpak version isn't affected (in Wayland), but the Steam version is.
For missing window decorations in Wayland, I think you need libdecor-dev installed as a runtime dep, which is weird.
For missing window decorations in Wayland, I think you need libdecor-dev installed as a runtime dep, which is weird.
The problem I'm experiencing isn't the lack of window decorations, but actually the presence of them. :p
With the Steam version of RetroArch, it launches in full screen mode but with the title bar at the top, the window content cut at the bottom, and it doesn't actually go full screen. Here's a video:
https://github.com/user-attachments/assets/252eedfd-11ce-4913-b188-51952431e0dd
And this is what happens in Big Picture mode:
https://github.com/user-attachments/assets/33a1cd24-75ab-4742-8f5a-86c18bc96199
In both videos, to fix the issue I put RetroArch in windowed mode by pressing "F", then back to full screen with the same key, but in my previous tests that doesn't always fix the problem.
Here's the behavior of the flatpak version:
https://github.com/user-attachments/assets/0253f457-51f9-46b2-ac6c-f7ba1ccda9fd
It goes into full screen mode correctly right off the bat.
It would be great if the Steam version did that too, since I want to make my setup feel like an actual game console, and I like the fact that with the Steam version of RetroArch I can sync my saves to the cloud, count how many hours I have spent, and that it displays that I'm running that application.
My system info is Arch Linux with kernel 6.10.6-arch1-1 and GNOME 46.4 Wayland session.
Thanks in advance!
Description
Retroarch can't enter "exclusive" fullscreen; the titlebar is still present.
Expected behavior
Pressing
f
or launching with--fullscreen
etc. puts RetroArch into fullscreen modeActual behavior
Retroarch takes up a maximized window on the screen. The window's titlebar and the GNOME clock/menubar are still visible, like in ordinary windowed mode. If the GNOME menubar is present on the active monitor, then the bottom gets cut off, but otherwise the content is sized correctly.
Screenshot of "attempted" fullscreen with default config file:
Turning off "Show Window Decorations" hides the titlebar the GNOME menubar, but presumably it's still running through the compositor, a la windowed-fullscreen.
Weirdly, GroovyMAME works fine on the exact same system, and I haven't seen the same issue with any other 3D/fullscreen applications either—RetroArch is the only one affected that I can find.
I have tried with other video drivers but got the same results (or a crash). My baseline is
glcore
.Steps to reproduce the bug
f
to enter fullscreenBisect Results
Issue arose after updating from Fedora 37 to Fedora 38. More likely it is a weird interaction with GNOME 44 (updated from GNOME 43 in F37).
I tried RetroArch v1.14.0 (known-good on F37), and reproduced the issue on F38, so I do not think that any RetroArch update in particular is causing the issue.
I am running the same NVIDIA driver version (530) as before the update, so I do not think that is related.
Version/Commit
You can find this information under Information/System Information
Environment information