Coder Social home page Coder Social logo

frbuccoliero / xps9570-catalina Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jaromeyer/xps9570-catalina

0.0 1.0 0.0 11.96 MB

macOS Catalina for the Dell XPS 15 9570 using the OpenCore bootloader.

Rich Text Format 0.76% Shell 8.72% Batchfile 4.67% Python 82.06% Roff 3.80%

xps9570-catalina's Introduction

Screenshot

Dell XPS 15 9570 Catalina

A collection of all resources needed to run macOS Catalina on a Dell XPS 15 9570

Overview

This is more of a compilation of information and configs from various repositories and forums than a place where real development happens. This repository should contain everything needed to get Catalina up and running on your specific Dell XPS 9570 configuration.

Currently not working

  • Discrete GPU (Nvidia)
  • Fingerprint Reader
  • SD Reader
  • Stock Killer Wi-Fi (easily replaced)
  • (Thunderbolt) not tested

Installation

Follow this guide if you have never set up a Hackintosh before.

Creating a bootable installer

To start you need a USB flash drive with at least 12GB of available storage and a local copy of macOS. The installer for macOS Catalina can be obtained from here.

Next, you want to format the USB flash drive using Disk Utility. Click on “View” in the toolbar and choose “Show All Devices” to see all physical disks instead of only partitions. Select your USB flash drive, name it “MyVolume” and format it HFS+/Mac OS Extended (Journaled) with GUID Partition Map.

Now you are ready to create the installation media. Use the following command to start the process. It may take a while depending on the USB flash drive you are using.

sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume

If your USB flash drive has a different name, replace MyVolume with the name of your volume.

After the installer says that it's done, the volume now contains the macOS Catalina installer and is ready to boot on a real Mac. However, because we are building a Hackintosh, we have to take an additional step and install the OpenCore bootloader. To do this, you first have to mount the EFI partition. This is where OpenCore and all its configuration files go. Use the following command to list all disks.

sudo diskutil list

Find the EFI partition of your USB flash drive. Normally its entry 1 under /dev/disk2. Use the following command to mount the EFI partition - in this case, disk2s1.

sudo diskutil mount disk2s1

Now that you have access to the EFI partition, the real fun starts.

Configuring EFI

Clone this repository to get the base EFI folder as well as all additional kexts and patches. Now you will have to prepare the EFI folder for your exact hardware configuration. Read through the configuration section to learn more. Once everything is configured properly, copy the folder into the EFI partition you have mounted in the previous step.

Booting the installer

After having created the installer USB flash drive, you are ready to install macOS on your XPS. Make sure SSD mode is set to AHCI mode instead of RAID in BIOS otherwise, macOS won't be able to detect your SSD. Select your USB flash drive as boot media and go through the macOS installer like you would on a real mac. Once you have come to the desktop, advance to the next step.

Post Installation

Congratulations! You have successfully booted and installed macOS. At this point, you just have to copy the EFI folder you have prepared in a previous step to the SSD. Mount the EFI partition of your SSD with

sudo diskutil mount disk0s1

and copy your customized EFI folder into the newly mounted EFI partition. You should now be able to boot your computer without the USB flash drive attached. If you're having issues with specific parts like Wi-Fi, Bluetooth or Audio, have a look at the corresponding sections in this repository and open an issue if you are unable to solve them.

Configuration

This section talks about configuring the EFI folder for your exact hardware.

Almost all changes are done inside the OpenCore configuration file. Use the provided version of ProperTree to edit EFI/OC/config.plist.

Audio

By default, the audio can be a bit buggy. When using headphones, after some time the audio randomly stops. Sometimes un- and replugging the headphones works, but that's pretty annoying and unreliable. To permanently fix this issue you will have to install ComboJack from the tools folder by running install.sh.

Wi-Fi/Bluetooth

The stock Killer Wi-Fi card will never be supported in macOS. So to use Wi-Fi, you will have to replace it for a supported card. This repository is configured to work out-of-the-box with both the Dell DW1830 and DW1560 wireless adapter.

Another option for a fraction of the price is the Dell DW1820a. It is a bit slower than the cards mentioned above and in my experience has problems with some 5GHz networks, but with a minor modification, you can make it work pretty reliably. The only change that has to be done is disabling “Active State Power Management”. This can be done by inserting the following entry under Root/DeviceProperties/Add.

<key>PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x0)</key>
<dict>
    <key>pci-aspm-default</key>
    <integer>0</integer>
</dict>

Display

This repository is configured to work properly with the 4K display. If you have a FHD screen, you should apply two minor changes:

  • Change dpcd-max-link-rate in Root/DeviceProperties/Add/PciRoot(0x0)/Pci(0x2,0x0) from 14000000 to 0A000000
  • Change UIScale in Root/NVRAM/Add/4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14 from 02 to 01

Also, I strongly suggest enabling subpixel antialiasing for the FHD screen.

defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO

Power management

Hibernation is not supported on a Hackintosh and everything related to it should be completely disabled. Disabling additional features prevents random wakeups while the lid is closed. After every update, these settings should be reapplied manually.

sudo pmset -a hibernatemode 0
sudo rm -f /var/vm/sleepimage
sudo mkdir /var/vm/sleepimage
sudo pmset -a standby 0
sudo pmset -a autopoweroff 0
sudo pmset -a powernap 0
sudo pmset -a proximitywake 0
sudo pmset -b tcpkeepalive 0 (optional)

Performance

CPU power management is done by CPUFriend.kext while CPUFriendDataProvider.kext defines how it should be done. CPUFriendDataProvider.kext is generated for a specific CPU and power setting. The one supplied in this repository was made for the i7-8750H and is optimized for maximum performance. In case you have another CPU or would rather sacrifice some performance in trade for more battery life, you can use the script one-key-cpufriend from the tools folder to generate your own CPUFriendDataProvider.kext.

Touchscreen

If you don't need the touchscreen you can disable it to save power. Replace SSDT-TPDX.aml in EFI/OC/ACPI with the one inside the resources folder.

Frequently asked questions

Acknowledgments

  • acidanthera for providing almost all kexts and drivers
  • alexandred for providing VoodooI2C
  • daliansky for providing the awesome hotpatch guide OC-little and always up-to-date Hackintosh solutions in XiaoMi-Pro-Hackintosh
  • RehabMan for providing many laptop hotpatches and guides
  • knnspeed for providing ComboJack, well-explained hotpatches and a working USB-C hot plug solution
  • bavariancake and LuletterSoul for providing detailed installation guides and configurations for the XPS 9570
  • xxxzc for providing OpenCore support for the XPS 9570
  • Everyone else involved in Hackintosh development

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.