RetroArch icon indicating copy to clipboard operation
RetroArch copied to clipboard

Retroarch v1.21.0 doesn't start.

Open obsgamecapture opened this issue 7 months ago • 3 comments

Is there an existing issue for this?

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

Description

So i think that with kernel configs that don't have CONFIG_SND_SEQUENCER set it won't start.


$ flatpak run --verbose org.libretro.RetroArch
F: No installations directory in /etc/flatpak/installations.d. Skipping
F: Opening system flatpak installation at path /var/lib/flatpak
F: Opening user flatpak installation at path /home/user/.local/share/flatpak
F: Opening user flatpak installation at path /home/user/.local/share/flatpak
F: Opening system flatpak installation at path /var/lib/flatpak
F: Opening user flatpak installation at path /home/user/.local/share/flatpak
F: Opening system flatpak installation at path /var/lib/flatpak
F: /var/lib/flatpak/runtime/org.kde.Platform/aarch64/6.8/a04d9546b7c3ce386677dcd633dc47045bf6b1b464279fabb5a2af15e597136a/files/lib32 does not exist
F: /var/lib/flatpak/runtime/org.kde.Platform/aarch64/6.8/a04d9546b7c3ce386677dcd633dc47045bf6b1b464279fabb5a2af15e597136a/files/lib64 does not exist
F: Cleaning up unused container id 3845701432
F: Cleaning up per-app-ID state for org.libretro.RetroArch
F: Allocated instance id 4140121794
F: Add defaults in dir /org/libretro/RetroArch/
F: Add locks in dir /org/libretro/RetroArch/
F: Allowing host-fs access
F: Not sharing "/run/media" with sandbox: Unable to open path "/run/media": No such file or directory
F: Allowing wayland access
F: Allowing pulseaudio access
F: Pulseaudio user configuration file '/home/user/.config/pulse/client.conf': Error opening file /home/user/.config/pulse/client.conf: No such file or directory
F: Running 'bwrap --args 37 -- xdg-dbus-proxy --args=39'
F: Running 'bwrap --args 37 -- retroarch'
ALSA lib ../../../src/seq/seq_hw.c:528:(snd_seq_hw_open) open /dev/snd/seq failed: No such file or directory

Expected behavior

No response

Steps to reproduce the bug

  1. Try to open Retroarch on a device that has not enabled CONFIG_SND_SEQUENCER.

Version/Commit

v1.21.0

Bisect Results

1.20.0

Present in the nightly version

I don't know

Platform & operating system

Linux arm64 PostmarketOS

Affected Cores

No response

Environment information

Wayland Flatpak.

Relevant log output

$ flatpak run --verbose org.libretro.RetroArch
F: No installations directory in /etc/flatpak/installations.d. Skipping
F: Opening system flatpak installation at path /var/lib/flatpak
F: Opening user flatpak installation at path /home/user/.local/share/flatpak
F: Opening user flatpak installation at path /home/user/.local/share/flatpak
F: Opening system flatpak installation at path /var/lib/flatpak
F: Opening user flatpak installation at path /home/user/.local/share/flatpak
F: Opening system flatpak installation at path /var/lib/flatpak
F: /var/lib/flatpak/runtime/org.kde.Platform/aarch64/6.8/a04d9546b7c3ce386677dcd633dc47045bf6b1b464279fabb5a2af15e597136a/files/lib32 does not exist
F: /var/lib/flatpak/runtime/org.kde.Platform/aarch64/6.8/a04d9546b7c3ce386677dcd633dc47045bf6b1b464279fabb5a2af15e597136a/files/lib64 does not exist
F: Cleaning up unused container id 3845701432
F: Cleaning up per-app-ID state for org.libretro.RetroArch
F: Allocated instance id 4140121794
F: Add defaults in dir /org/libretro/RetroArch/
F: Add locks in dir /org/libretro/RetroArch/
F: Allowing host-fs access
F: Not sharing "/run/media" with sandbox: Unable to open path "/run/media": No such file or directory
F: Allowing wayland access
F: Allowing pulseaudio access
F: Pulseaudio user configuration file '/home/user/.config/pulse/client.conf': Error opening file /home/user/.config/pulse/client.conf: No such file or directory
F: Running 'bwrap --args 37 -- xdg-dbus-proxy --args=39'
F: Running 'bwrap --args 37 -- retroarch'
ALSA lib ../../../src/seq/seq_hw.c:528:(snd_seq_hw_open) open /dev/snd/seq failed: No such file or directory

obsgamecapture avatar May 02 '25 14:05 obsgamecapture

Is it working using Alpine Linux package with v1.2.0 ?

Thank you.

gouchi avatar May 03 '25 09:05 gouchi

Is it working using Alpine Linux package with v1.2.0 ?

Thank you.

Both Flatpak of 1.20.0 and repo installs work. It's with the update 1.21.0 that it doesn't work on.

obsgamecapture avatar May 03 '25 19:05 obsgamecapture

I am having the same problem, crash on launch, same log output as OP, i.e. segfault after the bwrap log entry with no specifics.

Running retroarch flatpak 1.21, on ubuntu 24.04, on KMS / GBM directly.

