Tag Archives: emulation

Retro Computing: UTM SE

Last week, something unthinkable happened. Apple finally allowed emulation of any and all OS on iOS and iPadOS. The intended purpose is to emulate retro Windows based games, which matches their recent trend of approval of gaming-system emulation apps. However, for me, it restarts a long-time hobby of running retro OSes purely for nostalgia and hobby purposes. This was not possible before because I don’t have a real computer, just an iPad. The first app to take advantage of this change of heart from Apple is UTM SE.

Now, UTM SE has been available on macOS and jailbroken iOS and iPadOS for quite some time, but this is the first time the app is officially available through the App Store.

Overview

The process to configure a new VM is much like most virtualisation apps out there. You use either an existing image or create a new one, select various parameters like RAM, HDD, CPU architecture, cores etc.

Your Bluetooth mice/keyboards can be mapped to the guest OS via USB or PS/2 emulation. For older OS (Pre Windows ME) which don’t have out of-box support for USB peripherals, you need to disable USB support for Mouse/Keyboard so that they are emulated as PS/2. Even touch gestures can be used in lieu of a mouse, although the experience is clunky.

UTM SE: Switch between USB or PS/2 for mouse and keyboard
UTM SE: Switch between USB or PS/2 for mouse and keyboard

Another useful feature is that you can map a folder on your iOS/iPadOS filesystem to the guest machine allowing you to transfer files easily.

UTM SE: Select Shared Directory
Select Shared Directory

Also, you can choose to include your VMs in your iCloud backups.

The Bad

Instead of proper virtualisation that is possible on other computing platforms, UTM on iOS and iPadOS uses software emulation, making it very-very slow. Apparently iOS and iPadOS had virtualisation support (only with jailbreak) previously, but they removed it a few years ago.

The other limitation is, iOS and iPadOS don’t allow JIT compilation for apps from the App Store which negatively affects performance further.

For me, the performance is roughly similar to my first Celeron 400Mhz computer. Which, when compared to the 4×3.49Ghz high-performance cores on the Apple M2 means there is an approx 35x performance penalty for emulation. No wonder the “SE’ in UTM stands for “Slow Edition”.

Also, switching to another app causes UTM to suspend the VM after a few minutes. None of this is UTM’s fault, but needless restrictions from Apple to stop iPads from cannibalising Mac sales.

Also, the iPad screen locks after inactivity, which I think is on UTM, because apps (especially games) have been able to keep the screen unlocked through inactivity.

But the good thing is, you can resume from where you left off. Also, you can run multiple windows of UTM itself, even with multiple windows mapping to multiple monitors on the guest.

Battery usage is also extremely high because of the inefficiencies.

Look forward to many (many) posts on this topic.

Die Intel!

My first PC came with an Intel Celeron 400 processor. Back then, I had no idea what I was getting; I was not aware of various PC parts & technologies. All I knew was that a friend of mine had a Pentium III computer and it was better than mine.

Dominance/Monopoly of Intel

Slowly, as I started to explore the world of PCs (with help from Chip and Digit magazines), I became aware of various components inside PCs and different technologies & brands. The market leader for computer processors even back then was Intel. AMD, Via and Cyrix were alternative brands. Over time, I began to hate Intel. I started looking at Intel as a company which made technically good but overpriced processors & indulged in false/misleading advertising.

Intel is Evil
Evil Inside, PC: LogoDix

AMD processors always fascinated me. When the Athlon series launched, I read about its performance with awe. However, AMD, VIA or Cyrix processors were very rarely seen in the real world, outside reviews. Cyrix & Via soon died completely and AMD remained elusive, plagued by overheating issues and solely in the realm of gamers & enthusiasts. When I did my first major PC upgrade, I had to get a Pentium IV because no one would assemble an AMD for me.

In the laptop space, AMD was even rarer. In fact, the first time I saw an AMD laptop was during my college days when Nihit (technically his girlfriend) bought a laptop with an AMD Turion processor.

I remember inheriting a Compaq laptop (which I still have today) from my father and it had an Intel Core 2 Duo processor. When Windows Vista came out, Intel released a beta WDDM driver for the GPU on this laptop, but later discontinued it. Consequently, the laptop couldn’t use Vista’s Aero Glass effect for themes even though the hardware was compatible. My hatred intensified and I swore never to use Intel again.

In 2000, Intel was forced to abandon its IA-64 platform for 64-bit computing and forced to license AMD’s AMD64 technology. They called it x86-64 and had to pay licensing fee to AMD for every processor sold.

My First AMD

In 2006, briefly, for the first time, Intel and AMD both had nearly equal market shares for Desktop CPU shipments. AMD would maintain the neck-neck competition till date, Intel was no more a monopoly. In fact, in 2021, AMD is arguably ahead of Intel.

When I moved to Gurgaon, I decided to assemble a new gaming PC myself, from scratch. I got the AMD FX 6300 and a Radeon GPU, shunning Intel completely. It cost me half of what an equivalent Intel platform would have cost and performed better. There were no heat issues to speak of.

Eventually I bought an Xbox and sold my gaming PC, never to buy a PC again.

Last Tryst with Intel – Surface Pro 3

I was re-introduced to the world of Intel, when my fiend gifted me a Surface Pro 3. To me, the Surface Pro 3 showcased the very worst of Intel. The external hardware, touch screen, keyboard and OS were all amazing. It was the Intel innards which sucked balls.

The Core i7 processor always ran hot, no matter how light the workload. Consequently the fan was always whirring loudly. It was so loud, you couldn’t sleep in the same room with the Surface if it was doing something. Still, the fan was not enough to efficiently cool the Surface and the CPU was throttled <50% most of the time. I had to install an external USB fan to keep it cool; which was ridiculous.

On top of that, it had issues with Sleep which remained unresolved even after many firmware updates over many years. You closed the Surface and put it in your bag expecting it to sleep. It, however kept on running at full throttle and when you got it out to use it later, you saw that the battery was dead. Microsoft blamed Intel drivers and they twiddled their thumbs, as usual.

Eventually, I sold it and got myself an iPad.

ARM and Apple M1

For those who haven’t been keeping track, Apple transitioned their MacBooks from Intel CPUs to in-house ARM based processors in 2020. We (technically, my wife) bought a MacBook with an M1 chip. After using sluggish/hot/battery sucking laptops over the years, the MacBook blew my mind away.

It is as snappy as an iPad, the battery lasts all day (My wife uses it 8-9 hours off the charger) and there’s no fan and no heat to speak of. On top of all this, existing apps made for x86 work flawlessly and with minimum performance penalty. On the other hand, my work laptop (Intel Core i5) doesn’t last more than 2 hours off the charger and any computational effort make its fans sound like a jet plane.

I would not be wrong to say that the M1 is a generational leap ahead in computing from the old/shitty X86 laptops.

The Future

All mobile phones already used ARM processors. Same for all embedded devices and IOT devices. Apple would probably transition their Macs to ARM completely within the next few years. Many custom-made servers operated by the likes of Facebook/Amazon/Google use ARM already, too. In fact, the current world’s most powerful supercomputer also runs on ARM.

Once Microsoft get their x86-64 on ARM emulation to work properly, we should see a significant chunk of Windows ultraportables and laptops move to ARM. I hope AMD embraces the ARM architecture soon, too.

That being said, x86-64 isn’t going away anytime soon. Gaming PCs, Enterprise workstations, legacy applications requiring native x86-64 and most servers would continue to be x86-64 based for the foreseeable future and Intel would probably continue to dominate this space. I just hope they are reduced to shells of their former selves soon and then eventually die.