Compilando Joplin para Arquitetura ARM64 em Dispositivos Móveis
Os pacotes oficiais do Joplin disponíveis no GitHub não incluem versões nativas para processadores ARM em Linux. Apenas builds para macOS são fornecidas para arquitetura ARM. Em ambientes reais, temos diversas máquinas baseadas em ARM64 — desde MacBooks até placas como Raspberry Pi 400, que geralmente executam Raspberry Pi OS ou distribuições Ubuntu.
O principal desafio com dispositivos como o Raspberry Pi é a limitação de processamento. Compilar projetos Node.js extensivos como o Joplin diretamente nesses dispositivos pode levar horas ou simplesmente falhar por falta de memória. Contudo, dispositivos Android modernos possuem chpisets ARM64 robustos com capacidade computacional suficiente para compilações complexas.
A abordagem adotada consiste em utilizar um smartphone Android como ambiente de compilação. Ferramentas como Termux ou Linux Deploy permitem executar distribuições Linux completas (Ubuntu, CentOS, openSUSE) dentro do Android. Após compilar o Joplin nesse ambiente, os pacotes gerados podem ser transferidos e instalados em dispositivos ARM com menor capacidade de processamento.
Testes realizados confirmaram que processadores Snapdragon de alta performance possuem cache suficiente para compilar o projeto Joplin integralmente. O resultado foi testado com sucesso em um Raspberry Pi 400, onde todas as funcionalidades operaram normalmente.
Sobre o Joplin
Joplin é uma aplicação de anotações de código aberto com suporte a sincronização entre múltiplos dispositivos. É possível configurar sincronização via WebDAV hospedado localmente, ou utilizar serviços de armazenamento em nuvem como Alibaba Cloud OSS (40GB por aproximadamente R$6/ano).
Repositório de Builds ARM64
Este repositório armazena as builds compiladas do Joplin para processadores ARM64. A motivação surgiu ao adquirir um Raspberry Pi 400 — após configuração inicial, percebi a inexistência de builds nativas para a plataforma.
O processo de compilação envolveu múltiplas tentativas ao longo de várias semanas, incluindo resolução de dependências npm ausentes e adaptações específicas para o ambiente ARM. Os pacotes foram compilados originalmente em Ubuntu 18.04 executando via Linux Deploy em um OnePlus 7.
Links dos Pacotes Compilados
- Joplin-arm64.deb
- Joplin-arm64.AppImage
Versões Estáveis Compiladas
| Versão | Arquitetura | Data | Sistema de Build |
|---|---|---|---|
| v1.8.2 | arm64 | 04/05/2021 | Ubuntu 18.04 |
| v2.0.2 | armv7l & arm64 | 29/05/2021 | Ubuntu 18.04 |
| v2.1.0 | armv7l & arm64 | 20/06/2021 | Ubuntu 18.04 |
| v2.2.0 | arm64 | 24/07/2021 | Ubuntu 18.04 |
| v2.2.2 | arm64 | 26/07/2021 | Ubuntu 18.04 |
| v2.4.1 | arm64 | 26/08/2021 | Ubuntu 18.04 |
| v2.5.1 | arm64 & armv7l | 12/10/2021 | Ubuntu 18.04 |
| v2.8.8 | arm64 | 12/10/2022 | CentOS 7 |
| v2.12.18 | arm64 | 24/09/2023 | openSUSE Leap 15.4 |
| v2.13.10 | arm64 | 24/12/2023 | openSUSE Leap 15.4 |
| v2.14.20 | arm64 | 27/03/2024 | Ubuntu 23.10 |
| v3.0.15 | arm64 | 17/11/2024 | Ubuntu 23.10 |
| v3.1.20 | arm64 | 17/11/2024 | Ubuntu 23.10 |
| v3.2.12 | arm64 | 29/01/2025 | Ubuntu 23.10 |
| v3.3.13 | arm64 | 20/08/2025 | Ubuntu 20.04 (Termux) |
| v3.4.12 | arm64 | 19/09/2025 | Ubuntu 20.04 (Termux) |
Versões Pré-lançamento Compiladas
| Versão | Arquitetura | Data | Sistema de Build |
|---|---|---|---|
| v2.9.4 | arm64 | 12/10/2022 | CentOS 7 |
| v2.9.17 | arm64 | 15/12/2022 | openSUSE Leap 15.4 |
| v2.10.4 | arm64 | 21/01/2023 | openSUSE Leap 15.4 |
| v2.10.13 | arm64 | 05/04/2023 | openSUSE Leap 15.4 |
| v2.11.6 | arm64 | 04/06/2023 | openSUSE Leap 15.4 |
| v2.12.7 | arm64 | 19/07/2023 | openSUSE Leap 15.4 |
| v2.12.10 | arm64 | 06/08/2023 | openSUSE Leap 15.4 |
| v2.14.11 | arm64 | 03/02/2024 | Ubuntu 23.10 |
| v3.0.6 | arm64 | 02/05/2024 | Ubuntu LTS 22.04.3 |
| v3.0.10 | arm64 | 27/06/2024 | Ubuntu LTS 22.04.3 |
| v3.2.1 | arm64 | 16/11/2024 | Ubuntu 23.10 |
Observações Importantes
06/08/2023: Testes no Raspberry Pi 400 revelaram problemas com o pacote .deb. Recomenda-se utilizar o AppImage para versões mais recentes.
03/02/2024: Ao compilar no Ubuntu 23.10 via Termux em um OPPO K11, os problemas com o pacote deb foram resolvidos.
28/03/2024: Ambiente de compilação migrado para OnePlus 7 com Ubuntu 23.10 via Termux. Tanto AppImage quanto deb funcionam corretamente.
03/05/2024: Build da versão mais recente realizada em Redmi Note 7 Pro com Ubuntu 22.04.3 via Termux. Após resolver dependências ausentes (libxxx), ambos os formatos de pacote apresentaram funcionamento adequado.
Instruções de Instalação
Para instalar via pacote deb:
sudo dpkg -i pacote_joplin.deb
Para executar via AppImage:
chmod u+x joplin.AppImage
./joplin.AppImage
Referências
- Releases oficiais do Joplin: https://github.com/laurent22/joplin/releases
- Site oficial do Termux: https://termux.dev/en/
Problemas Conhecidos na Compilação
- Falha na compilação da dependência lzma-native@npm:8.0.6
Notas de Compilação
Documentação detalhada sobre o processo de compilação do Joplin para dispositivos ARM64 está disponível nos seguintes recursos:
- Guia completo de compilação
- Atualização do guia de compilação
- Lista de problemas resolvidos durante o build