macOS

From PCGamingWiki, the wiki about fixing PC games
macOS
macOS cover
Developers
Apple Inc.
Release dates
Mac OS (Classic) January 24, 1984
macOS (OS X) March 24, 2001
MacOS at Wikipedia
See our sister wiki, AppleGamingWiki, for detailed information about gaming on Apple Silicon Macs including compatibility lists and workarounds.

macOS is a family of operating systems developed by Apple and exclusively available to Apple's own family of personal computers known as Macintosh (or Mac for short). Although there are ways "regular" computers can run modern versions of the operating system (know as "Hackintoshing") it is unpopular due hostility from Apple and being notoriously inconsistent in its results.

The family is separated into two distinct series:

  • The Classic Mac OS (System Software) series that consists of operating systems released between 1984 to 2001, starting with System 1 and ending with Mac OS 9.
  • The modern macOS (previously Mac OS X and later OS X) series that consists of operating systems released between 2001 and today, starting with the release of Mac OS X 10.0 and continuing with a new 10.x release every couple of years. Instead of being based on the "Classic" Mac OS, the series is developed from NeXTSTEP, a "flavor" of UNIX. This series of the operating system is also the basis for iOS as well as its other siblings in Apple's product lineup.

The original Macintosh was released in January 1984, pioneering the graphical user interface (GUI). Prior to its release, Apple had three series of conventionally command-line driven microcomputers known as the Apple I, ][ and ///. These systems were not fully compatible with the Macintosh and should not be mistaken with it. Apple additionally had another graphically driven platform prior to and directly ancestral to the Macintosh called the LISA; again also not compatible.

The family of operating systems are one of few platforms to have survived moves to new processor architectures, with a move from Motorola's 68k to IBM/Motorola's PowerPC in the 1990s, followed by a move to Intel in the 2000s, and a move to ARM during the 2020s.

Newer versions of the operating system have not updated their OpenGL support beyond 4.1 from 2010, and with the release of macOS 10.14 in 2018 Apple officially deprecated support for the standard in favor of their own Metal API.[1] This move resulted in a severe lack of recently released major games on the operating system, and broke features from newer APIs.

Vulkan graphics API support was never added either, however there is a wrapper available for application developers, MoltenVK, available to translate some Vulkan calls into Apple's Metal API, easing ports from other platforms.

General information

Terminology for macOS differs heavily compared to standard wintel PCs, e.g. Wi-fi is "Airport", V-Sync is "Beam Sync", memory compression is "Extended Memory", etc.
An open source clone of Apple's Cocoa API for other platforms is available in the form of GNUStep. Note however that unlike Wine, apps still must be recompiled for the other OSes due to GNUStep not emulating the Mach-O binary format OS X uses.
macOS' UNIX derived kernel, XNU/Darwin, is open source along with several core technologies of the OS.

Communities

/r/macgaming
/r/mac

"Classic" Mac OS

The "classic" Mac OS is characterised by its lack of the command line, and encompasses the different Mac OS' from 1984 to 2001. It lacks preemptive multitasking and protected memory and is composed largely of 68k assembly code.

Emulation

Due to its peculiar architecture, in order to run apps from the old "Classic" System you need an emulator. You can effectively think of the following as the Macintosh equivalent to DOSBox. The three most popular Mac emulators are: Sheep Shaver, Basilisk, and vMac. To categorize them in the simplest way possible, Mini vMac is mainly for black and white 16/24-bit 68000 based Macs, Basilisk is for color 32-bit (020, 030 & 040) 68k Macs, and Sheep Shaver is for PowerPC Macs running pre-OS X software.

Unlike DOSBox, these 3rd-party Mac emulators require official Apple Mac Operating Systems and firmware/boot ROMs. Unfortunately, these are illegal to distribute (with exception to System 7.5.1 to 7.5.5 which was released as freeware and Mac ROMs found in official classic updates Apple made available online).
They do not emulate hardware 3D acceleration, nor the MMU (and, in Sheep Shaver's case without software, FPU).

Classic

PowerPC Mac systems only. (G3, G4, G5)
Will not run in Mac OS X Leopard.
Can be run on Macs that can not physically boot Mac OS 9.
RAVE/OpenGL HLE translation can be spotty, Mac OS 9-supported video hardware is recommended. GLIDE requires OpenGLIDE wrapper.

Mac OS X versions up to 10.4 Tiger included Classic, a side-by-side system where Mac OS 9 applications could run in Mac OS X.

A Mac OS 9.1 System Folder is required to run Classic, though 9.2.1 or 9.2.2 may be needed on some Macs that do not natively boot OS 9.

macOS

Previously Mac OS X and later OS X.
Since the release of 10.15, also known as "Catalina" in October 2019; the only programs that function are ones that are coded for 64-bit Intel (or after 2020, ARM) processors. Many earlier apps prior to circa 2012 are affected. So far, your only hope to get these older apps work is to either wait for the software publisher to update the app for supporting 64-bit or ARM processors; or install an earlier version of the OS (10.14, aka "Mojave" and earlier) that supports 32-bit apps - which is not possible on newer Macs released after 10.15's release. Aside from unsupported "hackintosh" emulation, Apple-sanctioned hypervisors (Fusion, Parallels, etc.) offer experimental support for 3D acceleration for guests as old as macOS 11.
ARM-based Macs may not support 64-bit Intel apps beyond a certain version.

Useful programs

Wine

Wine is one of the easiest and most popular way for Linux users to run programs written for Microsoft Windows. The Wine team has created a port for OS X that is well maintained and in a usable state.

Crossover

Can run 32-bit Windows programs, including games, on 64-bit only macOS versions (e.g. 10.15 Catalina and 11 Big Sur) since version 19.
Runs on Apple Silicon via the Rosetta 2 emulator.
Includes DXVK, allowing DirectX 11 games to run.
Paid commercial software; must be purchased after a trial period.

A commercial version of Wine which includes custom scripts, patches, GUI and third-party software.

Mouse fixes

Mouse Acceleration Preference Pane allows you to adjust, or disable, mouse acceleration in macOS; something that's not normally tweakable.

Additionally macOS once had a bug that induced mouse lag, going as far back as 10.4 (Tiger). For the longest time the solution was to remove or disable Apple's AppleUpstreamUserClient.kext via the terminal,[2][3][4] i.e.

cd /System/Library/Extensions/ && sudo mv AppleUpstreamUserClient.kext AppleUpstreamUserClient.kext.old

A slightly more solid fix is available in the form of SmoothMouse. Note that it requires 10.8 (Mt. Lion) or later to function, though some earlier betas for 10.6 were available. OS X 10.12 (Sierra) and later do not have mouse lag issues.

Similar programs existed for the Classic Mac OS as well.

Boot Camp

Boot Camp is an official piece of software and Windows drivers included with macOS that assists users in installing and running Microsoft Windows in a partition on the hard drive. The most recent version only includes support for Windows 10, though earlier releases supported XP through 8.1.

Only works on Intel-based systems. Apple Silicon systems have the Boot Camp Assistant present, however running it will present an error.

The Shell

The Unix shells "bash" and "zsh" (the former being the default on every release until 10.14 ("Mojave"), the latter being the default since 10.15 ("Catalina"); though both are available as options) available on macOS are very useful tools for doing system tasks. If you use macOS as your main operating system, then it is highly recommended that you learn how to use them. Google Code University provides a good starting guide.

Rosetta

Rosetta is a software emulator for Intel Macs that enables them to run older (OS X native) PowerPC apps. This can be useful for running games that didn't receive a Universal Binary update post-2006, such as the Mac OS X release of Fallout.

Removed in OS X 10.7 "Lion" and later.
Only emulates G3 and most G4 instructions. PowerPC 64-bit and 32-bit G5 applications are not supported.

Rosetta 2

Rosetta 2 is a software emulator for Apple Silicon/ARM-based Macs that enables them to run Intel apps.

High level of compatibility and speed.
The Is Apple silicon ready? website features user-submitted reports that can be used for determining compatibility of specific apps.
64-bit only, 32-bit software will does not work.
Some software may have issues or not run at all (e.g. virtualization tools like VirtualBox and VMware).
There is no guarantee the emulator will remain available after the Intel-Apple Silicon transition is complete.

Classic Environment

Similar to Microsoft's NTVDM for DOS apps, the classic environment was a compatibility layer for OS X that allowed it to run classic apps at roughly native speeds. Note that the Classic environment is based entirely on PowerPC (and/or 68k) code, it DOES NOT FUNCTION on Intel Macs.

Removed in 10.5 "Leopard" (PowerPC).
Apps that require direct hardware access crash under Classic.
Some applications that draw on the screen are glitched starting in 10.3 "Panther" due to the Classic Environment switching to a double-buffered window.

Other configurations

File systems

On clean reinstalls of macOS ≥10.14, there are 10 options for which file system to format the OS partition with.[5] Some games and launchers are known to be unable to run on Case-sensitive file systems.[6][7]

macOS Big Sur claims the user account doesn't have permissions to open an app

Example of an affected game: Mari0

Run chmod to assign app permissions at deep levels[8][9]
  1. Open the Terminal system app.
  2. Navigate with cd to the folder that the app is in, e.g. cd /Applications.
  3. Run sudo chmod -R 777 <The game's filename>.app.
  4. Now the app can run after it has then been allowlisted in macOS' security settings.

References