Convert Windows x86 PC to Android with Foundation x86
It’s been possible to run the Android Open Source Project (AOSP) on Intel x86 processors for several years, both officially and unofficially. And while various community projects have allowed hobbyists and others to install “Android” on an old laptop or desktop computer, commercial Android x86 devices are rare. At Esper, we see significant potential for combining these two technologies in industries like retail, hospitality, restaurants, and other enterprise device settings. We built the world’s only AOSP distribution for x86 processors that allows businesses to “flip” their x86 existing devices (like point of sale, kiosk, and digital signage) from Windows to our Android-compatible solution, Foundation x86.
Foundation x86 runs “bare metal” on your end x86 systems, not as a virtual or containerized instance inside another operating system. The downsides to virtualization are numerous, but the biggest are reduced performance and lack of enterprise-level support. With Foundation x86, you get your full system performance (which often improves in the process). Esper provides the critical support, tools, and quality of service necessary to scale these systems into massive deployments — up to hundreds of thousands of devices.
What is x86?
The x86 family of computer processors dates back to the 1970s. Primarily popularized by Intel, these systems use the x86 instruction set, which can loosely be thought of as the “language” x86 processors “speak.” Android (and AOSP, by extension) was architected to support ARM architecture processors, which use the ARM instruction set (based on the RISC instruction set) — a different “language.” All modern smartphones and most other mobile devices (including Apple’s iPhone, iPad, and MacBook laptops) use ARM architecture processors.
This disparity can be seen in practice by engineers at a very low level: ARM and x86 processors both offer programming languages that allow a developer to interact directly with a device’s CPU. These are generally known as assembly languages. ARM and x86 use completely different assembly languages, and thus even fundamental code between the two is mutually unintelligible. While high-level languages were built to address some of these architectural challenges and bridge technical gaps, there remain inherent differences in how x86 and ARM processors behave.
Is Android compatible with x86 (Intel) processors?
Running Android on x86 processors would present a significant engineering challenge — if it wasn’t one that Google undertook over 10 years ago! To summarize: Android and AOSP are compatible with x86 processors, but compatibility is just one small step toward a usable, scalable device platform.
What’s the difference between ARM and x86 (on Android or AOSP)?
ARM and x86 have many technical differences, but the most critical distinction in the context of Android between the two is that Android explicitly supports almost any ARM processor available because of its massive device ecosystem. While Android remains technically x86 compatible (you can download Generic System Images for the most recent version built for x86), the market’s lack of Android x86 devices means that compatibility goes largely unleveraged.
As to what Android can and can’t do on each architecture? There aren’t many practical limitations, though capabilities may vary slightly from device to device.
Can’t I build Android for x86 using AOSP for free?
Building a version of Android that can run on an x86 processor isn’t necessarily difficult. Building a version of Android that can run on an x86 processor and remain scalable, supportable, and stable is very difficult. And while they may sound like minor problems, issues with device drivers, peripheral support, and general system behavior quirks can be the difference between a system that is usable for its intended task and one that is not — regardless of any other benefits gained from a platform flip.
Our Foundation x86 platform is a lot more than an OS distro; it’s just one piece of our larger DevOps for Devices offering at Esper.
Demo: Convert point of sale system from Windows 10 to Foundation x86 (based on AOSP)
In the video below, you’ll see Esper Foundation x86 installed on a ParTech EverServ 8300 point of sale device. The device in this demo is running Windows 10 and was launched by ParTech in 2015. It has no modifications, physical or otherwise, and is configured as it would be for use in a live retail environment.
The video is short and features a timelapse counter for a few short sections that are sped up (the entire process takes under 5 minutes in real time).
About the device
The ParTech 8300 uses a dual-core Intel Celeron 3955U processor, a modest mobile CPU designed for relatively basic computing workloads. This chip was launched in 2015. Our test system also has 4GB of RAM installed.
How does Esper convert a device from Windows to AOSP (Foundation x86)?
Going through the steps illustrated in the video, we begin converting the demo system from Windows 10 to Foundation x86 by running a small executable file as a system administrator. While this process can be achieved via external storage (or even over Ethernet!), we’ve preloaded the files necessary to complete installation directly on this system. Using external storage or network delivery could lengthen the process, depending on the speed of that storage or network conditions.
The system disk is repartitioned as the executable runs, the (free and open-source) GRUB bootloader is installed, and Windows reboots. On the next boot, the device asks which OS to boot and can be configured (as in this example) to do so totally hands-free — no user interaction is necessary during this process.
Foundation x86 is then installed on the disk drive our executable repartitioned, and the system reboots again — but this time, it boots into Foundation x86 instead of Windows. That’s it! The old Windows installation is even preserved (unless you’d like it removed), should you desire to keep it as a failsafe or for data retention purposes.
The distribution of Foundation x86 we are demonstrating on this ParTech system is based on Android 9 (we also have builds based on Android 11). Esper even provides security patch backporting for Foundation x86 beyond Google’s typical Android support window.
How do I get Esper Foundation x86 for my x86 devices?
Foundation x86 is only available to Esper customers. Whether you want to convert an existing Windows fleet, or if you’re going to run AOSP Android out of the box on a new or custom x86 device, we can work with you to tailor a solution for your particular needs.
Esper does not distribute images or ISOs of Foundation freely, as it is proprietary commercial software designed for use by enterprises, governments, and other organizations. To help you leverage Foundation x86 effectively, the Esper team will work with you directly to assist in architecting your deployment. Customizations unique to an individual fleet or deployment are common, but at Esper, we thrive on a new challenge — we invite you to bring us one.
What x86 devices does Foundation x86 support?
Esper doesn’t maintain a specific list of supported Foundation x86 targets. Even differences between SKUs of the same device model could introduce new challenges or complexity (such as a peripheral device). But in general, the exceptional stability of the x86 instruction set and ecosystem makes almost any modern x86 device a potential target for Foundation x86. And we mean “modern” in a very liberal sense — most Intel processors built in the last 15 to 20 years are capable of running Foundation x86.
Why choose Foundation x86 instead of GMS Android, Windows, or Linux?
An x86-compatible AOSP solution likely isn’t something your organization has roadmapped, as Esper builds the only such platform. But, you still probably have questions about how it compares, whether to use Android with Google Services (GMS), Windows, or Linux.
GMS Android is not generally built for x86 devices, as demand for these devices in the consumer market is effectively zero. As a result, there is very little in the way of explicit silicon vendor and OEM support for x86 Android hardware platforms. You’ll likely be going it alone and will probably face issues with your implementation that have little in the way of existing resources to address. Add on top of this the time you’ll need to take to become certified to distribute GMS Android (i.e., with the Google Play Store and Google Play Services), and GMS Android for x86 is a challenging path. Want to learn more about GMS vs. AOSP Android? We have a great explainer here.
Windows remains the dominant x86 device platform globally, but as business needs change and digital transformation moves forward, many orgs are evaluating whether to replace systems reaching their Windows software EOL (End Of Life). For example, Windows Embedded Industry and Windows POSReady are no longer supported or receiving platform security updates. Windows 10 IoT Enterprise will reach EOL in 2025.
Meanwhile, Linux presents a compelling alternative for its flexibility, but raises even more challenges than building your own Android or AOSP build. Drivers, UI frameworks, peripherals, and wireless connectivity are simply not givens on Linux, and architecting your own “best fit” solution can require substantial resources and specialized expertise. You can read more about these challenges here.
Foundation x86 allows you to focus on what matters: Building an always-updateable, always-reachable, and always-on device experience.
If you have questions about Esper Foundation x86, reach out to us today and schedule a demo.