team-phoenix / Phoenix

A multi-system emulator and library manager designed to be both powerful and easy to use.
http://phoenix.vg
GNU General Public License v2.0
377 stars 39 forks source link

Handle various folders Linux distros may install cores into #235

Open johnfraney opened 8 years ago

johnfraney commented 8 years ago

I'm getting the following error when trying to open the core folder via the settings tab in a fresh install of Phoenix (r1017.03275f3):

gvfs-open: file://usr/lib/libretro: error opening location: Error when getting information for file '/lib/libretro': No such file or directory

This directory doesn't exist on my filesystem. Typically these files should be stored in a user's ~/.config folder. RetroArch, for example, stores cores in /home/{{username}}/.config/retroarch/cores

athairus commented 8 years ago

The hard-coded Libretro directory you see there is based off what I observed Debian/Ubuntu repos storing their Libretro cores if I remember correctly. This is starting to sound like it's up to the package maintainer for distro X (not the RetroArch team) where cores end up being stored...

johnfraney commented 8 years ago

It could well be that /usr/lib/libretro/ is the standard directory (a core I downloaded from the Arch User Repository installed there). Would it be possible to make this a user-configurable setting? If not, maybe an alert notifying the user that the core directory could not be located (it fails silently on the frontend if this directory is missing).

athairus commented 8 years ago

Yeah, that's something that needs to be done with Linux for sure. I'd love for there to be a standard location for installing cores, but I'd have to run it by the RetroArch team first and work from there.

If you really want to use Phoenix now, you'll have to build in portable mode, which is done by default when following our build guide.

sergiobenrocha2 commented 8 years ago

Just for the record, on Debian/Ubuntu the default core path is /usr/lib/your_arch/libretro/, for example:

/usr/lib/x86_64-linux-gnu/libretro/

is the x86-64 path. The other path:

/usr/lib/libretro/

it does not have in the Debian packages, there's only this path in the Ubuntu PPA, and it's full of symlinks to /usr/lib/your_arch/libretro/