-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Native ARM64 Support #6901
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
Native ARM64 Support #6901
Conversation
Signed-off-by: Gustave Monce <[email protected]>
Signed-off-by: Gustave Monce <[email protected]>
Signed-off-by: Gustave Monce <[email protected]>
Signed-off-by: Gustave Monce <[email protected]>
Signed-off-by: Gustave Monce <[email protected]>
…d process Signed-off-by: Gustave Monce <[email protected]>
I have reverted 9d5d7e5 because there seem to be an issue with the pipeline setup in this repository where the C++ component does not actually get queued for build, it did on my tests, which is a bit weird. I can remove said commit once this issue is fixed however once again, in my tests, the pipeline worked on my azure devops instance, so I do not understand this issue. (Moreover, it appears the custom file dialog functionality ain't quite working anyway). The application also did build locally just fine. |
e16874e
to
6b12c94
Compare
Signed-off-by: Gustave Monce <[email protected]>
e58f629
to
7b03f02
Compare
Signed-off-by: Gustave Monce <[email protected]>
Custom file open dialog was verified working by manually registering it (given the option is hidden in the app) and building a package locally (given CI does not build the component). Video below Files.Custom.Open.Dialog.MOV. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really nice work! Thank you ❤️
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work, Gus! I'll take care of moving to System.Text.Json in a future PR.
@gus33000 is the full trust process working for you in release mode? |
Yes it is, see all of my videos posted above. |
@gus33000 could you take a look at the changes made to DeviceWatcher.cs? Files/Files.Launcher/DeviceWatcher.cs Line 43 in fe684bc
should be: CimInstance obj = e.NewEvent.Instance.CimInstanceProperties["TargetInstance"].Value |
Looking into it now, just woke up so that might take some time. From testing the above's code worked but I can see if your suggestion makes a difference |
@gave92 Had a look with a debugger, you're right looks like an issue stepped in here. I'm going to do a PR to address this. Thanks for shedding light on this! |
Resolved / Related Issues
Details of Changes
This pull request brings full ARM64 native support to the Files application. This improves greatly the user experience for ARM64 users as well as overall performance and resource usage of the application, in environments were power optimizations matter the most. It has been verified working on an ARMv8 device running in ARM64 context under Windows 11 Build 22499 for ARM64 Processors. This pull request achieves this by:
*
This feature does not seem to work, the option reverts by itself and it looks like the component never gets registered. I am not too sure about the status of this feature. The code to register the components looked like it was meant for X86 only and surely would not work on AMD64 or anything else, due to it attempting to register x86 first, which would not work on X64 or ARM64 packages, maybe this needs to be looked into. I doubt this is an issue caused by my PR.Turns out it this was caused by a different issue fixed in the last commit. The CustomOpenDIalog component however does not get built by the CI. Referencing the project inside Files.Launcher.csproj makes it build however the xcopy task fails which halts the build process. I believe this issue is not caused by my PR considering the revert commit makes it like before, which is copy the file if it exist or ignore.
Validation
Screenshots (optional)