-
-
Notifications
You must be signed in to change notification settings - Fork 55
Apple Silicon macOS Prerequisites
For a long-time Windows/Linux enthusiast, Apple software ecosystem had always been remote and distant, to a certain extent "Who Cares?!"🤣 The urge for concept proving that qemu-3dfx remains portable beyond the typical Intel/AMD x86 CPUs and the emergence of Apple Silicon as the World's Highest Performance ARM AArch64 CPU ignited the dive into Apple Silicon macOS. However, QEMU binary package was not available to Apple Silicon macOS as the platform of choice due to hardened runtime and mandatory code signing. Anyway, my sincere appreciation remains for ALL who had supported & donated to the project, those in particular, without even exercising donor's privilege.
In this cordial and delightful moment, QEMU binary package for Apple Silicon is available to users of Apple Silicon macOS. No one will be told to do STUPID THINGS such as disabling GateKeeper in jeopardizing Apple macOS System Integrity Protection to get something working. QEMU binary package will be built and delivered for Apple Silicon macOS as the platform of choice with a small donation to support the project and Game Preservation for those cannot afford the time & determination in the Journey of FOSS. The strike of [⚡FORCE Lightning⚡] is deeply regretted.
For QEMU binary package to work properly on Apple Silicon macOS, the system MUST meet the following prerequisites & configuration
$ which X
/opt/X11/bin/X
$ brew --prefix
/opt/homebrew
- Install the bottles from brew
$ brew install capstone glib gettext gnutls libepoxy libgcrypt libslirp jpeg-turbo lz4 opus sdl2 zstd
For package bundled with DOSBox SVN Games essentials, install additional bottles from brew
$ brew install sdl_sound sdl12-compat sdl_net mt32emu
- Verify Apple Command Line Tools for Xcode. Example from
macOS Monterey 12.5.1
, exactversion
may differ in future.
$ clang --version
Apple clang version 13.1.6 (clang-1316.0.21.2.5)
Target: arm64-apple-darwin21.5.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
Install by untar QEMU binary package, 'sudo'
may be required. Exact version
and commit id
may differ in future.
$ sudo tar xf qemu-7.1.0-3dfx-dae79bb-darwin-arm64.tar.zst -C /
$ cd `brew --prefix`/sign
$ bash ./qemu.sign
Verify the installed & signed QEMU
$ qemu-system-i386 --version
The software libraries in QEMU VM Addons (since commit 5112b64
) are optimized for modern x86 SIMD instruction sets through vectorizing code generation compilers options '-march=x86-64-v2 -mtune=generic'
. There is no reason not to take advantages of such capabilities. For Intel/AMD CPUs with KVM/WHPX acceleration, the 'x86-64-v2'
architecture level is given for any CPUs in the last 7 years. Apple Silicon does not support x86 virtualization and QEMU TCG default CPU options is good up to SSE2. The following CPU invocation option is required for QEMU TCG to enable 'x86-64-v2'
architecture level for CPU emulation.
$ qemu-system-i386 -cpu max ...
I felt SORRY for those with collection of OSX/macOS native Games. Apparently, Apple deprecation policy mandated that everyone stopped living in the past with Good Old Games and looked at the bright side of flourishing modern Games in iTune/AppStore. Apple Silicon is poised to eventually unite iOS and macOS as "One-Apple Platform" for Games. THAT IS THE FUTURE!! Fortunately with the tremendous performance offered by Apple Silicon despite lacking support for x86 virtualization, many PowerPC macOS ports of the same Windows PC Games are indeed playable on Apple Silicon through QEMU with 3D graphics acceleration. Notable examples are Core Design Tomb Raider (I, II, III, IV, V) series from the late 90's, Unreal Tournament GOTY, Diablo II, Shogo Mobile Armor Division, Homeworld and almost all Games based on Quake idTech1/2/3 engine and many more are playable with Windows 98 SE VM on Apple Silicon macOS. This is the results of Game Preservation from qemu-3dfx with Peace-of-Mind VM Isolation, "Pristine Condition" in Retail Originality and Playability Beyond Windows OS and x86 PCs.