Compilando Joplin para Arquitetura ARM64 em Dispositivos Móveis

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

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

Tags: joplin ARM64 raspberry-pi termux linux-deploy

Publicado em 6-28 01:45