melonDS-emu / melonDS

DS emulator, sorta
https://melonds.kuribo64.net
GNU General Public License v3.0
3.19k stars 528 forks source link

"File open" menu does not function on Steam Deck in Gaming Mode #1447

Open kaosushijin opened 2 years ago

kaosushijin commented 2 years ago

On the Steam Deck, when running melonDS as a non-Steam game in Gaming Mode, going to the File Open menu to open a ROM does not display a file browser and locks up the application instance. Current workaround is to open the ROM in Desktop Mode, then access it from the "Recent" menu in Gaming Mode.

It would be ideal to have a mode where you can provide a ROM directory and select from a list without invoking a file manager.

Riddim-GLiTCH commented 2 years ago

Hi, So you use a steamdeck, which, I presume is running SteamOS from the context given. RetroArch is an emulator front-end that handles file browsing and such. MelonDS has a core for RetroArch available. You can get RetroArch for free from Steam.

JakobDev commented 2 years ago

That is not a Bug of melonDS. The File Dialog did not work in all Programs in the Gamemode. It is a Bug of SteamOS.

kaosushijin commented 2 years ago

This is not true; Dolphin file manager is properly invoked using other applications (ie, PCSX2); However, this may be an issue with the specific flatpak distributed for melonDS in the Discovery app store.

JakobDev commented 2 years ago

I guess you have installed PCSX2 as Flatpak. Flatpak Apps are sandboxed, what mean the don't have access to your full filesystem. If the Open Dialog is part of the Program, it will not work, if you don't have access to all files. To solve this Problem, Portals were created. The Program request a Open Dialog. The Open Dialog is opened outside the Sandbox. When the User opens a File, the Sandbox of the Program get access to this File. Qt can detect, if it is Sandboxed and use the Portals automatic. If a App has full Permission to the Host Filesystem (what PCSX2 has), the internal File Dialog of Qt is used and not the Portals. I think that is what causes the Issue. You can try to give melonDS access to the Host Filesystem with Flatseal.