New to Android port: UI sensitivity and PCSX-R core crash

I’ve used a working build of RetroArch for iOS 9, and got a Samsung Galaxy S6, Android 5.1.1, not rooted, using the 11-26 nightly build (I think it was 11-26?). I couldn’t find any issues in the repo addressing these things so hopefully posting this here is acceptable:

(Note, I mean no offense, I just want to clarify to make sure I’m on the same page!)

  • I used the 1.2.2 stable build, and then the new UI in the 11-26 nightly; selecting items in the UI is really difficult and I have to tap really softly and precisely to select anything, otherwise it tries to scroll instead. Is this a known issue (for high DPI devices)?

  • I can’t really get Mednafen PSX to work since it doesn’t seem to show any .bin files in the UI when that core is selected, and that’s what my ISOs were ripped as.

  • Just as with my non-jailbroken iPad Air 2, to get Mupen64Plus to work, I had to change the mupen64-cpucore from dynamic_recompiler to cached_interpreter to get it to not crash after the first frame; didn’t debug this, sadly. Is this known with the Android side?

  • Lastly, I’ve had issues getting the PCSX-ReARMed core working at all, not even getting to the first frame. I thought it wasn’t loading the BIOS right, but according to the logcat, that’s actually not a problem. I googled extensively for hours but found no issue about this brought up. Every other core I have tried works: VBA Next, DeSmuME, Snes9x Next.

Logcat for PCSX-ReARMed:

