Open LiSongMWO opened 5 years ago
This has been discussed before (#427 and others). The gist of it is that RetroPie does not use make install
so it hasn't been a priority to make it work when doing so. We are open to accepting PRs.
I can make a patch.
But before I do that, I need to know if you will accept it how I plan to implement it:
The binary would try:
${install_prefix}/share/emulationstation/resources
in that order. This allows user config to override defaults, running from in-tree with new resources with another install already on the system, running on Windows and a standard install on Linux.
Then make install
would install to
${install_prefix}/share/emulationstation/resources
.
I don't know how this works on Windows tho.
This shouldn't break the retro pie setup script to my understanding. I'm not sure what it does exactly but if it puts resources in /usr/bin or similar I recommend that you use make install instead.
On Mon, 26 Aug 2019, 01:58 John Rassa, notifications@github.com wrote:
This has been discussed before (#427 https://github.com/RetroPie/EmulationStation/issues/427 and others). The gist of it is that RetroPie does not use make install so it hasn't been a priority to make it work when doing so. We are open to accepting PRs.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/RetroPie/EmulationStation/issues/595?email_source=notifications&email_token=ABIPUMOBSZ764QAGSXUDIILQGMMEDA5CNFSM4IPKGLKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5C6RNA#issuecomment-524675252, or mute the thread https://github.com/notifications/unsubscribe-auth/ABIPUMNUXHQTVHUH5DB7AKDQGMMEDANCNFSM4IPKGLKA .
Given that the issue at hand is preventing the packaging of EmulationStation in my distribution, I come up with this little patch to teach it how to look in /usr/share/emulationstation on Linux (build and run tested): emulationstation-2.9.4-use-datadir-for-resources.txt
It would be better if the place where to search for the resources was configurable at build time or by passing a command line option at runtime, IMO...
Given that the issue at hand is preventing the packaging of EmulationStation in my distribution, I come up with this little patch to teach it how to look in /usr/share/emulationstation on Linux (build and run tested): emulationstation-2.9.4-use-datadir-for-resources.txt
It would be better if the place where to search for the resources was configurable at build time or by passing a command line option at runtime, IMO...
Thanks to your patch I was able to create a deb package. Great job!
I'm having some segfault problems with the recent versions of EmulationStation that is constantly causing it to crash with pretty much any theme that isn't "carbon". Can somebody please fix this?
@ViperAcidZX need a lot more details than that, apologies.
Can you please report it in the forums and provide the required details - OS version, hardware, RetroPie version, ES version, ES log, etc?
@ViperAcidZX need a lot more details than that, apologies.
Can you please report it in the forums and provide the required details - OS version, hardware, RetroPie version, ES version, ES log, etc?
Fresh install of ES from source (stable branch, commit 72b8644) segfaults immediately.
I did a git bisect between tag: v2.7.6 as good and stable (commit 72b8644) as bad.
The bisect resulted in the culprit commit: 1a4d13b6b39256b1b01f13ead2e653f0bfd7d3ea which was the push for PR #367.
After
make install
I see noresources
folder in/usr/local/bin
where my emulationstation binary is, I see no resources folder created in~/.emulationstation/
after attempting to launch.Manually copying the
data/resources
directory from the source tree to.emulationstation/resources
fixes the segfault.As an addendum on the discussion in the PR: I believe that
/usr/local/share/emulationstation/resources
should be the correct location of any resources when building from source (for the same reason that/usr/local/bin
is the default install target for the binary). It's up to the package maintainer to set the install prefix to/usr/
instead of/usr/local/
for distribution packages. However the install prefix should be passed toconfigure.h
or equivalent to provide the lookup path of the resource files to the binary so that they are correctly found depending on how the installation prefix is configured in cmak. Having~/.emulationstation/resources/
as an override makes sense, but storing the resources alongside the binary in/usr/bin/
or/usr/local/bin
is against unix practices. Equally they should not be stored in/etc/emulationstation
as was discussed in the PR as/etc/
is reserved for configuration, not graphical resources. Looking up the resources on the current working directory is also a bit confusing, I would rather pass a flag.