-
-
Notifications
You must be signed in to change notification settings - Fork 375
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
Add support for Windows on ARM #1887
Comments
Also worth note: Github has introduced native Windows ARM runners; they're not available on free tier yet, but if the experience with macOS ARM runners is indicative, they might be available on free tier later this year/early next year. |
To confirm, after installing the MSI for an app packaged for x86, the app does run on ARM (albeit virtualized): However, the zip package logs an error; perhaps unrelated to x86 on ARM since the same thing happens when I try to run the zip on another x86 install...maybe #1881 is related... ZIP TracebackTraceback (most recent call last):
File "\app\helloworld\__main__.py", line 4, in <module>
main().main_loop()
^^^^^^
File "\app\helloworld\app.py", line 26, in main
return HelloWorld()
^^^^^^^^^^^^
File "\app_packages\toga\app.py", line 464, in __init__
self.factory = get_platform_factory()
^^^^^^^^^^^^^^^^^^^^^^
File "\app_packages\toga\platform.py", line 114, in get_platform_factory
factory = importlib.import_module(f"{backend.value}.factory")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "importlib\__init__.py", line 90, in import_module
File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
File "<frozen importlib._bootstrap>", line 1310, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 994, in exec_module
File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
File "\app_packages\toga_winforms\__init__.py", line 1, in <module>
import clr
File "\app_packages\clr.py", line 6, in <module>
load()
File "\app_packages\pythonnet\__init__.py", line 143, in load
func = assembly.get_function("Python.Runtime.Loader.Initialize")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\app_packages\clr_loader\types.py", line 94, in get_function
return ClrFunction(self._runtime, self._path, name, func)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\app_packages\clr_loader\types.py", line 58, in __init__
self._callable = runtime._get_callable(assembly, typename, func_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\app_packages\clr_loader\netfx.py", line 47, in _get_callable
raise RuntimeError(
RuntimeError: Failed to resolve Python.Runtime.Loader.Initialize from \app_packages\pythonnet\runtime\Python.Runtime.dll |
This comment was marked as spam.
This comment was marked as spam.
I expect the performance penalty for HeidiSQL will be about the same as any other emulated code, but since we haven't tested this, we can't say how bad it would be. |
What is the problem or limitation you are having?
Briefcase can currently only target Windows on x86. With the growing support for Windows on ARM, Briefcase should support targeting ARM.
Describe the solution you'd like
The current stub should be built for ARM and the Visual Studio template should support targeting ARM.
The embedded Python should be the arm64 version. Although, this is only available back to Python 3.11.
Describe alternatives you've considered
Similar to macOS on Apple Silicon, Windows can run x86 binaries on ARM. I still need to actually try it but this may allow a Briefcase app built for x86 to run on ARM.
Additional context
No response
The text was updated successfully, but these errors were encountered: