RetroPie-Extra Repository - lr-samecdi
-
On my pi4 it compiled ok. (32bit/Bookworm/kernelv7l)
Tested this binary on my pi5 by switching the SD card.
Of-cource commenting the kernel :#kernel=kernel7l.img arm_64bit=0
The binary now runs on the pi5 "32bit OS".
-
@Folly said in RetroPie-Extra Repository - lr-samecdi:
We could make it 64bit if the platform contains rpi5 agree ?
If your code works. I have no problem going with it that way.
Or have it switch on what it needs to compile depending on what OS type they are using
Maybe something like this
if isPlatform "odroid-n2"; then /home/aresuser/ARES-Setup/fixmali.sh elif isPlatform "rockpro64"; then /usr/lib/arm-linux-gnueabihf/install_mali.sh fi
Not sure if that will work for you are trying
-
@ExarKunIv I removed rp_module_flags="!rpi5" and could compile samecdi and start the core. Only problem: Fatal error: required files are missing. The bios files are all in place ...
-
@mth75 yes folly is still working on it. but its looking good so far
-
Summary is that the core will compile ok if the rpi5 has a 64bit os running.
However if you use the "32bit version" on the rpi5 it will not compile correctly as the rpi5 still runs a 64bit kernel (with 32bit userspace).For now all tests to compile the core on rpi5 with "32bit Bookworm" have failed.
Perhaps it's possible to cross-compile it on the rpi5.
I might have a look.If someone really wants to run the core on an rpi5 with "32bit Bookworm" then you can install it using a rpi4 instead and switch back later to the rpi5 with the same SD.
We are discussing now how to disable the module-script the correct way if no cross-compile solution comes along.
Flags can be set in the module-script to disable it but if we enable it for 64bit only then older 32bit OSes or other rpi's, that were compiling it ok, will also be disabled.Hope you understand the discussion now.
-
@Folly Yes, I do now, thx for the explanation! For my full understanding ... the "Fatal error: required files are missing." is to be expected on the Pi5 for the time being?
-
@mth75 said in RetroPie-Extra Repository - lr-samecdi:
"Fatal error: required files are missing." is to be expected on the Pi5 for the time being?
if you are using the script from my repo, yes. it has not been updated with the new code that folly is messing with.
once he is done with trying the different things, he will update the script and i will incorporate it into my repo -
@mth75 said in RetroPie-Extra Repository - lr-samecdi:
@Folly Yes, I do now, thx for the explanation! For my full understanding ... the "Fatal error: required files are missing." is to be expected on the Pi5 for the time being?
Yes, if you have 32bit OS running then this behavior is expected..
-
@Folly said in RetroPie-Extra Repository - lr-samecdi:
this behavior is expe
But I'm running the 64-bits PiOS.
-
Did you add the swap to your module-script as suggested over here.
Do you have the core installed ?
(check for /opt/retropie/libretrocores/lr-same_cdi/same_cdi_libretro.so)Can you explain where you got the message from ?
(runcommand.log or a Retropie install log)Are you having the BIOS file in the correct place ?
(BIOS/same_cdi/bios/cdimono1.zip) -
@ExarKunIv said in RetroPie-Extra Repository - lr-samecdi:
@Folly said in RetroPie-Extra Repository - lr-samecdi:
We could make it 64bit if the platform contains rpi5 agree ?
If your code works. I have no problem going with it that way.
Or have it switch on what it needs to compile depending on what OS type they are using
Maybe something like this
if isPlatform "odroid-n2"; then /home/aresuser/ARES-Setup/fixmali.sh elif isPlatform "rockpro64"; then /usr/lib/arm-linux-gnueabihf/install_mali.sh fi
Not sure if that will work for you are trying
I had a look at this code and I think it's not usable for what I want.
I think both platforms run 64bit only so I think there is no need to filter on these platforms.I tested this platform independent code and it seems to work fine (code can be reduced see Edit):
rp_module_flags="$([[ $(getconf LONG_BIT) == 32 && $(arch) == aarch64 ]] && echo !32bit)"
It means that if a
32 userspace kernel
is found that the !32bit flag is enabled.I think there is no way to use "RetroPie flags" for detecting that a
32 userspace kernel
is found.Edit :
Seems we can reduce the code to (*first example):
rp_module_flags="$([[ $(arch) == aarch64 ]] && echo !32bit)"
Means that the 64bit kernel is detected even if it runs in
32bit userspace
.
We know that the compilation fails for32bit userspace
and RetroPie will set the flag on32bit
if32bit userspace
is detected.
Therefor no need for using thegetconf LONG_BIT
command.
By disabling32bit
when the64bit kernel
is detected we should be good to go.What do you think of using this ?
The code from above could be changed to :
[[ $(arch) == aarch64 ]] && rp_module_flags="!32bit"
However in the first example* we have to ability to add more flags in the same line if needed.
-
@Folly I'm good with using what works. I'm not picky with how it works, as long as in the end it works.
-
Added a PR.
-
@Folly thanks again for your help with this
-
Added another PR.
Seems the swap was missing and I renamed the filename so it's easier to use the retropie_packages.sh script. -
@Retrodade What kind of Repository do you use for "retropie-extra", this ?
I think this works fine (but I haven't tested yet Philips CDI games):
https://github.com/Exarkuniv/RetroPie-ExtraBut I tested it with many other emulators like:
"AetherSX2 - PS2 Emulators" runs in 60Fps with my Pi5.
"Sega Supermodel 3" runs very well with my Pi5.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.