Articles Technologies 06-05-2025 at 14:00 comment views icon

Running Windows on iPhone: nostalgia that melts the processor

author avatar

Vladyslav Vasylenko

Author of articles and reviews

Running Windows on iPhone: nostalgia that melts the processor

Back in the day, an Apple smartphone had very little functionality. Even downloading a file through Safari was impossible. Then popular Jailbreak allowed to solve these «childish» problems. Because of this, many people dreamed of installing the familiar Windows operating system instead of the inferior iOS. Last year Apple allowed to install emulators, which resulted in the UTM SE application under the guise of a «gaming platform». Today we will look at its capabilities for running Windows and talk about the emulation itself.

What is Emulation and its types?

Emulation is the process of running one hardware platform or operating system inside another. This allows you to run applications that were created inside one hardware and software environment without the need for physical hardware or a second system. For example, running multiple versions of Windows and Linux at the same time.

Due to the large number of released architectures (ARM64, x86_64), processors (MIPS for PSP), and operating systems (Windows, Android, iOS, Debian, Ubuntu), it is necessary to be able to install and run them. There are as many as three emulation options: Full Emulation, Virtualization and API interpretation (API Emulation).

During the Full Emulation hardware architecture and OS are recreated at the software level. You guessed it right — the processor, video card, memory, audio, input/output devices, etc. are emulated. To describe this process very briefly: first, the hardware and software are emulated, and then the program code is run on their basis.

Applications that use it: DOXBox, QEMU in full emulation mode, PPSSPP, PCSX2 (Sony PlayStation 2 emulation).

There are obvious advantages and disadvantages to this approach:

  • Maximum system compatibility — running the original software in «native environment». There is little or no need to change anything in the code;
  • The ability to use any original hardware platform of the user to run someone else’s system. For example, run Sony PSP console in PPSSPP emulator on Google Android with Snapdragon/Mediateck, on Apple iOS/iPadOS/MacOS with A18 or M1 (ARM64) and Windows (x86_64);
  • By emulating the user’s main OS outside the zone, a safe place is created for potential malware to run;
  • Significantly slower performance than the original platform. It also requires a significant amount of resources and performance of the environment on which the other platform is emulated;
  • A potential problem with the compatibility of some unique things. For example, Hardware Acceleration.

To overcome the problem of low performance, developers use various «tricks». The PPSSPP uses JIT compilation (Just-In-Time) — machine code blocks intended for the PSP CPU are converted into code that understands and processes the user’s CPU. Dynamic recompilation (Dynarec/DBT) extends the capabilities of JIT by caching re-run code blocks. It is used in such emulators as Dolphin, PCSX2, and RPCS3. The former is used to run games from GameCube and Wii, and the latter two — Sony PlayStation 2 and PlayStation 3, respectively.

Most likely, you will hardly ever see full emulation nowadays, as it is better to use other emulation methods. They are more optimized and allow you not to spend a lot of time on some basic actions.

Let’s move on to Virtualization, the technology is used in well-known applications such as VirtualBox, VMware Workstation, and Parallels. This technology allows you to create virtual copies of operating systems, servers, disks, or networks on a single real device. Simply put: you can have many different configurations of different systems on one PC.

If you want to become a software developer, you will need to have several or even a dozen virtual machines.

Schematically, the principle of Virtualization looks quite simple: the user runs one specialized software called Hypervisor (Hypervisor), to create, configure, and run Virtual machines (VM, Virtual Machine). Such a «guest PC», as in the case of Full Emulation, has its own pre-allocated processor, graphics subsystem, and memory.

API interpretation complements the previous two types of emulation. It allows you to intercept calls from the API (Application Programming Interface) from one system, process them in such a way that the API of the second platform can work with it. Examples of APIs used for game development: OpenGL, DirectX, Vulcan. And for gamers on Linux or MacOS: Wine and CrossOver.

Here are the clear advantages and disadvantages of this solution:

  • There is no need to emulate the hardware. The APIs «will figure it out» themselves. Example: RPCS3 converts code from the Sony GCM API into the familiar OpenGL for PCs;
  • Significantly reduced resource consumption and allows the use of software drivers, graphics accelerators from «native machine» the user;
  • Not all APIs have their analogs. That’s why it took so long to release a PS3 emulator — the complex architecture and APIs for it (LibGCM and PSGL);
  • There is a lot of complex and manual work on the correct conversion of various APIs. Of course, you can’t do without a huge number of tests.

This method is especially necessary for SteamOS, which allows Windows games to run on Linux. For obvious reasons, such a transition cannot be quick in time: conversion, testing, debugging, and testing again. It turns out to be a kind of vicious circle. Nevertheless, the fruits of our efforts were crowned with great success — devices running SteamOS have better performance in games than those running «native» Windows. Let’s not forget about the extended battery life.

Installing and learning Windows on iPhone

