Atom ARM64

Hi just wanted to suggest/ask if Atom could be ported to ARM64 for single board computers like the Raspberry pi for example as I have Manjaro ARM64 on my raspberry pi 4 8gb and would love to be able to use my favourite editor on it with all my other tools and is only on x86_64

1 Like

Hi, I also think that having Atom on ARM64 is a must. Single board computers are really useful!

1 Like

I’m trying hard to get Atom installed on Raspberry 4 and Ubuntu 20.04. Following the instructions everything works fine but fails with this:

` 154 error code ELIFECYCLE
  155 error errno 1
  156 error electron-mksnapshot@9.0.2 install: `node ./download-mksnapshot.js`
  156 error Exit status 1
  157 error Failed at the electron-mksnapshot@9.0.2 install script.`

Obviously this package is not available on npm/arm64 as I am suggested to download a zip package…

It should be possible to join forces to get Atom installed and then build Debian packages.

Any luck with Atom on the Raspberry Pi yet?

it is on Manjaro

Not yet but I might look into it, since it’s based on electron and some of my software also being electron based and on multiple architectures including Arm7l and arm64 it shouldn’t be to hard unless they coded it in a stupid way.

Visual Code Studio is on Arm and on Manajaro’s Arm64 repo and is pretty good also.

I need it on Ubuntu 18.04 - NVIDIA Jetson runs an arm64 version of that. A static-linked binary would also work.

I am working on building atom on a raspberry pi 4 4GB with Manjaro ARM Linux aarch64.
Log below.

Node:   v15.11.0
Npm:    v7.6.3
Python: v3.9.2
Installing script dependencies
npm ERR! code 1
npm ERR! path /home/gamingelemental/dev/external/atom/script/node_modules/electron-mksnapshot
npm ERR! command failed
npm ERR! command sh -c node ./download-mksnapshot.js
npm ERR! WARNING: mksnapshot does not run on arm64. Download 
npm ERR!   https://github.com/electron/electron/releases/download/v9.0.2/mksnapshot-v9.0.2-linux-arm64-x64.zip
npm ERR!   on a x64 linux OS to generate undefined snapshots.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2021-03-14T16_49_01_953Z-debug.log
node:child_process:712
   throw err;
   ^

Error: Command failed: npm --loglevel=error install
npm ERR! code 1
npm ERR! path /home/gamingelemental/dev/external/atom/script/node_modules/electron-mksnapshot
npm ERR! command failed
npm ERR! command sh -c node ./download-mksnapshot.js
npm ERR! WARNING: mksnapshot does not run on arm64. Download 
npm ERR!   https://github.com/electron/electron/releases/download/v9.0.2/mksnapshot-v9.0.2-linux-arm64-x64.zip
npm ERR!   on a x64 linux OS to generate undefined snapshots.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2021-03-14T16_49_01_953Z-debug.log

   at checkExecSyncError (node:child_process:690:11)
   at Object.execFileSync (node:child_process:709:15)
   at module.exports (/home/gamingelemental/dev/external/atom/script/lib/install-script-dependencies.js:12:16)
   at Object.<anonymous> (/home/gamingelemental/dev/external/atom/script/bootstrap:37:1)
   at Module._compile (node:internal/modules/cjs/loader:1092:14)
   at Object.Module._extensions..js (node:internal/modules/cjs/loader:1121:10)
   at Module.load (node:internal/modules/cjs/loader:972:32)
   at Function.Module._load (node:internal/modules/cjs/loader:813:14)
   at Module.require (node:internal/modules/cjs/loader:996:19)
   at require (node:internal/modules/cjs/helpers:92:18) {
 status: 1,
 signal: null,
 output: [
   null,
   Buffer(0) [Uint8Array] [],
   Buffer(541) [Uint8Array] [
     110, 112, 109,  32,  69,  82,  82,  33,  32,  99, 111, 100,
     101,  32,  49,  10, 110, 112, 109,  32,  69,  82,  82,  33,
      32, 112,  97, 116, 104,  32,  47, 104, 111, 109, 101,  47,
     103,  97, 109, 105, 110, 103, 101, 108, 101, 109, 101, 110,
     116,  97, 108,  47, 100, 101, 118,  47, 101, 120, 116, 101,
     114, 110,  97, 108,  47,  97, 116, 111, 109,  47, 115,  99,
     114, 105, 112, 116,  47, 110, 111, 100, 101,  95, 109, 111,
     100, 117, 108, 101, 115,  47, 101, 108, 101,  99, 116, 114,
     111, 110,  45, 109,
     ... 441 more items
   ]
 ],
 pid: 5752,
 stdout: Buffer(0) [Uint8Array] [],
 stderr: Buffer(541) [Uint8Array] [
   110, 112, 109,  32,  69,  82,  82,  33,  32,  99, 111, 100,
   101,  32,  49,  10, 110, 112, 109,  32,  69,  82,  82,  33,
    32, 112,  97, 116, 104,  32,  47, 104, 111, 109, 101,  47,
   103,  97, 109, 105, 110, 103, 101, 108, 101, 109, 101, 110,
   116,  97, 108,  47, 100, 101, 118,  47, 101, 120, 116, 101,
   114, 110,  97, 108,  47,  97, 116, 111, 109,  47, 115,  99,
   114, 105, 112, 116,  47, 110, 111, 100, 101,  95, 109, 111,
   100, 117, 108, 101, 115,  47, 101, 108, 101,  99, 116, 114,
   111, 110,  45, 109,
   ... 441 more items
 ]
}
sudo ./script/build

I followed the instructions in the log to the best of my understanding.

WARNING: mksnapshot does not run on arm64. Download
https://github.com/electron/electron/releases/download/v9.0.2/mksnapshot-v9.0.2-linux-arm64-x64.zip on a x64 linux OS to generate undefined snapshots.

On my amd64 machine I ran in a directory:

npm config set arch arm64
npm install --save-dev electron-mksnapshot

I moved the generated node_modules directory to my pi tried the build and got the same results.

Has anyone had any luck? I really want to build this on manjaro because i like using atom on my amd64 machine. But It also fits in aesthetically with manjaro.

Also ran into build issues, I am gonna wait til this gets resolved and properly fixed/ported but I moved to VScodium, a fork of vscode but it takes out telemetry and Microsoft branding and it works great and actually supports Arm64 well unlike Atom which strangely doesn’t and a pain to build for an unknown reason.