Tor Browser for ARM Linux

Hello everyone,
ARM is getting more popular and and various well-supported devices are available, thus I wonder about any plans for Tor Browser for ARM Linux. I know about the unofficial builds (Tor Browser Ports - Browse Files at SourceForge.net) which confirms that it is technically possible and good demand even for unofficial version.

I could not find any official information why ARM would not be supported and therefore I would like to make the suggestion to provide official ARM Linux build of Tor Browser.

Thank you!

Hi hobbitus,

Tor Browser/Applications Team dev-lead here to give you a hopefully satisfying answer and something to look forward to

So there are a few reasons why we’ve been reluctant to support non x86/amd64 builds.

For one, the majority of users out there are not on ARM based hardware.

For two, more platforms means more opportunities for platform-specific bugs means more need for devs and hardware.

For three, more supported platforms means more builds to build, sign, upload, and host.

Currently we support Windows (x86 and amd64), Linux (x86 and amd64) and macOS (x86_64). There are pending merge requests to add support for Linux arm ( Draft: Bug 32355 v3: Tor Browser for Linux/ARMv7 (x86_64 build arch) (!492) · Merge requests · The Tor Project / Applications / tor-browser-build · GitLab ) and and Linux ppc ( Add linux-ppc64le target (!391) · Merge requests · The Tor Project / Applications / tor-browser-build · GitLab ). So what’s the hold up? We have the MRs just merge them already!

The problem is locales. We currently support 36 locales in the 11.5 stable series, and 37 locales in 12.0 alpha series (Ukrainian recently added). This means that every time we build tor-browser for a platform, we effectively have to package it 36 times which takes a significant amount of time. We also have to generate incrementals (for build-to-build updates) for each package, and we have to sign each installation package and incremental.

As a result, it takes about a work-day to build (and verify reproducibility of) a release, on top of actually prepping it (rebasing, backporting, updating build configs, changelogs, etc). Then it takes just over another work-day to do all of the uploading, signing, downloading, uploading, incremental generation, incremental signing, downloading, uploading, and finally publishing.

Simply adding another platform adds a significant amount of cost in terms of time, developer effort, hosting, etc. So we’ve been reluctant to further complicate this process by adding more platforms that only a minority of users care about.


Well that’s all very sad and definitely sounds a lot like developer whinging. However, there is some good news at the end.

Tor Browser starting with 12.0a4 alpha (and 12.0 release in a few months) will be a multi-locale bundle. This means we will ship ONE package per platform. We will need to build and sign and publish just FIVE installers/packages. Building and Signing a release will be a matter of hours rather than days (though prepping a release is still a somewhat lengthy/complicated process; for a glimpse behind the curtain please see: Prepare alpha release 12.0a4 (#40627) · Issues · The Tor Project / Applications / tor-browser-build · GitLab).

I cannot overstate how much of a quality-of-life improvement this will be for devs involved in the release process.

Hopefully this means we will be able to ship official builds for previously neglected platforms in the relatively near future.

best,
-Richard

3 Likes