Linux (Debian-based) Install Instructions
The following instructions for installing the Signal client on Linux are copied verbatim from signal.org. These instructions are formatted so they may be used directly as a bash shell script.
# NOTE: These instructions only work for 64-bit Debian-based # Linux distributions such as Ubuntu, Mint etc. # 1. Install our official public software signing key: wget -O- https://updates.signal.org/desktop/apt/keys.asc \ | gpg --dearmor > signal-desktop-keyring.gpg cat signal-desktop-keyring.gpg \ | sudo tee /usr/share/keyrings/signal-desktop-keyring.gpg > /dev/null # 2. Add our repository to your list of repositories: echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/signal-desktop-keyring.gpg]\ https://updates.signal.org/desktop/apt xenial main' \ | sudo tee /etc/apt/sources.list.d/signal-xenial.list # 3. Update your package database and install Signal: sudo apt update && sudo apt install signal-desktop
Unfortunately, that procedure described by Signal for use with Debian Linux only works for the amd64 build of Linux — the Raspberry Pi 3b+ has an ARM processor (ARM7, iirc), and so requires an ARM build, which signal.org does not seem to have.
Furthermore, it seems this is not an unheard of problem. We are not the first kitteh to try to load Signal desktop on a Raspberry Pi, it seems: Issue 3410 at GitHup talks about it, there is a Raspberry Pi Forums Post about it, as well.
Git has another thread about this issue here:
Issue 3410. In the comment Issue Comment 556153784 author rj45jack writes about compling Signal Desktop for arm64 architechture.
git clone https://github.com/signalapp.git # I used ssh, not https, but ymmv git checkout v1.28.0 # or whatever version # curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - # install nodejs & npm if you do it on a chromebook # sudo apt-get install -y nodejs wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash # install nvm # (restart shell) sudo npm i -g npm nvm yarn # install nvm, update npm npm config delete prefix # make it stop complaining # cd into cloned repo nvm use # switch node version to be compatible yarn install --frozen-lockfile # Install and build dependencies (this will take a while) yarn grunt # Generate final JS and CSS assets yarn icon-gen # Generate full set of icons for Electron SIGNAL_ENV=production yarn build --linux --arm64 # cross-compile a .deb file
arm64 ArchitectureA Signal Alternative
snapcraft.io has a Signal alternative called "Axolotl": Install Axolotl - A crossplatform signal client on Raspberry Pi
Unfortunately, AXolotl is a snaps app, and since snaps is a yet-another-package-management-utlity that we probably won't need because all it seems to add to the paradigm is "support for IoT" - the insidious creeping commercialism, we're going to pass on this one for now.
Beekeeper's ARM Build Support
There is a
Quick Guide to Building Electon Apps For ARM Linux and the Raspberry Pi hosted by Beekeeper Studio but note that the publication date on the Guide is 2020 — almost 3 years ago, as of this writing. Why is there not an apt package for arm64 yet? Something seems fishy with this.
The other interesting tidbit of information that came out of all that reading about building Signal for ARM was that Signal is "writen in Javascript" –– for whatever that's worth…
Comments
Post a Comment