ActivityWatch / activitywatch

The best free and open-source automated time tracker. Cross-platform, extensible, privacy-focused.
https://activitywatch.net/
Mozilla Public License 2.0
11.81k stars 536 forks source link

arm64 #641

Open simonSlamka opened 3 years ago

simonSlamka commented 3 years ago

are you planning on releasing arm64 builds? would be very useful since that's where computers are headed (at least laptops) and some don't have anything else available

Issue

same as above

github-actions[bot] commented 3 years ago

Hi there! As you're new to this repo, please make sure you've used an appropriate issue template and searched for duplicates (it helps us focus on actual development!). We'd also like to suggest that you read our contribution guidelines and our code of conduct. Thanks a bunch for opening your first issue! 🙏

johan-bjareholt commented 3 years ago

I have compiled aw-server-rust and aw-watcher-window-wayland for my Librem 5 Linux phone and have also tried it on a PinePhone, so at least it partially works.

The issue I think is rather to know which platforms are worth supporting ARM for, as it means more maintenance. It's also a question about which platforms our CI works well with (GitHub Actions).

simonSlamka commented 3 years ago

The issue I think is rather to know which platforms are worth supporting ARM for

imo, Linux, for sure. Then definitely Darwin since Silicons will be gradually more and more popular and widespread. Additionally, it's likely that more manufacturers will decide to put arm64's into their laptops because of its many upsides

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

lacamar commented 2 years ago

With Asahi linux bringing linux to ARM, we are at an inflection point for ARM64 adoption. It's going to be increasingly important for software to work on ARM64 hardware.

simonSlamka commented 2 years ago

With Asahi linux bringing linux to ARM, we are at an inflection point for ARM64 adoption. It's going to be increasingly important for software to work on ARM64 hardware.

Exactly this! +1

cyugao commented 1 year ago

Any progress on this? It should work for Apple Silicon Macs. I compiled it on my Mac and it's good for use so far.

ErikBjare commented 1 year ago

Can't make progress on this until someone figures out how to build arm64 builds on GitHub CI (which only offers x86 machines).

This is low-priority for me as it seems the current build works just fine, and getting arm64 to build feels like it'll be a lot of work (unless you already know how to, unlike me).

On Wed, Oct 19, 2022, 23:26 Changyu Gao @.***> wrote:

Any progress on this? It should work for Apple Silicon Macs. I compiled it on my Mac and it's good for use so far.

— Reply to this email directly, view it on GitHub https://github.com/ActivityWatch/activitywatch/issues/641#issuecomment-1284591734, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAKXDOSWYKP4VNUOISVCNFTWEBRRRANCNFSM5ARRQDQA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

yeradis commented 1 year ago

Haven't tested it yet but found this info https://github.com/actions/runner-images/issues/2187#issuecomment-1295921395 regarding a service with on-demand Apple Silicon runners for GitHub Actions.

jbg commented 1 year ago

Arrived here after checking out the website, deciding to install, then realising there is no arm64 macOS build.

Which languages are used here? Cross-compiling Rust is very easy (rustup target add aarch64-apple-darwin && cargo build --target aarch64-apple-darwin) and Python usually doesn't require anything special either. There's no need to build on Apple Silicon just to target Apple Silicon. I can submit a PR to add Apple Silicon support, just need to look over the repo (or get some pointers) to understand which languages are used other than the Rust and Python that I've already seen in server-rust and watcher-window.

johan-bjareholt commented 1 year ago

@jbg Cross-compiling Rust to ARM64 is easy, so that's not a big issue. While running python on ARM64 is easy, using pyinstaller to bundle everything is not as easy. It seems like pyinstaller has gotten decent ARM64 the past few years, but since GitHub Actions don't support macOS ARM runners we also need to be able to cross-compile ARM64 with pyinstaller which I'm sure is a bit more tricky. An option to cross-compiling would be to build in a virtualized ARM64 environment which @yeradis mentioned which might work.

Feel free to dig further, the short answer is really that no one has given this an attempt.

jlumbroso commented 1 year ago

It seems https://cirrus-ci.org/pricing/ indicates free service for public open source projects.

I am willing to sponsor whoever implements the Apple Silicon build of ActivityWatch. ActivityWatch is a killer app and it would be great to have it available natively, given it runs in the background.

allywilson commented 1 year ago

+1 for aarch64 (using Fedora Asahi).

imadnyc commented 1 year ago

+1 for aarch64 (on mobian)

thomasjonas commented 6 months ago

It seems Github has Apple Silicon runners in beta. That should make it possible to build for Apple Silicon for sure, not sure if that means it would also work for Fedora Asahi or other arm builds though...

Would it be possible to use the Apple Silicon beta runner? Would that mean the workflow/build has to be adjusted?

wojnilowicz commented 4 months ago

+1 for aarch64 (using Fedora Asahi).

You can test it from https://copr.fedorainfracloud.org/coprs/wojnilowicz/activitywatch/

FloLecoeuche commented 1 month ago

Are there any sticking points today?