11-27 23:09:49.277  13893-13952/? W/linker﹕ pcsx_rearmed_libretro_android.so has text relocations. This is wasting memory and prevents security hardening. Please fix.11-27 23:11:29.627  13893-13952/? W/linker﹕ pcsx_rearmed_libretro_android.so has text relocations. This is wasting memory and prevents security hardening. Please fix.
11-27 23:11:29.667  13893-13952/? W/linker﹕ pcsx_rearmed_libretro_android.so has text relocations. This is wasting memory and prevents security hardening. Please fix.
11-27 23:11:29.687  13893-13952/? I/PCSX﹕ Starting PCSX-ReARMed
11-27 23:11:29.687  13893-13952/? I/PCSX﹕ Running PCSX Version 1.9 (Nov 20 2015).
11-27 23:11:29.687  13893-13952/? I/PCSX﹕ psxMap: warning: wanted to map @80000000, got 0xde9f0000
11-27 23:11:29.687  13893-13952/? I/PCSX﹕ psxMap: warning: wanted to map @78000000, got 0xde9f0000
11-27 23:11:29.687  13893-13952/? I/PCSX﹕ psxMap: warning: wanted to map @e0000000, got 0xde9f0000
11-27 23:11:29.687  13893-13952/? I/PCSX﹕ psxMap: warning: wanted to map @1f800000, got 0xe0748000
11-27 23:11:29.687  13893-13952/? I/PCSX﹕ psxMap: warning: wanted to map @e0800000, got 0xe0748000
11-27 23:11:29.687  13893-13952/? I/PCSX﹕ psxMap: warning: wanted to map @1fc00000, got 0xe06c8000
11-27 23:11:29.687  13893-13952/? I/PCSX﹕ psxMap: warning: wanted to map @e0800000, got 0xe06c8000
11-27 23:11:29.687  13893-13952/? I/PCSX﹕ Init new dynarec
11-27 23:11:29.687  13893-13952/? I/PCSX﹕ testing if we can run recompiled code..
11-27 23:11:29.687  13893-13952/? I/PCSX﹕ test passed.
11-27 23:11:29.687  13893-13952/? I/PCSX﹕ warning: RAM is not directly mapped, performance will suffer
11-27 23:11:29.707  13893-13952/? I/PCSX﹕ Mapped (RAM/scrp/ROM/LUTs/TC):
11-27 23:11:29.707  13893-13952/? I/PCSX﹕ de9f0000/e0748000/e06c8000/08000000/dbfba000
11-27 23:11:29.707  13893-13952/? I/PCSX﹕ found BIOS file: scph1001.bin
11-27 23:11:29.707  13893-13952/? I/PCSX﹕ RGB565 supported, using it
11-27 23:11:29.707  13893-13952/? I/PCSX﹕ plugin: plugins/builtin_gpu
11-27 23:11:29.707  13893-13952/? I/PCSX﹕ plugin: plugins/builtin_spu
11-27 23:11:29.707  13893-13952/? I/PCSX﹕ plugin: plugins/builtin_pad
11-27 23:11:29.707  13893-13952/? I/PCSX﹕ plugin: plugins/builtin_pad
11-27 23:11:29.707  13893-13952/? I/PCSX﹕ Plugins loaded.
11-27 23:11:29.707  13893-13952/? I/PCSX﹕ Loaded CD Image: /storage/emulated/0/Android/data/com.retroarch/files/roms/PSX/Einhander.bin
11-27 23:11:29.717  13893-13952/? I/PCSX﹕ .
11-27 23:11:29.717  13893-13952/? I/PCSX﹕ CD-ROM Label: SCUS94243
11-27 23:11:29.717  13893-13952/? I/PCSX﹕ CD-ROM ID: SCUS94243
11-27 23:11:29.717  13893-13952/? I/PCSX﹕ CD-ROM EXE Name: SCUS_942.43;1
11-27 23:11:30.507    3712-3712/? D/CrashAnrDetector﹕ Build: samsung/zeroflteuc/zeroflteatt:5.1.1/LMY47X/G920AUCU3BOJ7:user/release-keys
    Hardware: universal7420
    Revision: 11
    Bootloader: G920AUCU3BOJ7
    Radio: unknown
    Kernel: Linux version 3.10.61-5927475 (dpi@SWDD6820) (gcc version 4.9 20140514 (prerelease) (GCC) ) #1 SMP PREEMPT Thu Oct 22 19:09:40 KST 2015
    *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
    Build fingerprint: 'samsung/zeroflteuc/zeroflteatt:5.1.1/LMY47X/G920AUCU3BOJ7:user/release-keys'
    Revision: '11'
    ABI: 'arm'
    pid: 13893, tid: 13952, name: Thread-226  >>> com.retroarch <<<
    signal 4 (SIGILL), code 1 (ILL_ILLOPC), fault addr 0xdbfbaa9c
    r0 00000000  r1 00000000  r2 a0009000  r3 a000c160
    r4 08400000  r5 dd1ba000  r6 00000000  r7 00000000
    r8 fffe0000  r9 00010000  sl ffff21f7  fp dbb8b110
    ip 00000000  sp e0f50918  lr 80009000  pc dbfbaa9c  cpsr 300f0010
    d0  a52001860bf01bb1  d1  a5200184a5200182
    d2  0000000000000001  d3  ffffffffffffffff
    d4  0000000000000001  d5  ffffffffffffffff
    d6  0000000000000003  d7  ffffffffffffffff
    d8  3e8000003f400000  d9  0000000000000000
    d10 0000000000000000  d11 0000000000000000
    d12 0000000000000000  d13 0000000000000000
    d14 0000000000000000  d15 0000000000000000
    d16 0000000000000004  d17 0000000000005695
    d18 0000000000000001  d19 0000000000000000
    d20 ffffffffffffffff  d21 ffffffff00000001
    d22 0000000000000002  d23 0000000000000003
    d24 fffffffffffffffd  d25 0000000000000000
    d26 0000000000000001  d27 ffffffff801fff00
    d28 fffffff7fffffff7  d29 ffffffffffffffff
    d30 ffffffffffffffff  d31 0000000000000001
    scr 80000011
    backtrace:
    #00 pc 00000a9c  <unknown>
    #01 pc 09045ffc  /dev/ashmem/dalvik-alloc-space-gap (deleted)
    stack:
    e0f50898  ffffffff
    e0f5089c  ffffffff
    e0f508a0  000005df
    e0f508a4  00000000
    e0f508a8  000005df
    e0f508ac  00000000
    e0f508b0  00000000
    e0f508b4  00000000
    e0f508b8  ffffffff
    e0f508bc  ffffffff
    e0f508c0  00000000
    e0f508c4  dbfb5770
    e0f508c8  ffffffff
    e0f508cc  00000001
    e0f508d0  0000002c
    e0f508d4  0000000b
    e0f508d8  dba3ae74  /data/data/com.retroarch/cores/pcsx_rearmed_libretro_android.so
    e0f508dc  dba3a170  /data/data/com.retroarch/cores/pcsx_rearmed_libretro_android.so
    e0f508e0  dbb8b16c
    e0f508e4  00000000
    e0f508e8  0006bbd8
    e0f508ec  08400000
    e0f508f0  dd1ba000
    e0f508f4  00000000
    e0f508f8  00000000
    e0f508fc  fffe0000
    e0f50900  00010000
    e0f50904  0000222c
    e0f50908  dbb8b110
    e0f5090c  db950c14  /data/data/com.retroarch/cores/pcsx_rearmed_libretro_android.so (pcsx_mtc0+12)
    e0f50910  dbfba8f4
    e0f50914  dbfbaa4c
    #00  e0f50918  dbb8b16c
    ........  ........
    #01  e0f50918  dbb8b16c
    e0f5091c  80030000  /dev/ashmem/dalvik-alloc-space-gap (deleted)
    e0f50920  dbfb57a0
    e0f50924  db9ef320  /data/data/com.retroarch/cores/pcsx_rearmed_libretro_android.so (GPUupdateLace)
    e0f50928  dbfb5760
    e0f5092c  dbfb8d00
    e0f50930  dbfb8d00
    e0f50934  dbfb8d88
    e0f50938  000e9d68
    e0f5093c  db9d5b38  /data/data/com.retroarch/cores/pcsx_rearmed_libretro_android.so (psxExecuteBios+52)
    e0f50940  dba3ae74  /data/data/com.retroarch/cores/pcsx_rearmed_libretro_android.so
    e0f50944  dbb8b16c
    e0f50948  dd3ff3c0
    e0f5094c  db9d5bcc  /data/data/com.retroarch/cores/pcsx_rearmed_libretro_android.so (psxReset+124)
    e0f50950  005c37c8
    e0f50954  dba3ae74  /data/data/com.retroarch/cores/pcsx_rearmed_libretro_android.so
    e0f50958  dd3ff290
    e0f5095c  db9f1bcc  /data/data/com.retroarch/cores/pcsx_rearmed_libretro_android.so (SysReset+72)
    e0f50960  f6eeadf4
    e0f50964  00000000



