tom-james-watson / breaktimer-app

Manage periodic breaks. Avoid eye-strain and RSI.
https://breaktimer.app
GNU General Public License v3.0
1.06k stars 79 forks source link

Linux arm64 support #54

Open jwillikers opened 4 years ago

jwillikers commented 4 years ago

I have a Pinebook Pro laptop which has arm64 processors. Would it be possible to release binaries for Linux arm64?

tom-james-watson commented 4 years ago

I'm not going to be able to do that at this point. I imagine you can build the app yourself. I'd also accept pull requests to get this working!

jwillikers commented 4 years ago

When I have time, I'll see if I can build it 👍

tom-james-watson commented 4 years ago

See https://github.com/tom-james-watson/breaktimer-app/blob/master/DEVELOPMENT.md 🙂

jwillikers commented 4 years ago

@tom-james-watson Thanks for the link.

I was able to get everything working and running in the dev environment.

On the default Manjaro KDE distribution on the Pinebook Pro, I installed yarn and npm.

$ pacman -S yarn npm

Then, I followed the instructions on your link, but I had to run the upgrade command to get around an error.

$ yarn
$ yarn upgrade
$ yarn install
$ yarn dev

While I was able to build the package, a fatal error occurred when running yarn start.

$ yarn build
$ yarn start

The output of the failed yarn start command is here. The icon node_modules/electron/dist/resources/app/resources/tray/icon.png does not exist.

tom-james-watson commented 4 years ago

That's actually a problem on master that I hadn't noticed.

Note - I've since switched back to npm.

Are you saying the app works ok in dev mode (npm run dev)?

If you want to test the production version, you want to package the app up: yarn package-linux. Then you should be able to find the built version of the production app under the release folder.

jwillikers commented 4 years ago

The app works great in dev mode (npm run dev).

Running npm run package produces an AppImage which also works great!

tom-james-watson commented 4 years ago

That's great. I don't really have any way of building and publishing this myself at the moment, so I think this will just have to be unofficial support for now.

jwillikers commented 4 years ago

@tom-james-watson Yeah, that makes sense. I really appreciate the help and support! 🙏

Emulating Arm64 on QEMU and building it on that might not be too difficult. I can always test that out on one of my amd64 machines and let you know how it goes, if you think that's viable.

tom-james-watson commented 4 years ago

Yeah sure if it's something that is easily reproducible then it could be something we could look at adding.

marijnbent commented 3 years ago

Will this also work for the Apple M1 processor?

tom-james-watson commented 3 years ago

I haven't got the hardware to try this out, so I'm not going to be able to produce official builds any time soon.

As far as I can tell from https://github.com/electron-userland/electron-builder/issues/5392, if we upgrade electron and electron-builder then you should be able to manually build ARM64 macOS binaries without any changes.

Catsvilles commented 3 years ago

Latest version seems to be working fine on my Mac mini M1

a-dows commented 2 years ago

+1 for arm64 (M1 Mac) support, down to only two apps I run that are missing it!

tom-james-watson commented 1 week ago

FYI as of 1.3.0 the macOS build now has native support for arm. You will need to manually download the update though, unfortunately.

Still no support for linux arm though, I'm afraid.