[SOLVED - SEE FINAL MESSAGE IN THIS POST FROM OP] So I get it that one downloads a rar archive that will have the binary file to run an Android instance of the Engine. I understand that one must download that engine which is in the code corresponding to the CPU architecture for one's phone. In my case it is ARMv8. What I don't know what to do are the steps after I have downloaded this rar archive! On a number of the GUIs on my phone they actually find UCI compatible engines automatically on the phone, and then one just has to click that engine to use it in the GUI. E.g. Chess King and Chess PGN Master apps both uses this functionality. In the past I was lucky to find apps on the Playstore that were a collection of engines (had Stockfish 15.1 in it), and then when installed on phone made the engines available to the GUI. However there aint no Stockfish 17 app on the Playstore. So.....what are the steps from downloading the rar archive onto my windows Laptop, extracting everything in the rar archive, and getting the Android version of Stockfish 17 onto my phone in the right place in the right format, and visible, working, configured and communicating with the GUIs on phone. I see many people asking these same questions over and over in slightly different ways. Surely the Stockfish Bigwigs have written a guide of some sort somewhere? Help is appreciated! Running Windows 10. Cellphone is Samsung Note 10 Plus. I use Microsoft OneDrive for cloud storage. I am a power user, but not a programmer.
#Clear help needed with instructions for downloading & running Stockfish 17 with Android GUIs
36 messages · Page 1 of 1 (latest)
It depends on which GUI you use. (=not directly related to Stockfish things)
On a number of the GUIs on my phone they actually find UCI compatible engines automatically on the phone, and then one just has to click that engine to use it in the GUI.
If you place Stockfish executable binary in matching paths, GUI can detect the engine. I don't know which path it might be, but I suppose it usually is data folder of an app (/storage/emulated/0/Android/<package name>/data/...)
You have two options:
-
Download from a third party SF17.apk , I recommend you: https://sourceforge.net/projects/chess-engines-for-android-oex/files/
Do so at your own risk. -
Install "Droidfish" GUI from "F-Droid":
https://f-droid.org/es/packages/org.petero.droidfish/
Then download the SF binary from
https://github.com/official-stockfish/Stockfish/releases
Move it to storage/emulated/0/Droidfish/UCI
Now u can use it.
droidfish already has sf17
Has there been no attempt to upstream OEX? APKs often pop up but has anyone actually PRed it?
That was version 1.91, it only lasted a few days, however, it was reverted and only version 1.9 exists which brings SF16.1 by default.
I have a number of GUIs. The 2 Android apps I am trying to update to using SF17 are Chess PGN Master (amazing PGN reader, creator, analyzer) and Chess King (the Chess Tutoring Site's Android training app that integrates all their training materials in one place, and allows one to analyze the course materials etc). In the past I was able to find an app on the Playstore that had SF already in an apk format. So I just installed it from the Playstore (it had SF 15.1). Then I went into the GUI and in the engine settings area the GUI automatically found the apk I had installed, I clicked the SF engine it represented....and hey presto engine updated. Unfortunately,on Playstore right now nobody has created an apk for SF17. This is why I created this post. There isn't any continuity in the Android market for keeping an up-to-date app of SF available for global users. Everything is done on a piecemeal basis. For SF (being such a reputable and international undertaking) I would have expected that by now a SF apk would be a standard thing on Playstore, maintained by a developer one can trust to download from. There really is a gap in the market for such a simple thing.
What do you mean by "has there been no attempt....anyone actually PRed it?". I don't understand your jargon.
Then do option one. There is SF and other chess engine in APK versión.
It's fine that you suggest there should be an APK version on Playstore but I find the way you ask for it rude. Especially since it's free and open source.
So correct me if I am wrong. If I have the apk file for ARMv8 (which I assume is hiding in the tar archive one downloads from the SF website?) and knows where this file must be placed on one's cellphone for the GUI to read it, then it should be a simple matter of installing the apk in the right location? Is it that simple? Really? I don't know where SF apks must be installed manually on a cellphone. Is it different for eac GUI? Must one ask the developer of each app?
Many thanks for the advice. No not being rude in any way. You misunderstand me then. Maybe rather frustrated in general but not intentionally rude in any way. I certainly appreciate people's time and help always. :).
I suggest the real need for a reputable apk on Playstore because there is a clear need for it, given that there are so many people on Discord and on the web constantly asking the same thing, just in different ways. I see so many "non computer programmers/scientists", basically Chess players, who all want the same thing. They come on at different times, and ask the same thing....then someone takes their valuable time and helps them...but then next month someone asks the very same thing....and someone else tries to help! All we need is a reliable apk available to the community, clearly distributed...and everyone will be happy.
There is this clear disparity between ease of use of SF on laptop (Windows etc) vs ease of use on Mobile. I don't know if it is a legacy thing, in that all things Chess GUIs, Engines etc naturally developed first on desktop systems. However the global usage landscape has changed in that we probably use our cellphones more now than our laptops for the same tasks. Plus cellphones now have computational powers on par with many a laptop. So the use of apps to fulfill Chess playing and trainging needs has exploded in recent years. This ability now to streamline Android/Stockfish ease of use (to on par with how easy it is to update desktop GUIs) has become way more evident.
If I knew how to make the SF APK I would make it and publish it...but unfortunately I don't know how to do that....yet 🙂
I'll give you a third option using play store:
https://play.google.com/store/apps/details?id=com.lucian.musca.chess.engines
It will be installed SF 17, 16.1 and also Clover.
I already gave you 3 options, have you even tried them?
I see on Sourceforge there is the apk, but it is ARMv8 dotprod....I only need ARMv8. Dotprod is the newer architecture. Question: is it backward integrated....in other words will the dotprod version work on an architecture that is just ARMv8?
Lucian Chess is not an engine apk, It is an integrated GUI with installed engines.
Thanks for your help. I will contact sourceforge user to enquire if ARMV8 dotprod with work on chip architecture that is older (in other words is ARMV8 a - which came out before dotprod. Dotprod was developed to account for new AI demands as far as I recall.
Blame Playstore. Banned the use of APKs that made use of external binaries.
The fact is that there is a lack of more contributors. For example, it hasn't been no long since they started creating versions for Apple and it was thanks to Contributor. Some devs don't even have SF installed .
WOW. I am blown away.
Try it.
If I remember correctly, option one allows you to install ARMV7, ARMV8 and ARMV8-dot.
Option 3 is not a GUI, it suggests using those GUIs, but once installed all GUIs will be able to access the chess engine.
Got you. Ok will give it a shot! 🙂
Appreciate your help!
SUCCESSS!!! 👍 😁 Thanks a lot @spiral laurel I installed the apk "Chess Engines" by Lucian Musca. It includes SF 17, with CPU architecture arm64-v8a. So it works PERFECTLY!
SOLVED. Just install the app "Chess Engines" by Lucian Musca. Then once installed go to the engine management section of your GUI and search for sf17. It should be under a section "automatically install engine" or "install engine" or similar. Click SF17 and it automaticallyinstalls. This iteration of SF17 in this app has been set up for a chipset architecture Armv8 a. There is a newer Arm language on brand new cellphones, but this app should run - "an app written for ARMv8 should run on a chipset that uses ARMv8 with dot product (ARMv8.4-A) instructions. ARMv8.4-A includes the dot product instructions (SDOT and UDOT) as optional features, which means that if the chipset supports these instructions, it should be backward compatible with ARMv8 applications".
If you want the strongest version of SF, you should try the DEV versions, You can install them in option one: download the engine Apk, search in "Download" for the Apk, install it (click/touch it) and they will be automatically detected.
Don't worry about the chipset, usually the APK selects the correct one for your device.
It's not really a question for anyone who doesn't know what most of that means, but I'll explain.
TLDR: Has anyone attempted to release stockfish as an apk and requested to add those changes to official sf?
PR = pull request = "here is a change I made that I believe improves SF (in this case automating releasing in OEX)"
I didn't see anything related while skimming through closed PRs, so I was wondering if anyone else knew something.
OEX is what allows installing engine as an apk and gui to communicate with it. The current versions of sf require putting the engine file somewhere the gui can see and then user sets gui to use that file. This is also how it is done on windows/mac/linux, but isn't allowed on the play store anymore.
BTW there is also one not labeled as dotprod, and it looks like it contains arm64-v8a, armeabi-v7a, x86, and x86_64.
(Done the lazy way too, they didn't bother separating the net from the binary so each new arch has >60MB of duplicate data)
Ah ha! 🙂 Thanks that now makes perfect sense. And the idea to structure release an OEX version of SF makes perfect sense to me as a Chess user too! - naturally not being in the industry I know nothing of the political or security issues etc that may or may not have any bearing on an OEX SF release. It just seems a logical thing to do to me. It also seems safe? Apps on the stores are supposed to have been checked/scanned and conform to certain standards that protect the downloadee? So in effect an OEX version helps maintain the integrity of the softwaree if done properly. I certainly owe thanks to whoever Lucian Musca is and for his work creating something that allows me to enjoy Chess and take advantage of SF on my phone! So thanks Lucian!!!
Thanks for this advice @spiral laurel Silly question: is there a standard install location for the apk for SF on Android?
There are two types of files: the binary and the APK for SF. If you use the binary (what SF generates on their github), you don't install anything, it's usually found in "Downloads" and usually moved to the "UCI" folder in the GUI, and it's automatically detected there.
In the case of the APK, I don't know haha i only click and install.
I can confirm for my cellphone, which is a Samsung Note 10 Plus (awaiting my S25 Ultra Woooo hoooo lol) that the download location for an APK is /storage/emulated/0/Download/
Just a correction on what you said: when downloading the binary file from the SF website or Github: the file gets downloaded to the default download folder on the Android phone. Then one must move the file to the requested location as set out in the GUIs instructions. So for Droidfish one must move the binary file to the DroidFish/uci directory. This per the DroidFish 1.90 "about" section instructions in the app.
It's the same thing I said, in fact, in the first comment above I even gave you the route. Whatever, the important thing is that you already know how to use it and it was simple with a minimum of effort.
Only an OEX version of SF automatically makes itself available to a GUI (based on what I have experienced) - without the user having to move any files around on their cellphone - this is what I have now found out. So,, the OEX version of SF is still a way easier way for a Chess player to update SF on their cellphone and make all the GUIs on the phone able to see the engine and make use of it. I personally would advise that one loads the app "Chess Engines" by Lucian Musca, available on the Playstore.
Yes you indeed did! You have been exceedingly helpful! Many thanks. Have a good day @spiral laurel