Retroarch v1.21.0 doesn't start.
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
- 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
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.
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.
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...?
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
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.
Report from discord, it is working using both with
desktop_menu_enableset totrueorfalsecompiling RAgit 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 -vSo
--disable-qtshould 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