Syncthing-gtk for ARM

Are there any plans to get a client for an ARM distribution?

I wanted to replace my power hungry AMD64 based central server with something lower power so I recently purchase a Bannana Pi (Allwinner A20 based with SATA) which I set up with a low power laptop 2.5 drive. The unit runs a variant of Raspbian which is in turn based on Debian Jesse. The ARM apt repository seems to work fine just following the directions at apt.syncthing.net. Fine once I turned off access tracking on the SATA drive (added noatime to the fstab) that is; prior to that turning it was updating terribly slow.

I still cannot use the web interface though; once I open a browser the CPU utilization maxs out and the status is not meaningful. the GTK client will not run, I get the same error reported by issue 198 (https://github.com/syncthing/syncthing-gtk/issues/198)

So, I created the folders and update the config.xml manually to add my folders. I am taking it on faith that the other units are reporting but support for the GTK client on ARM would be appreciated.

1 Like

Syncthing gtk uses the same calls behind the scene as the web ui does, so I doubt the experience would be different. That said I’m surprised it would be the bad, the web ui doesn’t add much load nowadays, almost zero if syncthing isn’t currently syncing something.

I’ll admit, when there is stuff going on, the CPU gets close to maxed out anyways. It is not a large machine. Also, I took to using the gtk app a while ago, so I am probably prejudiced.

But, when I use the web browser on the Banana Pi it stops functioning after the second folder is added. Yes, there are occasional ‘someone wants to share something’ message but if you try to add folders via the web interface the xml file never gets updated, the folder show up in the browser window but it shows syncing. Simply put, it just no longer works. Maybe this isn’t a web interface problem, maybe the underpinnings just stop paying attention/reporting.

I’ve done this twice in the past two weeks - I just try stuff the first time a build a system then start over once I learn enough about what I really want so it maybe related to my hardware (I chose a low power drive, not high performance) but it is probably not a software config issue on the second go. And like I said, a little prejudiced in favor of the gtk interface because of the previous experience, so I was hoping it was on the roadmap and would fix my lack of monitoring problem.

One thing I’m pretty certain on though - turn off atime for such a system. Once I killed tracking every access to files on the drive the bandwidth out of the PCs feeding the Banana Pi (which do report) went up considerably.

And I take it, no plans of GTK for ARM?

This sounds like a browser/cookie problem of some sort, it losing authentication towards Syncthing. I don’t think it’s a performance problem as such. The CPU being maxed out is normal and expected; something has to be the bottleneck, and it’s usually either the CPU, the network or the disks…

Indeed. I struggle to understand why anyone would ship with that enabled by default nowadays.

I think you are the first to ever ask, but as far as I know Syncthing-GTK is all Python. As such it shouldn’t care at all whether your box is ARM or i386 or whatever, as long as Python and the relevant libraries are installed. Have you just tried using it? Try installing the mentioned dependencies and then grabbing the “worst case” tarball from GitHub - kozec/syncthing-gtk: GTK3 & python based GUI for Syncthing.

I did get the “worst case” tarball (and I love the name BTW) and I get exactly the same error as described earlier in:

And while they talk about the problem, and the fact it got worked out, there aren’t what I would call idiot level instructions on how to work around it. My expertise lies in embedded hardware/firmware, I can muddle through python a little but this looks well beyond my skill set.

Weird - when I link in the body of the text the link is not expanded, put it on its own line for emphasis and it gets expanded. Just something I felt like mentioning, really of no consequence.

Maybe say something in the issue? But from glancing through it it sounds like it’s related to the versions of something gtkish? Not my area.

As a side, I run syncthing on a headless, Raspberry Pi 2 which I think is of a similar spec to the Banana Pi (without the sata). I’m not using a drive, just syncing a dozen or so ST folders to a usb stick.

The web UI seems to run ok once syncthing has been up and running for while and finish it’s initial scanning. I actually occasionally access the web ui (with password) for the pi as a hidden .onion which is somewhat painful, but still usable.

I would not argue that the browser can’t be used effectively once every thing has been synced. But to give all the details:

  • Two users with five machines between them, one server that tracks all folders either user has sync’ed and then the new Banana Pi that I was replacing the server with (so all the folders on it too.)

  • One 2 gigabyte folder shared by all, one user has one private folder of about 6 gigabytes and the other user has three folders totaling about 15 gigabytes.

After creating the new micro server, I could not add more than the second folder to it. The Browser was painfully slow and even once it responded and added the third folder that folder would sit with a status of Offline on the gui and if you check the config.xml file it would not update - this status went on for hours. In an attempt to reduce the load on the microserver I tried the gtk app which failed and spawned this posting.

I eventually collected the config.xml off the existing big server, created the folders in a shell, and inserted the edited information from the big server in the micro server’s config file and restarted. Took a couple of days but everything seems in sync and the micro server is probably going headless and into the basement this weekend.

My system is working acceptably, I was just asking about plans for the gtk tool for an ARM architecture because, as I stated earlier, I thought it might perform better than the web based gui while I was getting things set up. If someone was looking for someone to test on a Banana Pi I would be more than willing to test, but, for most of the time from now on I will probably use a remote web browser.

Syncthing-GTK will probably tax syncthing about as much as the web interface does - they do roughly the same thing. The bit you’ll save is the cost of running the browser. However, a web browser is easy to close to save on resources, but I’m not sure how easy Syncthing-GTK is to close, once running, without stopping Syncthing…

I’ve quite a few ARM machines running Syncthing (R-Pi & Odroids), in this case I reckon you might be asking too much of the Banana-Pi.

If the Pi was running only as a minimal server, you’d have no problems at all - though you’d lose the desktop environment.

Running a full OS like Rasbpian, using its (notoriously) clunky browser while Syncthing is running in the background, will probably never work with useful speed.

One alternative would be to try the Lubuntu or Ubuntu MATE builds as your OS, and try Syncthing again.

Though I would really recommend using the Pi + Syncthing only with a minimal server build. Syncthing will be happier the Pi won’t be so maxed out, so better speeds all round.

In this setup, the Syncthing UI can be checked on anything else with a browser.

2 Likes