Anonymous edits have been disabled on the wiki. If you want to contribute please login or create an account.

Difference between revisions of "MacOS"

From PCGamingWiki, the wiki about fixing PC games
m
(ARM-based Mac info.)
(6 intermediate revisions by 2 users not shown)
Line 12: Line 12:
 
'''Key points'''
 
'''Key points'''
 
{{++}} Mac OS X's UNIX derived kernel, XNU/Darwin, is open source along with several core technologies of the OS. They can be downloaded [https://opensource.apple.com here].
 
{{++}} Mac OS X's UNIX derived kernel, XNU/Darwin, is open source along with several core technologies of the OS. They can be downloaded [https://opensource.apple.com here].
{{--}} To this day, Mac OS X still uses OpenGL 4.0 from 2010 and is no longer updated in favour of Metal AP, which may have resulted in a large lack of recently released major games on this system since that time.
+
{{--}} Mac OS X still uses OpenGL 4.0 from 2010 and is no longer updated in favour of their own Metal API, which resulted in a large lack of recently released major games on this system since then.
 
{{--}} There is no official support for Vulkan API. [https://moltengl.com/moltenvk/ MoltenVK], an open-source third-party program is required.
 
{{--}} There is no official support for Vulkan API. [https://moltengl.com/moltenvk/ MoltenVK], an open-source third-party program is required.
{{--}} The Mac OS is tied specifically to Apple hardware; you must buy Macintosh hardware to use the OS. Although there are certain "regular" PCs that can run the Mac OS (know as [[:Wikipedia:OSx86|"Hackintoshing"]]) it is highly controversial due to it violating Apple's EULA and notoriously inconsistent in its results.
+
{{--}} The Mac OS is tied specifically to Apple hardware; you must buy Macintosh hardware to use the OS. Although there are certain "regular" PCs that can run the Mac OS (know as [[:Wikipedia:OSx86|"Hackintoshing"]]) it is highly controversial due to it violating Apple's EULA and notoriously inconsistent in its results; and will not work beyond a certain point of time anyway.
 
{{ii}} Terminology on the Mac differs heavily compared to standard x86 PCs, i.e. Wi-fi is "Airport", V-Sync is "Beam Sync", memory compression is "Extended Memory", etc.
 
{{ii}} Terminology on the Mac differs heavily compared to standard x86 PCs, i.e. Wi-fi is "Airport", V-Sync is "Beam Sync", memory compression is "Extended Memory", etc.
 
{{ii}} Prior to the release of the original 1984 Macintosh, Apple had three series of command-line driven terminal computers known as [https://en.wikipedia.org/wiki/Apple_I the Apple I], [https://en.wikipedia.org/wiki/Apple_II II] and [https://en.wikipedia.org/wiki/Apple_III III]. These systems were not compatible with the Macintosh and should not be mistaken with it. They additionally had another graphical driven system prior to the Macintosh called the [https://en.wikipedia.org/wiki/Apple_Lisa LISA]; again also not compatible.
 
{{ii}} Prior to the release of the original 1984 Macintosh, Apple had three series of command-line driven terminal computers known as [https://en.wikipedia.org/wiki/Apple_I the Apple I], [https://en.wikipedia.org/wiki/Apple_II II] and [https://en.wikipedia.org/wiki/Apple_III III]. These systems were not compatible with the Macintosh and should not be mistaken with it. They additionally had another graphical driven system prior to the Macintosh called the [https://en.wikipedia.org/wiki/Apple_Lisa LISA]; again also not compatible.
Line 22: Line 22:
 
{{mm}} [https://www.reddit.com/r/macgaming/ /r/macgaming]
 
{{mm}} [https://www.reddit.com/r/macgaming/ /r/macgaming]
 
{{mm}} [https://www.reddit.com/r/mac/ /r/mac]
 
{{mm}} [https://www.reddit.com/r/mac/ /r/mac]
'''Mac OS''' is a popular family of operating systems. It was one of the first systems to Pioneer the Graphical User Interface. It is also one of few platforms to have survived a move to a new processor architecture. It actually survived two; once from [https://en.wikipedia.org/wiki/Motorola_68000_series Motorola's 68k] to [https://en.wikipedia.org/wiki/PowerPC IBM's PowerPC], and again to [https://en.wikipedia.org/wiki/Apple%27s_transition_to_Intel_processors intel].
+
'''Mac OS''' is a popular family of operating systems. It was one of the first systems to Pioneer the Graphical User Interface. It is also one of few platforms to have survived a move to a new processor architecture. It actually survived three; from [https://en.wikipedia.org/wiki/Motorola_68000_series Motorola's 68k] to [https://en.wikipedia.org/wiki/PowerPC IBM's PowerPC], to [https://en.wikipedia.org/wiki/Apple%27s_transition_to_Intel_processors Intel], and then ARM.
  
 
=="Classic" Mac OS==
 
=="Classic" Mac OS==
Line 34: Line 34:
  
 
==macOS ((Mac) OS X)==
 
==macOS ((Mac) OS X)==
macOS (re-branded from "Mac OS X" in 2012 to "OS X") is the latest version of the Mac OS operating system (initially released in March 2001), and is also the basis for [[Wikipedia:IOS (Apple)|iOS]]. It is instead based on [https://en.wikipedia.org/wiki/NeXTSTEP NeXTSTEP] (which it's self is derived from [https://en.wikipedia.org/wiki/Unix UNIX]).
+
macOS (re-branded from "Mac OS X" in 2012 to "OS X", and then 2016 to its present name) is the latest version of the Mac OS operating system (initially released on March 24, 2001), and is also the basis for [[Wikipedia:IOS (Apple)|iOS]], as well as its other siblings in Apple's product lineup. It is instead based on [https://en.wikipedia.org/wiki/NeXTSTEP NeXTSTEP] (which in itself is derived from [https://en.wikipedia.org/wiki/Unix UNIX]).
 +
{{--}} Since the release of 10.15, also known as "Catalina" in October 2019; the only programs (or in this platform, apps) 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.
 +
{{--}} ARM-based Macs may not support 64-bit Intel apps beyond a certain version.
  
 
===Useful Programs===
 
===Useful Programs===
Line 40: Line 42:
 
====Wine====
 
====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.
 
[[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.
 +
 +
====[https://www.codeweavers.com/ Crossover]====
 +
{{++}} Can run 32 bit Windows programs, including games, on macOS 10.15 Catalina since version 19.<ref>[https://www.codeweavers.com/about/blogs/jwhite/2019/12/10/celebrating-the-difficult-the-release-of-crossover-19 Celebrating the difficult; the release of Crossover 19]</ref>
 +
A paid commercial version of Wine which includes custom scripts, patches, GUI and third-party software.
  
 
====Mouse fixes====
 
====Mouse fixes====
Line 45: Line 51:
 
<br>
 
<br>
 
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 <i>AppleUpstreamUserClient.kext</i> via the terminal<ref>https://discussions.apple.com/thread/5652229?tstart=0</ref> <ref>https://cindori.org/fix-for-mouse-jumping-using-certain-gpus/</ref> <ref>http://www.insanelymac.com/forum/topic/245024-mouse-lag-graphicsenableryes/</ref>, i.e. <pre>cd /System/Library/Extensions/ && sudo mv AppleUpstreamUserClient.kext AppleUpstreamUserClient.kext.old</pre> A slightly more solid fix is available in the form of [http://smoothmouse.com 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.
 
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 <i>AppleUpstreamUserClient.kext</i> via the terminal<ref>https://discussions.apple.com/thread/5652229?tstart=0</ref> <ref>https://cindori.org/fix-for-mouse-jumping-using-certain-gpus/</ref> <ref>http://www.insanelymac.com/forum/topic/245024-mouse-lag-graphicsenableryes/</ref>, i.e. <pre>cd /System/Library/Extensions/ && sudo mv AppleUpstreamUserClient.kext AppleUpstreamUserClient.kext.old</pre> A slightly more solid fix is available in the form of [http://smoothmouse.com 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====
Boot Camp is an official piece of software 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 [[Microsoft Windows#Windows 10|Windows 10]].
+
Boot Camp is an official piece of software 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 [[Microsoft Windows#Windows 10|Windows 10]], though earlier releases supported XP through 8.1.
  
 
====The Shell====
 
====The Shell====
The Unix Shell "bash" available on macOS is a very useful tool for doing system tasks. If you use OS X as your main operating system, then it is heavily recommended that you learn how to use it.
+
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.
 
[https://code.google.com/edu/tools101/linux/basics.html Google Code University] provides a good starting guide.
 
[https://code.google.com/edu/tools101/linux/basics.html Google Code University] provides a good starting guide.
  
 
====Rosetta====
 
====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 [https://en.wikipedia.org/wiki/Universal_binary Universal Binary] update post 2005, such as [[Fallout]].
+
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 [https://en.wikipedia.org/wiki/Universal_binary Universal Binary] update post-2006, such as the Mac OS X release of [[Fallout]].
 
{{--}} Removed in OS X 10.7 "Lion" and later.
 
{{--}} Removed in OS X 10.7 "Lion" and later.
 
{{--}} Only emulates [https://en.wikipedia.org/wiki/PowerPC_7xx G3] and most [https://en.wikipedia.org/wiki/PowerPC_G4 G4] instructions. PowerPC 64-bit and 32-bit [https://en.wikipedia.org/wiki/PowerPC_970 G5] applications are not supported.
 
{{--}} Only emulates [https://en.wikipedia.org/wiki/PowerPC_7xx G3] and most [https://en.wikipedia.org/wiki/PowerPC_G4 G4] instructions. PowerPC 64-bit and 32-bit [https://en.wikipedia.org/wiki/PowerPC_970 G5] applications are not supported.
 +
 +
====Rosetta 2====
 +
Rosetta 2 is a software emulator for ARM Macs that enables them to run older (macOS native) Intel apps.
 +
{{--}} May be removed at some point in the future and probably will not support all apps.
  
 
====Classic Environment====
 
====Classic Environment====
Similar to [https://en.wikipedia.org/wiki/Virtual_DOS_machine#Windows_NTVDM Microsoft's NTVDM] for DOS apps, the classic environment was a compatibly layer for OS X that allowed it to run classic apps at native speeds. Note that the Classic environment is '''NOT''' an emulator, and as the classic OS is based entirely on PowerPC (and/or 68k) code, it does not function on Intel Macs.
+
Similar to [https://en.wikipedia.org/wiki/Virtual_DOS_machine#Windows_NTVDM 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 '''NOT''' an emulator, and as the classic OS is based entirely on PowerPC (and/or 68k) code, it does not function on Intel Macs.
 
{{--}} Removed in 10.5 "Leopard" (both Intel and PowerPC).
 
{{--}} Removed in 10.5 "Leopard" (both Intel and PowerPC).
 
{{--}} Apps that require direct hardware access crash under Classic.
 
{{--}} Apps that require direct hardware access crash under Classic.

Revision as of 01:12, 23 June 2020

MacOS
MacOS cover
Developers
Apple Inc.
Release dates
Mac OS (Classic) January 24, 1984
macOS (OS X) March 24, 2001
MacOS at Wikipedia

Key points

Mac OS X's UNIX derived kernel, XNU/Darwin, is open source along with several core technologies of the OS. They can be downloaded here.
Mac OS X still uses OpenGL 4.0 from 2010 and is no longer updated in favour of their own Metal API, which resulted in a large lack of recently released major games on this system since then.
There is no official support for Vulkan API. MoltenVK, an open-source third-party program is required.
The Mac OS is tied specifically to Apple hardware; you must buy Macintosh hardware to use the OS. Although there are certain "regular" PCs that can run the Mac OS (know as "Hackintoshing") it is highly controversial due to it violating Apple's EULA and notoriously inconsistent in its results; and will not work beyond a certain point of time anyway.
Terminology on the Mac differs heavily compared to standard x86 PCs, i.e. Wi-fi is "Airport", V-Sync is "Beam Sync", memory compression is "Extended Memory", etc.
Prior to the release of the original 1984 Macintosh, Apple had three series of command-line driven terminal computers known as the Apple I, II and III. These systems were not compatible with the Macintosh and should not be mistaken with it. They additionally had another graphical driven system prior to the Macintosh called the LISA; again also not compatible.
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.

Communities

/r/macgaming
/r/mac

Mac OS is a popular family of operating systems. It was one of the first systems to Pioneer the Graphical User Interface. It is also one of few platforms to have survived a move to a new processor architecture. It actually survived three; from Motorola's 68k to IBM's PowerPC, to Intel, and then ARM.

"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 primitive multitasking and protected memory and is composed largely on 68k assembly code.

Emulation

Unfortunately due to its age, 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. Three option are available: Sheep Shaver, Basilisk, and Mini vMac. To categorize them in the simplest way possible, Mini vMac is for black and white 16/24-bit 68000 based Macs, Basilisk is for color 32-bit (020, 030 & 040) 68k Macs, Sheep Shaver is for classic PowerPC Macs.

Unlike DOSBox, these 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).
They do not emulate 3D hardware acceleration for video nor audio. They also do not emulate the MMU and, in Sheep Shaver's case, FPU.

macOS ((Mac) OS X)

macOS (re-branded from "Mac OS X" in 2012 to "OS X", and then 2016 to its present name) is the latest version of the Mac OS operating system (initially released on March 24, 2001), and is also the basis for iOS, as well as its other siblings in Apple's product lineup. It is instead based on NeXTSTEP (which in itself is derived from UNIX).

Since the release of 10.15, also known as "Catalina" in October 2019; the only programs (or in this platform, apps) 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.
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 macOS 10.15 Catalina since version 19.[1]

A paid 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 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.

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 ARM Macs that enables them to run older (macOS native) Intel apps.

May be removed at some point in the future and probably will not support all apps.

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 NOT an emulator, and as the classic OS is based entirely on PowerPC (and/or 68k) code, it does not function on Intel Macs.

Removed in 10.5 "Leopard" (both Intel and 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.


References