Update 06/04/2021: I updated to OC 0.6.9 and then Big Sur to 11.4 smoothly under System Preferences. See attached files.
Update 01/21/2021: I upgraded to OC 0.6.5 then upgraded to Big Sir by downloading in the mac App Store. Things seem to be running smoothly without problem, but I haven't tested very extensively yet. I'll write back if there're problems down the road.
This is a new write-up based on my earlier guide on Mojave on the same system using Clover:
[Guide] Dell XPS 8930 Mojave 10.14.6 (Updated to Catalina 10.15.7), RX580/UHD630
A lot of discussions are still made on the old thread along with some very useful comments. I was going to upgrade to Big Sur. Big Sur requires either OpenCore or a new version of Clover that has functionalities based on OpenCore. I figured it would be better off jumping to OpenCore now instead of sticking to Clover. After successfully converting to OpenCore, I realized I want to wait a little longer before jumping to BigSur
Model: Dell XPS 8930
CPU: i7 8700 Coffee Lake
Chipset: z370
Graphics: Sapphire Nitro+ RX580 / Intel UHD Graphics 630
Ram: 32GB
Audio: ALC3861
Ethernet: Killer E2400 Gigabit Ethernet Controller
Wifi: BCM943602CS PCI-e card (non-OEM)
Harddisk:
- 500GB WD-Black (2nd generation) m.2 NVMe x4 + OEM 2TB Harddisk fusion drive
- 512GB Intel SSD for Windows
- 2TB 3.5” HDD for Time Machine
macOS version: 10.15.7
What doesn't work:
- OEM Wifi
- Intel integrated graphics (output only) (QuickSync works): Dell BIOS seems to automatically turn off output of the IGPU when a discrete graphics card has been installed. I have not tried the -wegnoegpu flag for whatevergreen
Tools needed:
- macOS Catalina bootable USB drive
- Ubuntu bootable live USB drive
- A USB wifi adaptor (optional, you can use ethernet instead), or
- A BCM943602CS PCI-e card with a spare USB 2.0 cord. Should work out of the box when connected correctly. See below
- Apps (please google and download the latest version)
- EFI Drivers: (Use drivers that came with your downloaded version of OpenCore)
- HfsPlus.efi
- OpenCanopy.efi
- OpenRuntime.efi
- Kexts:
- EFI/OC/kexts/
- AppleALC
- AtherosE2200Ethernet
- Lilu.kext
- SMCDellSensors.kext
- SMCProcessor.kext
- SMCSuperIO.kext
- USB-Map.kext (Build your own or use attached if you have the exact same model as I do)
- VirtualSMC.kext
- Whatevergreen.kext
Step 1: create bootable macOS installation USB drive
- Follow this guide to create the bootable drive (https://dortania.github.io/OpenCore-Install-Guide/installer-guide/)
Step 2: Prepare and configure OpenCore bootloader
- This guide really walk you through step by step: https://dortania.github.io/OpenCore-Install-Guide/installer-guide/opencore-efi.html
- 8700 is Coffee lake. Follow all Coffee lake recommendation in that guide
- I've attached my EFI folder for those who are lazy. Remember to put in your own serial numbers and enable/disable SSDT patches in ACPI
- I kept using iMac18,3 because I don't want Apple to see a new SMBIOS attached to the same Serial Number
- for IGPU, I kept using an AAPL-ig-platform-id of 07009B3E instead of a headless connector because it was working with Clover and it's still working with OpenCore!
Step 3: wipe hard drive with Ubuntu live CD
- Dell has a 500Mb EFI folder in front and a Recovery partition at the end of the disk. I tried installing just by using Disk Utilities in the macOS installer to wipe the disk. That was a mistake. The computer kept trying to boot into recovery but couldn’t because the main OS has been wiped.
- I ended up booting with Ubuntu live USB to wipe the drive clean and delete all existing partitions
- Boot computer with Ubuntu live USB
- Click on the “Activities” text on the top left corner, then in the search bar on top in the middle of your screen, type in “disks”. First result should be Ubuntu’s “disk utilities”
- Choose the correct hard disk (disk size is a good estimate), and delete all partitions you see there
Step 4: Install macOS
- Plug the USB drive into the machine you want to install hackintosh onto
- Boot into bios and make the suggested changes
- Intel SpeedStep, Virtualization, VT for Direct I/O = Enabled
- SATA Operation: ACHI
- Everything else = disabled
- Secure Boot = Disabled
- Boot using the EFI installation drive
- Follow the macOS installation wizard, create fusion drive here before installation if you intend to use fusion drive. A quick google search should return some good write-ups
Step 5: Boot without USB
- Copy your EFI partition from the USB installation drive to the EFI partition of your Macintosh HD. You can use my attached files, but remember to put in your own serial numbers
- Follow this guide for GUI OS Picker: https://dortania.github.io/OpenCore-Post-Install/cosmetic/gui.html#setting-up-opencore-s-gui
Step 6: Inject USB Properties and Power Properties
- If you have the same exact model as I do, my USB-Map.kext should have done the job for you
- Follow this guide: https://dortania.github.io/OpenCore-Post-Install/usb/#macos-and-the-15-port-limit
- Below is a table of what ports in IOReg correspond to physical port location
- PXSX is a different USB controller (ASMedia 1242) pci1b21_1242. This controller controls the USB 3.1 gen2 port (2.0 and 3.1 gen2), and the rear USB type-c port (2.0 and 3.1 gen2)
- The 3.1 gen2 port (PXSX HS01 (USB 2.0 mode and SS01 (USB 3 mode)) is being misrecognized as an internal port. OpenCore does not suggest injecting DSDT, fearing that it would affect other OS's
- I have included a DSDT Hotpatch in my OpenCore config.
- Basically, you want to change
-
Code:
Device (HS01)
{
Name (_ADR, One) // _ADR: Address
Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities
{
Return (TUPC (0xFF))
}
- into
-
Code:
Device (HS01)
{
Name (_ADR, One) // _ADR: Address
Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities
{
Return (TUPC (0x02))
}
- And same for Device SS01 into Return (TUPC (0x03))
- By using the iasl -l flag (iasl -l -dl dsdt.aml) as explained in Rehabman's post: https://www.tonymacx86.com/threads/guide-using-clover-to-hotpatch-acpi.200137/
- We can find out the original code's binary is "5B822848 53303108 5F414452 01140D5F 55504300 A4545550 430AFF"
- By hotpatching the FF at the very end to 02, we change the USB type from FF (255, or internal) into USB 2.0
- Do the same for SS01, whose binary is "5B822953 53303108 5F414452 0A03140D 5F555043 00A45455 50430AFF"
- By hotpatching the FF at the very end to 03, we change the USB type from FF (255, or internal) into USB 3
- Now any USB drives attached to that port should be properly recognized as external drives
View attachment 497034
Step 7: Enable hardware temperature and fan speed sensors
- Put SMCDellSensors.kext, SMCProcessor.kext, and SMCSuperIO.kext into EFI/OC/kexts/ if not already
- Reboot
- Use HWMonitor or other monitoring software
Step 8: SSDT
- Follow this guide and apply the following SSDT: https://dortania.github.io/Getting-Started-With-ACPI/
- SSDT-EC-USBX
- SSDT-PLUG
- I did not need SSDT-AWAC. To check whether you need it or not, follow the guide and manually build your own SSDT
- You can use pre-built SSDT's if you do not want to go too deep
Step 9: Install natively supported Wifi and Bluetooth card for handoff and continuity
- I originally tried to use the BCM94360CS2 MacBook Air card with m2 (a+e key) adapter for the built-in USB connection and internal antennae. Sadly there was not enough clearance to install the card. The m2 port is too close to the PCI-e x16 port that this card simply won't fit. A flex cable for a+e keyed m2 ports costs $40+, so I went the other route instead.
- I ended up purchasing a BCM943602CS PCI-e card and installed into the PCI-e x1 port.
- For handoff to work, you would have to plug in the 4-pin port on the card into a USB port. Unfortunately the XPS 8930 does not have an available internal USB header. What I ended up doing was cutting an spare USB 2.0 cable that I have, and attach the cable that came with the Wifi+Bluetooth card to it so I can plug it into an external USB 2.0 port. You would only need to connect the 4 color wires to their corresponding color wires of the cut USB cable. Breadboard jumper wires, heat-shrink tubings and the heat gun from my Arduino project came in really handy. You can probably make do with electrical tape although the connection wouldn't be as good. For a more robust cable, soldering is recommended.
- After connecting everything, Wifi and Bluetooth should work out of the box.
- Unlock with Apple Watch works sometimes. Seems like the trick with Unlock with Apple Watch is signing out and back in of your iCloud account, and restarting both your hackintosh and Apple Watch. I have it working consistently well.