Skip to content

Commit

Permalink
Update README
Browse files Browse the repository at this point in the history
  • Loading branch information
mayankk2308 committed Jul 24, 2018
1 parent 152010b commit 5ebfc56
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 18 deletions.
35 changes: 18 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,22 @@

![macOS Support](https://img.shields.io/badge/macOS-10.13.4+-orange.svg?style=for-the-badge) ![Github All Releases](https://img.shields.io/github/downloads/mayankk2308/purge-wrangler/total.svg?style=for-the-badge) [![paypal][image-1]][1]
# PurgeWrangler
Allows you to use external GPUs with older macs, and also enables NVIDIA eGPUs on all macs.
A lot has happened with **macOS 10.13.4** and eGPU support, but noticeably - the lack of:
* **NVIDIA eGPU** support
* **Thunderbolt 1/2** support

**PurgeWrangler** aims to remedy this by patching *kernel extensions* on disk to bypass thunderbolt checks and enable NVIDIA eGPUs.


## Requirements
This script requires the following specifications:
* Mac with **Thunderbolt**
* **macOS 10.13.4** or later
* System Backup

It is recommended that you have a backup of the system. Testing was done on a **Mid-2014 MacBook Pro w/ GeForce GT 750M**.
A system backup is highly recommended. Although the patches and recovery techniques have been refined over time, having a fallback is always important.

## Usage
Please follow these steps:
To get yourself acquainted with eGPU support on macOS and some technical foreword, consider reading the [macOS Troubleshooting Guide](https://egpu.io/forums/mac-setup/guide-troubleshooting-egpus-on-macos/) at [egpu.io](https://egpu.io). To use **PurgeWrangler**, please follow these steps:

### Step 1
Disable **system integrity protection** for macOS using **Terminal** in **Recovery**:
Expand Down Expand Up @@ -52,39 +56,36 @@ PurgeWrangler makes it super-easy to perform actions with an interactive menu, a
For advanced users that may sometimes prefer bypassing the menu, the script provides convenient arguments in an attempt to be as user-friendly as possible.

#### 1. Enable AMD eGPUs (`-ea|--enable-amd`)
Enables default eGPU support on **Thunderbolt 1/2** macs.
For **Thunderbolt 3** macs, allows the use of unofficial (non-Apple supported) AMD eGPUs such as the **Fiji** architecture GPUs. For older **Thunderbolt** models, bypasses the thunderbolt requirement and optionally allows use of unofficial AMD eGPUs. To use unofficial eGPUs, agree to enabling unofficial cards when prompted in the script.

#### 2. Enable NVIDIA eGPUs (`-en|--enable-nv`)
Enables NVIDIA eGPUs on **any** mac, regardless of **Thunderbolt** version.
All **Thunderbolt** macs require extensive patching for NVIDIA eGPUs. This option downloads the necessary NVIDIA drivers, patches any macOS version requirements if needed, and finally applies the necessary system patches needed to allow eGPU acceleration.

#### 3. Patch Status Check (`-s|--status`)
Checks for the applied patches and provides system state information
Check to see what patches are installed on the system.

#### 4. Uninstall Patches (`-u|--uninstall`)
In-place uninstaller for the patches.
Uninstall any patches without restoring backed-up files, in-place.

#### 5. System Recovery (`-r|--recover`)
Recover original untouched macOS configuration prior to script modifications.

#### 6. Disable Hibernation (`-dh|--disable-hibernation`)
Disables hibernation mode and automatic power off as these settings may resolve wake-up failures with discrete graphics disabled.

#### 7. Restore Power Settings (`-rp|--restore-power`)
Restores the hibernation mode configurations to recommended settings.
#### 6. Sanitize System (`-ss|--sanitize-system`)
Resolve permission issues with target kernel extensions and rebuild kernel cache.

#### 8. Reboot System (`-rb|--reboot`)
Reboots the system with a countdown.
#### 7. Reboot System (`-rb|--reboot`)
Reboot the system.

## Troubleshooting
If you are unable to boot into macOS, boot while pressing **CMD + S**, then enter the following commands:
If you are unable to boot into macOS, boot while pressing ** + S**, then enter the following commands:
```bash
$ mount -uw /
$ cd /path/to/script/
$ purge-wrangler
```

## References
Many thanks to **@itsage**, **@fricorico**, **@goalque**, and many others at [egpu.io](https://egpu.io) for the insightful discussion that has culminated into this project.
Many thanks to **@itsage**, **@fricorico**, **@goalque**, **@fr34k**, and many others at [egpu.io](https://egpu.io) for the insightful discussion that has culminated into this project.

## Disclaimer
This script moves core system files associated with macOS. While any of the potential issues with its application are recoverable, please use this script at your discretion. I will not be liable for any damages to your system.
Expand Down
3 changes: 2 additions & 1 deletion purge-wrangler.sh
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ INPUT=""
# Text management
BOLD="$(tput bold)"
NORMAL="$(tput sgr0)"
UNDERLINE="$(tput smul)"

# Errors
SIP_ON_ERR=1
Expand Down Expand Up @@ -645,7 +646,7 @@ recover_sys() {
fi
echo -e "Files restored."
sanitize_system
echo -e "Recovery complete.\n\n${BOLD}System ready.${NORMAL} Restart now to apply changes.\n"
echo -e "Recovery complete.\n\n${BOLD}System ready.${NORMAL} Restart now to apply changes.\n\nRefer to the ${BOLD}macOS eGPU Troubleshooting Guide${NORMAL} in the ${BOLD}How-To's${NORMAL}\nsection of ${UNDERLINE}egpu.io${NORMAL} for further troubleshooting if needed.\n"
}

# ----- USER INTERFACE
Expand Down

0 comments on commit 5ebfc56

Please sign in to comment.