Brave now offers a fully native version for ARM64 Windows. When you newly install Brave on your ARM64 device, then you get an even faster browser. Read on to learn more, or skip to the end to find out how to get the new version.
What is ARM64, and why is it important?
ARM64 is a newer type of CPU, developed for speed and efficiency. Every computer has a processor (or “CPU”) that acts a little like a brain. Processors can be made in different architectures that essentially govern at a low level how the CPU works. Typical architectures are the 32-bit x86 architecture and the more recent 64-bit x64 architecture.
You can only run programs on your computer that are compatible with your CPU architecture. For example, you cannot run a program made for x64 on an x86 processor.
Software companies get around this by offering multiple versions of their programs. So you can, for example, download an x86 version of Brave if you are on an x86 CPU, and an x64 version if your computer’s processor has the x64 architecture.
Nowadays, most Windows computers have an x64 CPU. But recently, another architecture has entered the mainstream through products such as Microsoft’s Surface laptops. This architecture is called ARM64 and it offers better power efficiency and performance.
ARM64 and Brave
Newer CPU architectures are usually able to run programs with an older architecture. For example, an x64 CPU can run an x86 program. Likewise, ARM64 CPUs can run x64 and x86 programs. But there is a significant performance overhead. In the example of Brave, you could run x64 Brave on an ARM64 computer. But it would be slower than it should be. We therefore spent considerable effort last year to offer an ARM64 version of Brave for Windows.
So what’s necessary to get an ARM64 version of Brave? To create Brave, we write code in programming languages such as C++. The programming language is readable as text by us humans. But CPUs operate in their own machine language. In order for the CPU to be able to run our code, it needs to be translated to machine code with a program called a compiler. We can tell the compiler the architecture of the CPU we want to target. So, mostly, we could take our existing C++ code and tell the compiler to produce machine code for the ARM64 architecture.
On-demand updates and universal installers
Given how complex Brave is, there were of course also parts where this process didn’t work quite so seamlessly. The first problem we encountered was the following: When you type brave://settings/help into Brave’s address bar, you get a page that shows Brave’s version. Crucially, this page also checks for a new version of Brave with a little spinning animation. This feature showed an error in x64 Brave on ARM64 Windows. After extensive research, we realized that this is caused by a fundamental limitation in the Windows operating system itself.
To work around the problem, we introduced a universal installer which ensures that our users do not accidentally install x64 Brave on ARM64 Windows. Instead, they always receive a copy of Brave with the correct architecture for their system. What does this look like? When you go to brave.com and download its installer, then you get a 1 MB .exe file. When you run it, it downloads the latest version of Brave for your CPU architecture from our servers. This ensures that you don’t get the error described above.
DRM protected content and Widevine
The second main technical hurdle was caused by an optional and downloadable component of the browser called Widevine. Web sites such as Netflix use this component to protect their content. If you do not have the Widevine component installed, then Netflix (and similar sites) may only serve you low-quality videos, if anything at all.
Widevine is proprietary technology and its licensing terms do not allow us to redistribute it. This means that we can’t just create an ARM64 version of Widevine and include it in Brave. But an ARM64 version of the component can be downloaded from public Google servers. So we do the following: The first time you visit a web site that requires Widevine, we ask you if you agree to downloading and installing the component:
If you agree, then Brave downloads and installs Widevine from Google’s public servers. While Brave already worked this way for other architectures, it required a lot of extra work for ARM64. If you are interested in the technical details, you can take a look at pull-request #18695 on the brave/brave-core repo.
This sounds great. How do I get ARM64 Brave?
You need Windows 11 and an ARM64 CPU. To check if your CPU is ARM64, follow the instructions in the How to check if processor is ARM64 or x64 (64-bit) on Windows 11 article on pureinfotech.com. If you have an ARM64 CPU, but installed Brave before December of last year, then you need to first uninstall this old copy of Brave to get the newer ARM64 build. When the uninstaller prompts you for confirmation, be sure not to select the check box that says “Also delete your browsing data?”. Once you’ve uninstalled the x64 build of Brave from your ARM64 CPU, go to brave.com, click on the Download button and follow the instructions. When you then type brave://version in Brave’s address bar, you should see “arm64” mentioned on the page.
Summary
More and more new Windows computers have ARM64 CPUs. In order for Brave to be as fast as possible, it needs to be optimized for this architecture. We completed this technical work last year. There were some technical challenges on the way, but we were able to overcome them. You can now install ARM64 Brave on Windows 11 by visiting brave.com!
About the author
Michael Herrmann is the founder of Omaha Consulting, a software development agency that has been providing services to Brave since 2019. You can find more information about him on his personal website, https://herrmann.io.
Brave Research introduces Boomerang, a privacy-preserving protocol that decentralizes Brave Rewards while enabling verifiable ad interactions. Users can earn rewards anonymously through cryptographic proofs.
Brave's latest VPN update brings hundreds of new servers, city-level selection, and extended device support, offering users an unparalleled privacy and security solution directly within their browser.
Announcing native bridging support in Brave Wallet. This allows users to transfer assets from one blockchain to another with the familiar user experience of swaps.