January 18, 2018

Android UCI engine update: Critter 1.6a for Android 5.0+

We owe tons of thanks to Gran Virt for suggesting a very simple trick which consists of altering just one dedicated byte directly in the binary of the old Critter, in order to make it compatible with Android versions which require PIE (Position Independent Executable). A truly smart catch by Gran!

Reminder:
Android up to 4.0.4 (API level up to 15) require NOPIE builds and don't accept PIE.
Android 4.1 to 4.4.4 (API level 16 to 19) can run both NOPIE and PIE.
Android 5.0 and up (API level 21 and up) require PIE and don't accept NOPIE.

Thus, the trick should be a tasty surprise for people with Android 5.0 and newer, who could not run Critter arm5 NOPIE until today. Now, they are provided with a legendary 3000+ ELO engine.

GET Critter 1.6a arm5 pie

Let's all remember that before the arrival of Chiron 4, the old Critter build, made in 2012 (!!!) used to be the #3 engine for Android for a very long time. It deserved this trick indeed.

One would dream of arm7 and arm8 builds of Critter as well but let's not get into unrealistic phantasys. Richard Vida stopped developing Critter after R.Houdart's threats long ago and there's no hope for a comeback.
Richard Vida, the author of Critter

4 comments:

  1. Hello, Gurcan.

    Firstly, thank you for the wonderful Android Chess blog. I rarely and hardly miss to read any post here and regularly check and download chess engines from your Collection on the cloud since I don't read a lot of chess forums and I don't have any registrations in them.

    It is a happiness that Critter 1.6a is now available for the newer devices. It is a pity that Richard Vida stopped developing it. I didn't know about the threats by Houdart, but this does not surprise me since I can expect anything from him. To me he is not the best example for an honest and good-minded person. Sad that this might be the cause the Critter project is finished - one of my favourite engines.

    Speaking of devices, I own a device with ARMv5 processor and Android v2.3.4 (Gingerbread). There is successfully run the extracted Stockfish version of Stockfish_8.0.DF163_uci.arm5.nopie and it plays very strong (stronger than my Deep Junior 13.8.10 x64 multi-thread for Windows). I wanted to update the engine to version Stockfish_8.0.20170906.DF171_uci.arm5.nopie. The latter installs and loads into the DroidFish 1.57 GUI, but surprisingly to me when a calculation is performed, it stops in the first kilo-nodes with some error and then the engine terminates.

    My question is which is the latest Stockfish (or any derivative) version for ARMv5 and Android v2.3.4 that I can use under my conditions?

    Thank you very much for the support.
    I wish you success and keep going the good work on your blog, updating so regularly the site.

    With respect,
    best wishes,
    K.D.

    ReplyDelete
  2. K. D. On your Android v2.3.4 arm7.nopie is also working. I had Android v2.3.4 couple years ago, i can say that, there is some stronger engines than Stockfish, e.g Cfish (today's king of engines, written on C language), CiChess, Sugar. Anyway, i've uploaded pack with engines for your device (latest versions), enjoy!
    https://app.box.com/s/u0a0ntqt52nuwdc43cfgv1xmid6ebo2b

    ReplyDelete
  3. Hello, Alex.

    Thank you for your answer and thank you very much for your package. Very kind of you to upload those engines.

    As I mentioned above, the processor of my Android v2.3.4 is ARMv5, so I am not able to run engines different from these compiled for ARMv5 CPU - ARMv5 No-PIE. I tested ARMv7-nopie compile and couldn't run it. I downloaded your pack and I will test later Cfish 8 for ARMv5-nopie, which engine I also like very much. Maybe it is better even than Asmfish (Armfish respectively) itself. My newer device can successfully run engines compiled for ARMv7.PIE and ARMv7.PGO, but I cannot run ARMv8 compiles, for example Armfish ARMv8a. I will test Cfish.8.ARMv5.nopie and then report here the result. I wish I could have a newer version of Cfish, compiled for ARMv5.nopie. Meanwhile I am very happy that I can run the stronger ARMv7.PIE and PGO compiles on the newer device and they play almost as strong as the Windows PC versions.

    Once again, thank you for the support.
    Best wishes,
    with respect,
    K.D.

    ReplyDelete