Just want to make sure this isn’t a new thing before I start flailing to debug it to see what line it crashes on; since it sounds like the issue is in PCSX, possibly assuming my phone uses an architecture it isn’t compatible with…?

Mednafen-psx requires cue sheets. This core is also very slow/demanding, so you probably won’t hit full speed, and if you do, it’ll cook your phone :stuck_out_tongue:

The dynarec issues are likely related to ARM64, since the dynarecs were written for 32-bit ARM (the same issue is present with newer iOS devices; it’s not just a jailbreak issue there, unfortunately). That may be something we can deal with in the future but not at the moment. In the meantime, you’ll be stuck with the interpreters.

The tapping/scrolling thing is a known issue that seems to be better/worse depending on device. You can try messing with the DPI override setting to see if that helps you at all.

[QUOTE=hunterk;31460]Mednafen-psx requires cue sheets. This core is also very slow/demanding, so you probably won’t hit full speed, and if you do, it’ll cook your phone :stuck_out_tongue:

The dynarec issues are likely related to ARM64, since the dynarecs were written for 32-bit ARM (the same issue is present with newer iOS devices; it’s not just a jailbreak issue there, unfortunately). That may be something we can deal with in the future but not at the moment. In the meantime, you’ll be stuck with the interpreters.

The tapping/scrolling thing is a known issue that seems to be better/worse depending on device. You can try messing with the DPI override setting to see if that helps you at all.[/QUOTE] Didn’t know that about Mednafen. Scary.

