sidneys / pb-for-desktop

The missing Desktop application for Pushbullet.
https://sidneys.github.io/pb-for-desktop
MIT License
506 stars 43 forks source link

Add Native M1 ARM Support #139

Open whispy opened 3 years ago

whispy commented 3 years ago

🤷🏽‍♂️ Current Behaviour

PB4D runs using the Intel architecture on an M1 Macbook. This is less performant, as it is running emulated using Apple's Rosetta 2.

🎯 Expected Behaviour

PB4D would be recompiled to run using the native ARM architecture.

🏡 Environmental Context

App Version v11.0.2 Installation Type Default Operating System macOS 11.0.1 on an Apple M1 Macbook

autolyticus commented 3 years ago

I believe that most of the dependencies, including electron-builder does support darwin-arm64. However, by trying to bump the version of electron to 11 (which is the earliest version that supports it) and adding the arm64 target for mac, it did build and package successfully, but it still threw an error on startup stating that this.init is not a function with regards to the traymenu. @sidneys I do not have enough know-how how to fix this and would be willing to work on this and submit a PR if I had some pointers.

According to this (https://www.electronjs.org/blog/apple-silicon). Rosetta-based electron requires two JITs (one for the V8 and once again for Rosetta), I think that it would be great for battery life and performance if we could have an arm64 package.

autolyticus commented 3 years ago

Have encountered some kind of memory leak issues and very high CPU utilization with the Rosetta implementation as well