Hi Mark,
Thanks for your suggestion about using Flatseal to view and amend the sandbox settings for Flatpak. I’ve been digging deeper into this issue, and it seems like the problem with Minigalaxy’s inability to create desktop shortcuts is more complex than just missing permissions in the Flatpak manifest.
I’ve been in touch with another user on the parallel forum (Minigalaxy crashes on startup with "Error 71 (Błąd protokołu) dispatching to Wayland display" on Fedora 41 · Issue #647 · sharkwouter/minigalaxy · GitHub), and they pointed out that the Flatpak manifest is missing an entry for --filesystem:xdg-data/applications
in the finish-args
section. This is necessary for the application to have access to the .local/share/applications/
directory, where desktop shortcuts are typically created.
However, when I tried to submit a pull request to add this entry, it was rejected because Flatpak’s linter no longer allows such changes. According to user GB609, this is due to Flatpak’s stricter policies around desktop shortcut creation, which they consider potentially dangerous. They referenced a few related issues, such as:
From what I can gather, the current solution proposed by Flatpak is to have users manually pass the required permission override when starting the application, rather than allowing the Flatpak to create desktop shortcuts by default.
I’ve left the pull request open (Flatpak version cannot create desktop shortcuts due to missing --filesystem:xdg-data/applications entry · Issue #78 · flathub/io.github.sharkwouter.Minigalaxy · GitHub) to document the attempted solution and provide context for the issue. I’ve also created a feature request on the Flatpak issue tracker to discuss the broader issue of desktop integration and potential solutions: flatpak/flatpak#6124. I’m hoping to get some feedback from the Flatpak developers on this, and if they come up with a viable solution, we can revisit the approach.
In the meantime, I’ll look into using Flatseal to manually adjust the sandbox settings for Minigalaxy, as you suggested. It’s not an ideal solution, but it might help work around the issue until a more permanent fix is available.
Thanks again for your help and guidance! I’ll keep you updated on any progress.
EDIT:
I wanted to leave the shortcut creation for now as it depends on the flatpak developers.
Regarding your proposal to run:
MG_DEBUG=1 WEBKIT_DISABLE_DMABUF_RENDERER=1 flatpak run io.github.sharkwouter.Minigalaxy
The client launched successfully. I installed Iron Harvest (with automatic shortcut creation disabled), but:
2025-02-18 22:16:39,437 - minigalaxy - INFO - Launch command for Iron Harvest: wine start /b /wait /d . release/IronHarvest.exe
wine: created the configuration directory ‘/home/vertikal/GOG Games/Iron Harvest/prefix’
002c:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.Windows.Common-Controls" (6.0.0.0)
0054:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.Windows.Common-Controls" (6.0.0.0)
004c:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.Windows.Common-Controls" (6.0.0.0)
0054:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hr 0x80004002
0054:err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, hr 0x80004002
0054:err:ole:apartment_get_local_server_stream Failed: 0x80004002
0054:err:ole:start_rpcss Failed to open RpcSs service
004c:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hr 0x80004002
004c:err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, hr 0x80004002
004c:err:ole:apartment_get_local_server_stream Failed: 0x80004002
0090:fixme:file:NtLockFile I/O completion on lock not implemented yet
0090:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0090:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 1)
0090:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 1)
00f0:fixme:msg:pack_message msg 14 (WM_ERASEBKGND) not supported yet
0118:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0118:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0118:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0118:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
wine: configuration in L"/home/vertikal/GOG Games/Iron Harvest/prefix" has been updated.
0154:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0154:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFFFFFFFFFA, 00007FFFFE1EFBA0
015c:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFFFFFFFFFA, 00007FFFFE1FFEB0
01e0:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFFFFFFFFFA, 00007FFFFE1FFEB0
When I ran MG_DEBUG=1 WEBKIT_DISABLE_DMABUF_RENDERER=1 WEBKIT_DISABLE_COMPOSITING_MODE=1 flatpak run io.github.sharkwouter.Minigalaxy
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0118:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0118:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFFFFFFFFFA, 00007FFFFE1EFBA0
0120:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFFFFFFFFFA, 00007FFFFE1FFEB0
01a4:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFFFFFFFFFA, 00007FFFFE1FFEB0