And, that makes sense. Actually, had a lapse in memory. I checked my iOS 9 (x64) device and yeah, only the interpreter version of PSX ReARMED worked, lol. That probably solves my last problem - almost. In iOS version, the Online Updater -> Core Updater has the PCSX ReARMed Interpreter as a separate core, but the Android version doesn’t have that option. But I don’t see any interpreter versions of the core in the nightly builds… is there a core option to use the interpreter instead? (http://wiki.libretro.com/index.php?title=PCSX_ReARMed#Options doesn’t list anything ; n ; )

Sounds like http://libretro.com/forums/showthread.php?t=4119 may also be having the same issue, maybe…

Hey cool, somebody mentioned my thread!

Yeah, I’m running into the same issue as you. Even though I seemingly have everything set up correctly, PCSX-ReARMed always ends up crashing when I try to start a game (save for the one time I got it to run Crash Bash, but I couldn’t get it to work afterwards and I tried loading it again directly after that attempt). As of so far, I still haven’t found a solution to this since I wrote that topic. Most of the other cores work flawlessly for me, which makes this issue all the more confusing…The only ones that give me trouble out of the ones I tried are the MAME cores, PCSX-ReARMed, and Mednafen (it runs, but crashes after the PlayStation logo because I assume it’s a bit too power heavy). Save for Mednafen, the other two crash before a ROM can even be loaded seemingly. What I mean by this is that they crash before I can really see anything game-related, much like you describe in your first post.

It may not be the best recommendation, but I’d highly recommend ePSXe on the Google Play store for PlayStation 1 emulation, assuming you’re willing to drop some cash. It’s a rather old PlayStation emulator originally for Windows that’s still receiving updates, and it got an Android port maintained by the same team. They recently fixed the odd looking Wumpa counter in Crash Bandicoot 2 & 3, which fixed my only gripe with the emulator. It has a very high compatibility rate, OpenGL plugin support (though it’s a bit buggy), has a pretty clean user interface, recently added HLE BIOS as an option, and exiting the emulator instantly creates a savestate that you can reload to resume playing the game. I have no complaints with it. The only downside is that you’d have to exit Retroarch to use it, but it’s only around 5 or so seconds of extra waiting time. You also have to pay for it, but the price is reasonable in my opinion and you can try the Windows release to get a vague idea of how well it preforms.

[QUOTE=Cornholio309;31500]Hey cool, somebody mentioned my thread!

Yeah, I’m running into the same issue as you. Even though I seemingly have everything set up correctly, PCSX-ReARMed always ends up crashing when I try to start a game (save for the one time I got it to run Crash Bash, but I couldn’t get it to work afterwards and I tried loading it again directly after that attempt). As of so far, I still haven’t found a solution to this since I wrote that topic. Most of the other cores work flawlessly for me, which makes this issue all the more confusing…The only ones that give me trouble out of the ones I tried are the MAME cores, PCSX-ReARMed, and Mednafen (it runs, but crashes after the PlayStation logo because I assume it’s a bit too power heavy). Save for Mednafen, the other two crash before a ROM can even be loaded seemingly. What I mean by this is that they crash before I can really see anything game-related, much like you describe in your first post.

It may not be the best recommendation, but I’d highly recommend ePSXe on the Google Play store for PlayStation 1 emulation, assuming you’re willing to drop some cash. It’s a rather old PlayStation emulator originally for Windows that’s still receiving updates, and it got an Android port maintained by the same team. They recently fixed the odd looking Wumpa counter in Crash Bandicoot 2 & 3, which fixed my only gripe with the emulator. It has a very high compatibility rate, OpenGL plugin support (though it’s a bit buggy), has a pretty clean user interface, recently added HLE BIOS as an option, and exiting the emulator instantly creates a savestate that you can reload to resume playing the game. I have no complaints with it. The only downside is that you’d have to exit Retroarch to use it, but it’s only around 5 or so seconds of extra waiting time. You also have to pay for it, but the price is reasonable in my opinion and you can try the Windows release to get a vague idea of how well it preforms.[/QUOTE]

I haven’t debugged it yet, out of laziness and lack of details, but I’m pretty sure that given this is essentially the same issue my iOS 9 device had, the dynamic recompiler doesn’t work on arm64 devices, so we’re stuck with the interpreter, which still works well enough. I’m also dumb, so I may be incorrect. :stuck_out_tongue: But yeah, if that [Interpreter] version of the pcsxr core can be out on the Core Updater for the Android version as well, that’d solve our problem. Especially since it seems to have crashed sending SIGILL which means illegal instruction, which would probably mean an instruction of a foreign architecture was attempted to be read.

And I’ve used ePSXe for years, it’s nice :stuck_out_tongue: I just don’t use Windows as much as Mac’s lately, and love how much more cross platform RetroArch is.

Bumping this topic for fairly good reason. I think I might have found a partial solution to my issue? You may want to give this a try for yourself, @jesscat. I can’t make any complete guarantees it’ll work, but it’s well worth a try.

So after figuring out where the Menu Overlay option was, I changed my menu from RGUI to XMB and then quit Retroarch. Then I got bored and decided to try and load a random PS1 game in the XMB menu. Much to my surprise, CTR booted!..Then crashed after the logos. Curious, I tried again with a different ISO (Crash Bash) and it got into the game fine which blew me away.

I’m still having very mixed success with games, but now more are actually booting in-game rather than Retroarch giving up before anything shows up…The only tips I an give if your game keeps crashing is to completely close out of Retroarch before booting back into it, then select your game and hope it works. It still seems to be really picky, but I’m getting a lot more success than I did before.

[QUOTE=Cornholio309;31758]Bumping this topic for fairly good reason. I think I might have found a partial solution to my issue? You may want to give this a try for yourself, @jesscat. I can’t make any complete guarantees it’ll work, but it’s well worth a try.

So after figuring out where the Menu Overlay option was, I changed my menu from RGUI to XMB and then quit Retroarch. Then I got bored and decided to try and load a random PS1 game in the XMB menu. Much to my surprise, CTR booted!..Then crashed after the logos. Curious, I tried again with a different ISO (Crash Bash) and it got into the game fine which blew me away.

I’m still having very mixed success with games, but now more are actually booting in-game rather than Retroarch giving up before anything shows up…The only tips I an give if your game keeps crashing is to completely close out of Retroarch before booting back into it, then select your game and hope it works. It still seems to be really picky, but I’m getting a lot more success than I did before.[/QUOTE]

Still doesn’t work, which confirms my theory (but the fact it does work for you disproves it). I’m a novice and though I want to fix this issue, I’m busy with coursework. Can anyone with arm64 get the PCSX-ReARMed core working as-is (with a suitable BIOS)?

As much as I love using XMB on my other platforms, everything was so small on my Android phone, though; and kind of a pain to use; I wonder if that has anything to do with the high-DPI sensitivity issue. Felt similarly difficult to use in XMB.

[QUOTE=jesscat;31841]Still doesn’t work, which confirms my theory (but the fact it does work for you disproves it). I’m a novice and though I want to fix this issue, I’m busy with coursework. Can anyone with arm64 get the PCSX-ReARMed core working as-is (with a suitable BIOS)?

As much as I love using XMB on my other platforms, everything was so small on my Android phone, though; and kind of a pain to use; I wonder if that has anything to do with the high-DPI sensitivity issue. Felt similarly difficult to use in XMB.[/QUOTE]

I actually forgot to mention I also ended up updating the core and switching to XMB before trying again, but I jumped to conclusions and sort of figured XMB solved my woes. So your theory might be correct still and I’m a very silly person. Perhaps the latest revision of the core fixed most of the issues that was preventing PCSX-ReARMed from functioning properly for me? You may want to try updating and then run the core again. I’m noticing I can switch back to RGUI and the PCS-ReARMed core still works, so perhaps they’re finally figuring out the kinks with this core on certain devices and ironing them out?

Nah, finally getting time again, uninstalled and then installed the latest nightly, downloaded my cores again, and PCSX core still crashed instantly, even after switching menu drivers around. My theory is also possibly blown out of the water since the N64 core worked on installation this time. What device do you have, anyways?