Something that I noticed in 1.21 was that I had to include in my environment:

export QT_QPA_PLATFORM="eglfs"

which wasn't needed before; in 1.21 the start would fail due to QT Plaform defaulting to xcb, which doesn't work in a system with X server. In 1.21, with the platform environment variable set to "eglfs" I can see that retroarch detects all the available graphics modes and switches to the one I configured and then continues the startup, this time ending with a segfault very similar to the log above

Reverting to retroarch flatpak 1.20 fixes the issue.

arigit avatar Jun 23 '25 12:06 arigit

Someone in discord had this issue as well and bisected it to this commit: 1736184f15c9ef2db1be955657eaa39e2a0b069c

Setting desktop_menu_enable = "false" corrects it, so I guess it's initializing the Qt stuff all the time...?

hizzlekizzle avatar Sep 20 '25 12:09 hizzlekizzle

thank you @hizzlekizzle ! in my case, the machine is an HTPC without desktop environment so that makes sense. For builds using GBM I'd guess most of them won't have desktop environment so this will fail. Is this option in retroarch.cfg? or a compilation option?

Note to self: in restroarch.cfg,

# Only init the WIMP UI for this session if this is enabled
# desktop_menu_enable = true

set to false

arigit avatar Sep 20 '25 16:09 arigit

Report from discord, it is working using both with desktop_menu_enable set to true or false compiling RA

git clone https://github.com/libretro/RetroArch.git retroarch
cd retroarch
./configure --enable-kms --enable-egl --enable-vulkan --disable-x11 --disable-wayland --disable-qt && make -j$(nproc)
./retroarch -v

So --disable-qt should help.

gouchi avatar Sep 21 '25 18:09 gouchi

Report from discord, it is working using both with desktop_menu_enable set to true or false compiling RA

git clone https://github.com/libretro/RetroArch.git retroarch
cd retroarch
./configure --enable-kms --enable-egl --enable-vulkan --disable-x11 --disable-wayland --disable-qt && make -j$(nproc)
./retroarch -v

So --disable-qt should help.

Pre-made packages from distrod don't disable Qt, so that solution is only valid for people who self compile retroarch. And I'm afraid this isn't the majority of users. I'll try the commit and see if it does fix the problem

Edit : that is indeed the culprit commit ... but ... WIMP still doesn't work if pressing F5 ingame, even with QT_QPA_PLATFORM="eglfs". But I believe this may not be a regression since it crashes the same way on 1.20. But at least, reverting the commit allows starting retroarch. I wonder if WIMP ever worked on KMS, or if it's a Qt 6.5 regression.

The full unpatched 1.21 stack trace, if it ever helps:

0x00005555557b8002 in UIntSpinBox::UIntSpinBox(rarch_setting*, QWidget*) [clone .constprop.0] (this=0x5555596214a0, setting=0x0, parent=0x0) at ui/drivers/qt/qt_widgets.cpp:538              
538	   ,m_value(setting->value.target.unsigned_integer)
(gdb) bt
#0  0x00005555557b8002 in UIntSpinBox::UIntSpinBox(rarch_setting*, QWidget*) [clone .constprop.0] (this=0x5555596214a0, setting=0x0, parent=0x0) at ui/drivers/qt/qt_widgets.cpp:538
#1  0x00005555557ef241 in UIntSpinBox::UIntSpinBox (parent=0x0, this=0x5555596214a0, enum_idx=MENU_ENUM_LABEL_VIDEO_SCALE) at ui/drivers/qt/qt_widgets.cpp:550
#2  VideoPage::widget (this=0x555559501040) at ui/drivers/qt/qt_options.cpp:1365
#3  0x00005555557a4dbc in ViewOptionsDialog::addCategory (this=this@entry=0x555558de5ef0, category=category@entry=0x5555593a8e40) at ui/drivers/qt/qt_dialogs.cpp:638
#4  0x00005555557a8a5e in ViewOptionsDialog::ViewOptionsDialog(MainWindow*, QWidget*) [clone .constprop.0] (this=0x555558de5ef0, mainwindow=0x555558d5efb0, parent=<optimized out>)
    at ui/drivers/qt/qt_dialogs.cpp:574
#5  0x0000555555774c5b in MainWindow::MainWindow(QWidget*) [clone .constprop.0] (this=0x555558d5efb0, parent=0x0) at ui/drivers/ui_qt.cpp:1399
#6  0x0000555555785c01 in ui_window_qt_init () at ui/drivers/ui_qt.cpp:4256
#7  0x000055555578d9be in ui_companion_qt_init () at ui/drivers/ui_qt.cpp:4750
#8  0x0000555555603538 in ui_companion_driver_init_first (desktop_menu_enable=true, ui_companion_toggle=false, ui_companion_start_on_boot=0) at ui/ui_companion_driver.c:149
#9  rarch_main (data=0x0, argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/retroarch/RetroArch/retroarch.c:5951
#10 main (argc=<optimized out>, argv=<optimized out>) at ui/drivers/ui_qt.cpp:4484

substring avatar Sep 26 '25 07:09 substring