Minimum system requirements for Syncthing binary on Linux/Android

What are the absolute minimum system requirements to run the Syncthing binary under Linux/Android?

The APK supports only Android 4.1 and higher, but I am interested in running just the binary file. Is there some kind of a minimum Linux kernel version that is required to run Syncthing?

The reason for the question is that I have an old e-book reader running Android 2.1 and I am curious whether it would be possible to run Syncthing there. I need to buy a battery in order to resurrect the device first, so right now I am just asking out of my curiosity, as I cannot actually test it yet.

Just for the record, the kernel version on the device should be something along v2.6.x.

Hi,

I only know of the NDK supporting API 16+ to cross compile Syncthing for Android. That may not tell it’s impossible to run on lower levels but I suspect there is a technical burden in the way because of API min 16 standing out there. Maybe @Nutomic knows from former times if API 14 was possible back then?!

1 Like

Requirements for go say you need at least v3.1 for Linux on ARMv5 so I somehow doubt it can work on Android with v2.6.x.

2 Likes

@Catfriend1

The last API change seems to have happened in 2018 (see https://github.com/syncthing/syncthing-android/pull/1067) which broke Android 4.0.x support. I have also found https://github.com/syncthing/syncthing-android/issues/564 from 2016, which suggests that Android 2.2 support was dropped at that time. Also, it definitely used to work there in 2014 (see https://github.com/syncthing/syncthing-android/issues/44). I am not sure whether this means that Syncthing should be compiled with an older NDK or whether some other hacks would be required to make it work.

However, this device runs Android 2.1 Eclair, which I have no idea whether has ever been supported by Syncthing. There is also a question whether the GitHub issues are more about the GUI or the binary itself. It is definitely possible to run just the basic Linux ARM binary on Android compiled without any NDK (with some caveats, see https://forum.syncthing.net/t/problems-connecting-to-relays-and-global-discovery/14903).

@Alex

Thank you for the link, although the requirement seems to be specifically related to ARMv5 though? I am saying this because I have run Syncthing with no problems on an ARMv7-A device with v3.0.x kernel. I have done some research, and the device in question here has an OMAP3621 processor, which is also ARMv7-A, so there is some hope at least.