-
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature Request] Compile for Windows 10 on ARM #3745
Comments
Can you talk about the current state of Windows on ARM a bit? How have things changed recently? |
It has! Windows on ARM is actually a pretty great experience now! It is full windows 10, not windows RT. Meaning you can attempt to install and run any app you want. Most 32 bit apps work with emulation very well. Even simple gaming isn't too bad as long as the game uses direct 3d/x rather than open gl. X86 64 bit apps do not work at all. ARM 64 bit apps are really where it performs its best however. I love the battery life I am getting plus the always connected LTE that ARM brings to the table. It is only going to get better as developers recompile 64 bit apps for 64 bit ARM. |
There is an offical Windows on Arm (64 bit) Electron release, it that helps? |
IS this fir the developers? I know Signal for desktop was developed using Electron, but I don't believe I as just a user can re-compile it myself can I? |
For the developer. Because he asked for the status of Windows on ARM. Having an official Electron release which supports Windows on ARM is probably an important prerequisite to build the Signal-Desktop app. |
@scottnonnenberg-signal Surface Pro X is a great device running windows on ARM64, and microsoft is pushing it hard, would be great to have Signal desktop available for it. |
This has been asked (and shot down) several times, but why not just compile for x86 Windows? This would kill two birds with one stone. |
I would be happier with an x86 build option too. It's also useful for people on really old computers too. |
Here's vscode's arm64 issue and patch they just implemented: |
Just tried setting Signal up on my Surface Pro X and was very surprised to find out that there isn't an ARM64 or 32bit version available. Please do at least one! Microsoft is pushing ARM64 heavily on upcoming devices, so this will be a growing issue. |
Yes please.. I too am shocked there is no ARM support! I am on Galaxy Book S.. Win 10 ARM is very very nice now and need Signal! |
I'm waiting for this too |
I started working on 32-bit support, it's more work than expected 😅 some native modules will need to be compiled for 32-bit (and ideally arm64) as well as they're 64-bit only currently. I'm stuck at one native module, more details here: #4514 - would appreciate if anyone could help as I'm not familiar with Rust/GN/etc. UPDATE September 14: think I've found the culprit for the issue mentioned above. Looks like one of Hope the Signal team will accept the PRs when they're done! 🚀 |
I'm giving this a try, working on this branch, see CI runs here. |
@EwoutH you very likely won't be able to get this to work until the native modules that Signal Desktop uses support arm64 somehow, like Will update signalapp/ringrtc#12 as soon as there's news in that area 😊 if you find any other native modules that need updates, please go ahead and try to add support for arm64 to those 🚀 |
Making great progress working on a native ARM64 build of Signal Desktop for Windows. Some native dependencies need to be updated. Here's the PRs tracking that work:
I hope to be able to get some first test build some time next week, assuming that I won't be blocked on other dependencies. To be continued 🚀 For cross-reference: issue for Windows 32-bit support: #1636 |
Update: node-ffi-napi/node-ffi-napi#131 (comment) was merged yesterday, so I spent some hours today to continue working on Signal Desktop on Windows arm64. It mostly came down to updating some dependencies (see development...dennisameling:windows-multi-arch-support for the diff). Those dependencies have dependencies, and they have dependencies, etc. - oh well 😅 🤯 The good news is that I'm able to install/build all dependencies now on Windows arm64 ✔️, and even
Visual Studio debugging leads me to |
I have to give up for now at the crashing |
Got it to work!!! 🚀 Will need to follow up in journeyapps/node-sqlcipher#73 (comment) to add statically linked OpenSSL binaries for Windows ARM64 which I just generated, but this is super exciting news! 🎉 UPDATE: created a PR for |
Correct. Current signatures of Microsoft Defender never detected any threats in your files. SmartScreen however "blocks" downloads as long these files have not established reputation with the service. Users can remove the block and choose to keep the files, but they need to click through a couple of warnings - which actually makes sense but a standard end user might get confused. After keeping the file SmartScreen will strike again when the user tries to install the software. Parameters I provide when submitting files are:
Usually within a few hours analysis is done with the known analyst comments. After this, users are not warned anymore when downloading and/or installing. |
(v.5.6.0 files have established reputation with Microsoft Defender SmartScreen services) |
(v.5.6.1 files are submitted to Microsoft Security Intelligence for analysis/clearance by Microsoft Defender SmartScreen servcies) |
(v.5.6.1 files have established reputation with Microsoft Defender SmartScreen services) |
(v.5.6.2 files are submitted to Microsoft Security Intelligence for analysis/clearance by Microsoft Defender SmartScreen services) |
(v.5.6.2 files have established reputation with Microsoft Defender SmartScreen services) |
This is an automated message that version 5.7.1 is now live. Please note that it might take 1-2 hours for the binaries to be uploaded to the server. Release URL: https://github.com/dennisameling/Signal-Desktop/releases/tag/v5.7.1-multi-arch |
(v.5.7.1 files are submitted to Microsoft Security Intelligence for analysis/clearance by Microsoft Defender SmartScreen services) |
(v.5.7.1 files have established reputation with Microsoft Defender SmartScreen services) |
This is an automated message that version 5.8.0 is now live. Please note that it might take 1-2 hours for the binaries to be uploaded to the server. Release URL: https://github.com/dennisameling/Signal-Desktop/releases/tag/v5.8.0-multi-arch |
(v.5.8.0 files are submitted to Microsoft Security Intelligence for analysis/clearance by Microsoft Defender SmartScreen services) |
Will this download be available on signal.org? I'm a bit hesitant to start the download from a non Signal source, but I really want to use the Signal app on the Surface Pro X. Thanks. |
@adamparish That's up to the Signal team to decide on. They'll need arm64 hardware in their CI pipeline to run automated tests on (same story for Apple Silicon which is also not supported yet). I've outlined the work for the Signal team in an earlier comment, so it's up to them now to decide if and when they want to move forward with this. Just FYI, the source code of my fork is available at https://github.com/dennisameling/Signal-Desktop/tree/multi-arch-support, so you could even build it yourself locally if you like. Let me know if you want more details about that 👍🏼 |
Hi, is it possible to get an exe of your development? The version above (see post of marcocastagna on the 22 jun) is not compatible anymore with the one I'm using on my phone (version 5.19.4). Then it told me, there is a new version and installing the new version breaks it. Thx I got it: just changed the link to: https://signal.dennisameling.com/dl/signal-desktop-unofficial-win-5.13.0-ia32.exe and it works now |
Thank you @dennisameling @scottnonnenberg-signal |
Wow. Awesome work shut down by the signal bot 😢 Where can we follow progress? What can we do to help this getting merged? |
With the huge push of Microsoft and Qualcomm towards Windows Arm PCs I think we need to reconsider reopening this issue - and maybe even prioritizing it. June 18th the first new Snapdragon X PCs launch. It would be awesome if there was a native Signal app out then, and probably good PR. |
Much needed. |
I've been releasing unofficial Windows arm64 builds with working auto-updates since June 2021 (time flies! 😱). Signal Desktop can be built just fine for Windows arm64 without any build-specific patches. Here's my pipeline config. I think at this point it's just a matter of the Signal team getting access to some Windows arm64 build machines and they should be good to go... |
GitHub hosted Arm runners will launch later this year: https://github.blog/2024-06-03-arm64-on-github-actions-powering-faster-more-efficient-build-systems/ |
Hi! We're now building Windows ARM binaries starting with the 7.34.0 release. In-app updates in the x64 emulated app will automatically migrate to arm64 on the next update, and our website now offers a universal installer which will pick arm64 or x64 depending on your system: https://signal.org/download/ Please try it out and let us know how it goes. Thanks! |
Awesome! Does https://signal.org/download/ need to be updated? |
Nope it's okay! The download page now links to the universal installer which can be run on both arm64 and x64 windows and picks the appropriate binary. |
Very good innovation! But what about the official support for arm64 on Debian-based distros? Will Signal launch arm64-.deb-packages as well? |
@doxioxi Thank you for your interest! We're considering it but don't have immediate plans to support it. I'd encourage you to show interest on the community forum, which we look at when scheduling new work: |
Bug Description
Signal has no 32 bit desktop app and has no support for ARM processors on Windows.
Steps to Reproduce
Actual Result:
Program can not be installed
Expected Result:
Program can be installed
-->
Platform Info
Signal Version:
Latest build
Operating System:
Windows 10 Surface Pro X
Linked Device Version:
Link to Debug Log
The text was updated successfully, but these errors were encountered: