![](https://cdn.mos.cms.futurecdn.net/Syadf8YxgYwkEoASA5udTR.png)
A couple of weeks ago, Microsoft held an event where it introduced Copilot+ PCs. They are set apart from the competition by the Snapdragon X Elite and X Plus chipsets which sport a rather powerful NPU capable of delivering 40 TOPS (Trillion Operations Per Second). To demonstrate the NPU’s capabilities, the software giant also introduced Recall – an app that automatically takes snapshots and builds a timeline of your daily PC workflow. This timeline can then be searched for text that directly appears in snapshots, or perhaps more impressively, one can search using simple visual descriptions. Thanks to the NPU, all indexing and data processing can be done locally.
Recall quickly became the talk of the town for a variety of reasons. Some see it as a game changer, allowing people to go back to a previous activity with unparalleled ease. Others see it as a privacy risk. After all, Recall ends up creating a rather convenient database of your computer usage history and habits, supercharged with screenshots.
This culminated in a big question: Is there a way to try Recall on current hardware? While the Copilot+ PCs undoubtedly look very capable, the price tag can be a tough pill to swallow — and as of this writing, they aren’t even available yet.
At the moment, only one specific build of Windows 11 supports Recall: 26100.712, available in the Release Preview channel and downloadable from UUP Dump if you need to do a clean install. While versions of 24H2 are present in both the Dev and Canary channels, those do not include the necessary OS-level files.
There were two puzzle pieces that I needed to solve to get Recall working:
- Intercepting the hardware requirements check to declare a PC as Recall compatible
- Installing the “AI components” (Machine Learning models) Recall uses to process text and visual content found in snapshots
After tracing the hardware requirements check and figuring out which Windows component carries it out I hatched a plan: Build a custom component that pretends all requirements are in order and redirect all checks to it. Once that requirement was satisfied, a new quick action appeared in the list.
![](https://cdn.mos.cms.futurecdn.net/UQUhzkwfkWPJUAnuTBgnNS.png)
This tells us that by default Recall is disabled and the user has to go out of their way and enable it in the Settings app.
![](https://cdn.mos.cms.futurecdn.net/erPNwxbwENcZmUpbGevbMT.png)
Changing the toggle from Off to On lit up the “Open Recall” button in the flyout and let me access the main interface. Here’s where the aforementioned AI components come into play.
![](https://cdn.mos.cms.futurecdn.net/tkQuQMYT6gDkGZVaEDmioS.png)
This flow expects to dynamically download components hosted on Microsoft’s servers, however at the time of writing the files have not been published yet, resulting in an error.
![](https://cdn.mos.cms.futurecdn.net/DFcEznzwqptUjtSTc8SH2S.png)
Luckily, as part of releasing Windows 11 version 24H2 to OEMs, Microsoft published the relevant components to partner channels, which many developers have access to, although only in the Arm64 flavor at the moment. Word spread quickly among Recall’s enthusiasts and the models were soon uploaded for everyone to see.
Strangely, the official OEM package comes with no installer, just some metadata and a good few dozen files sporting cryptic filenames. Making sense of these thankfully wasn’t too daunting and after a bit of file labeling I had the models registered and installed.
![](https://cdn.mos.cms.futurecdn.net/Gjz36rthMGbkYPnUvQqwTT.png)
One more reboot, a few minutes of patience to allow the ML models to perform their first time initialization, and I was done. Recall became fully functional.
![](https://cdn.mos.cms.futurecdn.net/LZsYXsrT7nDXiJTNpVZA6T.png)
Recall’s performance is rather good even on the modest specs of my Samsung Galaxy Book2 Go 5G laptop:
- Snapdragon 7c+ Gen 3 (4x Cortex-A78 @ 2.40 GHz, 4x Cortex-A55 @ 1.50 GHz
- 3.4 GB of usable RAM
- 256 GB SSD
Snapshot creation was instant, the “Screenray” process where snapshots get processed for text and visual content took less than a second, and scrubbing through the timeline was effortless. The only time you notice a dip in performance is when you search across snapshots. Even though the snapshots are already analyzed and their data is stored in a database, it still takes a good ~6 seconds to show you results.
![](https://cdn.mos.cms.futurecdn.net/ccvv5358GrcGubRKM5zVFT.png)
So, does all this mean that the NPU requirement is a sham? No, of course not. Just because a feature is capable of working without an NPU doesn’t mean it can’t make use of one to better distribute the workload and deliver a more performant and satisfying experience. A dedicated GPU is a good analogy. Sure, you can get by with just an integrated one, but the difference once you go dedicated is definitely noticeable.
One interesting observation is that even current generation Arm64 SoCs come with NPUs – just because you can’t see one in Task Manager doesn’t mean it’s not there. To decide on how to optimally process data, the Recall experience package contains a component called NPUDetect which can tell what generation of NPU happens to be in your PC. While conducting various tests I was able to collect data for these SoCs:
- Snapdragon 7c+ Gen 3
- Snapdragon Compute Platform (8cx Gen 3, Windows Dev Kit 2023)
- Ampere Altra
All of these are detected as NPU Generation 2 SoCs and the AI workload manager succeeds in making use of them. I also ended up inadvertently testing the NPU-less path when working with virtual machines. Out of box, using Recall in an Arm64 VM is not possible. The detection process recognizes the host SoC as one with an NPU, but due to VM isolation, attempting to use it results in Recall’s background processes crashing. By patching the detection process to treat the VM as if there was no NPU I was able to get Recall working in there as well. Performance seems comparable to how bare metal Snapdragon 7c+ Gen 3 performs which is quite decent.
In case you happen to own Arm64 hardware and would like to give Recall a whirl, the tooling I created along the way is now public. You can download it from this GitHub repository. Make sure to follow the guide you see on the landing page so you don’t miss any prerequisites.
If you don’t have Arm64 hardware around but would still like to try Recall as soon as possible, there’s an emulation guide available. Keep in mind that emulating modern hardware comes at the cost of time and a lot of computing resources, as well as a bit of a learning curve as it involves some command line heavy lifting. Nonetheless, the option is there if you’d like to get your hands on some virtual Arm64 hardware first.
Once you have all the files ready, you can simply run the installer from the command prompt, watch the automagical enablement process, and voilà. One reboot later, Recall should be ready to use.
![](https://cdn.mos.cms.futurecdn.net/4ARXz2ovPzQFwZJ73MkqZR.png)
Even if you don’t plan to run Recall permanently on your main computer, this method provides a good way to learn more about this innovative but controversial feature.