Build Your Own Arcade Controls Forum

Software Support => GroovyMAME => Topic started by: Thad on September 16, 2025, 04:35:40 pm

Title: GroovyArcade/Retroarch: "no Qt platform plugin"
Post by: Thad on September 16, 2025, 04:35:40 pm
Hi there,

I'm using GroovyArcade and using Pegasus as my frontend. I used to be able to launch Retroarch games but at some point an update appears to have broken it. When I launch a game that uses retroarch, the screen very briefly flashes to white text on a black background (too quickly for me to read the text but it looks like a warning about setting a powersave mode and I *think* it's unrelated to the issue launching Retroarch) and then reloads the Pegasus UI.

It appears that Retroarch is core dumping at launch. I looked over pegasus.log and I think this is the relevant section:

Code: [Select]
[i] Executing command: [`/opt/galauncher/galauncher.sh`,`retroarch`,`megadrive`,`/home/arcade/shared/roms/megadrive/QuackShot Starring Donald Duck (World) (Rev A) (Alt).md`]
[i] Working directory: `/opt/galauncher`
[i] Process 0 started
[i] ----------------------------------------
Prelaunching Retroarch
ac_compute_device_uuid's output is based on invalid pci bus info.
qt.qpa.xcb: could not connect to display
qt.qpa.plugin: From 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin.
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: xcb, minimal, wayland, eglfs, linuxfb, minimalegl, wayland-egl, offscreen, vkkhrdisplay, vnc.

/opt/galauncher/emulators/retroarch.sh: line 7:   902 Aborted                    (core dumped) retroarch --verbose --log-file "$LOG_DIR"/retroarch.log -L "$core_file" "$rom" ${@:3} < /dev/null

I get the same error if I exit out of Pegasus and gasetup and run retroarch from the command line (either just running plain `retroarch` or using galauncher.sh).

Retroarch runs without issue if I launch it from the desktop (again, either using the `retroarch` command or galauncher.sh).

As far as I've been able to tell, what's happening is that Retroarch is using a Qt plugin called xcb to load its GUI (even though I've got it set to use rgui, which I don't think should require Qt at all?) and xcb requires X. That's why it works if I launch it from the desktop. But if I launch from Pegasus or the command line, it fails because X isn't running and it's supposed to be rendering to the framebuffer.

Per the Qt for Embedded Linux docs (https://doc.qt.io/qt-6/embedded-linux.html), I've tried setting the QT_QPA_PLATFORM environment variable to the following values, with these results when I run retroarch:

minimal
Segfaults at launch; no other error message

eglfs
Screen goes black (so it might be rendering somewhere but not to my primary display); I can SSH in, kill retroarch, and it'll drop back to the command line.

linuxfb
Screen briefly flashes black, then freezes on the command line; it seems like something is running but whatever it is won't update the screen. If I SSH in, ps shows there's no running retroarch process; I haven't worked out how (or if) I can get back to an interactive shell without a reboot.

minimalegl
Exits with "Could not initialize egl display" error

offscreen
Segfaults at launch; no other error message

I haven't tried the wayland, wayland-egl, vkkhrdisplay, or vnc plugins, because I'm not using Wayland, Vulkan, or VNC.

So that's what I've tried so far, and I'm about out of ideas at this point. Has anybody else seen anything like this, or have any ideas? Thanks in advance.
Title: Re: GroovyArcade/Retroarch: "no Qt platform plugin"
Post by: abispac on September 17, 2025, 01:06:34 am
maybe look for help in retroarch forums
Title: Re: GroovyArcade/Retroarch: "no Qt platform plugin"
Post by: Substring on September 17, 2025, 03:11:03 am
If you don't use WIMP, just desktop_menu_enable = "false" in retroarch.cfg. Couldn't find any other fix for now.
Title: Re: GroovyArcade/Retroarch: "no Qt platform plugin"
Post by: Thad on September 22, 2025, 06:03:52 pm
If you don't use WIMP, just desktop_menu_enable = "false" in retroarch.cfg. Couldn't find any other fix for now.
Well, that gets it to start, at least; thanks.

It's not a perfect solution (I'd like to have the menu available so I can remap buttons, etc.) but it's progress.

maybe look for help in retroarch forums
Not a bad idea, thanks; I might do that.

I'll update the thread if I get everything fixed, so the answer's here for other people.
Title: Re: GroovyArcade/Retroarch: "no Qt platform plugin"
Post by: Substring on September 23, 2025, 01:33:33 pm
You don't need WIMP to remap buttons. It's the Qt GU, not the good old GUI
Title: Re: GroovyArcade/Retroarch: "no Qt platform plugin"
Post by: Thad on September 23, 2025, 07:18:25 pm
You don't need WIMP to remap buttons. It's the Qt GU, not the good old GUI
Huh. After I made the change I could get Retroarch to launch but my keyboard wouldn't work -- not only would the menu not come up when I hit Tab, but I couldn't quit out with the Esc key. (Keyboard worked fine on the Pegasus menu.) I guess it was an unrelated issue, because it works fine now. Too bad about the timing because I assumed it happened because I'd changed the setting.

So yeah, it looks like `desktop_menu_enable = "false"` does the job just fine; thanks.

Also, somebody on the Retroarch forums pointed me to a bug report (https://github.com/libretro/retroarch/issues/17848) and it looks like this is a regression in v1.21.0, so another option would be to downgrade to 1.20.0 and block updates until it's fixed.
Title: Re: GroovyArcade/Retroarch: "no Qt platform plugin"
Post by: Substring on September 26, 2025, 03:12:12 am
hunterk told me it's supposed to be fixed in nightlies. Haven't tried yet