OK, here I share what I did to make my laptop work. But keep in mind, everything I mention below might only work for
Dell Inspiron 7586. I might not be able to offer any support since I still don't know much details about how they works.
I remember someone said Hackintosh is not for lazy guy. Indeed, I am just a fool that willing to browse tons of hard-to-understand articles and scratch my head doing uncountable number of experiments in the nights. I am not an expert.
So forgive me first if I cannot answer your questions.
Let me start with skipping those creating USB installation disk blah blah things since you can find tons of articles talking about it.
1. Before you get started, make sure you copy one of the config.plist from this thread and make sure you have this ACPI patch:
Fix AsRock Z390 BIOS DSDT Device(RTC)
I've been scratching my head for a whole night trying to figure out why my laptop suddenly stop booting due to NVME assertion failure.... Please see post #28. In my config.plist, I renamed it as 'Fix NVME assertion failure' just in case I
remove it again.
View attachment 421001
2. It will be very handy if you have a supported USB ethernet adapter on you hand. When you see black screen
playing around UHD 620, sometime it isn't real black screen. You can still control your laptop via remote desktop.
https://www.amazon.com/gp/product/B00ZZ6NW5E/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1
3. Once you have installed the system, the first thing you do is enable remote desktop. Combining with the USB ethernet adapter, you can have one more option to try with when you see black screen.
View attachment 421006
4. Preparing DSDT.dsl. My DSDT.aml dumped by Clover bootloader somehow caused kernel panic.
So I used AIDA64 extreem to write out a DSDT binary.
https://www.aida64.com/products/aida64-extreme
And then following Rehabman's guideline to disassemble the binary.
https://www.tonymacx86.com/threads/guide-patching-laptop-dsdt-ssdts.152573/
By the way, RWeverything somehow hung while writing DSDT.
5. Enabling touchpad, touch screen, backlight, and battery manager:
a. Processing VoodooPS2Controller.kext,
VoodooI2C.kext + VoodooI2CHID.kext by following steps in this post:
https://www.tonymacx86.com/threads/guide-acer-swift-5-sf514-53t-whiskey-lake-macos10-14-5.277618/
b. Add these patches to kext patches to config.plist
View attachment 421080
b. Patching DSDT for touchpad/touchscreen and enabling backlight and battery manager. Just follow post #42.
Yes, just that simple. Thanks hacker1024.
https://www.tonymacx86.com/threads/dell-inspiron-7586-i7-8565u-intel-uhd-620.277104/page-5
While you compile the patched DSDT, you might have this error.
View attachment 421009
Simply correct the syntax from
Code:
CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, ECRW) // _RW_: Read-Write Status
Store (Zero, ECRW (If (PM0H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, F0LN) // _LEN: Length
Store (Zero, F0LN)
}))
to
Code:
CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, ECRW) // _RW_: Read-Write Status
Store (Zero, ECRW) If (PM0H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, F0LN) // _LEN: Length
Store (Zero, F0LN)
}
and remove a bunch of 'Zero' that also cause syntax error. Then you should get your DSDT compiled correctly.
Code:
Zero
Zero
Zero
Zero
Zero
Zero
Zero
Zero
Zero
And save the assembled file to EFI/CLOVER/ACPI/patched/DSDT.aml. For Inspiron 7586,
the above should all the patching we need for DSDT.
**Update: I reinstalled my laptop and found touchpad not working with the exact same hacks.
Spent a couple hours trying to figure out why and finally it was working again after installing
Displaylink Driver for Mac. I don't know why the driver has something to do with touchpad...
Anyway, the touch pad is working again.
6. Enabling Intel UHD 620 GPU. Follow the guideline here.
https://www.tonymacx86.com/threads/guide-intel-framebuffer-patching-using-whatevergreen.256490/
Or simply copy whatever in my config.plist to see if it works for you or not.
View attachment 421035
By the way, don't rename GFX0 to IGPU or you will need to connect to remote desktop to recover it back.
7. CPU power management. Simply follow Rehabman's guideline.
https://www.tonymacx86.com/threads/guide-native-power-management-for-laptops.175801/
You only need SSDT-XCPM.aml
https://github.com/RehabMan/OS-X-Clover-Laptop-Config
8. Fixing wake up reboot issue. I simply create a SSDT-DIDLE.aml by referencing the two posts and put it to EFI/CLOVER/ACPI/patched.
https://pikeralpha.wordpress.com/2017/01/12/debugging-sleep-issues/
https://github.com/darkhandz/XPS15-9550-Sierra/issues/44
Update: You also need to put these method into DSDT directly or the wakeup reboot issue will come back. I don't know why.
Code:
// Fix wake up reboot issue
Scope (\_SB)
{
Method (LPS0, 0, NotSerialized)
{
Store ("Method \\_SB._LPS0 Called", Debug)
Return (One)
}
}
Scope (\_GPE)
{
Method (LXEN, 0, NotSerialized)
{
Store ("Method \\_GPE.LXEN Called", Debug)
Return (One)
}
}
Scope (\)
{
Name (SLTP, Zero)
Method (_TTS, 1, NotSerialized)
{
Store ("Method \\__TTS Called", Debug)
Store (Arg0, SLTP)
}
}
// end
By the way, you need to short press power button first then press any key to wake up your laptop.
9. Enabling WIFI. Replace the Intel WIFI card with a Broadcom BCM94352Z
Find many great new & used options and get the best deals for Lenovo 20-200480 / Broadcom BCM94352Z A/B/G/N/AC laptop Wifi + Bluetooth card at the best online prices at eBay! Free shipping for many products!
www.ebay.com
10. Enabling HDMI. Read the guideline here or simply copy whatever in my config.plist.
https://www.tonymacx86.com/threads/...ching-guide-hdmi-black-screen-problem.269149/
By the way, I don't know how to use hackintools correctly since it doesn't put every required configs into config.plist.
Sometimes even messed it up. So I manually edit everything in GPU's properties.
11. Enabling Audio card. Download AppleALC.kext and use layout-id=77.
https://github.com/acidanthera/AppleALC
AppleALC supported ALC295/ALC3254 since 1.3.6.
View attachment 421036
I tried all possible layout-id for ALC295. Layout-id=77 (4D) works the best (I think).
12. Disabling discrete graphics card to save power. Follow Rehabman's guideline:
https://www.tonymacx86.com/threads/guide-disabling-discrete-graphics-in-dual-gpu-laptops.163772/
For Inspiron 7586, it seems that we only need to add a line in SSDT-9-OptTabl.dsl (Dumped by Clover bootloader).
Not sure if I patch it correctly. At least it doesn't bring me any issue so far.
Code:
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
Store (DID1, Index (TLPK, Zero))
Store (DID2, Index (TLPK, 0x02))
Store (DID3, Index (TLPK, 0x04))
Store (DID4, Index (TLPK, 0x06))
Store (DID5, Index (TLPK, 0x08))
Store (DID6, Index (TLPK, 0x0A))
Store (DID7, Index (TLPK, 0x0C))
Store (DID2, Index (TLPK, 0x0E))
Store (DID1, Index (TLPK, 0x0F))
Store (DID2, Index (TLPK, 0x11))
Store (DID3, Index (TLPK, 0x12))
Store (DID2, Index (TLPK, 0x14))
Store (DID4, Index (TLPK, 0x15))
Store (DID2, Index (TLPK, 0x17))
Store (DID5, Index (TLPK, 0x18))
Store (DID2, Index (TLPK, 0x1A))
Store (DID6, Index (TLPK, 0x1B))
Store (DID2, Index (TLPK, 0x1D))
Store (DID7, Index (TLPK, 0x1E))
// Added to turn nvidia off
\_SB.PCI0.RP05.PEGP._OFF()
}
12. SSDT hotpatch. I just added some of Rehabman's SSDT hotpatches for run since I don't have the knowledge about how ACPI works...
https://github.com/RehabMan/OS-X-Clover-Laptop-Config/tree/master/hotpatch
By the way, SSDT-XOSI.dsl somehow makes my laptop hard-to-wakeup. So I removed it.
I finally made it works after a sleepless week. That's all I got. I hope it will save some of your time.
-Steven
-Steven
View attachment 421001View attachment 421005View attachment 421006View attachment 421009View attachment 421035View attachment 421036View attachment 421001View attachment 421005View attachment 421006View attachment 421009View attachment 421035View attachment 421036View attachment 421036