flathub / net.rpcs3.RPCS3

https://flathub.org/apps/details/net.rpcs3.RPCS3
5 stars 5 forks source link

generated app-menu entry doesn't work /.desktop file wrong Exec= #1449

Open Renner0E opened 1 year ago

Renner0E commented 1 year ago

Right-clicking on game > Create Shortcut > Application Menu Shortcut doesn't generate anything because it lacks the xdg-data/applications permission Console: E SYS: Failed to create shortcut. Folder does not exist: /home/user/.var/app/net.rpcs3.RPCS3/data/applications

This can be solved with a flatpak override: flatpak override net.rpcs3.RPCS3 --user --filesystem=xdg-data/applications This successfully creates a .desktop file in ~/.local/share/applications/RPCS3 maybe consider making it a default permission?

Bottles for example doesn't have this permission by default and if you try to create a shortcut it will redirect you to a webpage telling you how to give this permission. They probably have their reason for not enabling this by default?

It has permissions for the Desktop but the Exec= line is wrong.

currently it looks something like this: Exec="/app/bin/rpcs3" --no-gui "%%RPCS3_GAMEID%%:BLES01294"

this works™ on my machine: Exec=/usr/bin/flatpak run net.rpcs3.RPCS3 --no-gui "%%RPCS3_GAMEID%%:BLES01294"

The responsible file line 320

I don't know how to fix this upstream but here is at least a workaround.

j8r commented 8 months ago

The flatpak linter no longer accept the use of --filesystem=xdg-data/applications/RPCS3, which means I'll have to revert https://github.com/flathub/net.rpcs3.RPCS3/pull/1484 for the time being and add the permission workaround in the description and README.

The true solution is to use org.freedesktop.portal.DynamicLauncher portal, which is implemented in C by https://github.com/flatpak/libportal/blob/main/libportal/dynamic-launcher.h.

I open an issue in the upstream RPCS3 project.

B-Nerd commented 1 week ago

when i create a .desktop it does not work that is because where the is in the .desktop file is wrong it is not here Exec="/app/bin/rpcs3" but here Exec="/var/lib/flatpak/exports/bin/net.rpcs3.RPCS3