As mentioned at the beginning of the article, let’s try installing Windows 7 and Windows XP. Test smartphone: iPhone 15, which has an A16 Bionic ARM processor and 6 GB of RAM. But you won’t be able to install Windows directly for obvious reasons: Apple itself doesn’t allow it, there are no original drivers, and both versions of Windows don’t support ARM processors. Therefore, you will have to emulate not only the operation of both operating systems, but also the hardware platform (Intel x86_64).

To accomplish this difficult task, we will use the UTM SE application (link to the AppStore). From description and opening the page with the OS selection we’ll see that you can emulate not only Windows (XP, 7, 10, 11), but also ArchLinux, Debian, Fedora, Kali Linux, and Ubuntu. Most of them have support for ARM64 systems.

Only no one forbids installing the x86_64 platform on AARM (Apple ARM). To begin with, let’s try installing Windows XP, as one of the most well-known operating systems. It requires little memory (for RAM or ROM) and should work well due to its age. Find Windows XP (preferably 32-bit) on the Internet (with a key) in ISO format. Then download special file with virtual system settings from the developers themselves. When choosing a disk, you need to find a preloaded OS with the conditional name «WindowsXp.iso». If you download it directly to your smartphone, you will find the file in the Downloaded folder, the contents of which you can see in the Files app.

If everything is correct, Windows XP installation will begin. At first, everything seems fine. However, over time, you begin to realize one very unpleasant thing — it takes too long. On a smartphone, the OS installation took about 2 hours! Of course, back in the day, installing Windows might have taken longer. But it’s better not to use your smartphone during this time (it will take much longer). You can’t lock your smartphone either, because iOS allocates almost no resources to running in the background while it’s locked. Turn off Display Lock or Power Save as well.

Long time no see, old friend BSOD

After installation, we have a full-fledged Windows XP on our smartphone! The clean system takes up about 2 GB of memory, which is not much. In general, using the touchscreen is as familiar as using a touchpad. The only thing that’s not comfortable is the keyboard. To connect to the Internet, you need to install all the necessary drivers for virtual adapters. So we need to turn off our new-old OS. The Internet works through Bridge, there is no NAT.

There are two ways to get all the necessary drivers: download them from the website or from within the UTM SE program. For the second option, you need to press and hold the virtual machine until an additional selection menu appears. In this menu, select Install Windows Guest Tools, and then wait for the download to complete and mount to the CD drive. If there is already something on it, you will see an error. So you need to find this disk, click Eject, and click Install Windows Guest Tools again.

Next, we turn on Windows, look for the mounted disk, and click on the single installer on the main disk. Leave the smartphone for another hour. That’s it, congratulations! Everything you need is installed. Now you can access the Internet using WiFi. For some reason, it doesn’t work over LTE.

Let’s check the connection of the mouse and keyboard to the emulated Windows XP. To do this, we’ll connect a USB hub to the iPhone 15 and insert our input devices. And yes, they do work. Only the keys on the keyboard don’t match. For example, the 4th key is Enter.

However, Windows XP has one big problem — the complete loss of support not only from Microsoft, but also from large corporations. The Internet Explorer browser is so old that it does not support the HTTPS standard. And it is very difficult to download and distribute Firefox 52.9 with its support. It’s also unknown how long it will take to install it.

Unfortunately, Windows XP is more of a reminiscence of the days of youth. There is little point in emulating it. It’s good that you can do it. However, it is much better to find spare parts and assemble a real Nostalgic PC.

Let’s move on to Windows 7. Creating a virtual machine is no different, except for the increased requirements for dedicated memory: 8 GB ROM (Windows XP) versus 20 GB (Windows 7), RAM from 512 MB to 2 GB. Next, mount the Windows disk and wait for the installation. This time was even longer — more than three and a half hours! But you also have to install the drivers from Windows Guest Tools. This took another two hours. The mouse, keyboard, and WiFi internet work.

Windows 7 is slower than Windows XP. For reasons unknown to me, the processor is almost always at 100% utilization. Increasing the RAM or the number of processors (from 1 to 4) also does not add any significant performance. There are many factors: the image, the machine is not properly configured, installing Windows updates, etc.

Interestingly, virtual «hardware» does not support Hardware Acceleration in Windows 7. While Windows XP does. Theoretically, you can install games from those years on it and try to run them. However, something tells me that any PC for less money (SteamDeck is not mentioned) will do a better job.

And what about the iPhone 15? During all the emulations, one thing became clear — the smartphone became Very hot. It was getting so hot that it could stop charging from a 5-watt power supply. The temperature protection was clearly working. So if you want to try it, don’t charge your smartphone during emulation. Charge it to 80% or 100% and unplug the charger.

On the one hand, emulation is a necessary thing for university studies, app development, or cloud computing. In the user segment, the technology is also necessary (to play games). But smartphones (especially Apple) are different from old PCs. Therefore, they are not very well adapted to each other. It is easier to have a separate cheap device than to make one «combine» All-in-One.



Spelling error report

The following text will be sent to our editors: