cypress-io / cypress

Fast, easy and reliable testing for anything that runs in a browser.
https://cypress.io
MIT License
46.71k stars 3.16k forks source link

Win32-Arm64 Is not supported. #30252

Open KimPlaybit opened 1 day ago

KimPlaybit commented 1 day ago

What would you like?

Run a web application with Cypress on a computer with Win32-Arm64 OS.

Why is this needed?

With Asus recently releasing laptops with Qualcomm CPUs, this will be more and more requested. See The Asus Vivobook S 15.

Other

I managed to start my Web app with cypress regardless.

By adding in win32-arm64 as a valid OS in install.js and then hardcode so that "getUrl" in download.js returns "https://download.cypress.io/desktop/13.13.3?platform=win32&arch=x64". What side-effects this has is unknow.

MikeMcC399 commented 1 day ago

@KimPlaybit

Are you using Windows 11 24H2?

KimPlaybit commented 9 hours ago

@KimPlaybit

Are you using Windows 11 24H2?

Yes, i am.

but i dont know if this matters? since the problem is that "validateOS" does not support "win32-arm64" and there is no download link for windows with an ARM CPU. I am using a windows Laptop with a Qualcomm Snapdragon(R) X Elite CPU.

MikeMcC399 commented 7 hours ago

@KimPlaybit

Thanks for providing the details of your environment!

Cypress is built for win32-x64 only.

According to https://learn.microsoft.com/en-us/windows/arm/overview the emulation changed in Windows 11 24H2, so that is relevant.

KimPlaybit commented 7 hours ago

@KimPlaybit

Thanks for providing the details of your environment!

Cypress is built for win32-x64 only.

According to https://learn.microsoft.com/en-us/windows/arm/overview the emulation changed in Windows 11 24H2, so that is relevant.

Alright, but this also states that with Windows 11 24H2 supports emulation of x64 apps. wouldnt that put cypress in that category?

Thus, when i enforced that https://download.cypress.io/desktop/13.13.3?platform=win32&arch=x64 would be downloaded is not wrong. other than that side-effects might happen.

-- Tho, Prism is specificly optimized and tuned for snapdragon.

MikeMcC399 commented 6 hours ago

@KimPlaybit

I can't be of much help here as I don't have access to the hardware you're using.

Have you installed Node.js Windows arm64 or Node.js Windows x64? Reading the Node.js docs it seems like the x64 version of Node.js might give you a better experience, however I can't really say as I can't test this.

KimPlaybit commented 6 hours ago

@KimPlaybit

I can't be of much help here as I don't have access to the hardware you're using.

Have you installed Node.js Windows arm64 or Node.js Windows x64? Reading the Node.js docs it seems like the x64 version of Node.js might give you a better experience, however I can't really say as I can't test this.

At the current moment i havnt found any issues yet. I am running Node.js Windows ARM64. If you like, i can report any issues i find.

i found this, https://learn.microsoft.com/en-us/windows/arm/arm64ec. Which suggests that Windows 11 ARM has been supporting x64 emulation for a while and that Windows 11 24h2 added "Prism", which is an optimization for Snapdragon.

windows 10 ARM however, do not support x64 emulation, might cause problems.

__

i believe i added this as a feature request. but maybe i should point that out.

MikeMcC399 commented 6 hours ago

@KimPlaybit

i believe i added this as a feature request. but maybe i should point that out.

I understood it that way. The Cypress.io team may add a label accordingly.

In terms of using the emulation, it may simply be a question of testing and documentation.

Building Cypress for Windows arm64 would however be a major enhancement to the process and the documentation. https://www.arm.com/developer-hub/laptops-and-desktops

KimPlaybit commented 6 hours ago

@KimPlaybit

i believe i added this as a feature request. but maybe i should point that out.

I understood it that way. The Cypress.io team may add a label accordingly.

In terms of using the emulation, it may simply be a question of testing and documentation.

Building Cypress for Windows arm64 would however be a major enhancement to the process and the documentation. https://www.arm.com/developer-hub/laptops-and-desktops

Building it for Windows arm64 would be great. But to add the label to run cypress with the emulator might be a good start tho.

alexsch01 commented 4 hours ago

For the time being, I wonder if the Cypress team can redirect https://download.cypress.io/desktop/13.13.3?platform=win32&arch=arm64 to the win32-x64 version