Gruber back on his BS

    If Apple says they support California’s SB 244, it probably just means they actually support it. - John Gruber, Daringfireball

    I've fallen out of reading Daringfireball daily (hence the delayed hot take), or even weekly when for years it was a must reads and I think these sort of defensive takes are probably why. When I penned my first line on my personal blog, I think I was trying to immitate Gruber's wit and quippiness. I even have a daringfireball shirt.

    That said, my desire to hear a defense of Apple corrolates directly to Apple's more and more egregious clownery when it comes to the right to repair. These days I'm more Louis Rossman than John Gruber, for better or worse.

    Also, I need to post more....


    Getting XEMU to work on macOS (Intel / Apple Silicon Xbox emulation)

    XEMU on macOS

    Getting XEMU on macOS running isn't super difficult but running games is as direct ripped Xbox ISOs will not work with XEMU. I've updated this guide with an Xemu video tutorial that dives deeper into Xbox emulation. I recommend using it in tandem with this guide. Terminal savvy users probably can follow the written guide but I'd recommend checking out the video if you encounter issues as there's a few quirks with the emulator.

    • Homebrew - (it is possible to do it without Homebrew but for sanity's sake I will be using it
    • Git. There are multiple ways to install git but I'd recommend using xcode-select --install
    • The XEMU emulator
    • System Support files
    • extract-xiso to make converted ISOs

    First, you need to download XEMU. It's updated frequently. Grab it from the official website here. It's a universal binary, so it runs natively on both Apple Silicon and Intel Macs.

    After you need a few files, these are, legally speaking, the parts of the emulator that are copyrighted. I stumbled across them on Reddit. I own an Xbox, so I'll just say I extracted them myself. Please do not ask me about where to get these files or games.. I'll ignore your request.

    The files are:

    • Flash (Bios) - Complex_4627v1.03.bin
    • MCPX Boot Rom File - mcpx_1.0.bin
    • Hard disk Image File - xbox_hdd.qcow2

    And the EEPROM, which will be created automatically. Leave the RAM at 64 MB.

    You'll have to go to settings and manually assign each of these files; I found that placing them in the same directory as the emulator is recommended for whatever reason. It got confused when I didn't. Also, be sure to quit, as you'll need to reboot the emulator for the changes to take.

    Next, it's running games. Games are generally in the ISO format. It's up to you to determine how your ethics work on this and please do not ask me for ISOs. There are places where people back up the games they own, like Archive.org.

    This is where Xbox emulation gets tricky. You cannot just play ISOs. You first need to repack them into an ISO format that XEMU will understand.

    For that, we have extract-iso, a command-line utility that is used to convert ISOs into playable ISOs.

    First, we need to download, cmake so we can compile extract-xiso to run on our Mac. You'll need Git and Homebrew installed for this to work.

    Open up a terminal window and do the following:

    Step 1: Dependencies

    Run the following, update brew and then install cmake, a utility to create the necessary files to build/compile the application.

    brew update
    brew install cmake

    Step 2: Clone The Repo

    From the terminal, you'll want to navigate or create a directory where you'd like XEMU to live, as by default, the terminal will open up into the ~/ (your user directory.)

    git clone https://github.com/XboxDev/extract-xiso.git

    Step 3: Go into the directory

    Now we enter the directory where extract-xiso was cloned to.

    cd extract-xiso

    Step 4: Create a build directory

    Next we need to create a build folder for camke as per the instructions for extract-xiso and run the cmake/make commands from the this directory.

    mkdir build
    cd build

    Step 5 Building the app

    Next, we're going to run cmake and after it completes and creates the makefiles, run make.

    cmake ..
    make

    Now we're ready to prep Xbox ISOs

    Using extract-xiso

    From the build folder, we can run the CLI utility.

    The utility has the ability to unpack Xbox ISOs and repack them into usable ISOs for XEMU.

    There are two ways to about converting the ISOs. The easier method, which I had mixed success with, is to use:

    ./extract-xiso -r path/to/.iso

    This will convert the ISO into the correct format. It'll rename the original iso to .iso.old and place in the build folder the converted ISO.

    The other is a two-step process.

    Step 1: extract the game contents

    ./extract-xiso -x /path/to/iso

    Step 2: repack the game contents

    ./extract-xiso -c /path/to/extracted-files

    A few tips:

    XEMU is a fickle beast; quitting it and reopening it after changing settings is best. If you try an ISO that does not work, you must quit and reopen the app with a working ISO. Don't expect perfect emulation, as Xemu is still actively being developed. I found NBA Street Vol. 2 playable, but there are annoying crackles in the audio.

    XEMU running NBA Street Vol 2

    Other Emulation Articles I've written


    Apple's secret OS and the Secure Enclave Processor


    Did you know Apple Silicon Macs run more than one operating system at once in order to function.... and this secretive secondary operating system is why you can't upgrade your SSDs on Apple Silicon Macs? But that's not the whole story.

    Apple silicon macs and also T2-equipped Macs, iPhones, iPads, and even the Apple watch use a dedicated hardware component known as the secure enclave, and it's more than just marketing.

    The secure enclave is a separate processor explicitly designed to handle sensitive operations related to security and privacy.

    One of the main operations for the secure enclave is to generate and store encryption keys and biometric data like Touch ID, and it needs to protect this data from various attacks like physical tampering and side-channel attacks. In order to do this, it needs it has its own memory and storage and needs to be isolated from the rest of the system.

    To do this all, it also needs its own stripped-down operating system, known as Secure Enclave OS or SEPOS, and can only be accessed by the computer via a few protected APIs.

    When a user's password is set up on an Apple Silicon Mac, the password is passed through a one-way hashing algorithm that produces a key used to encrypt the Secure enclave's key. This means that even if someone has access to the password, they cannot access the encryption keys stored in the Secure enclave without the Secure enclave's cooperation.

    This is important. This means any encrypted data must pass through the Secure enclave. The operating system and user never get to see this encryption key and can only use APIs to interact with the Secure Enclave.

    It also uses a unique identifier, a Root Cryptographic Key, called the Secure Enclave ID, which is used to identify the device. This is fused to the secure enclave during manufacturing without even Apple's ability to access it. This ensures that the encryption keys stored in the Secure enclave can only be used on the device they were generated on.

    So if you stole the physical NAND memory modules out of a MacBook and even had the encryption keys, It would not work because you would still need to match the encryption key to the Secure Enclave ID.

    It also helps thwart DMA attacks, where an attacker uses a device with direct memory access, like a Thunderbolt device. A Thunderbolt device uses a PCIe interconnect, and one of the main selling points of PCIe is direct memory access. macOS encrypts its memory and uses an I/O processor that manages communication between the main processor and Secure the Enclave. The memory needs to be encrypted and decrypted, and any device trying to attack memory will only get encrypted data. Apple refers to this as the Memory Protection Engine.

    Handling these tasks is SEPOS. The SEPOS is designed to be resistant to attacks, including physical tampering, and it has been certified under the Common Criteria security standard. It's based on the L4 Microkernel, which is popular for a secure embedded system as it has a minimal set of services and uses a highly privileged mode that is isolated from user-level code. This starts to get abstract, but the point is that there's a well-defined interface, and the kernel is small and focused. Thus, it is easy to analyze and verify by security analysts and has a design that allows for specialized isolated subsystems. Apple took this operating system and modified it for use in the secure enclave.

    This isn't everything that the secure enclave does, as it does quite a bit, like true random number generation, Secure Neural Engine, AES Engine, Secure Enclave Boot ROM, Secure Enclave Boot Monitor, and so on. I really suggest reading the Apple document on this. It's what I used to make this video.

    The end result is if you buy a used Apple Silicon Mac, and the user doesn't provide the firmware password, then there's no way for you to reset it.

    SSDs and the Secure Enclave

    SSDs generally consist of a controller, NAND memory modules, DRAM cache (found on quality SSDs), and an interface.

    Apple's Secure Enclave is tightly integrated for Apple, and the SSD controller itself resides within Apple Silicon. As we previously discussed, the secure enclave generates a hardware encryption key and is used to encrypt the contents of the NAND memory (storage). The key is stored in the Secure enclave, and the keys are derived from a combination of the secure enclave ID and characteristics of the NAND. When a new SSD is installed, it would have to generate a new key. If an attacker might be able to determine the original key by comparing the new key to the old key and identifying the differences between the two. If the new key had different characteristics than the old key, this could potentially reveal information about the old key and compromise security. Apple also uses its own implementation of the PCIe and not NVMe protocol, so Apple would have to also harden its security for NVMe.

    Now I'm confident Apple could arrive at a solution as Apple's Secure enclave has gone through multiple iterations now, with roughly 16 versions now at the time of making this video. Apple could arrive at giving users the ability to change NVMe SSDs requiring reduced security settings or perhaps an unlock that warns a user about the potential encryption key exposure.

    Secure Enclave is extremely powerful when it comes to security. In my OpenCore Explained video, I broke down Apple's many security innovations on the operating system side.

    I consider myself an informed user and I would gladly accept any risk for removable storage over being locked into zero upgrades as the NAND memory, which makes an SSD, has a finite shelf life. A memory cell on an SSD can only be written and overwritten so many times before it fails. SSD controllers identify bad blocks eventually they hit a critical mass and will fail. Apple preventing anyone from swapping these means that every Apple Silicon Mac has a time bomb built into it, and there's nothing end users can do to fix it.

    Despite the greenwash marketing, Apple has no qualms about generating eWaste. Also, Apple shipping bottom-tier Macs in RAM-starved configurations and with laughably small SSDs means that the OS will have to use the SSD for memory swap operations when the RAM is completely filled more frequently and with fewer bytes to rotate on very small SSDs like 256 GB. This also shortens the NAND shelf life.

    Apple chooses not to tackle this on any front as it knows that it generates money no matter how this plays out: A user has to pay upfront the Apple tax on overpriced upgrades and also has to deal with planned obsolescence baked into the hardware and software. Let's not forget Apple will stop supporting its Mac at some point. It gets to hide behind security as a smokescreen.

    So when you see right to repair legislation pop up, please support it. Apple makes wonderful products marred by their disdain for the users who use them.


    OpenCore and OpenCore Legacy Patcher Explained

    You're most likely aware OpenCore and OpenCore Legacy Patcher. It's a boot loader, whatever that means... .which we will get to in-depth, and it lets you run macOS on old Macs that are no longer supported by Apple. This blog post and vide is a high-level overview so you can understand how OpenCore works and what Open Core Legacy Patcher is.


    Let's step back in time to a few years ago. When users wanted to run macOS on unsupported Macs, they'd turn to modify the operating system, the most common being preconfigured scripts like DOSDude1. These weren't perfect, as you generally had to reapply them each time you updated the OS, no matter how small. Even a security update could render your mac unbootable until repatched. It was simple until it wasn't. Here's what happened:

    Over time macOS has evolved to be more closed at the system level. This started when Apple started following the industry trend of signed code in 2009 with the introduction of Snow Leopard. Signed code allows the OS to verify the identity of the software developer and ensures that the application has not been tampered with or modified since it was signed. This evolved in many ways, but the most important is the modern usage of integrity protection which exists as System Integrity Protection, introduced in 10.11 El Capitan, SIP or System Integrity Protection which restricts the actions of the root user / privileged processes that can be performed on critical system files and folders. Translation: a rogue app will have a much tougher time hacking your OS as it doesn't have permission to do so.




    Apple began requiring signed code for applications distributed outside the Mac App Store with the release of macOS 10.8 Mountain Lion in 2012, not with Snow Leopard in 2009. Snow Leopard (10.6) introduced support for signed code but did not mandate it.

    System Integrity Protection (SIP) was indeed introduced in macOS 10.11 El Capitan, and it restricts the actions of the root user and privileged processes to protect critical system files and folders. This makes it harder for rogue apps or malware to compromise the system.




    Also, integrity protection exists in the file system itself in APFS with metadata integrity protection, which uses cryptographic verification of metadata, which helps prevent tampering and protects against malware attempts to modify the system. The system also now exists as a separate partition within the APFS container that is read-only during normal operation. All of this makes macOS a lot less likely to be infected with OS-level malware.




    Apple File System (APFS) includes metadata integrity protection, which uses cryptographic verification to help prevent tampering and protect against malware attempts to modify the system. APFS was introduced in macOS 10.13 High Sierra.

    The system partition's read-only status during normal operation was introduced in macOS 10.15 Catalina, further enhancing security.




    Apple, in even more recent releases, has deprecated Kexts, small modules of code that are designed to extend the functionality of the macOS kernel and other system components, such as device drivers or filesystems. Kexts or kernel extensions are very powerful. Thus, they are a potential vector for malware.

    Of course, the focus on security has complicated modifying macOS by 3rd parties; however, some very smart programmers and hackers devised impressive solutions.

    On the Hackintosh side, users who wanted to run macOS on PC hardware had created a thriving software scene. Clover became the preferred and essential method of installing macOS on unsupported hardware. Clover was a boot loader and could inject Kexts into macOS.

    A bootloader is a piece of software that is responsible for loading the operating system kernel and initializing the hardware devices during the boot process. We'll dig into this more in a minute.

    Clover was essential but had shortcomings regarding security, compatibility, configuration and generally required additional patching. Hackintosh users and owners of unsupported Macs faced a similar problem when macOS was on unsupported hardware. A system update could break the entire setup until certain hacks and patches were reapplied.

    OpenCore was developed as a way to fix these issues for both unsupported Macs and Hackintoshes, relying on its ability to inject changes as part of the boot process rather than modify the OS itself. The advantage is that the OS would be left intact without requiring altering of most security settings or patching/hacking the OS.

    OpenCore and Kexts

    OpenCore uses a feature called Kext Injection. When OpenCore boots the macOS kernel, it scans the system for all available kexts and injects them into the kernel as needed. This allows users to add support for hardware devices that are not natively supported by macOS or to modify system behavior in various ways.

    OpenCore also uses the concept of "Kext Patches" to modify the behavior of existing kexts or to patch the macOS kernel itself. This isn't unique to Clover, but OpenCore's methods are improved. Kext Patches are small code snippets that are applied to kexts or the kernel at boot time, which can be used to modify system behavior or to add support for additional hardware components.

    When the computer boots, OpenCore acts as middleware for the UEFI or EFI on the computer, a standard for computer Bios that macOS uses. It loads its own firmware and presents the user with a boot loader GUI allowing the user to select the OS. If the user boots macOS, it performs pre-checks, prepares for booting macOS by prepping necessary modifications, then loads macOS Kernel into memory and modifies it with the kernel patches and modifications, and loads kexts for additional hardware support or system modifications. Once done, OpenCore hands over control to the OS, and booting proceeds.

    To summarize, each time you boot macOS with OpenCore, it is modifying macOS on the fly, meaning you can update your Operating system without worrying about losing patches or lowering security settings.

    The Case for OpenCore Legacy Patcher

    OpenCore is fairly complicated to configure. Thus, users would often share their configs for various hardware setups. For example, A very popular configuration for classic Mac Pro users was Martin Lo's OpenCore configurations. This worked well for users whose hardware matched or resembled the hardware the preconfig was targeting, as it created a template for other users to follow and edit, assuming their hardware similar to the preconfig file.

    While this worked, it required a fair amount of technical know-how, reading, and research, especially if your hardware is different in a significant way, such as a different GPU or Network interface. OpenCore Legacy Patcher aimed to make this a point-and-click experience.

    OpenCore Legacy Patcher is a community-driven project based on OpenCore designed with old Macs specifically in mind. OpenCore Legacy Patcher is a graphic user interface that automates installing OpenCore on Macs that Apple no longer supports.

    Unlike PCs that come with an exceptionally wide range of configurations, Apple's product line is exceptionally small. This makes it predictable for OpenCore Legacy Patcher developers to create configurations for the user based on the hardware it detects rather than the user modifying the OpenCore configurations themselves. Power users can still modify OpenCore manually after using OpenCore Legacy Patcher.

    With a few short steps, a user can install OpenCore on an old Mac, allowing them to run recent versions of macOS on hardware that Apple has elected to no longer support. Apple does not make money on old hardware and thus habitually drops support even if the hardware is quite capable of providing a pleasant experience.

    Apple's yearly OS updates also have slowly required more and more developer support for Apple's security features and also have depreciated older technologies at a fast clip. The end result is an older copy of macOS may not support the latest and greatest software, even as crucial as a web browser that works with modern web standards. In contrast, Windows has a much longer support window with its less frequent overhauls.

    It makes one realize the value of a paid OS update model, as seems to be the case for Windows for longer support.

    OpenCore is the backbone of providing support to older computers. OpenCore legacy patcher is a utility used to configure and install OpenCore in a very user-friendly way.

    OpenCore is a boot loader designed specifically to work with Apple's current security paradigm and avoids modifying the OS stored on the boot volume. It instead applies the patches on the fly during the boot sequence.

    Looking for info on how to install OpenCore?

    I've made separate blog post, The 10 Step Guide to OpenCore Legacy Patcher (with pictures and video) or you can check the video below.


    Happy OpenCore-ing


    The brute force Drupal 9 content query

    While this might be apparent to many, here is a brute force method to search a drupal 9 for the Body field for any matches of a string. I am not a Drupal expert, so finding the table + field was a bit of a chore.

    SELECT * FROM node__body WHERE body_value LIKE ‘%string%’;;

    The SQL query selects all columns (*) from the body_value inside node__body table where the post code lives. The % symbol is a wildcard operator in SQL and is used to match any number of characters before or after a specified pattern. Be sure to surround your query with the %. For example, if searching for "Hello World!", it would be %Hello World!%. You can search for HTML within the individual fields as well.

    Of course this can easily search multiple entires by using AND.

    SELECT * FROM node__body WHERE body_value LIKE ‘%string%’ AND body_value LIKE ‘%string2%’;;

    Using a GUI like Sequel Ace, you should be to see which bundle it's in, if you've set up different page types, and the entry_id which can, of course, be accessed via PHP or simply by going to sitename.com/node/entry_id or sitename.com/node/entry_id/edit to get directly to the admin "edit" panel for the node.


    The 10 Step Guide to OpenCore Legacy Patcher (with pictures and video)

    OpenCore Legacy Patcher recently hit version 0.6.x, an important milestone. It finally added support for Non-Metal Graphics Acceleration, older wireless network chipsets, UHCI/OHCI USB 1.1 Controllers, and AMD Vega Graphics on pre-Haswell Macs (Mac Pro 2008-2012). It continues to be updated, with recent advances to support macOS 13.3.

    The goal of this guide is to provide a very granular step-by-step guide to installing OpenCore Legacy Patcher on a supported Mac for users who are new to the world of OpenCore.

    As a quick primer, OpenCore is a boot loader. OpenCore functions as middle wear between the firmware and macOS. This allows changes to be injected without modifying the OS. Through these modifications, discontinued hardware can be supported. OpenCore was designed to replace Clover and other Hackintosh solutions as a way to avoid repeatedly patching after minor OS changes. However, OpenCore proved not to be useful for Hackintosh owners but also for Mac owners as well.

    OpenCore Legacy Patcher (OCLP) is a utility that automates the installation of OpenCore on older Macs that Apple no longer supports and has matured to a point-and-click utility. Users do not have to understand esoteric software configuration in OpenCore and instead can rely on a community to test the latest developments from the OpenCore community and fold them into a package.

    If you're looking for a detailed explanation of OpenCore, I wrote a separate article explaining OpenCore and OCLP or you can watch the video below.


    OCLP's accomplishments are nothing short of amazing but also contradictory as it really should not need to exist. OCLP proves that Apple's decision to drop older Macs has little to do with user experience and everything to do with planned obsolescence, as OCLP proves that older Macs are more than capable of running modern macOS versions and even flourish. For a company that love to talk about it's efforts to be "Green", the best thing it could do to keep eWaste out of dumpsters is to continue to support hardware for as long as possible. Regardless of where you live, please support the right-to-repair in your city or state or province or country.





    This guide also exists in video format as "How to install OpenCore Legacy Patcher in 5 minutes".

    Requirements:

    Before you install OpenCore Legacy Patcher on your Mac, go to the OCLP website and confirm your old Intel Mac is supported. Some Macs may not support the latest version of macOS. OCLP's team is chipping away at support for older Macs. Most Macs post 2010 are well-supported but with caveats such as non-functioning Bluetooth. Also, compatibility differs between OS versions, generally with the latest OS having the least amount of support. Users likely will have better results running a semi-recent OS vs the most recent.

    Next, you will need a 16 GB or larger USB flash drive. Not all USB flash drives are bootable but most are. I used a SanDisk 128GB Ultra Fit USB 3.1 as can often be bought for $15 (the 64 GB version generally is $10), and while not the fastest drive, it's made by a reputable company and will be faster than most $10 USB flash drives.

    Lastly, always check OpenCore's website when updating the very latest OS release. I highly recommend waiting a few weeks for point releases, ones that are a major revisions like 13.3 (Not 13.3.1) for the OpenCore community to test and vet the OS update with various hardware configurations.

    Step 1) Format Drive

    step 1

    Plug your USB flash drive into your Mac (or a PC). Open up disk utility on your Mac. This is located in Utilities folder in your Applications folder, or easily found using spotlight. Highlight your USB thumb drive and select format. Format your flash drive to Fat 32. macOS lists this as MS-DOS (Fat). As a friendly reminder, Formatting will erase all the contents of your flash drive. If you have any important information, back it up before performing this step.

    This is required so the OCLP utility will be able to recognize the drive, and will format it again later.

    Step 2) Download OCLP

    step 2

    Confirm the support for your Mac, at OCLP's website, Download OpenCore Legacy Patcher from the OCLP GitHub page. As a general rule, you should download the latest version of OCLP. OCLP does receive semi-regular updates which may improve your Mac if you are already using OCLP you can upgrade it in the future.

    Step 3) Launch OCLP

    Depending on your OS/Browser settings you may need to decompress the zip file by double clicking it. Launch OCLP and select Create macOS installer.

    Step 4) Download macOS

    step 4

    On the "Create macOS installer" screen, select Download macOS if you do not already have a version downloaded on your Mac, and then select the version of macOS you'd like to download. Downloading will take some time as the installer is 12 GB.

    Step 5) Select your OS

    step 5

    The installer should forward you to the select macOS screen and select your downloaded OS. If the OCLP utility does not automatically take you to this screen, return OpenCore's first screen and select create the installer, and select existing macOS.

    Step 6) Install to USB drive

    step 6

    On the Format USB screen, select your USB drive. This will likely require your admin password. Enter it. This will take a significant amount of time, depending on your flash drive's speed and your Mac. This is a two-stage process as after it's copied over it will verify. You can leave this process in the background of your Mac while you perform other tasks or leave your computer unattended while this process completes. The installer will warn that it will take roughly a half hour although I found it took less time.

    Step 7) Install OpenCore To Disk

    step 7

    Once the installer has copied the installer to disk, it should ask you if you'd like to install OpenCore to disk. Select install OpenCore to disk. It'll build the OpenCore settings for your Mac. Select install to disk again, and select your USB drive.

    Step 8) Reboot

    step 8

    Once the installer has finished, it should ask you if you'd like to reboot. It should display the following: "You will need to reboot and hold the Option key and select OpenCore/Boot EFI's Option". Holding down the option key while your Mac is booting will cause it to boot into the boot picker.

    step 8.5

    You can reboot now or later. When you reboot, you will need to hold down the option key on your computer and then select the OpenCore EFI partition. This will be the icon with the OpenCore logo behind it.

    Step 9) Select OpenCore from the bootpicker and then the installer

    step 9

    Once you've selected the OpenCore EFI you'll be taken to another boot picker. Select the installer. At this point, you have booted into OpenCore, and thus all the configured hacks are loaded in that will enable your Mac to be able to install macOS.

    step 9-5

    Step through the installer as normal. With modern macOS installs, the installer will need to reboot several times. It may reboot and bring you back to the beginning of the install process. If this happens, you'll need to restart your computer and from the OpenCore boot picker, select the incomplete install and not the USB installer. This will resume your install.

    step 9-6

    Step 10) Post Install

    step 10

    Finish setting up your Mac. Run OpenCore Legacy Patcher one last time and confirm that post-install modifications have been installed.

    More OpenCore Content!

    I installed OpenCore onto my Mac Pro 3,1 using OpenCore Legacy Patcher and made a video about my adventure.


    macOS Activation Lock Vulnerability discovered


    iCloud with Find My Mac offers the ability lock your Mac if it's lost or stolen, placing it into a state known as "Activation Lock". Activation lock should prevent a user from being able to access the device without first re-entering a pin or password as it is a lock screen before the computer boots. This isn't nearly as powerful as the iOS version due to the lack of persistent internet connections. A stolen Mac will likely not have an active internet connection. However, if the thief can log in to the Mac and sign into a wifi access point or connect to a known WiFi access point, they would then find the Mac forcible rebooting and locking itself, leaving the Mac in a protected state. This was discovered on reddit, although failed to gain much traction as the initial report required a bit of sleuthing to fully understand the problem and the discoverer was a bit frustrated after Apple dismissing the problem when they submitted a bug report.

    It will even lock a user out of booting into recovery mode (it slightly differs on Apple silicon). However, you can bypass this on certain Macs, thus far only Intel Macs seem to be affected. The original discoverer reported using a MacBook Pro 2019 (specs unknown) and I confirmed it on a MacBook 2017.

    It requires the following steps:

    1. Lock a Mac using iCloud's Find My (the Mac to have to Find My enabled and must connect to the internet after the lock has been initiated)
    2. Wait for the Mac to reboot the activation lock screen. Reboot the Mac into recovery mode by holding command + R.
    3. Reboot the Mac again. It will now get back to the login screen, defeating the Activation Lock.

    I personally confirmed this on a MacBook 2017 (12 inch) multiple times, but was unable to replicate it on a MacBook Pro M1 Max. The affected Mac specs are as follows:

    • MacBook 2017 - MacBook10.1 - Core i5 - 8 GB RAM -
    • OS version: macOS 13.0 Ventura
    • Firmware Version: 499.40.2.0.0
    • OS Loader Version: 564.40.4~27
    • SMC Version: 2.42f13

    Was Snow Leopard 10.6 the greatest OS X release? Demystifying a legend


    This is the adapted script from my "Was Snow Leopard 10.6 greatest macOS release ever? An OS X essay" as I know many people prefer written versions (often my self included). This version departs from the original script to better accomedate written word.

    Intro

    If you were to ask a group of long-time Mac users, what's the best Operating System Apple has ever released? It'd likely be nearly unanimous.

    Mac OS X 10.6 Snow Leopard It's one of the most loved products Apple has ever released, renowned even a solid dozen-plus years later as the king of Mac OS.. Many long-time users consider the high watermark of Mac OS to be Snow Leopard.

    9 to 5 Mac wrote an article titled called "The Myth, The Legend: How Snow leopard became synonymous with reliability ." The article is a nice attempt to contextualize Snow Leopard in the greater narrative of OS X, but it falls a bit flat. It makes some decent points, and I don't want to take that away from those, but I think I have a better explanation for why Snow Leopard was so dearly loved. Plus, I have my own opinions about which release of OS X/macOS is the greatest.

    A Brief OS X History

    Mac OS X started its life with a lot of promise and not a lot to show for it. (I recommend both Ars Technica's OS X 10.0 and OS X 10.1 reviews) Yes, it was a brand new operating system that was based on the FreeBSD kernel, but 10.0 and 10.1 were buggy, slow, lacking critical software that most users depended on, and the hardware running it didn't do a lot of favors for it. To illustrate the incompleteness of early OS X, 10.0's public beta installer doesn't have a disk utility to format a hard drive so you could install the OS. You had to do this with Mac OS 9 first.

    Native application ports were very few and far between in the early days of OS X., Many of the early applications relied on the Carbon Framework, which functioned as an intermediate way to port Mac OS 9 Applications to OS X with less friction rather than doing a fully native port to Cocoa. That's assuming they ran in OS X at all.

    It wasn't until 10.2 Jaguar that OS X started to come into its own. Jaguar saw the introduction of HFS+, MPEG4, address book, Bonjour for Networking, Quartz Extreme, iCal, and iChat. Quick aside, I can't stress what a big deal it was when Apple released Quartz Extreme in 10.2.8, which used the GPU to accelerate the UI. This was huge as the Aqua user interface burned many CPU cycles live resizing and dragging windows.

    By 2003, 10.3 Panther was the first OS X I used almost exclusively, as previously, I would dual boot between Mac OS 9 and OS X. My guess is this was the same experience for many other long Mac users. It was less to do with the new features like Font Book, File Vault, Exposé, much faster preview, and better stability, but rather most major applications had a Cocoa or Carbon version that could be run in OS X without using the Classic Emulation, and Apple started shifting to OS X only computers like the G5.

    Then one of the biggest rumors came to fruition. In 2006 10.4.4 Tiger became the first release of x86 OS X, starting with the iMac Core Duo. This was on the heels of Tiger, which introduced some core technologies that are still with us, such as Spotlight replaced Sherlock, 64-bit support, Core Image, Core Audio, and some important improvements like Quicktime 7, and introduced a strategy we'd recognize today, Rosetta, a compatibility layer to translate PowerPC binaries to x86.

    Mac OS 10.5 Leopard really brought Mac OS into the modern era, as it had Core Animation, Bootcamp, Time Machine, Spaces, Full Unix compliance, App Sandboxing, and app code signing. The UI was maturing. The security features were rolling in.

    Snow Leopard


    However, despite the significant changes in the previous OSes, 10.6 is the one that hangs above the rest. 10.6 wasn't devoid of features. In 2008, it introduced Multitouch support for trackpads, better Bootcamp support, improvements to Time Machine, the introduction of Grand Central Dispatch for better multicore performance and OpenCL, and the much-needed rewrite of many core applications to 64-bit. And while these features are great, these aren't the reasons why people love this damn OS so much.

    That is because there's one absolutely huge asterisk I have not mentioned yet, and almost no one seems to remember.

    Snow Leopard dropped PowerPC support. This was the CPU of choice for Apple since 1994. So remember the first intel iMac, the dual-core Core Duo? It was released on January 10th of, 2006. I don't think I'm making this point clear enough. Let me explain. At its release, the absolute oldest computer Snow Leopard was ever installed on was less than two and a half years old. The previous iMac G5 was a single-core CPU, whereas the iMac Core Duo was dual-core. Plus, the performance gap between PowerPC and x86 was wide. Secondly, Apple only shipped the Core Duo Macs for mere months. The new MacBook lineup shipped with a Core Duo in May, and by November, it already had the new, much faster 64-Bit Core 2 Duo. Oh yeah, Intel was making meaningful gains during this era. Snow Leopard never had to support shitty hardware for its day.

    In 2009 alone, Apple refreshed its MacBook, MacBook Pro, MacBook Air Mac Mini, iMac, Mac Pro, and the Xserve. Yep, that was the entire lineup. Between 2006-2010, this was basically normal. Each year, Apple would refresh entire lineup would be refreshed yearly sans a few outliers, like the MacBook Air since it was introduced in 2008, and the Mac Mini, Xserve with less frequent updates, so the chances are if you used Snow Leopard, it was likely on very new hardware.

    It's easy to see why many Mac users also consider this the high watermark for Apple and the Macintosh platform. It's hard to overstate this, but the perception of Apple during this era was completely different.

    While Apple was doing very well, it wasn't the world's richest company yet. In 2009, the iPhone was only two years old, and the iPad was still a full year out. This is why I argue that a lot of Snow Leopard's clout still commands has to do with the hardware it was running on.

    A top-of-the-line Quad-Core (Dual cpu/dual core) G5 could barely playback 1080p without dropping frames, and then two years later, a 2008 Mac Pro could playback multiple streams of 1080p video without dropping a single damn frame. The biggest single hardware upgrade I've ever experienced in my time using a computer was going from a 2004 Dual CPU G5 to a 2008 Mac Pro. A lowly MacBook could watch HD Video. The differences in everyday performance were stark. The x86 Macs even booted faster.

    Here's something for the youngins, it's easy to forget that OS updates used to cost money to the sweet tune of $129. Snow Leopard reduced its price to $29. I have to give 9to5Mac credit as this point is a good one. Many users probably went straight from Tiger, skipping Leopard, to Snow Leopard. Windows Vista had been driving users away in droves. Many first-time Mac buyers skipped out on Windows 7, which was only released to manufactures before Snow Leopard (although the public would not have it until September), and went straight to Apple. First impressions matter, and Snow Leopard was a fantastic one to have, especially coming from the frustrations of the often misaligned Vista.

    Sadly, Snow Leopard was the last macOS that supported Rosetta, meaning some users stuck with Snow Leopard 10.6, resisting the tides of change. It was an optional download and allowed users to run much of the earlier OS X software at surprisingly usable speeds. In what is to become a reoccurring theme, Apple unlike Microsoft, was completely willing abandon the old without extending an olive branch by offering optional legacy support. Notably, it's been speculated that Apple did not renew a software license to continue using Rosetta 1.

    Lastly, as previously mentioned, Snow Leopard represents a time when the Mac was still at the center of the Apple universe. The iPod lineup was still going strong but tied to iTunes. The iPhone 3GS was blowing the minds of consumers, journalists, and pretty much everyone who touched one after the introduction of the app store, but it still was a tethered experience and required a computer to set it up. The iPhone wouldn't become an untethered experience until iOS 5 in 2011. At the heart of it, all was OS X and iTunes.

    Also, for many cultish Mac-acolytes, their savior, Steve Jobs, was still alive. Even today, it's still a trope to hear Mac users lament, "It wouldn't have happened if Steve were still alive." This was time of reverence as our modern cynacism still hadn't manifested. Social media in the late 2000s was nascent, darker side of smartphones addiction hadn't appeared, and Amazon and other large online retailers were only just started to gut main street America.

    I'm certain that Steve's image would have slowly been ebbed away as the pervasive influence of big tech has turned the public image once prodigies like Mark Zuckerberg, Jeff Bezos and Elon Musk into megomaniacs, hopelessly out-of-touch and ruthless businessmen.

    The end of the cats

    Apple's 10.7 and 10.8 weren't total duds, but they had some early woes. 10.7 had a few bizarre installer issues like the CUI CUI CUI error, and 10.8 had permission issues that prevented Time Machine restores (and other Time Machine problems), much to the chagrin of troubled users. 10.7 Lion brought a lot of mainstays like auto-save, auto-correct, emojis, and push notifications, finally replacing growler, face time, airdrop, iCloud, and more multitouch gestures. However, two of these were negatives. The way Apple first introduced Autosave was confused and felt dumbed down. 10.7 also had to inherit the iCloud debacle, which added to its buggy perception. 10.8 Mountain Lion lacked many of the big features that OS X users were used to seeing in previous OS releases. Part of this was because macOS was maturing, but also, it felt like Apple was devoting all its resources to the iPhone and iOS. It didn't help that many of the big features of OS X were lifted from iOS. Things like notification center, game center, messages, airplay mirroring, and Gatekeeper felt like more iOSification of OS X.

    One of the great ironies here is that macOS was actually getting faster. The legendary speed of Snow Leopard doesn't translate much into real-world performance. CNet showed that Lion outperformed Snow Leopard.

    Mavericks

    But now it's time we finally get to talk about the true king of OS X releases, the one, and only severely underrated Mavericks. It was the culmination of both the Lions and the total lack of additional notification, focusing strictly on performance. It felt like a hardware upgrade had shipped in a software update, and it was the first mac OS that was free! This meant anyone could update it without paying a damn cent.

    It didn't feature any radical UI changes beyond the much-needed tabbed finder and the reduction of some of the skeuomorphism found in the address book notepad, iCal, but it did bring the UI into a glorious, whole new world of resolution independence, not just for retina Macbook owners but for everybody, including 4k displays. Big massive things happened under the hood. Timer coalescing was introduced, a massive win for power saving in the MacBook lines, but the much bigger win was Virtual Memory compression. Virtual Memory compression functions using lossless data compression for anything memory-related, RAM, virtual disk swaps, and save states. In short, this means you can make much better use of the RAM you have, and it requires less ram for daily use, especially in multitasking. This also speeds up virtual spaces as less disk space is required, thus fewer transfer times and less power usage. It drastically improves performance on multicore machines, thus, longer battery life. Virtual Memory compression is the gift that keeps on giving. It's also the driving tech behind App napping, which was also introduced in Mavericks! App napping puts apps not being used to sleep, so they're not using system resources, which improves performance and, you might have guessed, saves battery life!

    Mavericks also introduced minor features like centralized task scheduling, which made more mindful use of the battery, for example, not running Spotlight indexing when not plugged into a wall. Ars Technica measured Mavericks with an incredible 3 hours longer battery life than a MacBook Air over running OS X 10.8. I highly recommend reading the entire review.

    Mavericks also get bonus points for being stable from the get-go. After, two OS releases that weren't Mavericks deserve kudos for that. Oh, for my Mac Pro, homies? It was also the first OS to support more than 96 GBs of RAM. I feel so strongly that Mavericks is the best macOS release because all these changes just happened as a user. You didn't have to know a damn thing about them. It was a huge performance boost, was more stable, got you more battery life, and unlocked the world of resolution independence. Everything just gelled with Mavericks. Let's not forget this upgrade was free. Like Snow Leopard, a lot of its perception and legacy has to do with the OS that follows it.

    Mavericks was booked end by what I'd consider the worst release of x86 macOS ever, 10.10 Yosemite. It was an absolutely terrible overcorrection on the UI and had one of the most brutal bugs that resulted in the worst networking performance I've ever experienced on a modern OS. At least the networking eventually got fixed, unlike the Johny Ive flat UI.

    The next California releases

    After Yosemite is what I'd consider a successful string of OS releases, Sierra, High Sierra, and Mojave were all improvements, one after the other after the other. They also cleared some pretty good technical hurdles, like switching from HFS+ to APFS. We finally saw a replacement for OpenGL in the form of Metal, the UI was fixed, and the OS was fairly stable.

    Apple accompanied a few lax hardware requirements that axed support for many older models resulting in the popularizing patching scripts that enabled support for older hardware, Pike's Script and DOSdude1 allowed older Macs to continue age gracefully into this era despite Apple's desires.

    Of this string of releases, 10.13 High Sierra often is one of the more loved releases, like Snow Leopard. Due to Mojave dropping support for a significant amount of computers by not offering Metal drivers for old GPUs, High Sierra became one of the end-of-the-roads for many users until they upgraded. I encountered this as an end user, as I had invested in an Nvidia GeForce 1060 without realizing Apple in roughly 2 years would petchulantly block release of all future Nvidia macOS drivers. I'd later purchase an AMD Vega 56 after a year, when it was apparent Apple would not reverse course. High Sierra was not a bad release to be stuck on as I found it rock solid and snappy on an aging Mac Pro.

    What didn't happen during this string was any revolutionary changes, Windows after some missteps like Windows 8 and 8.1, radically improved with the release of Window 10 and gained a lot of ground on macOS. Its UI might have still been mind-boggling, like what the fuck are there still control panels, but Microsoft on the same hardware was the clear performance winner over Apple in cross-platform benchmarks. It also boasts something Apple is terrible at Legacy support. Windows 10 and 11 can run via emulation layers, apps written for Windows 98.

    A 2006 Mac Pro is forever locked out of modern macOS releases, but fear not, it will install Windows 10 off of an unmodified Windows 10 DVD and once installed, it runs surprisingly well. Windows 11 can even be hacked to run a 2006 Mac Pro. And during this dry time for Mac, Windows even gained proper Bash/ZSH support via Ubuntu as a virtual layer. It is convoluted, but at least common applications and environments like Git and Node can be run near natively now.

    Windows also beat macOS to a few features that it shouldn't have, such as 10-bit support and HDR, after Apple clearly aced them with resolution independence. Apple has drug its feet in some really strange places. It wasn't until very recently that CoreAudio finally front-ended into surround sound in a sane manner (if you can find any software to use with it), whereas windows have had this for 15 years. It was until 10.15 Catalina that Apple added DRM support to appease the streaming services for higher resolution video, despite iOS devices having this for years. Meanwhile, Catalina was a step back with its security over corrections, dropping 32-bit support, which turned out to be a field burner for ARM support and not nearly enough meaningful updates. In a better world, Apple would have let x86 die with the ability to run 32-bit code. We know where Microsoft would have landed on this because they already have. They finally stopped developing a 32-bit version of windows but have made no moves to drop 32-bit binary support. In fact, Windows 11 on ARM supports Rosetta-like translation for both 32-bit and 64-bit applications.

    The walls of the gated community

    We cannot judge macOS releases in a vacuum. Thus, we must call out the narrowing gap between Windows and Mac OS. Older hardware also has a distinct advantage over windows, and this is through drivers and longer-term API support. Apple doesn't make it easy on developers because it constantly changes requirements. Or worse, Apple will actively block the release of drivers, like in the case of Nvidia.

    Being a Mac user often feels like living in a gated community with an overbearing homeowners association.

    Before I end on a downer for macOS, Big Sur and Monterey run seamlessly on x86 and ARM, which still can't be said about Windows 11. Microsoft is working on its answer, and it's only a matter of time before Windows ARM SoCs.

    Whatever your concerns may be about the hardware, the software transition to Apple Silicon has been nothing short of amazing. Big Sur on an M1 did not feel like a first gen product, and Apple always has its eye on consumers. I hope Apple takes its professional-class users more seriously in the future. Apple Silicon has been exciting for its raw performance but offers nothing in the way of user serviceability, and an upgradable professional computer shouldn't cost $6000.

    As a professional, I want the best from both Apple and Microsoft. I feel I shouldn't have to make the compromise between long-term usability and support versus a superior user experience, and why do I feel this way? We had it in the past.

    Ultimately, I think when most people say Snow Leopard is the best operating system Apple has put out, or when I say its 10.9 Mavericks, we're saying that we want an Apple more focused on the Mac platform and meets our needs better, not theirs.

    The Apple Silicon era thus far has been impressive, albeit imperfect. Without even the ability to swap out the parts most likely to die, like the RAM or, more importantly, SSDs, Apple Silicon is a cynical product, meant to be disposable technology, destined for eWaste bins when Apple decides they no longer are willing to support said computers.

    Apple's long-term support has been spotty, especially during its architecture transitions. The difference is this time. We won't be able to service the machines long after Apple stops supporting them. If the planned obsolesce is our gated community's walls, they keep getting closer to our house.

    Bonus content


    This article is not anti Snow Leopard, in fact I'm quite the fan. Awhile back I took the time to upscale and hand correct all of the Mac OS X Snow Leopard 10.6 Nature backgrounds and the Abstract backgrounds to 5k for use on your Mac /iOS device for free download. Enjoy!


    How to play Playstation 2 Games on your Mac (emulation the PS2)

    For years Windows has had a huge lead in emulating the Sony PlayStation 2 thanks to PCSX2, but recently, there's been traction on updating the mac port of PCSX2, now complete with Metal (Apple's Graphics API) support. This recent development makes performance better than ever for Mac users. PCSX2 also has a mobile offshoot, AetherSX2, that has now been brought to macOS for Apple Silicon users.


    Advantages over a real PS2

    • Better visual fidelity, Ability to play in high definition, 4k and beyond!
    • Faster load times
    • Freeze states allow games to be resumed instantaously
    • Ability to have virtual memory cards and download save states
    • Ability to load in high resolution texture packs for games.

    This guide will cover the basics of playing PS2 games on your Mac. The things you will need:

    1. A (semi) modern Mac. Playstation 2 emultion doesn't require bleeding edge hardware but fthe faster the computer, better the results.
    2. A game controller (preferrably a PS3 or PS4 or PS5 controller) with the appropriate cabling to connect it to your Mac.
    3. Playstation 2 Games

    That's it. Used Playstation controllers are easy to come by as are used games. This is relatively cheap endevour as there's a good chance you already have a controller and a USB cable to connect it to your Mac and even possible the games.

    Downloading the Emulator

    For the first step, you'll need to download the correct emulator for your Mac. Since Metal is a recent addition to these emulators, we'll want the bleeding edge versions. Intel Mac users will download the nightly build of PCSX2 and Apple Silicon users download the nightly build of AehterSX2.

    Once downloaded, decompress the emulator. To open it for the first time on macOS 11 Big Sur or later, you must click right and select open to allow the application to open.

    The user interfaces of AetherSX2 and PCSX2 are nearly identical since AtherSX2 is a port of PCSX2, the biggest visual difference being the color of the menus. Since they are so similar for the remainder of this guide, the instructions are the same regardless of what emulator you are using.

    PS2 Emulation - Right click

    Playstation 2 Bios

    Next, you will need to obtain the Playstation 2 bios. Bios is the firmware for the Playstation 2 that also contains its basic operating system. However, downloading it is legally grey at best, so I will not directly link it, but it can be easily found using popular search engines or manually dumped from a physical PS2 for those who want to be 100% legal.

    PS2 Emulation - Controllers setup

    The Playstation bios will need to be placed in a folder. Then within the emulator, go to Preferences -> Bios and point the emulator's BIOS directory to your PS2 Bios. If the bios are correct versions, they should appear in the emulator's list.

    Games

    Physical PS2 games can be dumped into ISO or even inserted into a DVD drive and played on your Mac (if you have a DVD drive). Games dumped as ISOs can be placed into a folder and displayed in a list format for easy browsing. From the Preferences, select the games list and add your folder to the games directory. If your folder has folders inside of it, allow it to scan recursively.

    PS2 Emulation - Games list

    Creating ISOs using your Mac is pretty easily. If you have a DVD Drive equipped Mac, you create a ISO by doing the following:

    1. Launch Disk Utility on your Mac (it's located in Applications -> Utilities)
    2. Insert the game disk into your DVD drive
    3. Right click the disk from the right hand corner, and right click it, use the "Create Image from..." option. This will likely take several minutes.
    4. Set the "Image Format" to "DVD/CD Master." Click the "Save" button
    5. Go to the location where you saved the disk image, and change the file name suffix from ".cdr" to ".iso".

    Please do not ask me for games, yes they exist on the internet. Yes you can download them but I will not respond to requests on where to download them.

    Controllers

    While you can play PS2 games with a mouse and keyboard, the best way to enjoy PS2 games is to use a controller, preferably a Sony Playstation controller. The Sony Playstation 3, 4, and 5 controllers are all great candidates as they can be directly plugged into your Mac via USB. Once plugged into, go to Controllers under the settings menu and select first player controller. In the upper right-hand corner, select Automatic Binding and find your controller from the list. The emulator will automatically map the controller buttons.

    PS2 Emulation - Controllers setup

    Graphics

    Easily one of the best features of the PS2 emulator is the ability to enjoy old titles in HD. 3D games (games using polygons) will render natively, even up to 4k (or beyond), resulting in much sharper and clearer graphics. From the settings menu, select graphics. Make sure the emulator is using the Metal renderer.

    PS2 Emulation - Renderer

    The Rendering tab contains a plethora of options, but the two that are of the most interest are the Internal Resolution and Anisotropic filtering. The internal resolution will define what resolution you are playing games at. Anisotropic is a less noticeable but loved feature that affects how textures are rendered at extreme angles. The higher the filtering, the sharper textures will be when viewed from extreme angles. Both features come at a significant performance cost. It's best to play with the settings to find out what works for your Mac. Modern Macs with beefier CPUs and GPUs will be able to produce better results.

    PS2 Emulation - Right click

    Some of the graphics fidelity options is a trial and error approach as not all games will perform the same, and different portions of games may perform differently. I suggest playing around after you've managed to successfully play a few games for a bit then experimenting.

    Memory cards

    The original PS2 shipped with 8 MB cards and supported up to 64 MB cards. For a modern computer these are trivial amounts of space, and memory cards can be created and managed in the emulator's Memory Card section in the settings. Virtual memory cards can be downloaded from various sites with preloaded save states.

    To manage saves on Memory cards, boot into the PS2's bios. This will allow you to manage the memory cards like a regular Playstation 2.

    Other emulation guides I've written

    I've also made a video on emulating the PS3.



    Radeon RX 6600 XT and 6800 for the classic Mac Pros (4,1/5,1)?


    Update: Syncretic has done it again, you can download the patched ROM from MacRumors for AMD RX 6600 / RX 6800 /RX 6900 XT cards.

    Original article below.



    It has been nearly a year since I wrote the end of the classic Mac Pro after selling my classic Mac Pros for a 2019 and yet here we are, OpenCore 0.7.9 can run macOS 12.3.1 with very good results.

    The big news comes from MacVidCards.Eu and the 6000 AMD GPUs. MacVidCards.Eu is an affiliate of MacVidCards.com, but I'm not sure of the business relationship. MacVidCards.com is a service that flashes GPUs with custom firmware that is Mac EFI compatible.

    In my excitement and haste to post a video, I incorrectly stated that it's a RX 6800 XT and not a 6800.

    The Mac Pros EFI implementation predates UEFI, the Unified Extensible Firmware Interface, which replaced BIOS computers. Apple's implementation uses Universal Graphics Adapter Protocol (UGA). The more modern UEFI replaced UGA with Graphics Output Protocol (GOP) Thus, any UEFI GPU will not output video before drivers are loaded. This meant for years, Mac users who bought any sort of non-OEM GPUs did not display a boot screen until OpenCore. OpenCore is a boot loader, meaning it launches before the operating system and has the ability to perform functions before the OS is loaded. It can inject the low-level driver support, thus giving classic Mac Pro users a boot screen, among many other features.

    MacVidcards.com offered an alternative for aftermarket GPU upgrades. It would flash GPUs with its custom hacked ROMs for a fee. MacVidCards.eu had some business arrangement with MacVidCards.com, as MacVidCards.com didn't ship to Europe. MacVidCards.Eu is now selling flashed 6600 XTs and 6800 XTs for classic Mac Pros with screenshots to back up the claim. I'm inclined to believe these are real, and here's why.

    Syncretic of the SurPlus fame had a look at the ROMs found on the 6000 series AMD GPUs and postulated it was due to bad code on the ROM. During the init, the ROM checked for UEFI HII (Human Interface Infrastructure) protocols but didn't have any error handling. Apple's EFI implementation does not have UEFI HII support. Thus the ROM on the card would look for these settings, and it'd fail to return a value. When the GPU hit the unexpected null state, it'd hang, thus interrupting the boot process.

    Synchretic theorized patching this error in the ROM on the GPU would allow the boot sequence to continue, and thus you could use the GPU.

    My guess is that MacVidCards.eu figured out how to do this and is now selling these GPUs. MacVidCards.com, interestingly is not. I have to stress that I haven't had any firm confirmations that these are real, but I'd most likely wager they are.

    First, it's coming from a reliable source. The MacVidCards group(s) have shipped working EFI hacked GPUs for years. Even if the MacVidCards.com in the US has a negative reputation for customer service, plenty of people can attest their products work.

    Second, thanks to community research, we know (at least part of) the scope of the problem for these GPUs. It's not an insurmountable fix

    Third and final, the benchmarks pass the "sniff test" . They are about 6% slower in the Metal scores for a 6800 vs a 2019 Mac Pro with the same GPU. This checks out as PCIe 2.0 vs 3.0 generally only incurs about 5% hit for PCIe 3.0 GPUs as GPUs aren't as bandwidth-intensive as most people assume they are. Side Note: This will likely change with technologies like DirectStorage in Windows, where the GPU can bypass the CPU for accessing NVMe but for now, there's not a huge advantage for larger PCIe buses when concerning GPUs.

    While currently this is only avaliable in Europe, this news should make all Mac Pro owners excited as it means there's just a few more drops left in the tank for the classic Mac Pros. Perhaps we will see a community solution for the ROM now that we know it's possible.


    Reclaiming storage/space from 'System Data' in macOS: A tutorial on understanding the System Data usage.

    macOS System data

    macOS is pretty great and bad at the same time, communicating how and what is taking up storage on one's Mac. Most users are probably familiar with using About this Mac -> Storage. Clicking on Manage will give you a more detailed view. The one point of contention is "System Data," as it's ominous and nebulous.

    Below is a video that walks through the strategies of reclaiming space from the System Data, it's recommended as a companion to this blog post.


    You can't just delete System Data... or can you?

    macOS System data ???

    I see pretty frequent posts on Reddit posts like "Can someone please explain how to get rid of the "sYsTeM dAtA" this?" or hyper verbose " Why do I have 130 gigs of system data 💀 (and how do I get rid of it cause a normal mac barely has like a 20 gigs or so of system memory) (I checked the usual culprit i.e. editing cache data but thats not it this time and I can't figure it out)".

    This isn't because these individuals are incapable, rather that Apple does not clearly communicate what is happening nor give you any meaningful course of action. One user might have "System Data" that is is only 10 GB and another might have 250 GB. Why this difference is so large or why this difference even exists at all is not explained.

    What is System data

    System Data is the tally of the contents of the following:

    • /Library
    • /System
    • ~/Library
    • /usr
    • Invisible Files in the ~/

    All these can be managed by the user with /System being the outlier. This is confusing as there are at least two Libraries on your computer and more if you have multiple users on a single computer.

    Hint: Tilde (~) indicates the home directory of the user, this is a *nix convention that macOS carried over.

    • /System - This is where macOS itself resides. Under modern macOS this resides on a separate partition that isn't manipulatable by the user. To run macOS, you need this, and Apple protects its users from tampering with the /System.
    • /Library - This is the global Library accessible to all users. Things like Fonts, Audio plugins, support libraries for applications (Such as the Adobe CC suite), and assets for Final Cut Pro end up in this folder. Audio plugins end up /Library/Audio. Fonts go into /Library/Fonts, and the bulk of Application libraries into Application Support
    • ~/Library - This is hidden by default (more on this in a minute), but it uses a very similar structure to /Library with a large number of files landing in ~/Library/Application Support, things like Apple Messages, Apple Photo Libraries, Xcode Simulators, Crossover Bottles (games), Docker Containers, and Steam games within ~/Library/Application Support or ~/Library/
    • /usr - This is where CLI utilities installed by Homebrew and other applications end up.

    Generally, over time, when installing various Applications and utilities, they will also install items into the Libraries and accumulate. A fresh install of macOS will have very little "System Data". An old install after many years can eat up a fair amount based on the types of applications and how frequently applications are installed. Deleting the Application via the Finder will not automatically remove them. This creates orphaned files. Official uninstallers do a much better job, as do applications like App cleaner attempt to remove files that are associated with an Application, but this is not 100% effective. In some cases, the official uninstallers from reputatable companies purposely do not uninstall entirely, like from Adobe.

    Unfortunately, this requires intervention on the user, which we will cover.

    Displaying the Library folder in the User directory

    In the OS X days, the ~/Library (the Library folder found in /Users/your-user-name/) was a visible folder that you could easily poke around in. In modern macOSes, this is hidden, which is both good and bad. It's suitable for the basic user who probably shouldn't be manipulating it but bad for anyone with an intermediate level of familiarity with the underpinnings of their Mac. It obfuscates where storage is going on behind the scenes.

    There are still multiple vectors to viewing the contents of the ~/Library. The easiest route is to go to the user directory and hit "Command Shift ." to display visible folders. Another method is to navigate to it from the Finder, select under Go, "Go To Folder..." and type in ~/Library.

    You can also make the Library permanently visible either using "Get Info" from the finder (on the user directory) and checking "Show Library" or using the terminal and running the following command:

    chflags nohidden ~Library

    go to folder in macos

    Calculating Folder Sizes

    For whatever reason, still to this day, one of the advantages of macOS is the ability to calculate folder sizes from the list view. This is done by using view options "Show View Options" under View or using the keyboard shortcut, Command J. Calculating folder sizes will take time, depending on how many files are inside a folder.

    Sorting folders by size makes it easy to spot where the largest folders reside.

    Managing the ~/Library

    The most common place to reclaim storage is from the ~/Library.

    Deleting items from ~/Library is tricky as there are important files that could break applications and a few valuable system files. There's no hard-fast rule. For example, deleting a Steam game via the Finder is safe from ~/Library/Application Support/Steam/steamapps, but deleting the entire Steam Directory will cause issues. The best advice is to tread lightly. Generally, (but not always) items that land in ~/Library can be managed elsewhere. For example, Steam Games can be removed , and Apple Messages cache can be controlled via the Apple Messages app by clearing out data over a month old.

    A short but incomplete list of common data hogs in ~/Library

    • ~/Library/Messages - Apple Messages can creep up in size with the number of large media files now typically shared among friends and family. Every lousy gif sent to you via text message by an aunt, gets cached in /Messages. Use Apple Messages to get a handle on your Messages.
    • ~/Library/Containers - these are freeze and sandboxed states for macOS, generally from the Mac App Store, sometimes these get orphaned. For example, if you install NBA 2K21 Arcade Edition from the Mac App Store, it'll install the application in your Apps folder and a 4 GB file within /Containers. If you delete the app by dragging the game to the trash folder from your Applications folder in the finder, you will not delete data within the container and thus will need to do this manually.
      • ~/Library/Containers/Docker - Docker is generally a requirement depending on a toolchain for developers, but containers/images are downloaded into the /Containers/Docker folder, the CLI utility is the best way to manage these.
      • ~/Library/Containers/UTM - UTM is a popular QEMU-based emulator for creating virtual machines and other operating systems. Installing the UTM virtual machines by default will install into /Containers/UTM. Virtual Machines often are multiple GBs per virtual machine, so this can be a place to reclaim a lot of space.
      • ~/Library/Containers/com.apple.mail/Data/Library/Logs - Log files for Apple Mail. In mail, select window/Connection Doctor Uncheck Log Connection Activity (Credit to JeremyAndrewErwin)
    • ~/Library/Mobile Documents - This is the iCloud driver folder. The easiest way to manage this is to go to Apple ID within the system preferences and, under iCloud drive select options.
    • ~/Library/Developer - This is the location where Xcode installs its simulator environments. This can be managed within Xcode using preferences -> Components and caches cleared from the Storage "Manage" in about this Mac.
    • ~/Library/Photos - This contains the Apple Photos library and Photo management can be done via the Photos app. The entire Photos library can be uploaded to iCloud (assuming you have a large enough iCloud subscription).
    • ~/Library/Caches - Caches are application-specific temporary data. Depending on the application, these can be deleted with little repercussions. Generally, applications provide ways to manage their own caches. Deleting them is often temporary, as using an application will cause it to create new cache files as needed. It's recommended to do this every so often as you add and remove applications and upgrade them, you may end up with orphaned caches. This is best thought of as a spring cleaning activity as opposed to daily or even weekly maintenance. The same can be done with ~/Library/Logs as occasionally, some applications can eat up hundreds of MBs and even GBs of data in log files.
    • ~/Library/ScreenRecordings - These are screen captures by QuickTime. Quicktime doesn't provide a smart way to manage these, and they are best deleted via the finder.
    • ~/Library/Application Support - this is where a bulk of Applications install user-specific data.
      • ~/Library/Application Support/Steam - Steam is a popular application store for games and game interaction, providing community features like in-game chat, and user profiles alongside its massive amount of videogames. Steam provides ways to delete games via it's user interface, but games can be found and deleted in the /steamapps folder.
      • ~/Library/Application Support/OpenEmu - OpenEmu takes an interesting approach of stashing games in the Applications Directory (as do a few emulators). Games can be managed from the UI but also deleted from Game Library/roms and artwork from Game Library/artwork
      • ~/Library/Application Support/com.splice 2.Splice - The popular subscription-based Sample library app, Splice, stores its cache within Application Support instead of ~/Library/Caches`. It can be dumped.
      • ~/Library/Application Support/RetroArch - RetroArch has a habit of stashing quite a bit of resources in /Application Support, but deleting this directory should only be done when deleting the entire emulator.
    • ~/Library/Application Support/Devonthink - Makers of document organization software, this can be a data hog (Credit to JeremyAndrewErwin)
    • ~/Library/Application Support/PFU - Scansnap scratch files, can be safely removed (Credit to JeremyAndrewErwin)

    In summary, viewing the contents of your ~/Library gives you an idea of where your data is going. Once you have established what is taking up space, you can then check said application to see if you can delete or remove packages/support files/items from that application.

    The Scourge of invisible folders

    macOS invisible directories in finder

    Toggling hidden files only a keyboard shortcut away, in the finder hit Command + Shift + . (period).

    macOS has a surprising amount of invisible folders. Most are located at the root of the hard drive. These are (mostly) related to the *nix underpinnings of macOS and are essential for proper operation.

    This includes bin, cores, etc, opt, private, sbin, tmp, usr, var and volumes, however in the ~/ (your user directory) has many more, as a general rule any in that start with . are created by applications and ones that are not, are OS related, which should only be Trash, which is where your Trash directory is.

    Homebrew users may find that they've installed a significant amount of utilities to their usr, and it's highly recommended that you use Homebrew to remove undesired packages.

    These probably will not be very large for the average user, but for developers, various versions of Node, Ruby Gems, and VScode files can end up sapping 100s of MBs if not GBs. I had an issue with Node v14 installing improperly with my M1 Max and eating 8 GB per Node V14 version.

    Utilities

    There are a lot of not-so-great "disk cleaner" utilities that help grapple with disk storage. I've linked two tried and true free open-source utilities that have been around for a decade plus. These aren't the only valid utilities but both allow you to understand macOS better and of course, are free.

    Disk Inventory X

    macOS Disk Inventory X

    The old standby, Disk Inventory X still works under macOS 12 Monterey but requires right-clicking and opening to bypass security alerts. Disk Inventory X scans your entire Mac similarly to macOS's internal utility but does allow you to more quickly view what's taking up space in a Finder-like experience.

    It benefits from showing hidden folders even if they're not set to visible. It's also not the fastest utility, somewhat out-of-date, or 100% accurate in identifying files. My Docker.raw file was identified as .RAW photographs in the above screenshot.

    Onyx

    macOS Onyx

    Onyx makes deep cache scrubbing fast and easy.

    While not specifically a utility for disk management, Onyx, the classic macOS tweaking utility, allows you to dump cache files on macOS quickly. More often this is less about reclaiming space but also forcing macOS to rebuild caches with newer/more accurate versions to help system performance.

    This concludes my primer to managing your system data. Happy File Hunting!

    Update: April 8, 2023: Much needed copy editing and minor corrections about pathing


    Getting Drupal 9's Twig Templates Changes to Show Up / Render

    I had a hell of a time getting Drupal 9 to show template changes. There are other posts and such on the interwebs about this, but none worked. Perhaps it was the lando configuration. Here are the changes I needed to make. Change the following in your services.yml (this should be located in the sites/default

    The exact lines are subject to change of course, but these are where I found the following in the services.yml.

    line 74:

        debug: true
        

    line 83:

        auto_reload: true
        

    line 94:

         cache: false
        

    That's it! Happy Drupal Developing (if there's such a thing).


    Scam3 - The Problem With NFTs


    I have to admit I was unfamiliar with Dan Olsen prior, but this singular herculean two-hour explanation of crypto is better than the entire HBO Max series "Generation Hustle" about grifters. If you had a sinking feeling that NFTs were a scam, this incredibly dense and darkly humorous look at NFTs ranks as easily the top things ever to appear on youtube.

    I link this hoping to use my tiny bit of google index rankings in the hopes this becomes the default position on "crypto-bros". It's two hours, but I doubt there are many two hours of better YouTube.a

    Also, some other YouTuber *who I think is a gaming channel?) gives an incredibly cogent explanation of the NFTs. There are a lot of really good analogies in plain speech.


    How to fix the 'Complete your HBO Max Registration' on the Apple TV when trying to sign in into HBO Max

    If you're here, you have an Apple TV, you've signed into your cable service, and you're trying to connect to HBO Max. You can't use your cable company (probably something like yourname@charter.net) and its password. When you try to sign in using your provider, you see the following message:

    Complete Your HBO Max Registration

    Please do one of the following

    Phone or tablet: Sign in to the HBO Max app Computer: Sign in to HBOMAX.com on your computer

    Hbo Max error

    Pictured: The dreaded complete your HBO Max registration error

    Below is an OK button. Nothing else is explained, and of course, HBO's documentation sucks and doesn't help.

    First, use a computer, and sign in to your HBO Max account using your cable login. Next, go to your profile. Click in the upper right-hand corner and click account.

    Hbo Max settings

    Pictured: Account window in the HBO Max website.

    Make sure you have an email address here and that it's verified. You'll have to work through the verification process involving emails if it isn't. Then make sure you know the password in this section, as this will be what you're after.

    Once you have verified your account, you can now go back to your Apple TV. Instead of using sign-in with your cable provider in the HBO Max app, you will use your login information from this panel (The email address as your login and the password is the password).

    I also noticed that after the sign-in, it goofed, and it didn't seem to work. I quit the app, and it loaded again, this time presenting me with a profile choice, and HBO Max was working.

    Hopefully, this really stupid fix helps. I wasted about an hour trying to figure out what was wrong only to discover this was the issue.


    The Definitive Mac Pro 2019 7,1 Upgrade Guide

    header

    This is a public beta  :)

    I don't think people realize how many hours writing/research my Mac Pro guides take, and my previous guides all started somewhere too. The information should be accurate but is expanding and being formatted. If it isn't, please reach out to me. For information about changes and future plans, check the bottom of this blog post.

    Thank you for understanding.




    Supporters Thank you

    After years of maintaining this guide for free, I now am accepting patreon supporters

    I'd like to thank Quin's Tech Corner as my first supporter, if you're into retro Macs, especially the PowerPC era Macs, check out his content on YouTube.




    Contents

    Introduction

    Upgrading a Mac Pro 2019 isn't hard. The information is out there but knowing what is possible, what questions to ask, and where to find it isn't nearly as easy. This is less a how-to guide/manual than it is a roadmap to primary sources by other brilliant people, written to be accessible to both new and advanced users. 

    This is the 3rd edition of the Definitive Mac Pro Upgrade series, as I've written guides for the classic Mac Pros 1,1-5,1 (2006 - 2012) and the Mac Pro 6,1 (2013), and now the Mac Pro 7,1 (2019). The original had its roots in 2013 when I wrote up a list of Mac Pro upgrades and graphic card update articles. In 2018, I went to update the guide for recommended updates which morphed into a complete rewrite. The result became the Definitive Mac Pro Upgrade Guide.

    The 2019 Mac Pro represents the best and worst of Apple's intentions. By every measurable standard, it is the most upgraded Mac, brilliantly engineered with the loftiest "Apple tax" of any Mac ($699 wheels). Instead of embracing the rugged utility that the previous Mac Pros represented, Apple made it an aspirational device over an everyman's professional computer. Its entire design is striking, and its internals are artful. Regardless of its overpricing, it harkens back to a nearly bygone era of modular computing, which may end with Apple Silicon. While we live in a world of planned obsolescence, the Mac Pro 2019 feels even more important. There's likely one more iteration of the 2019 Mac Pro (2022? 8,1?), and then we can only speculate as to the future of the Mac Pro and the Macintosh platform.




    This guide borrows heavily from my other guides and does include some direct paragraphs lifted from my other guides when appropriate.

    Getting Started / Glossary

    Jumping into the world of macOS can be daunting as there's a lot of assumed tribal knowledge and history, but it isn't insurmountable. I try to avoid unnecessary shorthand, but there are a few unavoidable terms. I like to write for as many people as possible and to remain accessible as my guides are read by the novice and technical-minded, native-English speakers to people using translation software.

    There is a base assumption for understanding for sanity's sake, but hopefully, a low-enough bar that novice users can follow along and learn. We all start somewhere, and no one should ever feel bad for asking questions. Examples of assumed knowledge would be the fundamental difference between an SSD and Hard Disk Drive or the basic concept of CPU cores. Many other sources can educate users on these topics and do a better job than I would. I try to explain core concepts or provide links when necessary to help educate a user. This means this guide is long but informative. The initial inclination will be to skip sections. However, some key information may often be discussed in intros and other sections. I've tried to mitigate this, but there's a lot of information to digest. If you feel that something is unclear or never adequately explained, please reach out to me and let me know as my readers are a global audience and of all walks of life and a wide variety of skillsets. I've often been humbled by people who are much more knowledgable than me, and I appreciate anyone who points out errors or novices who feel something is confusing. Please see the Changelog for more details on how to reach out to me. We all start somewhere, and I frequently question my aptitude when I see how much heavy lifting others have done to realize this guide. For my more technical users, I depend on you for accuracy. This is truly a community effort.

    Apple Silicon - There's a lot to unpack on this topic. Still, the short answer is that Apple is transitioning away from using Intel CPUs to CPUs of its own design, manufactured by TSMC using the ARM CPU instruction set, a form of RISC. There's a bit greater irony as Apple once used RISC CPUs in its Macs in the 1990s, known as PowerPC. No one knows how long Apple will continue to support Intel Macs. See 86x.

    APFS - Short for Apple File System, a proprietary file system used on Mac OS and iOS. File systems define how data is stored and retrieved in an operating system. File Systems, like all software, have limitations, and APFS was used to fix many of the shortcomings of HFS+. The transition to APFS was (relatively) smooth. APFS has limitations, such as a lack of native support for RAID0 boot volumes.

    Bits vs. Bytes - You probably know this one by heart: There are 8-bits to every byte. For this guide to avoid confusion, I use bytes instead of bits when discussing all things bandwidth-related, even though networking favors bits and local storage favors bytes. It's pretty easy to mistake bits for bytes as it hinges on capitalization. 10 gigabits-per-sec is written in shorthand as 10 Gbps. 10 Gigabytes-per-second is written as 10 GBps or 10 GB/s. Converting bits to bytes means dividing by eight. 10 Gbps = 1.25 GB/s (or 1.25 GBps). Download speeds are expressed by operating systems in bytes per second, which confuses consumers as internet connections are not. For example: A 100 Mbps network connection has a maximum bandwidth of 12.5 MB/s.

    cMP - shorthand for classic Mac Pro. It is used to refer to any Mac Pro released between 2006-2012. The phrase "Classic Mac Pro" only refers to these models and not the similar-looking PowerMac G5 or the 2013 Mac Pro.

    UEFI - Short for Universal Extensible Firmware Interface, a specification designed by Intel to replace BIOS as the method to interface between an operating system and the platform firmware. This former isn't essential to understand beyond that it is a computer's firmware, designed to replace BIOS. This is the interface that allows selecting a boot drive before OS X begins booting (by holding down the option), among other pre-OS loading functionality. I use the term EFI loosely to refer to the pre-boot functionality. The previous classic Mac Pros used a non-standard EFI as Apple built its earlier Intel Macs before UEFI. The Mac Pro 2019s use UEFI. Thus, any GPU that supports UEFI (which is all of the current AMD GPUs) will output a boot screen.

    Firmware - a term you probably have heard and already possess some understanding of, the standard definition is a program that is written into Read-Only Memory (ROMs) and requires a specialized process to change (if it can be changed at all) called Flashing. 

    Flash/Flashing - The act of writing over data that exists in an otherwise in Read-Only Memory (ROM) or space (Firmware).

    Hackintosh - Any non-Apple hardware that is running any version of Mac OS, generally standard PCs using a lot of software workarounds and particular hardware.

    HomeBrew - long-time computer users are probably familiar with the term "homebrew" regarding user/hobbyist applications written for systems that generally were closed architecture like a videogame console. However, regarding the Macintosh platform, HomeBrew is a package manager for macOS for (mostly) command-line utilities. Package managers function in principal like an App store for open source software as you can quickly install/update/uninstall the software from your command-line. For developers, Homebrew occupies a very important space as it's one of the most preferred ways to install nodejs, python, git, MySQL, as well as utilities like youtube-dl, FFmpeg, ImageMagick, and MonitorControl.

    Kext - With OS X, the architecture for drivers uses kernel extensions, called .kext files. Kexts are supremely powerful and the backbone for the Hackintosh community to enable unsupported hardware. However, Apple has deprecated kexts in 10.15 Catalina for security reasons, replacing them with EndpointSecurity, SystemExtensions, and DriverKit. How this affects unsupported hardware remains to be seen. Kexts are located within /System/Library/Extension and /Library/Extensions.

    OS X / macOS- Mac OS X is Apple's XNU kernel-based operating system evolved from NeXTstep. Mac OS X was rebranded to macOS in 2016. I use these interchangeably as I have a tough time accepting macOS, as it is still OS X to me. The difference is superficial. Mac OS is not to be confused with Mac OS classic (Mac OS 7.x - 9.x). Today, all of Apple's OSes share the XNU kernel and are all descendants of NeXTStep.

    Metal - Previously, Apple's default graphics library for graphics acceleration was OpenGL (Open Graphics Library), used on iOS and Mac OS. Over time, OpenGL fell behind in performance and features when compared to a library like Microsoft's DirectX. Without an ideal candidate to replace it (OpenGL's successor, Vulkan, would not be released until 2016), Apple created its own graphics library called Metal and shipped it in 2014 on iOS 8 first. Later, Apple ported Metal to OSX. Mac OS 10.14 Mojave uses Metal to now power Mac OS. The new API does not support many old GPUs as their drivers were not updated. This isn't much of a concern for 2019 Mac Pro owners. 

    NVRAM/PRAM - Non-volatile random-access memory (previously Parameter RAM) is a space reserved for various low-level settings found on Macs pertaining to the pre-boot settings. These settings contain data such as default boot volume, backup boot volumes, default audio output, audio levels, computer's name, Keyboard language, backlight level (for laptops), whether Bluetooth is enabled, default GPU, and so forth. The contents of the NVRAM can be viewed via the terminal using nvram -xp. The difference between NVRAM vs. PRAM is transparent to the user. NVRAM uses a small storage space using flash-based storage, whereas the PRAM uses a battery to keep the settings buffered in the RAM. Occasionally, problems can arise (generally associated with hardware upgrades) that can cause problems. Resetting the NVRAM is still referred to as "zapping the PRAM". This is performed by holding down Command + option + p + r keys during boot prior to the system chime and will cause the computer to reboot immediately and chime again. This will clear out the NVRAM. Alternatively, the NVRAM ram can reset via the terminal using nvram ​-c, which will require restarting manually for the changes to take effect.

    SIP - System integrity protection, a feature of later Mac OS introduced in OS X El Capitan, that walls off portions of low-level features of Mac OS to protect it from malware. Prior, any application with root-level access could read/edit/modify system files. However, sometimes, when performing certain hacks, it requires disabling during installation and then re-enabled. There are legitimate reasons why users may want to leave it disabled. See Disable System integrity protection for instructions. See About System Integrity Protection on your Mac on Apple.com for more details.

    Terminal/shell - OS X is famously built on NeXTStep, which was a *nix-based operating system, which gave it access to a new (old) feature, a command-line shell. This gave Mac users the ability to interact with the OS akin to Unix/Linux. Many advanced Mac OS operations can only be performed via the terminal, such as disabling SIP or enabling TRIM for an SSD. Users unfamiliar with the terminal world should always exercise due diligence before copying and pasting random snippets of code found on the web for the terminal. Any Mac user looking to become a power user should make an effort to learn terminal basics. The ability to operate the terminal unlocks a feature set outside of the GUI and can do many of the GUI's functions. An additional perk is that terminal skills translate to Linux and Unix, good for server management/networking or web development. Many utilities are command-line only, like the ever power ImageMagick which can batch process images much faster than GUI applications. Prior to 10.15, Apple used Bash for its terminal but now has pivoted to ZSH.

    X86 - This is shorthand for "Intel" as the Intel CPU family has its roots in the 8086 family would evolve to the Intel 80286 in 1982, a CPU that was not initially designed for personal computers but would become one of the foundations for the PC revolution. The CPUs would be reduced from the long "80286" moniker to shorter names like the popular "i386" successor. The  CPU family eventually would land on "x86" to describe the set of instructions the CPU could execute. Apple would abandon in 2006 the IBM PowerPC (PPC) family for the Intel family, marking the 3rd time it had switched CPUs, as it originally started on the Motorola 68k instruction set.




    Know your Mac Pro 2019

    Mac Pro Tower and Rack Mount

    Pictured: Apple Mac Pro 2019 only comes in two form factors: tower and rack mount. Both are listed as a Mac Pro 7,1.
    Photo credit: Apple.com

    You can find out a Mac Pro's version by going to "About this Mac" -> System Report under the Apple menu. Currently, there is only one iteration of the 2019 Mac Pro, with the only meaningful difference being a rack mount vs. a standard case. This may change if Apple releases an updated Mac Pro.

    The Mac Pro desktop can be outfitted with Apple's comically overpriced $699 wheels. OWC, never one to miss an opportunity to overcharge, offers its $249 Rover Wheels. Apple has instructions on how to remove the feet / install the wheels.

    Mac Pro wheels

    Pictured: The infamous Mac Pro wheels
    Photo credit: Apple.com

    Installation required. A 1/4-inch to 4 mm hex bit is included, but additional tools are necessary. Replacing the Mac Pro wheels with feet reduces approximately one inch to the height of the frame.

    Specs overview

    • CPU LGA 3647 (Socket P). It is removable (upgradable)
    • Eight PCIe Slots (Four PCIe slots accommodate two MPX modules)
    • Two SATA-3 internal Ports
    • One internal USB 3.2 port
    • Two USB 3 ports (on a pre-installed Apple I/O card)
    • four Thunderbolt 3 ports (two on the Apple I/O card and two on the top of the case
    • two 10Gb Ethernet ports
    • 3.5 mm headphone jack with headset support
    • 802.11ac/Bluetooth

    Mac Pro ports

    Pictured: Mac Pro 7,1 default ports
    Photo credit: Apple.com

    Apple reports that each of the two MPX bays "provides x16 Gen 3 bandwidth for graphics, x8 Gen 3 bandwidth for Thunderbolt, DisplayPort video routing, and up to 500W power for an MPX module. Mac Pro has three full-length PCIe Gen 3 slots (one x16 slot; two x8 slots) with 75W of auxiliary power available; and one half-length x4 PCIe Gen 3 slot with an Apple I/O card installed by default.

    Also, see: How do you upgrade the processor in the "2019" Mac Pro? How is the processor mounted? Is it even possible to upgrade the processor?

    The only difference is the 8-Core CPU that ships with the base model down-clocks RAM, but upgrading the CPU will unlock the ability to use higher-clocked RAM.




    PCIe

    PCIe slots

    Pictured: Mac Pro 7,1 PCIe layout
    Photo credit: Apple.com

    Peripheral Component Interconnect Express (PCIe or PCI-E) is the evolution of PCI, which migrated from a parallel bus system (where all cards in a computer competed for the same bandwidth ) to discrete connections. The Mac Pro has a total of 64 lanes that can be managed via a utility that allows the user to define what ports receive more bandwidth, defined in "lanes". PCIe has become the backbone of computers since its first iteration in 2003 and continues to be used, even on laptops for high-speed storage. Apple Silicon computers for NVMe storage do not use PCIe.

    Each iteration of PCIe radically increases the speed by doubling the available bandwidth. Also, to add a minor bit of confusion, different chipsets have different amounts of total "lanes," measuring speed for a PCIe slot. PCIe slots are not all equal speed; thus, the total lanes are distributed across the PCIe slots.

    Not all PCIe slots are the same. The amount of lanes a PCIe slot has access to is expressed numerically: 1x (1 lane), 2x (2 lanes), 4x (4 lanes), 8x (8 lanes), and 16x (16 lanes). The maximum speed of each lane depends on the version of PCIe a computer has. A 1.x PCIe 1x slot has access to 250 MB/s. Thus a 4x has a maximum of 1 GB/s, and 8x has a maximum of 2 GB/s, and so on. Each generation of PCIe effectively doubles the speed of a lane. A PCIe 2.0 lane is 500 MB/s and PCIe 3.0 lane is 1 GB/s. Generally, PCIe speeds are expressed in bytes, not bits. A PCIe 3.0 16x speed (16 GB/s) would be 128 Gbps (128000 Mbps). In this guide, I will use MB/s and GB/s instead of Gbps and Mbps as transfer speeds are generally expressed in bytes, not bits.

    To reiterate the dramatic speed increases of PCIe based on generation: A 16x port in PCIe 1.x has a maximum of 4 GB/s, whereas a 2.x 16x port can handle 8 GB/s, 3.x is almost 16 GB/s. All PCIe slots are backward compatible; however, the caveat is that PCIe cards may not be backward compatible (this is not common). Also, not all PCIe cards will operate at the maximum port speed, as the card's chipset may limit them. Conversely, a PCIe card may support much faster speeds but will work in any PCIe slot but will be limited by the port's maximum speed. 

    The Mac Pro 2019 also uses "MPX" (Mac Pro Expansion Module), a double-height PCIe slot used for Apple-branded GPUs, and the Promise Pegasus R4i 32TB RAID MPX Module for Mac Pro. Apple lists one of its reasons for MPX, citing that modern GPUs were not designed with the entire thermal design of a PC, complicated to install because of power requirements, and they do not enable video-over-thunderbolt without taxing the PCIe bus additionally.

    The MPX slots have two independent Thunderbolt 3 ports with four total slots on the card. The Thunderbolt 3 controllers are on extra 8x lanes, hence having independent buses from the GPUs, leaving the entirety of the 16x slot bandwidth for the GPU.

    The advantages MPX offers are more power delivery, which means not needing to run additional cabling and Thunderbolt 3 passthrough and video support. There haven't been any 3rd party MPX modules. These have entirely been GPUs. MPX is not a requirement for GPUs.

    • PCIe 3.0
    • 64 Total PCIe Lanes
    • 8 Total PCIe SLot
      • Four double-wide slots
      • Three single-wide slots
      • One half-length slot preconfigured with the Apple I/O card
      • PCIe slots 1 and 3 direct CPU access
      • PCI Express switch fabric for other PCIe lanes

    PCIe lanes aren't always what they seem either, as some PCIe lanes have priority over others. The Mac Pro uses a 96-lane PEX8796 PCIe switch (PCI Express switch fabric) to manage PCIe lanes outside of the MPX slots. The MPX slots have direct CPU access. The end effect is that the direct access lanes are more performant. The end effect is that the direct access lanes are more performant. The lanes that are direct access are DMI or Direct Media Interface, which exist behind the Intel Direct Media Interface 3.0 bus MacRumors: Tsialex's about PCIe SSDs - NVMe & AHCI.

    PCIe slots

    Pictured: Mac Pro 7,1 PCIe controller layout
    Photo credit: Apple.com

    Bifurcation

    Motherboards, starting with PCIe 3.0, commonly support bifurcation, which allows a PCIe port to be split in half: One 16x port becomes two 8x or in quarters (16x -> four 4x slots). An 8x PCIe lane card thus can interface by splitting it into two sets of 4x lanes. This is almost exclusively used for NVMe SSDs as a singular PCIe slot can be used to connect to multiple NVMe SSDs. Bifurcation is mostly used for SSDs, allowing a single PCIe card to host two SSDs. Due to the majority of the PCIe bus being behind a controller, bifurcation isn't possible.

    While the Mac Pro can use PCIe expanders (a separate technology for external PCIe slots by harassing the bandwidth of a single PCIe slot), it doesn't support bifurcation. 

    PCIe cards can host more than two M.2 NVMe SSDs without bifurcation, but they require specialized controller chipsets. The result is that multi-drive M.2 PCIe cards, which are Mac Pro compatible, cost more. This is also discussed in the PCIe NVMe sleds/blades section.

    For a list of m.2 cards that support multiple NVMe drives, see the M.2 SSD hosts (sleds) section.

    PCIe Power Delivery

    PCIe Power Delivery

    Pictured: PCIe card layout and power
    Photo credit: apple.com

    By default, PCIe provides power via motherboard PCIe slot, up to 75w via the port itself. The power requirements have increased for high-performance GPUs, going past PCIe's initial design. PCIe cards started coming with additional power ports and increased pins to carry more power to combat the power delivery problem. Generally, additional power is drawn directly from 12v taps off the power supply that the user can configure in PCs. The Mac Pro uses an uncommon passthrough where the PCIe power is delivered via pass-throughs on the motherboard rather than directly to the power supply and these use the mini-PCIe power cables format akin to it's older sibling, the classic Mac Pro. There are two power ports on the Mac Pros on the motherboard that can be tapped for additional power.

    The Mac Pro 7,1 features:

    The mini PCIe power cables are custom, Apple sells the Belkin Belkin AUX Power Cable Kit for Mac Pro but theOWC PCIe AUX Power Cables Kit is than half the price of Apple.

    The MPX modules can provide up to 300w of power.

    Apple I/O Card

    Apple I/O Card

    Pictured: Apple I/O Card
    Photo credit: ifixit.com

    The Mac Pro 2019 comes preinstalled with a specialized card in slot 8, which features a headphone jack, two USB 3.0 Ports (5 Gb/s), and two Thunderbolt 3. The card sports a specialized routing connection that allows for routing display output from MPX modules to these two Thunderbolt 3 ports.

    Due to the customized nature of the card, you cannot install a second Apple I/O Card.

    PCIe 4.0 and the Mac Pro

    When users complain about the lack of PCIe 4.0 on the 2019 Mac Pro, there are certainly practical reasons to want PCIe 4.0 today, but its effects depend on the device. There are a few modern PCIe 4.0 GPUs, most run at PCIe 8x 4.0, which effectively places them at the same speed as a 16x PCIe 3.0 slot. This is because GPUs do not use the amount of bandwidth most people assume they do. Puget Systems tested running an Nvidia Titan X in a PCIe 3.0 8x and 16x slot, and differences were really minor, and we can go much more modern with TechSpot.com testing out an RTX 3080 FE in a PCIe 4.0 and 3.0 computer and a smaller YouTube channel, SkuezTech tested out RX 5700 XT on PCIe 4.0 and 3.0. Again, the results barely changed. When we move to PugetSystem's test to Machine Learning Training, there's little difference between 8x and 16x PCIe slots. At least for the near future, GPUs, despite their huge power draws, aren't massive PCIe bandwidth hogs.

    However, SSDs are much more capable of saturating the PCIe bus than GPUs. NVMe is based on the 4x standard. The Samsung 980 Pro can hit 6500 MB/s on a PCIe 4.0 computer and is capped at 3500 MB/s on a PCIe 3.0. Mac Pro 2019 users looking to obtain PCIe 4.0 speeds can buy specialty M.2 Host cards that negotiate more lanes for PCIe 3.0 to get the full speed. This was a common upgrade path for classic Mac Pro owners as they could use a PCIe 16x slot to get PCIe 3.0 speeds to their full potential.




    Power Supply

    The Mac Pro uses a non-standard PSU that does not follow the ATX convention. The power supply provides a 1.4 kW power supply capable of delivering 1280W to the system at 108–125V or 220–240V and 1180W at 100–107V. Thus far, the PSU's pin-outs have not been mapped.

    The Mac Pro featuers internal power connectors from the motherboard:

    See Apple.com - Mac Pro: Power consumption and thermal output (BTU/h) information.

    ATX Power Supplies?

    To my knowledge, no one has bothered to attempt replacing the Mac Pro's PSU with a non-Apple PSU. Few users will tax their PSU to the point of worrying about damaging it or triggering an auto-shutoff. Apple designed the PSU to handle extreme configurations such as a 2.5GHz 28-core Intel Xeon W processor, two Radeon Pro Vega II Duo MPX Modules with Infinity Fabric Link, 1.5TB RAM (twelve 128GB 2933MHz DDR4 ECC DIMMs), Afterburner card, 4TB SSD, which Apple boasts on its official documentation.




    Case

    Apple's aluminum lattice design allows for a passthrough from front to back. Apple claims that the lattice design "two-dimensional open area for a high-airflow, low-impedance design that allows the system to be cooled efficiently while operating very quietly compared to competitive tower workstation systems."

    While that may be up for debate if the lattice design is superior to other forced-air passthrough cases on the market, the Mac Pro 2019 is very quiet and unique.

    Opening the case requires using the handle latch on the top and rotating it 180 degrees to unlock it. Due to the sliding mechanism, all the cabling must be unplugged to open the case. Snazzy Labs demonstrated in a video that you could modify the case so this isn't required.

    Once the outer aluminum chassis is removed, you can the Mac Pro from multiple angles, making it very easy to work on.

    To my knowledge, absolutely no one has bothered to try and replace the case, and for a good reason: I haven't used any better design cases as the Mac Pro 2019 is incredibly easy to work on. Case mods are unlikely to be popular.

    Fans

    Mac Pro Fans

    Pictured: Apple Mac Pro
    Image Credit: Apple WWDC 2019 Keynote

    "Years ago, we started redistributing the blades ,” he says. “They’re still dynamically balanced, but they’re actually randomized in terms of their BPF [blade pass frequency]. So you don’t get huge harmonics that tend to be super annoying.” Popular Mechanics "The Thermodynamics Behind the Mac Pro, the Hypercar of Computers"

    Thus far, no one has replaced the fans on a Mac Pro 2019, and for a good reason, the cooling design of the Mac Pro 2019 and near silence is one of the biggest selling points of the computer. At best, any fan replacement with a non-OEM model would be a lateral move.

    Something loud but pleasantly pitched can be more tolerable than something quiet but irritating. “You can have something at a certain SPL [sound pressure level] that sounds really good, but you can have something that’s actually at a lower SPL that grates on your nerves and sounds really awful,” says John Ternus, VP of Hardware Engineering at Apple and head of the Pro and Pro Display’s development. “We want to get really great performance where you either can’t hear it, or if you can hear it, it’s kind of a pleasant noise. A ton of analysis goes into figuring out how to optimize for that.” - Chris Ligtenberg, Senior Director of Product Design, Popular Mechanics "The Thermodynamics Behind the Mac Pro, the Hypercar of Computers"

    Apple's previous Macs have used non-standard fan controls and unique cooling solutions. The classic Mac Pro requires a custom PCB to be wired to interface correctly with standard PC fans. The Mac Pro 2019 is unlikely to be any easier.




    Onboard networking

    The Mac Pro 2019 features dual 10Gb Ethernet with independent controllers for each ethernet port.

    • NBASE-T standard RJ45
    • 1Gb, 2.5Gb, 5Gb, or 10Gb/s

    The Mac Pro features onboard wireless networking 802.11ac Wi-Fi, IEEE 802.11a/b/g/n compatible, and Bluetooth 5.0.




    Apple T2 "Security" chip

    t2-chipset

    Pictured: Apple T2 Security chip
    Image Credit: wikipedia.org

    One of the "features" of the Mac Pro 2019 is the Apple T2 which is a SOC designed exclusively for Apple's Intel-based Macs and is essentially a computer within a computer as it has its own RAM and CPU. The T2 integrates discrete controllers like System Management Controller (SMC), audio, and the SSD controllers, the latter used for Secure Enclave. Apple has a dedicated coprocessor for Secure Enclave called the Secure Enclave Procesor (SEP) running its own OS called sepOS, which allows for hardware-accelerated and validated encrypted boot and storage. It features its own random number generator (apart from Intel's) and provides the cryptographic operations for key management (FileVault, macOS keychain, UEFI firmware passwords, and machine's UID/GID.). The secure boot uses components that are cryptographically signed by Apple and verified by T2 during the boot sequence for boot loaders, firmware, kernel, and kernel extensions. This ensures the OS is software trusted by Apple loads. However, it has since had several security flaws found.

    "Apple uses SecureROM in the early stages of boot. ROM cannot be altered after fabrication and is done so to prevent modifications. This usually prevents an attacker from placing malware at the beginning of the boot chain, but in this case also prevents Apple from fixing the SecureROM. The net effect is Apple cannot fix this problem without replacing the T2 chip, but as long as a machine is bootable into DFU, it can be “repaired” by a trustworthy second machine." - Rick Mark, blog.Rickmark.me

    The known T2 security compromises require physical access to the computer, which of course, any digital system is greatly compromised. An attacker has direct physical access to the system, and doesn't appear to compromise FileVault.

    The T2 is a variant of the Apple 10, a 16 nm 64-Bit ARMv8.1. The T2 chipset also provides an Image coprocessor which is used for Facetime cameras on Intel Macs. The Mac Pro 2019 does not have an internal webcam, so it is unclear if the Image coprocessor is used. It also has a video codec accelerator for encoding/decoding h264/h265, speech recognition for "hey Siri," and for TouchBar Macs, runs the Touchbar.




    Afterburner

    afterburner

    Pictured: Afterburner
    Image Credit: Apple.com

    The Afterburner card is a curiosity by Apple. It is a PCI Express hardware accelerator for only decoding ProRes and ProRes RAW video (ProRes 422HQ, ProRes 4444, ProRes XQ, and ProRes RAW) with the exception of interleaved video (1080i). It also does not accelerate encoding.

    The Afterburner card is an FPGA (field-programmable gate array) chipset. Retro game enthusiasts might be familiar with FPGAs as they've become quite popular as a hardware-level way to re-create retro game consoles without full emulation for unparalleled accuracy while allowing for modern features. The Afterburner can handle 6.3 billion pixels per second.

    Apple boasts:

    "It uses a secure firmware loading process that ensures it can only run Apple authorized code and can be reprogrammed on the order of 50 milliseconds. The driver that manages the Afterburner card will load-balance ProRes decode tasks across multiple Afterburner cards if installed. With application support, Afterburner and CPU can be utilized together, enabling even higher stream counts and more demanding projects on a Mac Pro."
    Codec stream type 28-Core Xeon CPU + Afterburner
    ProRes 422 4k 30FPS 15 streams 16 streams
    ProRes Raw 4k 30FPS 2 streams 23 streams
    ProRes Raw 8k 30FPS 2 streams 6 streams

    It works within applications that use Apple's VideoToolbox APIs, such as Final Cut Pro, Blackmagic DaVinci Resolve, Adobe Premiere Pro, QuickTime Player, and other media applications.

    The AfterBurner card has been since replaced in Apple Silicon with the "Media Engine," which is much more effective. The M1 Pro is able to outperform a Mac Pro equipped with the $1999 Afterburner card. 




    Firmware And OS

    The Mac Pro 2019 is a T2-equipped Mac. The T2 chipset uses a different mechanism than previous Mac Pros to update the firmware and are unable to run "eficheck". 

    You can check the firmware version by going to "About this Mac". 

    OS upgrades

    The Mac Pro 2019s were first supported in Catalina 10.15.1, which is the earliest OS they can run. If you are looking for pre-Catalina support, macOS can be virtualized with popular software like VMware Fusion, Parallels, or Virtual Box. This may or may not work for your needs.

    The Mac Pro 2019 is natively supported by macOS and will likely be so for years to come. 

    It can also dual boot Windows or other alternative OSes, but this requires disabling SIP to allow non-Apple SSD booting.

    The Mac Pro using emulation such as QEMU, can run PowerPC versions of Mac OS with varying degrees of success. 

    Downloading old versions of macOS

    While the earlier version of macOS that can be booted on the xMP is 10.15.1, there's a wide variety of virtual machine software available. The Mac Pro's ability to have massive amounts of RAM and many CPU cores makes it ideal for virtual machines, docker setups, and QEMU.

    Apple has finally wised up and allowed direct downloads of (some) DMGs, which can be found here going back as far as macOS 10.10. Apple does still sell CDs of 10.7 and 10.8 and finally offers them as a direct download. Mac OS X 10.7 Lion and Mac OS X 10.8 Mountain Lion. Below is a list of download links (and source) for previous macOS versions. 


    Disabling System Integrity Protection

    As mentioned in the glossary, SIP functions as a method of system protection. Apple describes it as follows:

    "(A) security technology in OS X El Capitan and later that's designed to help prevent potentially malicious software from modifying protected files and folders on your Mac. System Integrity Protection restricts the root user account and limits the actions that the root user can perform on protected parts of the Mac operating system."

    Before Apple implemented SIP, any software that was granted root access (by the user entering her/his password) could modify/edit system files. Generally, a user shouldn't disable SIP unless there's a specific reason. That said, there are plenty of reasons to disable SIP, such as certain boot managers or for unsupported hardware cases. SIP can always be re-enabled.

    Disabling Secure Boot

    Disabling Secure Boot on the 2019 Mac Pros is generally a common behavior as the only volume the Mac Pro will boot off of is the factory SSD if you do not enable the SSD. You cannot remove the Apple-provided SSD(s) and still boot regardless if Secure boot is on or off.

    Running Apps from unidentified developers

    opening a mac app using right click

    Left: the warning users will receive without right-clicking open. Right: warning message when right-clicking/option clicking bypass

    Gatekeeper no longer has a "allow apps downloaded from anywhere," but it is still possible to bypass and whitelist applications by right-clicking and selecting open.




    CPU Upgrades

    The Xeons are built on the same architecture as its desktop-grade siblings. Every Mac Pro made (including the 2013s) has sported multicore, interchangeable Xeon series CPUs. The Xeon CPUs' main benefit has been more CPU cores, the ability to support multi-CPU motherboards, larger cache memory, more PCIe lanes, much higher maximum RAM, and Error-correcting code memory (ECC). These benefits come with a trade-off as the Xeon line had much higher price points, doesn't have built-in support for overclocking, and generally operates at (slightly) lower-clock speeds.

    As a computer is the sum of many parts (not just the CPU), CPUs are not interchangeable between Xeon generations.

    The Mac Pro Xeon Ws feature Turbo Boost (dynamic frequency scaling, allowing the CPU "overclock" when demanding tasks are running), Hyper-threading ( Intel's proprietary simultaneous multithreading that allows for a single core to be addressed as two cores to share workloads when possible), dual AVX-512 Vector units with FMA (fused multiply add) support and six DDR4 memory channels. AVX (Advanced Vector Extensions) are additional instruction sets for x86 that were proposed by Intel and AMD in 2008 and later adopted in CPU designs. The latest is AVX-512. Due to long-tail support and slow adoption of AVX changes by AMD, AVX requirements for applications have been slow to roll out on both macOS and Windows. Rosetta under Apple Silicon does not support AVX translation, also further reducing adoption by programmers to use AVX under macOS.

    AMD's Ryzen 4000 series are 7-nm. Apple's A14 CPUs are 5-nm. This is one of the main drivers for Apple's switch to Apple Silicon. The original Mac Pro 1,1 shipped with a 65-nm CPU, and the 3,1-5,1 with 45 nm CPUs, with the 6,1s coming in at 22-nm. Intel hit 14 nm in 2014 with the Intel Core-M series. It wasn't until Alder Lake in late 2021 Intel moved beyond 14 nm.

    Complete compatible CPU list

    Note: The Apple listed maximum RAM is below what MacRumors.com Forum posters discovered.

    Architecture Cores Grade CPU-Model GHz Turbo RAM Watt Max RAM
    Cascade Lake 28 core Xeon W W-3275M 2.5 4.4 2933 205W 2TB
    Cascade Lake 28 core Xeon W W-3275 2.5 4.4 2933 205W 1TB
    Cascade Lake 24 core Xeon W W-3265M 2.7 4.4 2933 205W 2TB
    Cascade Lake 24 core Xeon W W-3265 2.7 4.4 2933 205W 1TB
    Cascade Lake 16 core Xeon W W-3245M 3.2 4.4 2933 205W 2TB
    Cascade Lake 16 core Xeon W W-3245 3.2 4.4 2933 205W 1TB
    Cascade Lake 12 core Xeon W W-3235 3.3 4.4 2933 180W 1TB
    Cascade Lake 8 core Xeon W W-3225 3.7 4.3 2666 160W 1TB
    Cascade Lake 8 core Xeon W W-3223 3.5 4.0 2666 160W 1TB



    GPU upgrades

    Likely for most users, the most attractive upgrade for the Mac Pro 2019 is the ability to upgrade the GPU thanks to PCIe.

    The Mac Pro 2019 GPU landscape can be divided up into two classes of GPUs: MPX and standard PCIe.

    MPX Module

    Pictured: W6800x Pro Duo MPX Module
    Image Credit: Apple.com

    Apple's MPX standard is a modified PCIe GPU that has a secondary interface to provide Thunderbolt 3 video passthrough / Thunderbolt 3 ports and additional power delivery (removing the requirement for PCIe 6 / 8 pin power cables).

    The standard PCIe GPUs are non-MPX and do not have the ability to pass video through Thunderbolt 3. 

    Users familiar with the classic Mac Pros needn't worry about EFI boot screen support as the Mac Pro 2019s use UEFI, and thus off the shelf supported AMD GPUs can out.

    NVidia and Apple

    The Apple vs. Nvidia squabble easily could form a novel based on rumors, accusations, and half-truths. The hard facts are as follows:

    Apple and Nvidia had a falling out after including Nvidia GPUs in their MacBooks resulting in Apple switching to AMD. For years, Nvidia was able to write 3rd party drivers for its GPUs known as web drivers. This supported Nvidia GPUs that Apple never supported and lasted years until Apple decided to revoke Nvidia's developer license at the end of 10.13 High Sierra, drastically harming Apple's most dedicated user-base. The only usable GPUs in Mojave and beyond are a handful of older Nvidia GPUs based on the Kepler architecture. The best Kepler Nvidia GPU doesn't outperform the lowest MPX GPU Apple ships. These GPUs have been omitted from this guide.

    Mac Pro 2019 owners can still install Nvidia GPUs and use them in Windows or other OSes, but they are unsupported in macOS. 

    If you'd like to learn more about the history, I've written Apple vs. Nvidia: What happened? to try and contextualize Apple and Nvidia's relationship.


    GPU lengths: Buyer Beware

    The Mac Pro 2019 can only accomendate GPUs that are no longer than 305mm or 12 inchses in length. See iSwitcher.com (on archive.org) for old post. Sadly the images are lost to time.

    The Compatible GPU list

    As mentioned in the Nvidia section, I've elected to omit the lower tier AMD GPUs even though you can use an AMD RX 560 in 2019. If you'd like to see them, go to The Definitive classic Mac Pro Upgrade Guide, the complete aftermarket GPU List.

    AMD GPU VRAM Ports
    Radeon Pro 580X MPX Module 8GB of GDDR5 Two HDMI 2.0 ports
    Radeon Pro W5500X MPX Module 8GB of GDDR5 Two HDMI 2.0 ports
    Radeon Pro W5700X MPX Module 16GB of GDDR6 four Thunderbolt 3 ports, and one HDMI 2.0 port
    Radeon Pro Vega II MPX Module 32 GB of HBM2 four Thunderbolt 3 ports, and one HDMI 2.0 port
    Radeon Pro W6800X MPX Module 32GB of GDDR6 four Thunderbolt 3 ports, and one HDMI 2.0 port
    Radeon Pro W6900X MPX Module 2GB of GDDR6 four Thunderbolt 3 ports, and one HDMI 2.0 port
    Radeon Pro Vega II Duo MPX Module 32GB of HBM2 four Thunderbolt 3 ports, and one HDMI 2.0 port
    Radeon Pro W6800X Duo MPX Module 32GB of GDDR6 four Thunderbolt 3 ports, and one HDMI 2.0 port

    Non-MPX GPUs

    Aftermarket GPUs do not have the Thunderbolt 3 passthrough. If an MPX module isn't present, the Thunderbolt 3 ports on the Mac will not output video. Displays will need to be attached directly to the GPU. All aftermarket GPUs will output a boot screen as the Mac Pro 2019s use UEFI. The Mac Pro 2019s cannot boot below Mac Pro 10.15.1. GPUs that perform below the RX 580 are not listed as the lowest GPU. Any Mac Pro 2019 is likely to have at the very worst, the Pro RX 580 MPX module.

    The aftermarket GPUs will need PCIe power delivery, via the power ports on the Mac pro that are non-standard, see The PCIe power delivery section for more details.

    AMD GPU Min OS Support
    Radeon RX 580 10.12.6 - Curr
    Radeon RX 580x 10.12.6 - Curr
    Radeon Pro WX 7100 10.13? - Curr
    Radeon Pro WX 8100 10.13? - Curr
    Radeon Pro WX 9100 10.13? - Curr
    Radeon Pro Duo 32GB GDDR5 512-Bit 10.13? - Curr
    Vega 56 10.13.x - Curr
    Vega 64 10.13.x - Curr
    Vega Frontier Edition 10.13 - Curr
    Radeon VII 10.14.5 - Curr
    Radeon 5500 XT 10.15.2 - Curr
    Radeon 5600 XT 10.15.3 - Curr
    Radeon 5700 10.15.2 - Curr
    Radeon 5700 XT 10.15.2 - Curr
    Radeon 6600 Unsupported
    Radeon 6600 XT 12.1 - Curr
    Radeon 6700 Unsupported
    Radeon 6700 XT Unsupported
    Radeon 6800 11.4 - Curr
    Radeon 6800 XT 11.4 - Curr
    Radeon 6800 XT *unsupported (can be used with OpenCore in 11.4+)
    Radeon 6900 XT 11.4 - Curr
    Radeon 6950 XT *unsupported (can be used with OpenCore in 11.4+)

    Windows and GPUs

    The MPX GPUs are compatible with Windows and will output Thunderbolt 3 over the MPX ports found in the upper-tier MPX modules. Mac Pro 2019s can boot with Nvidia GPUs, but they will be only usable in non-macOS operating systems like Windows 10 or 11.



    I/O Upgrades

    The Mac Pro 7,1 can use a host of upgrades. The I/O (Input/Output) is a catch-all umbrella term I'm using for anything that doesn't fall under GPU, SSD interfaces, or audio PCIe cards.  I/O Upgrades include networking and peripherals interfaces (USB/Firewire/SATA). This isn't a complete list of all possible I/O cards, but instead, a list of common significant I/O cards, and I'm always looking to extend the list.

    USB 3.1 / USB 3.2 Gen 1 / Gen 2

    The USB 3.x standard has had a few rebrandings, and the language on devices can often be confusing, as due to the recent rebranding, some devices might be labeled as "USB 3.0" or "USB 3.1 Gen 1" or "USB 3.2 Gen 1" which is entirely the same. Cynically, device makers lobbied for this change so that they wouldn't potentially lose out on sales moving forward.

    Below is a small chart of names for each tier of USB.


    Original Name 2013 Rebrand 2019 Rebrand Bandwidth
    USB 3.0 USB 3.1 Gen 1 USB 3.2 Gen 1 5 Gbps (625 MB/s)
    USB 3.1 USB 3.1 Gen 2 USB 3.2 Gen 2 10 Gbps (1250 MB/s)
    USB 3.2 - USB 3.2 Gen 2x2 20 Gbps (2500 MB/s)

    If the above is confusing, I do not blame you as I find it too.


    USB Cards and Performance

    USB 3.x cards with type-A are one of the most common upgrades for a Mac Pro. Still, it is important to understand that there is a great deal of performance difference between cheap USB cards vs. high-end ones (such as Sonnet's Allegro Pro), and this comes down to three factors: How many controllers per port, USB generation, and how much bandwidth.

    Generally, inexpensive USB cards will feature one controller and 4-ports, and be listed as USB 3.0 or USB 3.2 Gen 1. This means 625 MB/s is divided roughly 4 by 4 (although not exactly). A user should expect to see only roughly 150-250 MB/s on a singular port regardless of anything else is plugged into a card.

    A USB 3.2 Gen 2 or USB 3.1 card with four ports and two controllers will likely see 625-800 MB/s per port.

    USB 3.0

    • Sonnet Allegro USB 3.0 / Sonnet Allegro Pro
    • Inateck KT4004
    • RocketU 1144D / HighPoint RocketU 1144C
    • HighPoint RocketU 1144E
    • CalDigit FASTA-6GU3 Pro (Discontinued)
    • HighPoint RocketU 1144CM -
    • Inateck PCI-E to USB 3.0 - (Caused Reboot loop in 2008 Mac Pro)
    • Sonnet Technologies Tempo Duo PCIe (2x eSATA / 2x USB 3.0) - (discontinued)
    • Newer Technology MAXPower 2 port eSATA 6/GBs & 2 Port USB 3.0

    USB 3.x

    Any card using the ASMedia ASM3142 should be macOS 10.11.x+ compatible as this controller is supported by macOS as long as it doesn't require external power. One of the most popular ASM3142 import cards (often a black PCIe card with names like Tuneway Usb3.1 Type-C, WEI-LUONG USB 3.1 to Type-C, YISUNF USB 3.1 to Type-C 2 Port, Camisin USB 3.1 to Type-C 2) is not macOS compatible due to the power requirements.

    • MAXPower 4-Port USB 3.1 Gen 1
    • Sonnet Technologies Allegro USB-C
    • StarTech 4-Port USB 3.1 (10Gbps) Card PEXUSB314A2V
    • CalDigit FASTA-6GU3 Plus (USB 3.1 / 2x eSATA)
    • Sonnet Technologies Allegro™ Pro USB 3.1 PCIe
    • Sonnet Technologies Allegro USB-C 4-Port PCIe
    • Rosewill RC-20002 USB 3.2 Gen 2 Type-C, 2 x USB 3.2 Gen 2 Type-A ports
    • FebSmart 1X USB-A & 1X USB-C 10Gbps Ports PCIE USB 3.1 Gen 2 Card
    • FebSmart 2X 10Gbps USB-C Ports PCIE USB 3.1 Gen 2
    • FebSmart USB 3.1 Gen 2 2X 10Gbps USB-A
    • FebSmart 2X USB-C & 3X USB-A 10Gbps Ports PCIE USB 3.2 Gen 2 Card
    • FebSmart 5X 10Gbps USB-A Ports PCIE USB 3.2 Gen 2
    • BEYIMEI PCI-E 4X to USB 3.1 Gen 2
    • LTERIVER PCI Express to 2 USB 3.1 Gen2 Type A 10Gbps Ports Expansion Card
    • LTERIVER PCI Express to 2X USB 3.1 Gen2 Type C 10Gbps
    • Ableconn PEX-UB158 USB 3.1 5-Port PCIe 3.0 Card (1x USB-C & 2X USB-A & 1x 2-Port Internal USB Header

    SATA/eSATA

    Note: Not all SATA cards are bootable on macOS. Known bootable cards will be listed as such.

    • NewerTech MAXPower PCIe eSATA 6G Controller - Bootable
    • MAXPower 4-port eSATA 6G PCIe 2.0 - (bootable)
    • MAXPowereSATA 6G PCIe 2.0 RAID 0/1/5/10
    • MAXPower RAID mini-SAS 6G-2e2i
    • Sonnet Technologies Tempo SATA Pro - Bootable
    • Sonnet Technologies Tempo SATA E2P
    • Sonnet Technologies Tempo SATA 6Gb/s PCIe 2.0 - (discontinued)
    • Sonnet Technologies Tempo SATA Pro 6Gb PCIe 2.0 - (discontinued)
    • SYBA SY-PEX40039 SATA III
    • HighPoint Rocket 620 2 SATA
    • ORICO PFU3-4P 3 Port
    • ATTO ExpressSAS H680 Low-Profile x8-External Port
    • ATTO ExpressSAS H644 Low-Profile 4-Internal/4-External Port
    • ATTO ExpressSAS H6F0 16-External

    Ethernet (10 Gigabit +)

    If I'm missing cards or any are no longer supported in macOS, please let me know.




    Storage Upgrades

    The Mac Pro 2019 can use a variexty of storage options, between SATA Hard disk Drives, SATA SSDs, AHCI SSDs, and NVMe SSDs, and Apple's proprietary NGFF SSDs.

    Hard Disk Drives / SATA connections

    Like many data interfaces, SATA (aka Serial ATA) has gone through multiple iterations, SATA1 (max transfer speed of 150 MB/s), SATA2 (max transfer speed of 300 MB/s), and finally, its last incarnation, SATA3 (max transfer speed of 600 MB/s). The Mac Pro 2019s sport two internal SATA3 ports and a USB 3.0 port, allowing them to use three internal drives without any additional controller cards.

    The Mac Pro 2019 does not come with any internal drive mounts, and thus the internal drive bays must be purchased / 3D printed/manufactured. Even in the high-speed era of NVMe SSDs, SATA is still useful as the price-per-gigabyte still favors mechanical (Spinning disk) Hard Disk Drives.

    </p>The Mac Pro 2019 uses a custom power connector to provide power SATA3 devices. This makes adding in internal SSDs even more of a hassle beyond lacking standard mounting. (see j-w.co's article on Mac Pro 2019 pin-outs)</p>

    Thanks to their price-per-gigabyte, mechanical hard drives are still a place in the SSD world, especially for backup. The Mac Pro can use any SATA Hard disk drive, including 2.5-inch drives with 2.5-inch to 3.5-inch mounting brackets for the 4 drive bays. This extends to eSATA as well, although an eSATA PCIe card must be present to make use of eSATA drives.

    Not all HDDs are equal, and more goes into HDDs than cache sizes and RPMs. Many of the inexpensive HDDs use Shingled Magnetic Recording (SMR), which lowers the cost per gigabyte by allowing more data on a platter but with a performance penalty. It's important to do research, depending on the application.

    Any external HDD should be presumed to be compatible with Mac OS (outside of extreme edge cases).

    PCIe SATA + SSD Sleds

    Once very popular with classic Mac Pro owners, PCIe sleds are PCIe cards that are a SATA3 controller with one to two mounts for 2.5 SATA drives. Users can still use PCIe SATA 3 cards + SATA SSD drives. These are compatible with the Mac Pro 7,1 but generally represent a legacy vector for Mac users transitioning from a classic Mac Pro to the 7,1 as it provides two SATA 3 ports or users with a collection of SATA SSDs.

    There are numerous makes, including Sonnet Technologies (Tempo SSD (2x 2.5 SSD), OWC (Accelsior), and Newer Technology.

    The M.2 format and Apple NGFF

    M.2 (also known as NGFF, Next Generation Form Factor) is the latest common format for high-speed SSDs. M.2 is the interconnect, and modern motherboards often have M.2 card slots built-in, especially in the laptop market. M.2 itself doesn't dictate the underlying technology. The M.2 format has a standard set of pin-outs, whereas Apple's variant uses a non-standard pin-out.

    M.2 has two main variants, AHCI and NVMe, which are discussed in the AHCI SSD and NVMe SSD sections. Apple's variant is no different and supports AHCI or NVMe. In the 2019 Mac Pros, these are exclusively NVMe.

    By default, the Mac Pro comes equipped with internal SSD(s) using proprietary Apple SSDs. These are managed by Apple's T2 chipset and are required for booting. These are user-replaceable but require Apple-certified SSDs (you cannot use NGFF to NVMe adapter) as they require T2 compatibility. Once the SSD has been replaced, you'll boot into restore using the Apple configurator 2. Apple lists the process here and also has a support document on its website about Apple Configurator 2 and Intel Macs. Apple sells its internal SSDs at its website for incredibly poor pricing, at $600 for 1 TB. Most users will elect to boot off NVMe SSDs as the single drive performance of the Apple SSD is underwhelming and wantonly overpriced for lower storage configurations.

    One of the quirks of the Mac Pro 2019s is if you remove the Apple SSDs, even if Secure Boot is disabled, the computer will fail to boot.

    The M.2 format and host PCIe cards
    One half of the NVMe puzzle

    Sonnet M.2

    Pictured: Sonnet M.2 4x4 PCIe Card (with controller chipset for multiple NVMe SSDs)
    Pre-edit Image Credit: Sonnet.com

    Apple's Macs with removable SSDs all use non-standard slots for NVMe Apple's semi-proprietary NGFF variant, which doesn't have an official name. For example, previous-generation Macs like the Mac Pro 2013 or MacBook Pros 2013-2015 allowed NGFF key adapters to convert to standard M.2 pin-outs. Apple introduced the first upgradable storage with the T2 chipset on the iMac Pro, which only accepts Apple-OEM drives. To my knowledge, no third party makes sell Apple NGFF SSDs.

    Using M.2 SSDs requires a host PCIe card as the Mac Pro 7,1 does not have any standard M.2 slots. The Mac Pro 2019 doesn't quite have the PC field's options for host card options because it does not support bifurcation, the ability to split high-speed PCIe port into two lower speed ports (see the PCIe portion of this guide for more info). Instead, the Mac Pros must use cards with controller chipsets specifically for computers that do not support bifurcation, hence more expensive. Also, important to note that some M.2 cards' physical sizes can pose problems for certain host cards, so go to the MacRumors thread for more info.

    Multi-drive cards use a controller chipset such as the ASMedia ASM2824 and PLX8747. The users can search for cards that use the ASM2824 or generic PLX8747 as they are usually macOS compatible.

    TThe ASM2824 chipset is currently the most popular NVMe chipset for multiple NVMe drives as it's less expensive and able to achieve faster speed caps in single-drive performance, although the PLX8747 is the performance crown used in the Sonnet and Highpoint 16x cards.

    Classic Mac Pro owners will be happy to learn that with the PCIe 3.0 bus comes a lot more performance for SSDs, but PC users might be disappointed to learn that the Mac Pro's performance is capped to PCIe 3.0.

    Multi-drive cards with a single drive can sometimes have issues, specifically the lesser ASM2824 cards, requiring both slots to be filled to prevent crashes.

    Generally, many users opt to boot off a single SSD and use RAID as a storage/scratch disk.

    Below is a list of known-good adapters. Most generic NVMe single slot hosts are Mac Pro 2019 compatible.

    Model NVMe M.2 slots
    Kingston HyperX Predator (AHCI only) 1
    NGFF M key M.2
    This is a generic card with multiple variants by various importers
    1
    Lycom DT-120 1
    ULANSEN M.2 to PCIe 1
    Angelbirds Wings PX1 1
    Aqua Computer kryoM.2 1
    Aqua Computer kryoM.2 Evo 1
    Wolftech pulsecard 1
    RIITOP M.2 NVMe/DIEWU TXB122
    (This particular card has multiple variants by various importers)
    2
    Syba I/O Crest SI-PEX40129 (ASM2824)

    (This particular card has multiple variants by various importers (ASM2824)) Warning: New versions of this card appear to require two drives present
    2
    Ableconn PEXM2-130 / StarTech PEX8M2E2 / Lycom DT-130 / etc
    (This particular card has multiple variants by various importers, (ASM2824))
    2
    Accelsior 4M2 (PLX8747) 4
    Amfeltec Squid series
    Some are PLX8747
    4
    PLX8747 Generic 4
    Highpoint 7101A (PLX8747) 4
    HighPoint Technologies SSD7540 4
    ASM2824 Quad M.2 NVMe SSD
    (aliexpress generic card) confirmed working by MacProUpgrade (requires FaceBook Membership). This is a card also available from many no-name white-label vendors: Add On/ADWITS/RIITOP/BGNing etc.
    4
    Sonnet M.2 4x4 PCIe Card FUS-SSD-4X4-E3: 4
    Sonnet M.2 4x4 PCIe Card (Silent) 4

    Can I use a card that isn't listed above that host's multiple NVMe drives?

    Almost 95% of the time, no, but other cards are floating out there that might. Most M.2 hosts rely on bifurcation. The Mac Pro does not support bifurcation. See the bifurcation section for details. Many cards that support bifurcation can be used for a single drive giving users the illusion it might work with multiple cards. Popular cards like the ASUS Hyper M.2 x16 Card v2 4 x M.2 Socket 3 will not host multiple drives in a Mac Pro. However, if the card uses the ASM2824 or PEX8732, or a PLX8747 chipset, you can use it. An easy way to tell if a card doesn't have a chipset is if it is significantly cheaper than the Ableconn PEXM2-130 / StarTech PEX8M2E2 / Lycom DT-130 / etc. (this card has many importers) in your area of the world. If it is, it most likely doesn't have a controller.

    Which card is the best?

    Inevitably this question will be asked. It's complicated to recommend a single card because of the price. From a pure performance standpoint and hassle-free experience, the four-port cards from Highpoint and Sonnet are the most desirable. Each company has a high reputation with Mac users.

    M.2 and Heatsinks

    When looking at SSD options, you'll probably notice some hosts include heat sinks, and others do not.

    It's easy to find conflicting info on AHCI and NVMe SSDs and heat sinks. The short answer is that SSDs are intelligent enough to self-throttle if they get too hot. Thus it is extremely unlikely heat will damage them. NVMes run warm, but it takes quite a bit to heat them. The NAND memory itself doesn't require any cooling and generally is supposed to be warm to touch. The controller chipset is the portion of the SSD that heatsinks benefit the most from cooling. There have been debates about whether cooling could be detrimental, but the current consensus is a passive heatsink at worst doesn't do much and likely keeps the SSD running at optimal speeds, so it doesn't have to thermal throttle. Even a cheap generic SSD heatsink often causes a drop of 10-15C (roughly 50 degrees in Fahrenheit).

    For most users, self-included, the heatsink won't change day-to-day operation. Only when you get to cards that can operate four drives, it tends to be the general consensus that a heatsink is advisable as there are multiple NVMes in close proximity that could lead to thermal throttling.

    Aftermarket heatsinks can be bought and attached to SSDs. Still, if you do go this route, some experts recommend removing the label as many labels function as heat distribution/heat dissipation, like those found on the Samsung drives. Multi-drive M.2 cards require a heatsink over the PCIe switch/controller chipset as the popular ASMedia 2824, or the PLX8747, runs warm. Often this is folded into the entire chassis like on the Highpoint and Sonnet designs, which provide a large heatsink that works for both the PCIe card itself and the drives.

    PCIe AHCI (Advanced Host Controller Interface) SSDs

    AHCI is the technology behind the SATA standard.

    Mac Pros can boot AHCI SSDs faster than the standard SATA drives, offering significantly faster speeds, often double that of 2.5-inch SATA-connected SSDs. These are not nearly as strong performers as NVMe as they tend to cap out at 1500 MB/s (usually more roughly in the 1 GB/s mark). Most NVMe adapters also accept AHCI. However, due to the speed limitations, and age, there aren't many models on the market. The price per GB tends to be high, as the industry has largely pivoted to NVMe for its huge performance advantages.

    Generally, most people and manufacturers only reserve the term AHCI SSD for M.2 sized drives, although some places will list SATA SSDs as AHCI.

    PCIe NVMe

    NVMe (Non-Volatile Memory Express) is currently the pinnacle of storage due to its extreme performance. NVMe is roughly triple to quadruple the read/writes of SATA (and often nearly double of AHCI M.2 SSDs), clocking in at transfer speeds over 3 GB/s in PCIe 3.0 and for the latest PCs, 5 GB/s with PCIe 4.0 drives. Also, due to the improvements in SSDs, NVMe tends to sport faster 4k Random read/write times, which also greatly affects the "zippiness" of a computer. NVMe was constructed to work only via the PCIe standard; thus, it's speed advantage over AHCI.

    Some cards can host multiple NVMe SSDs, but many or most PCIe NVMe multi-SSD adapters require bifurcation, which is a technology not supported on the Mac Pro, which allows a PCIe slot to be split, example: One 16x port becomes two 8x ports (see the PCIe portion of this guide for more info). Multi-drive NVMe cards that support the Mac Pro are more expensive as they have a controller that handles the PCIe IC and registers, and some are higher-powerful than others.

    The Mac Pro is limited to PCIe 3.0 outside of ultra specialty cards like Highpoint SSD7540, which addresses more PCIe lanes to compensate for the speed of PCIe 4.0 NVMes. The PCIe switch lets the user toggle the PCIe maximum speed.

    To summarize. NVMe speed is a function of three factors: the NVMe sled, the NVMe itself, and the PCIe port's maximum speed.

    Not all NVMes are Mac OS compatible. Rather than list all that are compatible, here's a shortlist of incompatible or ones that need firmware updates models as they are few and far between.

    • Samsung 950 PRO
    • Samsung 970 EVO Plus*
    • Samsung PM981

    * The Evo and Evo Pro variants of the 970 are Mac compatible. There is a firmware update for the Evo Plus that fixes issues. Most drives at this point should have the new firmware preinstalled at this point in time, but it should be noted.

    Not all SSDs are equal

    While this guide will not explain the finer points of SSDs, it is important to understand that SSDs come in multiple variants based on their storage capacity and even sometimes different controllers and memory cell technology the same model (more on this later). Data density in mechanical hard drives has greatly improved read/write speeds as more data can be read by a drive-head on a hard drive for each time the platter rotates. More data per square millimeter = more data read per second. This is one of the main reasons why HDD performance has steadily increased over time. However, the same cannot be said for SSDs. Each storage unit in an SSD is represented as a cell. The first SSDs could store a single bit per cell, positive or negative. This is referred to as a Single Layer Cell. Shortly after came the introduction of the Multi-Layer Cell (MLC), which allowed for 2 bits per cell. Then came Triple Level Cell (TLC), which allowed for 3 bits of data per cell, and finally Quad Level Cell (QLC), which can store 4 bits per cell. The doubling of data per cell comes at a price: speed and reliability. This additional data load per bit increases stress on each cell and takes more time to access the data, which is fractional, but 3 bits vs. 4 bits means 8 vs. 16 possible values stored in an individual cell and more time to retrieve and write.

    SLC is the fastest/most reliable but also the most expensive. QLC drives have certainly dropped the price floor in the SSD market but are hard to recommend with their reliability being untested, with only roughly 1000 read/write cycles (the data can be overwritten roughly 1000 times before that cell becomes unstable and is retired). Worse, in very large file transfers, occasionally, QLC can dip below HDD speeds. TLC offers roughly 3000-5000 read/write cycles, making it three to five times as reliable as QLC, and it's much faster. Samsung estimates 114 years for 1 TB TLC. Although this is entirely unproven, Windows utilities provide entirely-hypothetical guestimates of your SSDs life. Does a QLC have 1/5 the reliability of a TLC SSD? Is it worse? Does it compare to a mechanical HDD? There are better sources on the internet, but it is somewhat speculative. The best estimates are using Mean Time to Failure vs. Terabytes Written from large data centers, and we simply do not have the data. My bet is that QLC would easily outlast an HDD, but I would pay the extra money for a TLC drive.

    Memory density isn't the only factor, the very first SSDs didn't use a controller with a DRAM cache, and thus performance would "stutter. In an effort to harass the power of SSDs, controllers started packing DRAM to store the data map as DRAM is much faster than NAND and alleviating a common choke point in the SSD design. Many inexpensive SSDs are now also switching to DRAMless configurations, which generally result in lesser performance and lesser longevity due to the lack of a buffer to quickly read/write to before going to the SSD. Tomshardware's has an excellent summary of DRAMless SSDs.

    Lastly, larger SSDs (of the exact same model) tend to be faster as they have more channels to the controllers on the NVMe itself.

    Some makers, especially during the pandemic due to shortages, have quietly altered the specs of their SSDs without making it clear to their customers. Linus Tech Tips has a great video demonstrating this, and publications have even revised their ratings after component swapTom's Hardware dropped its rating of Crucial's P2 after discovering they moved from TLC to QLC memory.

    Benchmarking SSDs

    amorphousdiskmark

    Pictured: AmorphousDiskMark

    The best benchmarking software for SSDs is on Windows, as there are a plethora of utilities, whereas the Mac landscape is limited. Mac Pro 2019 owners can boot Windows to benchmark SSDs (assuming it is formatted in NTFS or a file system that Windows supports), but it isn't ideal. Previously, users would use utilities like AJA Disk Speed or Blackmagic disk speed, which are, quite frankly, bad as they only test continuous read/write speeds. The popular Windows utility, CrystalMark now has a Mac clone called AmorphousDiskMark. It tests more aspects of an SSD, such as random read/writes, and can use IOPS (Input/output operations per second ) instead of MB/s. I've written more about it in a blog post, AmorphousDiskMark is CrystalDiskMark for macOS; let's all stop using BlackMagic Disk Speed Test and AJA Disk Test.

    RAID and APFS and performance

    As previously mentioned, RAID after AFPS is very ugly for booting. The process involves cloning your boot disk to a single disk drive and cloning the updates back to the RAID array. This remains unchanged from 10.14 - 12.x I recommend reading Catalina on RAID with APFS on MacPro 5,1.

    RAID0 may be "worth it" for users looking for maximum performance. A 16x NVMe RAID0 can hit 12000+ MB/s read and write speeds, but far more important is that it improves the latency, giving a perceptual "snappiness" that is noticeable, as demonstrated in this old but good article by PCPER.com, Triple M.2 Samsung 950 Pro Z170 PCIe NVMe RAID Tested – Why So Snappy?.

    Soft RAID

    RAID (Redundant Array of Inexpensive Disks) comes in management styles, hardware controllers that handle the RAID volume's setup, and presents the RAID cluster as a single volume to the OS and RAID that relies on OS drivers to manage the RAID cluster. macOS supports soft raid for those looking to make use of multi-volume drives, for both RAID 0 (striping, no data mirror) and RAID 1 (Data mirroring, no parity/striping). If you need help remembering RAID axiom goes, RAID 0 means you'll get zero files back if a drive fails in a RAID 0 cluster. Mac OS also supports RAID 1 + 0 (often incorrectly referred to as RAID10), allowing for the benefit of mirroring the parity/striping drives. RAID 1+0 requires a minimum of 4 drives at the cost of 1/2 the storage of the array.

    However, with the switch to APFS, Apple no longer supports APFS for soft RAID for bootable volumes. Hardware RAID is still supported with APFS as the OS is unaware of the RAID Cluster. NVMe cards like the Western Digital Black AIC will work under macOS despite being a raid array thanks to the hardware controller. This is how the internal SSDs on the Mac Pro 2019

    Making APFS bootable requires first having a bootable drive, then creating an APFS RAID array, then cloning the boot drive to the RAID array. Any updates to the OS will require first updating the boot drive, then copying over to the RAID array as you cannot update the RAID volume's OS. This is usually done using Carbon Copy Cloner but means users will spend a non-trivial amount syncing amount of syncing data as the usual update flow is: sync APFS RAID to single drive APFS, then boot single drive APFS, update, then sync to APFS RAID array, finally booting back to the APFS RAID array.




    Ram Upgrades

    RAM DIMM

    Pictured: LR-DIMM
    Photo credit: Apple.com

    The Mac Pro 2019's RAM capabilities depend on what CPU you have installed, although the RAMs on either CPU are so high that the vast majority of users needn't be concerned. Apple.com: official documentation lists the top memory specs as 768 GB/1.5TB depending on the CPU configuration, but MacRumors forum members have discovered this is 1 TB / 2TB.

    While RAM is fairly straightforward, users should read the following section closely as there are some gotchas concerning configurations.

    Mac Pro model Max RAM Unofficial Max RAM Speed Type
    8-core 768GB 1TB 2666MHz DDR4 ECC LR-DIMM or R-DIMM
    12-core 768GB 1TB 2933MHz DDR4 ECC LR-DIMM or R-DIMM
    16-core 768GB 1TB 2933MHz DDR4 ECC LR-DIMM or R-DIMM
    24-core 1.5TB 2TB 2933MHz DDR4 ECC LR-DIMM or R-DIMM
    28-core 1.5TB 2TB 2933MHz DDR4 ECC LR-DIMM or R-DIMM

    RAM speed and R-DIMM vs LR-RDIMMs

    The Mac Pro uses 2933MHz DDR4 ECC RAM R-DIMMs or LR-DIMMs, although the 8-Core version uses 2666 MHz DDR4 ECC RAM (Apple ships these with 2933 Mhz RAM, which is automatically downclocked by the CPU). Apple ships its factory RAM type depending on RAM configuration. Users with the 8-Core Model shouldn't buy 2666 MHz RAM if they have ANY intention of upgrading in the future.

    The following is from Apple.com Mac Pro (2019) memory specifications, so if you acquire a Mac Pro from a third party, you will want to check what type of DIMMs you have or ask the seller what type it has before purchasing more RAM.

    • R-DIMMs for configurations up to 192GB (6x32GB).
    • LR-DIMMs for configurations of 384GB (6x64GB) or more. 
    • 2933MHz DDR4 full-length DIMM. Mixing memory speeds is not recommended.
    • Error-correcting code (ECC)
    • 8GB, 16GB, 32GB, 64GB, or 128GB DIMMs
    • Registered (R-DIMM) or Load-Reduced DIMM (LR-DIMM). Do not mix R-DIMMs and LR-DIMMs.
    • 288-pin
    • Use the same size memory modules across all slots to maximize performance.
    • DIMMs with heatsinks are not supported and may damage the DIMM mechanism.

    The general rule is if you're using below 32GB modules, you should use R-DIMM, and if you plan to use more than 32GB Modules, you should use LR-DIMMs I recommend reading Server Memory: RDIMM vs. LRDIMM and When to Use Them for further reading.

    The W-3223 / W-3235 / W-3245 have a listed maximum of 768 GB of RAM, and the W-3265M / W-3275M have a listed 1.5 TB Maximum. Users have observed 1TB and 2 TB, respectively.

    Ram configuration

    Pictured: Apple RAM Configuration
    Image Credit: Apple.com

    RAM is bought in pairs and installed on the backside of the Mac Pro. The case over the RAM slots also has a pictorial guide to display the proper RAM configurations, and this can be checked in the "About this Mac." The RAM utility in this Mac can also detect faulty ECC DIMMs.

    About this mac ram utility

    For top performance, the Mac Pro 2019 is installed with 6 or 12 DIMMs to run in 6-Channel mode. Otherwise, the memory controller will be operating in 2 or 4 modes. The performance is fairly negligibly.





    Display Upgrades

    Pro XDR

    Pictured: Pro Display XDR
    Photo credit: Apple.com

    The Mac Pro's display limitations are a factor of graphics cards, what OS you are running, and whatever monitor you can afford or are willing to pay for. The Mac Pros running 10.9 or later can use resolution scaling akin to Macs that ship with "retina" (high-density pixel-per-inch displays).

    8k and macOS?

    While the Mac Pro 2019 certainly can support hardware capable of 8k, thus far, the OS appears to be the limiting factor even in macOS 12 Monterey, MacRumor.com forums have an in-depth look into trying to get single cable 8k displays working, and thus far, it hasn't gone well until very recently. macOS does not support 8k out-of-the-box but clever MacRumors.com user ZombiePhysicist have found a working solution. It isn't perfect and it remains to be seen how effective this strategy with other hardware configs but the work-around requires:

    • Monterey 12.1
    • 8k capable GPU
    • DisplayPort 1.4 to HDMI 2.1 cable
    • SwitchRez

    This is unfortunate that we do not have native support as 8k displays continue to drop rapidly in price. 6k seems to be the highest supported resolution currently. Displays that use dual inputs like Dell UP3218K 8k (or '8k4k') display support in macOS? are a bust as well. I suggest reading, MacRumors MacRumors.com: SOLVED: 8k Displays Running on Mac Pro? Any? What Video cards would work that support 8k HDMI 2.1/Displayport 1.4/2.0 displays on Mac Pro? YES you can.

    High refresh rates and macOS?

    The Hz of a display measures how many times a second the screen is refreshed, which defines the maximum frames-per-second (FPS) a display can render. A 120 Hz display can render a maximum of 120 FPS. 60 Hz is generally considered the minimum refresh rate for "smooth" User-Interfaces, like mouse tracking, dragging windows, scrolling, etc. As computer hardware has improved, so have refresh rates. FreeSync and G-Sync are technologies that allow for variable refresh rates to improve the visual experience (prevent effects like "tearing"), especially in the realm of gaming. Mac OS currently does not support Freesync/G-Sync. Both tonymacx86 and MacRumors forum members have experienced the same sort of issues. The workaround is to disable the G-sync and Freesync if the monitor does not produce any video output. Under Windows 10, FreeSync/G-Sync is supported as the limitation is tied to Mac OS.

    Using a 4k TV as a display

    The short answer is: yes, you can do it. TVs generally require some minor tweaking of the picture, such as enabling overscan correction in macOS. Those looking to use a TV as a full-time monitor should keep a few things in mind. Not all TVs use Chroma 4:4:4 subsampling. Video editors probably are familiar with this concept as not all cameras are 4:4:4 but may not realize nor are all displays. Chroma subsampling refers to pixel clusters and data representation. The Human eye is much more receptive to changes in luminance than color. Thus, video data can be compressed easily by tracking clusters of chroma values and mapping them over pixels of chroma value. This works great for video codecs when the data is at an endpoint where precision isn't as important (a streaming video, for example). TVs, in an effort to cut corners, often use this in the panels to both improve response times and lower cost, whereas PC displays are almost always 4:4:4 outside of extremely odd-ball instances. With lower Chroma Subsampling, things like text look blurry due to the decreased chroma resolution. Rtings has a great running list of The 6 Best 4k TVs For PC Monitors and pictorial examples of Chroma subsampling. A 60 Hz 4:4:4 Chroma Subsampled 4k 43 inch display suitable for a PC can be had for as low as $230 USD, making them popular for many users. Mac OS supports audio over HDMI as well. See the GPU section for details.

    Notably, with the increase in size comes a decrease in sharpness. For a monitor, one intends to sit at a normal desk distance, 43 inches is appropriate as its Pixels Per Inch (PPI) is approximately 102 PPI. For comparison: Apple's 30-inch Cinema display was roughly 101 PPI, its 27 Inch Cinema Display 109 PPI. Apple's laptops pre-Retina generally were around 110 PPI and its retina laptops at 220 PPI. A 4k 42 inch TV is roughly 105 PPI, making it appropriate as a very large standard definition display. I suggest the PPI calculator for calculating a display's PPI quickly.

    HDMI 2.1 is stupid like USB

    Regardless of your Mac Pro's configuration, congrats, it's HDMI 2.1 as of December 14th, 2021.

    The new features of HDMI 2.1 are impressive, like eARC (for comms), higher refresh rates/resolutions (10k@120Hz max), Dynamic HDR, auto-Gaming mode to trigger low-latency modes, etc. Your expensive Mac Pro 2019 probably doesn't support any of these new features, but it is HDMI 2.1. How could that be?

    HDMI has decided to the same messy route as USB and renamed all previous HDMI 2.0 devices to 2.1 regardless if they only support 2.0 features. In fact, manufacturers moving forward are only allowed to apply to have devices certified as HDMI 2.1. This means that effectively to be an HDMI 2.1 cable/device, all it has to do is support HDMI 2.0. What features the device in question supports, fortunately, isn't entirely a mystery. There is a requirement that HDMI 2.1 devices need to call list what exact HDMI 2.1 features they use.

    This effectively means every GPU that the Mac Pro 2019 supports with HDMI 2.0 also is "HDMI 2.1" regardless of whether they support any new HDMI features. Expect to have a lot of confusion just like USBc and the wacky world of USBc cables and devices. While I try not to editorialize a lot in this guide, this is a terrible move by the HDMI standards board that'll confuse buyers, and this is likely because the partners on the HDMI board do not want to list "HDMI 2.0" devices for fear of missing out on sales. Welcome to modern consumer electronics.

    Pro Display XDR

    Apple launched the Pro Display XDR with the Mac Pro, its first stand-alone monitor since the Apple Thunderbolt Display. The 32" Pro XDR sports a true 10-bit display, mini-LED backlit with a resolution of 6016 x 3384, aimed at professionals although received flak for a $4999 display that charged $999 for the stand and not even including a power button. While accurate for color, it is not as accurate as professional displays targeted at color grading.

    Pro XDR settings

    Pictured: Pro Display XDR Settings
    Photo credit: PetaPixel.com

    • P3 wide color gamut (99% coverage), 10-bit color depth
    • IPS LCD panel
    • Anti-reflective coating, optional Nano-texture glass
    • 576 full-array local dimming zones
    • Timing Controller (TCON) for parity between LED backlight/LCD display
    • 1600 Nits 39% of the screen area at once
    • sustains 1000 nits across the whole display indefinitely
    • 16 dBA fans for near silence in "typical" room conditions
    • Three USBc Ports
    • VESA Mount

    The XDR only accepts video via a single Thunderbolt 3 port. The full white paper can be found Apple.com: Pro Display white paper.

    Recommended Places to go for Monitor Recommendations

    The wonderful thing about monitors is the large variety, but it can make it daunting to select one. I'm personally a fan of the following sites: Rtings, PCmag, Wirecutter, Consumer Reports, Tomshardware, Digital Trends, as all sites do actual hands-on reviews as opposed to listicles of dubious rapport.




    Audio

    The Mac Pro 2019 sports a single 3.5 mm jack for audio output and can output audio over HDMI, USB, or Thunderbolt. It doesn't feature audio input.

    Prosumer/Professional Audio

    Professional hardware is less of a grab bag than consumer audio as Mac OS has a very long and proud history as the defacto choice for studios, audio engineers, and musicians. CoreAudio supports low-latency multichannel audio interfaces without any specialized drivers. For most audio interfaces, the basic functionality works out of the box. That said, audio interfaces come in various formats, like PCIe Cards, USB, Firewire, and Thunderbolt, and additional functionality can be tied to both the drivers and compatible software.

    CoreAudio allows device aggregation, which will map multiple pieces of hardware to appear to software applications as a single device, making it easier to assign inputs and outputs to a software application. Listing compatible hardware would be a losing game for this guide as there are decades worth of compatible gear. Most USB audio interfaces are HID-compliant, meaning even inexpensive USB audio boxes designed for Windows generally are compatible on a fundamental level with Mac OS. However, if they rely on additional drivers, they may not work with Mac OS. It's best to do your research. Hardware makers like Ableton, AKIA, Apogee, Behringer, Focusrite, IK, Korg, Line, M-Audio, MOTU, Native Instruments, Numark, Presonus, RME, Steinberg Tascam, Universal Audio, Yamaha make almost exclusively hardware compatible for both Mac OS and Windows (not one or the other). There's plenty more I didn't list. Again I must stress doing your homework. Most likely, the piece of PC audio gear you have your eyes on is Mac compatible.

    Overall, the Mac Pro is an extremely audio-capable workstation.




    Mac Pro 2019 Error Codes

    The 7,1s has one of the more ingenious design choices: placing light error codes on the top of the case. The following information is from Apple.com: Mac Pro (2019) status indicator light behavior. The Rack Mount error lights appear on the front panel, whereas the tower is on the top.

    Memory Error (Memory Data Error)

    The status indicator light is solid amber for 0.2 seconds and repeats every second.

    enclosure-memory-data-error.gif


    Housing unlocked or top cover removed while computer is on

    The status indicator light is solid amber for 0.3 seconds and repeats until the housing is locked or the top cover or access door is reinstalled.

    enclosure-open-system-on


    Power button pressed while housing is unlocked or top cover is removed

    Status indicator light is solid amber for half a second after button press.

    enclosure-open-system-off


    PCIe card error (System Resource Overload)

    Light flashes amber twice and repeats until the computer is turned off.

    system-resource-overload


    Firmware recovery mode (iBoot Recovery Mode)

    The light rapidly flashes amber three times, briefly flashes amber three times, then rapidly flashes amber three times. This repeats until the computer is turned off.

    system-resource-overload




    Windows 10/11

    While Apple offers Bootcamp, the recommended method by the community and this guide is to install Windows on a separate drive from your OS. Windows can be installed by booting off a USB installer or using the Bootcamp assistant. I personally used the native Windows installer and used the brigadier utility to install Windows 10.




    iPhone as a webcam

    Since many people are virtually these days, webcams are in short supply. This isn't Mac Pro specific, but the iPhone's cameras are higher quality than pretty much all dedicated webcams and have decent audio to boot. I wrote a short guide on How to use Zoom with external webcams, iPhones / Android Phone, and/or Snap Camera on MacOS.

    This isn't the only vector as you can use NDI HX but requires more setup. OBS-NDI also interfaces with professional cameras, so it is possible to use studio cameras in video conferencing too.




    Multi-OS USB Bootable Flash Drives

    On various sites, you can find "Five in one" USB solutions that includes five versions of macOS on a single USB. These can be easily created by users following the directions from Apple, How to create a bootable installer for macOS. The only difference is that the user first must divide the USB flash drive into multiple partitions (large enough for the Mac OS installers) Partition a physical disk using Disk Utility on Mac.

    The Mac Pro 2019 can only boot Catalina and up.




    Communities & Blogs

    Due to the nature of the Mac Pro and its upgradability, it's formed some of the most dedicated communities to any piece of Apple hardware. It's hard to overstate how crucial the community support is for the Mac Pro's reputation as Apple's finest line of computers ever produced, the fierce loyalty users feel towards the hardware, and surprisingly open and welcoming to users of all backgrounds and walks of life. This guide is a reflection of said communities. If there's a group you feel I have missed, let me know.

    • MacRumors Mac Pro Forum - The center of the Mac Pro universe, if it's happening, it's probably here. My go-to for sourcing information, as one can gather by reading this guide.
    • MacProUpgrade - The premier Facebook group, very international with Mac Pro users across the globe. It requires requesting access, but they let anyone in. I'm there. Also, it is a strangely friendly and nice community. They are always willing to answer questions from the obscure to novice and have a lot of high-tier creative professionals who can answer your questions about AVID, Premier, FCPX (and etc.) related to your Mac Pro.
    • Mac Pro Users - Another major FaceBook group for Mac Pro users, smaller but still helpful, and it has the benefit of being public too (no signup process and can be browsed without a Facebook account). Helpful and friendly community with a lot of creative professionals too.
    • Reddit.com/r/macpro - Not as large as the Facebook group but active, friendly, helpful, and of course has the benefit of not being under the regrettable Facebook umbrella.
    • House of Moth - Jay's mac related blog, it's not explicitly Mac Pro related but has probably the best guide on the Pixlas mod for classic Mac Pros and delves into old Mac hardware in super-geeky ways (in a good way). It's not nearly as vital to Mac Pro 2019 users but still worth a gander as the author has produced several guides that are the bedrock of the Mac Pro world.
    • Reddit.com/r/mac - Mostly useful for Apple news and general questions, one of the essentials of the Mac world.
    • blog.greggant.com/topics/#macpro - I've written for six years now semi-frequent Mac Pro-related blog posts.

    Apple Silicon and the Mac Pro's fate (and additional observations)

    The biggest burning question is "How long will Apple support X86". The short answer is no one knows how long Apple intends to support Intel Macs. We have two statements from Apple, they will offer Intel Macs until 2022, and they pledged to support x86 for years.

    Apple has transitioned its Mac lineup two times now, from 68k to PPC and from PPC to x86. To assist the previous transition, Apple offered Rosetta a real-time translation layer to run PPC binaries on x86, which included both PPC and x86 libraries for applications to access. This time Apple has Rosetta 2, which works similarly, translating x86 to ARM. In an ironic twist, ARM is the second time Apple has switched to a RISC-based CPU.

    Apple transitioned to x86 quickly, starting with offering in late 2005 Intel iMacs and laptops using the Core Duo, which quickly jumped to the 64-bit Core 2 Duos mere months later and in 2006 refreshed its entire lineup with stark and drastic performance increases. Apple supported PPC Macs until 2009 when Mac OS X 10.6 Snow Leopard dropped support. Apple supported PPC for roughly three years.

    However, the lay of the land is different today. In 2005 Apple sold 4.5 million Macs. Today, Apple sells roughly 20 million Macs. Roughly, Apple has 140-150 million still supported Intel Macs in Big Sur, vs. Apple the 15 million PowerPC Macs that were capable of running OS X when Apple switched to x86. Apple is also no longer the same company and now faces increased scrutiny as it finds itself the most valuable tech company and often the world's most valuable company. At a minimum, we can safely assume Intel Macs will be supported until 2025 as Apple has supported PPC Macs for almost three years. My guess would be 2026-2027, as 4-5 years seems correct. It's also worth noting only in May of 2020, Microsoft stopped distributing the 32-bit version of Windows 10 ( even owners of 20-year-old Pentium 4 desktops could run Windows 10 ). Windows will undoubtedly support old Intel macs for many years. For comparison, Apple dropped 32 bit CPUs in 2011, axing support for the first 2005 Macs featuring Core Duo CPUs.


    Updates & Author Notes

    This guide is the 3rd iteration of the Definitive Mac Pro Upgrade GUide. This guide will be more media-centric than previous guides to accommodate more styles of information gathering. The goal is to have more imagery and video to assist in learning the many concepts in this guide. Also, as the information is "fresh", it's much easier to cite official documentation.

    Stylistically, I was never a fan of my "Useful links" found in the Definitive Mac Pro Upgrade as they often lacked context.

    08/14/24 - Broken link fixed to iswitch blog.

    10/11/22 - Added opencore info about 6850/6950 XTs, added power cable info for pcie power cables. Added links to OWC's belkin alternative.

    01/10/22 - Added Mini PCIe power cable spec,

    01/03/22 - Image Width fix for mobile

    12/29/21 - Minor copy editing, SATA 3 power information, PCIe power information, more up-to-date 8k info

    12/28/21 - Added links and info about Apple wheels.

    12/27/21 - Added Apple I/O Card, T2 section, and networking section, added 6600 XT.

    12/25/21 - Added contents for easier navigation, added info about HDMI 2.1, first editing pass with a lot of typos, spellings, and poorly worded passages fixed.

    12/24/21 - Added Windows info, ports image, cleaned up I/O section somewhat, added communities section, extras, Added displays section

    12/23/21 - images added to RAM, SSD, Afterburner, cooling, quotes added about cooling, moved raid info below SSDs, more info in PCIe section

    12/21/21 - SSD section info added, RAM info extended, error codes added

    12/20/21 - SSD section started

    12/19/21 - init


    Emulating Mac OS 9.2 with sound on Apple Silicon and Intel

    I've already written a slap-dash guide on how to use QEMU on Apple Silicon prior to there being an Apple Silicon native version. Now there is one and that makes things easier. As always emulation is a legally grey area. This guide has an additional video if you'd like to follow along and see the relative performance.

    Easy Mode!

    1. Download latest UTM release from github (grab the DMG)
    2. Install it and launch it
    3. Click the UTM gallery and find Mac OS 9 and click "Open in UTM", you may need to locate the app on your computer. It'll automatically download and launch when done
    4. You'll need to manually engage the mouse/keyboard by clicking the icon. To release your mouse and keyboard, click the command+control option



    Hard mode!


    You'll need the following on your Mac to get started:

    Xcode is Apple's IDE for developing software for macOS and iOS/tvOS/iPadOS and it includes a lot of software that is beneficial to power users. Homebrew is a package manager for installing open-source software on the Mac. Think of it as the App Store but for mostly command-line utilities.

    You can check if you homebrew installed on your mac by running brew and seeing if it gives an error or additional instructions

        brew

    Installing QEMU via Homebrew

        brew install qemu 

    That's it!

    Setting up QEMU and installing Mac OS 9

    First, we need to make a hard drive disk image. Anyone familiar with virtualization will understand this concept. It's just a file that contains a virtual hard drive. Once it's done installing we can create our virtual hard drive. The utility is called qemu-img

    The comand

        qemu-img create -f qcow2 myos9.img 2G 

    Let's break down this down.

    • qemu-imgis the name of the utility application that qemu comes with to create disk images.
    • create -f is format and qcow2 is QEMU's file format of choice for disk images.
    • -f qcow -M is the model, and our model is a mac99 which is a G4 Mac. The other option QEMU supports is a Beige G3.
    • myos9.img is the name of the disk image and you can give this any name you want with a .img suffix. You can specify the path of this image but I'm going to leave at the default, which is in the root of your user directory.
    • 2G stands for 2GB. Notably, this file will not eat up 2 GBs of space. Rather it's just capped at 2GB. You can make it whatever you like, but 2 GB is plenty for my needs. .

    Hit enter to run this command and application. It'll happen very fast as this utility is very quick.

    I want to be very clear that terminal commands aren't magic. Anyone can look up with *nix utilities manuals by using the man command or searching in a search engine, qemu-img man and get detailed explinations like this page that explain the various flag options. No one is born knowing esoteric flags like this, and this is how users such as myself figure out comamnd line utilities. If you're already a terminal user who knows about man, awesome.

    Step 2: Download Mac OS 9

    I recently discovered the Mac OS 9 lives version of macOS 9.2 installer, which is tailored for emulators like QEMU, as it launches to the disk utility and is a stream lined install It's about 500 MB. Download it.

    Step 3: Running QEMU

    The command:

    qemu-system-ppc -L pc-bios -boot d -M mac99 -m 512 -hda myos9.img  -cdrom path/to/disk/image  

    Now we're going run the qemu-system-PPC, app which is exactly what it sounds like. It's emulating a PowerPC processor. Here's a quick break down of the flags.

    • -L pc-bios -L is bios. I'm still not sure if this is necessary or there's a more correct way but this works perfectly fine. We are telling the emulator to use PC bios.
    • -boot d -boot is self explainatory. This is the boot drive for the computer, like old PCs used to use. Macs never had this, it's strange but this what we have to do. The D drive is the CD-Rom and C drive would the Hard Drive.
    • -M mac99 -M is the model, and our model is a mac99 which is a G4 Mac. The other option QEMU supports is a Beige G3.
    • -m 512 -m is memory, and this expressed in megabytes. I'm using 512 MB which is a lot for the Mac OS 9 era. It should be plenty.
    • -hda myos9.img -hda is our hard drive and this is the disk image we created. This can be a path to the disk image.
    • -cdrom path/to/disk/image -cdrom should be self explainatory as well. This is the path to the CD ROm's dsik iamge. Replace the path/to/disk/image with the path to the disk image. The easiest way to get this is to find the disk image you downloaded and drag it into the terminal.

    Hit return to launch the emulator. It'll take a minute or so to boot, usually with a strange yellow screen then it'll change to the Mac boot sequence. Once you ahve booted, you'll need to use the disk format utility. If you're using the Mac OS 9 Lives installer, this will be open on boot. Format the drive and close the utility.

    Then within your virtual environment, run Apple Software Restore or the Mac OS installer if you're using a different Mac OS 9 installer. This will go fast with the Mac OS 9 Lives installer.

    Now we need to shut down. You can use ctrl-alt-g so you can move your mouse and just close the window or if you go the terminal hit control-c, you'll immediately shut down that application.

    Now it's time to boot our Mac. We'll use the same command, but we don't need the cdrom and we need to remember to swap our boot drive letter as we aren't booting off the CD Rom drive to the c drive.

    qemu-system-ppc -L pc-bios -boot c -M mac99 -m 512 -hda myos9.img  

    Congrats, you should be able to boot Mac OS 9!




    Installing Software

    What's an OS without software? Websites like macintoshgarden.org and archive.org have old software to download. There's plenty more and you can find them with search engines. In my video I downlaoded Sim Ant and Unreal but the software doesn't need to be a game. Download a disk image and then you'll need to attach the downloaded disk image to the command string when booting:

    qemu-system-ppc -L pc-bios -boot c -M mac99 -m 512 -hda myos9.img  -cdrom path/to/disk/image  

    The only difference between the Mac OS installer and this, is that we are booting of the Hard drive's disk image. QEMU doesn't come prebaked with sound but we can build our own from the source code.




    QEMU screamer.

    In my video I followed this guide. You'll only need the first four commands int the section and it takes a bit. You can go to it or follow the commands below.

    Step 1

    Clone the repository.

    git clone --recursive -b screamer https://github.com/mcayland/qemu.git qemu-screamer

    Once finished:

    cd qemu-screamer/

    Step 2

    Install the dependencies via homebrew (if you followed the first part, much of these will be already installed).

    brew install libffi gettext glib pkg-config autoconf automake pixman ninja meson gnutls jpeg libpng libslirp libssh libusb lzo ncurses nettle snappy vde

    Step 3

    Configure the build.

    PKG_CONFIG_PATH="$(brew --prefix)/opt/ncurses/lib/pkgconfig" ./configure --target-list="ppc-softmmu"

    Step 4

    Go into the build folder and now build the app.

    cd build/
    make -j$(sysctl -n hw.ncpu)

    From here you can now run your disk images using this copy of QEMU screamer from the build folder (or wherever you place it). You'll need the correct path to your disk iamge. You do not need to use the Homebrew installed version of QEMU to set up Mac OS 9, all of it can be done with this version.

    ./qemu-system-ppc -L pc-bios -boot c -M mac99 -m 512 -hda path/to/myos9.img 

    It'll most likely be two directories outside of this project so it'd be:

    ./qemu-system-ppc -L pc-bios -boot c -M mac99 -m 512 -hda ../../myos9.img 

    And that's it for installing and running QEMU with sound. QEMU works great for games that do not require 3D hardware on the Mac as RAVE or Glide would take a lot to reverse engineer. You can play 3D games in software rendering modes in QEMU. Of course, QEMU isn't limited to gaming but this is probably one of the more popular uses for PowerPC emulation, and it's very fast.

    In my previous article, I demostrated how to boot Mac OS X 10.0 - 10.4. I suggest checking it out if you'd like to try your hand at emulating Mac OS X. There's a few more flags that need to go into it as later Mac OS Xs require USB and some enviroment flags that I had to figure out through trial and error.


    The M1 Pro and Max Window Server Memory Leak Fix

    So I've run into a stupid problem with the M1 Max under macOS Monterey: The WindowServer eats up a lot of RAM, much more so it should. I've seen other people with WindowServers eating 10s of GBs of RAM, which is unacceptable. The fix?


    Above is the video, but you prefer written instructions if you're like me. Especially when its simple, so here it is:

    1. Open up system preferences
    2. Click Displays and then disable promotion (set your display to 60 Hz)
    3. Reboot! Leave ProMotion disabled, lest you want to feel the wrath of the WindowServer.

    Okay, so it's not a "fix" so much as a workaround until Apple patches it.


    M1 Max review


    The M1 Pro and Max is here and I have many things to say about it. I tried to condense it down into a succinct review but realized it wouldn't be that interesting. Instead, I decided to bring my Mac Pro 2019 into it.

    This is by far the most work I've dumped ever into a video project, featuring my trademarked stilted on screen presence and overly long winded narration over cheap motion graphics.

    Huge thanks for ALBATROSS for letting me use his music for speaker the test. He's a bilingual hip hop artist who raps in English and Russian≥

    ALBATROSS - Serdtze♥️ - LIVE Acoustic

    ALBATROSS - Serdtze (Birchpunk music video) - One of the craziest music videos I've seen in the best way possible, complete with a plot, huge VFX in set in a dystopian Russian cyberpunk future with art collective, Birchpunk.

    Benchmark sources (in order of appearance)

    wccftech: Intel Alder Lake Mobility CPU Benchmarks Leaked: Faster Than The Apple M1 Max, Smokes AMD 5980HX, 11980HK

    pugetsystems: Apple M1 MacBook vs PC Desktop Workstation for Adobe Creative Cloud

    phoronix: Apple macOS 10.15 vs. Windows 10 vs. Ubuntu 19.10 Performance Benchmarks

    anandtech: Apple's M1 Pro, M1 Max SoCs Investigated: New Performance and Efficiency Heights

    barefeats: Max MacBook Pro versus 2019 Mac Pro

    barefeats: M1 Max MacBook Pro versus 2019 Mac Pro - Part 2

    barefeats: M1 Max MacBook Pro versus 2019 Mac Pro's Newest GPUs

    wccftech: AMD & NVIDIA GPU Silicon Performance, Efficiency & Cost Progress From The Last 10 Years Visualized

    techgage: Adobe Premiere Pro May 2020 AMD vs NVIDIA GPU Encoding Performance

    Recommended links (in order of appearance)

    LTT: DDR5 is finally here

    Marques BrownLee: Reviewing EVERY iPhone Ever!

    Barefeats.com

    Will APPLE make a DISCRETE GPU for the Apple Silicon Mac Pro?

    Sources (in order of appearance)

    extremetech: The 2016 MacBook Pro Keyboard May Fail Twice As Often As Older Models

    zdnet: A journalist's wrecked MacBook keyboard tells a terrible story

    extremetech: Dust Is Still Breaking Apple’s Improved MacBook Pro Keyboards

    9to5mac: The latest MacBook Pro has a different keyboard, so is it safe to buy an Apple laptop now?

    appleinsider: Apple confirms new MacBook Pro models have only slower UHS-II SD card slots

    techradar: What is CFexpress? The new camera memory card format explained

    appleinsider: Apple's T2 chip makes a giant difference in video encoding for most users

    ymcinema: The new MacBook Pro is More Powerful for 8K Video Editing Than the Mac Pro

    engadget: ARM unveils Cortex-A7 processor, 'big.LITTLE' computing

    pcmag: Intel's Alder Lake Combines 'Performance' and 'Efficiency' CPU Cores on One Chip

    techspot: Intel Alder Lake-P sample beats Apple's M1 Pro and M1 Max in leaked benchmarks

    wccftech: M1 Max With 32-Core GPU Is Slower Than 100W Laptop RTX 3080, Barely Beats Low-Wattage RTX 3060 in Gaming Benchmarks

    macrumors: Five Games Worth Firing Up to Show Off Your New MacBook Pro

    tomshardware: Market Researchers Make Predictions: DDR5, GDDR6, GDDR6X, LPDDR5, LPDDR5X Examined

    tomshardware: AMD's Zen 5 CPUs, APUs Will Likely Tap TSMC's 3nm Process Node

    pcmag: Intel 'Alder Lake' CPUs to Support PCIe 5.0, DDR5 RAM

    anandtech: Samsung Announces First LPDDR5X at 8.5Gbps

    tomshardware: LPDDR5X Memory Extends Speeds to 8533 MT/s

    ymcinema: What’s the Ideal Laptop for Video Editors: RTX Studio or Apple M1 Max?

    dpreview: Apple M1 Max First Impressions: A MacBook Pro that's actually 'Pro'

    techradar: The Apple M1 Max means you don't need a gaming laptop for video editing anymore

    phonearena: Mini-LED iPad Pro display issues explained: What's "blooming" and is there a fix

    LTT: Does High Frame Rate matter

    bloomberg: Apple’s Product Design Has Improved Since Jony Ive Left

    ifixit: We Have the Right to Repair Everything We Own

    macrumors: Mac Pro Rumor roundup

    bloomberg: Apple Preps Next Mac Chips With Aim to Outclass Top-End PCs


    A healthy distrust of the Metaverse

    I feel like it's almost trite to point out how wacky and the wrong Meta is. I'm almost positive that I'm hardly the first person to question why any would want to create the Metaverse based on Neil Stephenson's breakout novel, Snowcrash. For those who haven't read it, it's a tongue-in-cheek parody of the cyberpunk genre with everything ratcheted up to 11, but also wildly imaginative, donning us with the common lexical use of "Avatar." It's a technocratic dystopian universe where society is so fractured that nation-states exist by neighborhood enclaves, generally aligned with various corporations and/or political ideologies or ethnicities. The world's resources are out of reach for all but the extremely rich thus, everyday citizens exist in an alternate escape reality, called the Metaverse.

    If that sounds unappealing and a bit on the nose, it's because it is. I don't know if I can lob any extra insight other than I'm confident that Facebook will wedge NFTs into the Metaverse in an upcoming press release./p>

    Now, what is interesting is an interview by Wired Magazine, ‘AR Is Where the Real Metaverse Is Going to Happen’ with Niantic CEO John Hanke (the company that brought the world Pokemon Go). The most interesting thing is the tonality of Wired Magazine, which with a healthy distrust of this technology. While I don't read Wired regularly, I have read Wired articles over the past 20 years. This feels like the new default position instead of a contrarian, skeptical, neo-Luddite, or paranoid position. I'm not sure when this shift happened at Wired, but I certainly felt my faith in progress via the internet in the mid-2000s wane pretty sharply. That was earlier than most people I know but hardly the first. Now, as we're fully into the current decade, it feels like skepticism is the default position as it feels irresponsible not to be.

    </section>


    Speed Up iCloud Photo Uploads from iPhone


    The first time I used this method was back in 2015 when I originally wrote this article, after getting an iPhone 6 128 GB with iCloud's basic data plan. It was taking days to upload photos and it was annoying. I decided to test a theory, not letting my iPhone sleep. In roughly 3 hours, my phone uploaded 4,000 photos; a massively increase over  the previous three days landing somewhere between 5000-6000 photos.

    image

    Picture: Uploading photos back in 2016 on an iPhone 6

    The second time I used this method was in 2020, when I switched to a 2 TB plan, moved my RAW photos into iCloud, and merged a separate library. I left my Mac syncing while my iPhone 12 did the same.

    I recently upgraded iCloud to the 50 GB / $0.99 a month plan, almost exclusively to test out the Photo stream feature. I take a lot of photos. Currently, my photo library spans thirteen years, and is heavy even for a 128 GB iPhone 6. For years, I’ve photos a few times a month to Lightroom, usually in tandem with my camera, but I rarely remove photos from my phone.

    However, with 10k photos the sync was slow. After the three days, only about half the photos were uploaded, despite being connected to wifi roughly 18 hours a day, and on a charger for roughly 16 hours a day during the span.

    I started toying with methods to speed up uploads. Here's the process I figured out:

    The Zero-Sleep Method

    1. Plug in your iPhone and connect to Wifi
    2. Open settings
    3. Go to display and brightness
    4. Select Auto lock and set it "Never"
    5. Return to settings and tap your profile
    6. Tap iCloud
    7. Make sure iCloud Photos is enabled and leave it on this screen....
    8. .... and wait, this will take along time, depending on library size and your internet speed. This will not "speed up" uploading, rather keep it continously uploading.

    A few users reported leaving it on the Photos screen worked as they could see the progress bar there. Also, if you're looking to keep things moving and have unlimited data or a huge data plan, you can enable unlimited updates.

    1. Go to settings and scroll down and tap Photos
    2. Tap Cellular Data
    3. Warning, this will use a lot of cellular data! Toggle on Cellur Data and unlimited updates