Citra on Retropie x86
Has anyone gotten this to work?
I am running Retropie on Ubuntu 20.04.1, on a Pentium G3248 anniversary overclocked to 2*4.8 Ghz and an Nvidia GTX 780, so it should theoretically work fine.
However, the script from the pull request https://github.com/RetroPie/RetroPie-Setup/pull/2613 runs completely through but then claims:
[100%] Built target citra-qt
= = = = = = = = = = = = = = = = = = = = =
Installing 'citra' : 3ds emulator
= = = = = = = = = = = = = = = = = = = = =
Could not successfully install 3ds emulator (/home/pi/RetroPie-Setup/tmp/build/citra//build/bin/citra not found).
citra citra-qt citra-room tests
Anyone got an idea on how to fix this?
@norstein I will look into it..
ok. So that's an old PR - I'd forgotten about that. It was never merged it as never got any feedback as to whether it worked ok but it used to install fine - I think it was requested before. I'll update the PR assuming all goes well. Once that's done I'd be interested for feedback. Thanks. I'll get back to you.
Built ok here. I rebased the PR over the latest code so please do a fresh checkout and try again. If it fails I will need to see a build log to diagnose. Thanks.
@buzz So first of all: thank you very much for looking into this. With current Mini-ITX and sub-Mini-ITX x86 Hardware getting ever stronger, an x86 Retropie machine gets more attractive by the day.
For example an Asrock Desmini X300 with Ryzen 4350G is smaller than some ATX power supply units but able to emulate even the most demanding PS3 games at 60fps.
So I think x86 builds will surely rise in popularity and you're doing god's work here.
I checked out anew and it still won't build, same symptoms as before, and I have looked at the log but to be honest, it didn't help me understand the cause.
Anyway here it is:
@norstein that's not the module in the PR? Looks like you're building a standalone citra but no idea where that is from? The PR is for a lr-citra core.
@buzz My bad, wrong log. I tried installing a standalone build too, after the libretro core failed. Should the log of the lr core installation attempt be in the same folder? Because there are a lot of logs from yesterday and I'd have to go through them to find the right one.
@norstein same folder. Date and time is in the name though. But maybe clean the logs and try again - remove tmp/ also maybe
Norstein last edited by Norstein
OK, at least now I know what happened: the lr-citra.sh doesn't show up under experimental packages in my retropie_setup.sh, even though I copied that scriptfile to ~/RetroPie-Setup/scriptmodules/libretrocores/ and I accidentally ran the citra.sh (for the standalone version, which is the one that failed).
So I guess my problem was something else entirely, but how do I make this script appear?
So in the end I figured it out: I was too lazy to make a real FTP transfer so I had copied the file not as a file but pasted everything into a file of the same name via my existing SSH-session, saved that file, gave permissions and made it executable.
But the PC I copied the code with is running windows, and it copied invisible windows line endings where Unix expected its own line ending.
Both are invisible, but are actually coded with different characters, so it wasn't recognized as a script.
I noticed this when I tried to manually run the script (outside of the retropie setup) from the command line and it said something about not finding bash'R or something (instead of looking for "bash" to execute this, it searched for "bash'R" - giving away that there is a hidden character in the very first line containing the shebang.
sed $'s/\r$//' ./lr-citra.sh > ./lr-citra2.sh
to automatically replace every instance of a windows line ending with a unix line ending, and then the script was properly recognized, too.
It installed, but when starting instacrashes.
Executing: /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-citra/citra_libretro.so --config /opt/retropie/configs/nds/retroarch.cfg "/home/pi/RetroPie/roms/nds/1324 - Pokemon Alpha Sapphire (Europe) (En,Ja,Fr,De,Es,It,Ko) Decrypted.3ds" --appendconfig /dev/shm/retroarch.cfg
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 151 (GLX)
Minor opcode of failed request: 26 (X_GLXMakeContextCurrent)
Serial number of failed request: 114
Current serial number in output stream: 114
corrupted double-linked list
/opt/retropie/supplementary/runcommand/runcommand.sh: line 1283: 1476 Aborted (core dumped) /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-citra/citra_libretro.so --config /opt/retropie/configs/nds/retroarch.cfg "/home/pi/RetroPie/roms/nds/1324 - Pokemon Alpha Sapphire (Europe) (En,Ja,Fr,De,Es,It,Ko) Decrypted.3ds" --appendconfig /dev/shm/retroarch.cfg
And here I am with yet another problem that I do not understand.
OK so should anyone encounter the same:
Changing from opengl to sdl2 did resolve that last issue.
A Pentium G3258 at 3.2 Ghz has some speed issues, but it works fine with 4.6 and up.
Skylake or newer Processors should do with less frequency.