DB2 on Apple Silicon
Apple’s Macs have been a popular development platform for many years now, but IBM have never really committed to supporting DB2 servers on macOS it seems. There was a version of DB2 Express-c v9.7 made available some years ago, but it was lacking features and is obviously way too far out of date to consider these days. A useful solution was to run Docker containers, or full virtual machines with Linux or Windows to make DB2 available locally, but the switch to the new Apple Silicon processors, or the M1 chip, means the Mac now uses the ARM64 instruction set rather than sharing the Intel/AMD x86-64 processors common to Windows and Linux platforms – and there is no option to download a copy of DB2 that runs on this processor.
So is that the end of having DB2 installed locally? Not quite. You may have heard that Apple provides software called Rosetta 2 that can translate macOS applications intended for x86-64 processors so they can run on the new ARM64 based chips. What you may not have heard is that there is a version of Windows designed to run on ARM64 processors that can do the same for Windows applications – enabling 64bit Windows applications that are designed to run on Intel/AMD x86-64 processors to run on ARM64.
Being Mac fans here at Triton…. ok some of us here at Triton are Mac fans… we had to give it a go with DB2 – and what do you know:
Success. What you’re seeing in the screenshot is DB2 for Windows x86-64 running on a Windows 10 ARM64 virtual machine hosted by a M1 MacBook Air. Windows is doing the CPU translation magic, and Parallels is running the Windows OS in a virtual machine on the M1 macOS host.
There were a couple of minor snags on the DB2 install – the setup program checks the CPU architecture, and as Windows reports ARM it will not proceed. However, running the installer manually bypasses that check and allows Windows to apply the CPU translation. And one warning came from the installer – a failure to create a link for the DB2 First Steps app, but that can be ignored (unless you want to use the First Steps app I guess, but who does?).
It’s worth noting that I also tried this using the UTM virtualisation software instead of Parallels and that works as well, albeit the setup of Windows is a bit more involved and the experience is a bit more clunky. But UTM is available at no cost so I’m not complaining.
Obviously, this all falls in the ‘interesting technical exercise’ category as there may well be issues and there will be no support from IBM or Microsoft. For that matter Microsoft don’t sell the ARM version of Windows directly to consumers currently, you have to sign up for the Windows Insider Program and use a preview version. But if you want to try a local install of DB2 on your new M1 Mac (good as the cloud is, I find a train tunnel defeats it every time…) maybe give it a go.
Here are some links to resources used in this blog:
- Windows Insider Program: https://www.microsoft.com/en-us/software-download/windowsinsiderpreviewARM64
- Parallels: https://www.parallels.com/products/desktop/
- UTM: https://mac.getutm.app/