Jump to content
Kogen Mantis

Lenovo ThinkPad T420 with UEFI Only

4,559 posts in this topic

Recommended Posts

here is my dsdt of x220 if you want to compare something , its very similar and i study yours and others to make mine of course, maybe you can understand the acpi sections to find some clue. (for x220 users to try it's from 1.39 bios (latest for x220)


updated 18/12



Share this post

Link to post
Share on other sites

@tluck I don't know why it didn't work for you. The patch works for me (UEFI boot). Here's what the top of my _WAK method now looks like (based on your slightly older DSDT, not the one you posted today)

    Method (_WAK, 1, NotSerialized)
        \_SI._SST (One)
        If (LOr (LLess (Arg0, One), LGreater (Arg0, 0x05)))
            Store (0x03, Arg0)
        If (LEqual (Arg0, 0x05))
            Return (WAKI)
        Store (Zero, SPS)
        Store (Zero, \_SB.PCI0.LPC.EC.HCMU)
        \_SB.PCI0.LPC.EC.EVNT (One)
        \_SB.PCI0.LPC.EC.HKEY.MHKE (One)
        \_SB.PCI0.LPC.EC.FNST ()
        UCMS (0x0D)
        Store (Zero, LIDB)
        If (LEqual (Arg0, One))
            Store (\_SB.PCI0.LPC.EC.HFNI, FNID)
        If (LEqual (Arg0, 0x03))

Doesn't fix the mute-button-freezes-my-system issue, but it feels like progress :)


edit: also works with MBR boot, but the hardware volume buttons are somewhat "unresponsive" almost "sticky" after the wake-from-sleep

Share this post

Link to post
Share on other sites

Clover UEFI on T420 Guide


Ok ... an update to the DSDT seems to have fixed the speaker after sleep issue!


thanks to sot_22 and manwe150...


so anyway, I reposted the bundle... sorry for the 22 of you that downloaded the old one ... you may want to pull the updated zip back down.  the difference is the updated the DSDT files.


17-Dec-2013 - update (thanks to manwe150)

  • Updated for 10.9.1 - new AppleHDA.kext v2.5.3 patched
  • Updated Clover to b2377
  • More teaks and reversion for the DSDT and config.plist files.
  • DSDT updates to _PTS and _WAK section.
    Fixed - internal speaker works on resume from sleep - has RehabMan's mutex and  _WAK patches.

Share this post

Link to post
Share on other sites

@sot_22 et al.


I was having some fun with RehabMan's fix and decided to look at the disassembly of AppleACPIPlatform. If you look at the _AcpiLeaveSleepState, you'll see that Apple used to implement a more complete ACPI spec, but deleted some dead code in later versions:

So, to put the system to sleep, instead of calling { _PTS(); _GTS(); _SI._SST() } it just calls { _TTS(); _PTS() }

And, to wake the system, instead of calling { _SI._SST(); _BFS(); _WAK(); _SI._SST() } it calls { _WAK(); _TTS() }


_GTS and _BTF are no-ops for lenovo, so that's fine, but we were expecting a call to _SI._SST to set the LED state.


I'm not sure why it fails now, but it's a little hard to back out Apple's modifications just looking at the assembly.


Oh, and the source code for the old logic can be found online: http://doxygen.reactos.org/d7/d9f/hwsleep_8c_source.html#l00574 (which makes sense when you realize that it was written by Intel), which should making patching it to work again very much easier.

Share this post

Link to post
Share on other sites

We should be able to make a patch for this (unless someone already has)?

for example, could replace <<AppleACPIPlatform[0xac62]:  movzbl %al, %edi>>

with <<movq    %rax, -120(%rsp)>> except that the latter requires 5 bytes and the former fits in 3


I'm a bit of a rookie when it comes to patching binaries, so I'm not really sure where to go from here.


edit: The Arg0 input to the _WAK function is pointing at uninitialized stack space, which is why we want to somehow initialize it with the value in %al or %edi

Share this post

Link to post
Share on other sites

@manwe150 - 


so it seems on Lenovo, there are just 2 functions _PTS and _WAK.

then i looked on my real mac and i can't find a TTS method. so maybe its one or other? I just found _PTS and _WAK  - non of the other _BF or SST are on the mac


so as far a LEDs, i did add a call to _SST in _WAK to reset the LED upon wake.


what is your next post about -- you lost me in terms of what that assembly code would fix/do?

i believe the latest fix handles an odd ball arg0 value. the expected values are 1-5. So if it _WAK gets an arg0 number outside of this range, then we set to 3 (which puts into mode for wake from sleep)


3= sleep

4= lid sleep

5= shutdown 


from my MacBook Pro:


i presume ECSS is the sleep state - it stores when going to sleep and sets to 0 upon wak.

GP45 is about ethernet


    Method (_PTS, 1, NotSerialized)
        Store (0x00, P80D)
        P8XH (0x00, Arg0)
        Store (Arg0, \_SB.PCI0.LPCB.EC.ECSS)
        Store (0x01, GP22)
        If (OSDW ()) {}
            Store (0x01, GP45)
    Method (_WAK, 1, NotSerialized)
        Store (0x01, UH2D)
        Store (0x01, UH3D)
        Store (0x01, UH4D)
        Store (0x01, UH6D)
        Store (0x01, UH7D)
        P8XH (0x00, 0x00)
        Store (0x00, \_SB.PCI0.LPCB.EC.ECSS)
        If (OSDW ()) {}
        Store (\_SB.PCI0.LPCB.EC.LSTE, LIDS)
        Store (\_SB.PCI0.LPCB.EC.RPWR, PWRS)
        PNOT ()
        Return (Package (0x02)

Share this post

Link to post
Share on other sites

manwe150 great info from AppleACPIPlatform ,the more you dig the more you understand and sure its fun to know how things works inside out :)

fortunately with the dsdt edits we can make fixes and not rely on binary patching but its good to know for something that can't be done otherwise


tluck good you found the problem for speaker , i knew it that won't be that hard cause lenovo thinkpads have similar hardware and you said that you have a macbook pro?


i want to ask something about performance ...


I'm using an external 1680x1050 monitor with x220 (hd3000) and while the launchpad animations are smooth and fast in internal display, on external when the pages have too many icons becomes a little laggy , on all other occasions the animations are smooth 


BUT the response and speed feel of the os and programs is a little slower than when using the internal display, in windows the external display is as fast as the internal with no lags whatsoever.


*note that i'm using the external only on both win and osx with closed laptop lid for more speed from HD 3000.


for example the same program in windows is running with less cpu usage than the same program in osx and the fan kicks in faster in hackintosh , i tried two program examples for music, the ableton live and reason 7 demo , with the same song playing in windows i have less cpu usage and the system responds faster than macos and i thought it would be the other way around! have you notice any of this windows is performing faster with less cpu usage than macos?


and last i made these changes in my dsdt for os detection and hpet :


in    Scope (_SB)

        Method (_INI, 0, NotSerialized)


i change windows 2006 with that :


                If (LOr (_OSI ("Darwin"), _OSI ("Windows 2006")))
                    Store (One, WNTF)
                    Store (One, WXPF)
                    Store (Zero, WSPV)
                    Store (One, WVIS)
and in Device (HPET)
                    Method (_STA, 0, NotSerialized)
                        If (LAnd (WNTF, LNot (WXPF)))
                            Return (Zero)
                            Return (0x0F)
                        Return (Zero)
with that as your dsdt :  
                  Method (_STA, 0, NotSerialized)
                        Return (0x0F)


are these changes valid or enough for detection to work?




i want to make the hackintosh fast responsive like windows and maybe that can be done with dsdt edits of that sort (acpi, hpet and better power management)

thanks all for info and sharing knowledge


note : right now everything works with my dsdt no problem whatsoever but to be usable for running and some heavy program other than surfing the web etc the power managment must be good like windows . maybe i search it too much but i'd like to have a same specs macbook side by side running a heavy cpu program and not notice difference in speed/feel ...

by the way the geekbench 3 score is alright :



Single-Core Score   2539

Multi-Core Score    5097




edit : ok i did it that way now for os checks 


Insert the following right underneath the block that has all the operating system names checks and above the line If (LGreaterEqual (_REV, 0x02)).

Store (One, WNTF)
Store (One, WXPF)
Store (0x02, WSPV)
Store (One, WVIS)

Share this post

Link to post
Share on other sites



thanks for your input - right now the laptop has never run better! booting from MBR clover is very stable. sleep/wake also as good as it ever has been. on 10.8.x i had random success on sleep/wake with external disks attached.  as far as  i know the OS flags turn on/off various methods and values depending on which OS is running when they such the DSDT out of BIOS. which OSX, we provide a DSDT essentially with XP flags. i turn on H8DR which has slightly different but equivalent code paths the DSDT.


i am no expert here .. but here is my 2cents ... as far as performance, yeah i am not sure there is any tuning other than playing with P states. i find that a hand-made SSDT gives me a bit more juice - goes to 31x and 32x (turbo) than what clover will generate for the P-state timings. but i am no expert in this area. i tried a few tests running geek bench and xbench (just the gfx tests) on both my LCD alone and then on my 1920x1200 HP monitor (alone.) results were very similar with the LCD slightly averaging a tad higher  but not significant. the results for my box is 6650+/- 30  - LCD ran 6680 - HP ran around 6630. but there was an overlapping range.  xbench for pure gfx tests ran exactly the same aggregate of 255 for (quartx, OpenGL an GUI) on either display. 


my fans run at around 3500 rpm with little or no load - i.e. right now typing in web browser. and running at lowest speed 8x. i hardly ever run native windows (i run win 7 64bit via Fusion for some of video/multimedia apps that only run on PC etc). so i don't have any apples-apples comparisons.


@manwe150 -- thanks again for your invaluable review and insight! hope all is well in your part of the world for the upcoming holidays. 

Share this post

Link to post
Share on other sites
@sot_22 my hackintosh seems faster than my windows (plus better battery life and smoother graphics). right now my fan is running at min speed (2000rpm) while I browse the web. I think that Mac has slightly higher RAM requirements to get the most out of your CPU (I have 8GB).


@tluck I was investigating the problem further. Especially the claim "So if it _WAK gets an arg0 number outside of this range". In some respects we want to always set Arg0 to 3, since there are no conditions under which the new AppleACPIPlatform will call us with the correct number. However, inserting the missing instruction into the assembly turns out to be very difficult.

Share this post

Link to post
Share on other sites

@manwe150 - well i patched the _WAK method to handle bogus arg0 values based on RehabMans info ... sleep is working fine now, right? UEFI is still has random issues...


# In 10.8.5 and perhaps later versions of OS X, DSDT method _WAK
# called after resuming from S3 suspend (Sleep, or suspend to RAM),
# is called with garbage in Arg0, where it should be a value
# representing the sleep state being left (1-5).
# This causes problems for code in DSDT _WAK method which expects
# and checks against Arg0==3 for wake from sleep to turn on various
# devices or restore internal state to a working state.
# This patch adds code at the very beginning of the method to
# force an an out-of-range Arg0 to 3.
into method label _WAK code_regex ([\s\S]*) replace_matched
If (LOr(LLess(Arg0,1),LGreater(Arg0,5))) { Store(3,Arg0) }\n

Share this post

Link to post
Share on other sites

tluck and Manwe150 thanks for feedback and yes benchmarks turn out alright and my fan is running at 2000rpm while not pushing the cpu (i keep in mind that x220 has smaller chassis than t420 so it might gets hotter while running intensive programs), the little slow down is happening only with external display on 1680x1050, if i lower the resolution its fast like thinkpad's lcd , anyway the battery life  is connected with the power settings everyone uses and with lenovo power manager you have more settings than macos and yes the laptop runs super with all these dsdt edits we made all this time! 


[ maybe the cause of this is that the display is connected with displayport to dvi adapter (i dont have a DP monitor to try it) ]


but i'll try clover bootloader again to see if there is a difference cause from what i remember when i changed CPU FSBFreq from 99MHz to 100MHz (i didnt find a way to change that on chameleon (bus=25 defaults to 99Mhz) ) the launchpad animation lag with many icons was fixed on external display and "about this mac" on menu bar says : Processor 2.5 Ghz istead 2.49 Ghz).


*i installed clover (T420_UEFI_Clover-b2377-10.8.5_10.9.1-17-Dec-2013) to my usb stick (with my dsdt and config) and boots ok , just to inform i dont have the mute button bug , the button works alright after sleep and before like with chameleon.


and for fun i found a bug which remains from 10.8 if anyone wants to try (try it with a mouse to not wear the laptop buttons  :) )


if you go with the mouse pointer to top left corner where the notification icon is on menu bar , at the icon and moving to edge start pressing/hitting the left mouse button like you playing

arcade game (very fast clicking) and after some time and a lot of notification window trys to expand and hides again as you clicking fast it gets stuck closed and it only returns if you log out and log in again  :D (it happens every time if you insist clicking...have patience lol, a video would be more revealing for sure but you'll have missed all the fun ...)

Share this post

Link to post
Share on other sites



yeah there used be some issues with Clover and bus/clock speed but now it seems to compute/determine the right speeds for my i5-2520M. however, it does not seem to compute P-States for this cpu as well as the hand-rolled SSDT verleihnix created some time ago. so i took my laptop out the dock - removed the PCI USB3 card and other external disks and it the fan runs at 1971 RPM now.

Share this post

Link to post
Share on other sites

it seems that macos is a little picky for what hardware you connect , it must be designed/tested with proper drivers for mac or else you get incompatibility issues/high cpu usage...


i have this "laggy animation launchpad when many icons are in pages on external display" with chameleon too, but there is no setting to change there... now i did some testing with clover and the best setting for me is to put in config.plist :

with this bus speed the animation is smooth now ,
i made the changes for shutdown fix in my dsdt,
install latest rehabman fakesmc (i had slice 3.3.1) 
and tell clover not to generate P & C states 
now the thermal management changed , the fan starts more slow than before and general the behaviour is different, i think it works better , i'll stay with clover for now and see
the only thing that bothers me a little is that with clover even with the shutdown fixes in _PTS _WAK sometimes it doesnt shutdown completely (led on).
we have the same processor, i didn't look to verleihnix ssdt i'll look , for now i created a new one with script ssdtPRGen http://www22.zippyshare.com/v/82564900/file.html
and this is new dsdt for x220 users with fixes for shutdown / fan readings etc http://www75.zippyshare.com/v/14170159/file.html
excuse me if i hijack the thread with x220! this thread got big by the way and i think its the best thread for thinkpads 

Share this post

Link to post
Share on other sites

@sot_22 - the verleihnix ssdt.aml for the i5-2520M is in my zip bundle. i used have to override bus speed to get the clock to stay on course as clover was calculating really high values. so i would set to 99700. if your box works for you at 99800 then good you will run a bit faster! keep an eye on your clock. for me, clover is now computing and using these speeds (from cloverEFI boot.log):

9:654  0:000  Finally: Bus=99676kHz CPU=2491MHz

i believe the shutdown issues to be a random UEFI issue as it does not happen when i boot with chameleon or CloverEFI (MBR). i never really saw any difference in shutdowns will all the _PTR "fixes". i pulled them out now. speaker seems to work better! btw, my laptop is running a lot cooler now that i blew a huge pile of dust out the fan! 

Share this post

Link to post
Share on other sites

xmm just before now ... i put "mac" to sleep and stuck with the fan spinning! and i'm booting clover from a small fat partition with the mac partition to be mbr... with all the fixes ... just now i remembered why i was mad at clover :) , it seems to work for 20 times and then when you are like alright now i got it right it gets on you hard! , you happen to know how one can change that value of Bus in khz in chameleon ? ;) maybe another time lenovo will get uefi right but for now it seems unstable again


and in console when stuck :


12/19/13 21:51:48.593 WindowServer[95]: device_generate_desktop_screenshot: authw 0x0(0), shield 0x7fbc7b6e6f10(2001)

12/19/13 21:51:48.630 WindowServer[95]: device_generate_lock_screen_screenshot: authw 0x0(0), shield 0x7fbc7b6e6f10(2001)

Share this post

Link to post
Share on other sites



The entire disk or usb is either mbr or gpt. Sounds like your clover partition is on a gpt disk and such means uefi boot? To boot cloverefi the disk or usb will boot just like chameleon. Format a usb as mbr. And make it fat32. When you boot you should see it flash the word boot0. Anyway just checking to make sure how you are booting clover.

Share this post

Link to post
Share on other sites

Tettone thanks that's the latest version of the script 


tluck my partition is fat32 everything is alright i have not done anything wrong, just x220 lenovo uefi with clover does not go to well... i've spend many hours tweaking etc the last time and for what i see with x220 or with my dsdt clover has problems with sleep/shutdown that was the case then and from what i see now , i just dont want buggy uefi to mess with sleep/shutdown functions and to lose again days of tweaking without changing something because when one thing work and dont work random you can't fix it! (or its very very difficult) , the best would be if it wont work at all ... so i'll have it on my little fat32 partition for testing because its easy to boot chameleon (which is installed on main mac partition) just by switching inside bios the boot mode "Legacy only" or" Both-(Boot UEFI first)"


*tluck you boot cloverefi with Legacy setting on bios? if you can boot with that setting then i must install clover on main mac partition to try that (maybe the setting uefi on bios i have makes clover unstable)

i'll try that now


**** i think that was the problem... i was booting UEFI mbr and not BIOS mbr ... now it should be ok!

Share this post

Link to post
Share on other sites

Well i understand and agree with your frustration. i have made mention of these problems in my Guide and recommend CloverEFI/MBR boot.  i really like Clover - what we don't like is the Lenovo UEFI+OSX.


so what i do is boot from a Cruizer Fit USB instead of boot from my HD. because the BIOS tries to be clever. if the DISK is GPT then it will use EFI. if the DISK has an MBR then it looks in it to boot. without going into details here ...


And to keep it simple, my first disk is GPT with a PMBR (vs MBR) Note: apple Disk Utility wants to make it MBR when you add NTFS. but thats another story.


Anyway, to get all the benefits of Clover,  i find this workaround for UEFI and OSX to get around all the UEFI problems. it takes about 1 second longer to boot and i use a USB slot but thats ok with me.


there are probably other ways to get MBR/CloverEFI working off the main HD ... this is just the way i chose to do it.


My main HD can also boot Clover in UEFI

My main HD can also boot Windows in UEFI


the EFI/Clover folder from the ESP is duplicated onto the USB. I just set boot from USB as first choice in BIOS. here is my layout:


X is my USB.

Disk1 is my backup of Disk0



$ diskutil list


   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:      GUID_partition_scheme                        *750.2 GB   disk0

   1:                        EFI EFI                     209.7 MB   disk0s1

   2:                  Apple_HFS OSX+                    697.7 GB   disk0s2

   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3

   4:       Microsoft Basic Data C                       51.5 GB    disk0s4


   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:      GUID_partition_scheme                        *500.1 GB   disk1

   1:                        EFI EFI                     209.7 MB   disk1s1

   2:                  Apple_HFS MyTimeMachine           228.0 GB   disk1s2

   3:                  Apple_HFS OSX                     20.1 GB    disk1s3

   4:       Microsoft Basic Data H-Backup                200.0 GB   disk1s4

   5:       Microsoft Basic Data C-                      51.5 GB    disk1s5


   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:     FDisk_partition_scheme                        *16.0 GB    disk2

   1:             Windows_FAT_32 X                       16.0 GB    disk2s1



$ sudo gpt -r show disk0

       start        size  index  contents

           0           1         PMBR

           1           1         Pri GPT header

           2          32         Pri GPT table

          34           6         

          40      409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B

      409640  1362786480      2  GPT part - 48465300-0000-11AA-AA11-00306543ECAC

  1363196120     1269544      3  GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC

  1364465664   100681728      4  GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7

  1465147392        1743         

  1465149135          32         Sec GPT table

  1465149167           1         Sec GPT header

Share this post

Link to post
Share on other sites

That's a good workaround , i had GPT and then with all this lenovo uefi got back to MBR so now i dont want to reinstall windows 7 again :) maybe the next time .


my partitions now are :



   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:     FDisk_partition_scheme                        *128.0 GB   disk0

   1:                 DOS_FAT_32 FAT                     418.4 MB   disk0s1

   2:                  Apple_HFS mac                     81.5 GB    disk0s2

   3:               Windows_NTFS System Reserved         104.9 MB   disk0s3

   4:               Windows_NTFS                         46.1 GB    disk0s4


   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:     FDisk_partition_scheme                        *2.0 GB     disk1

   1:             Windows_FAT_32 NO NAME                 2.0 GB     disk1s1


/dev/disk1 is the usb (i install it on usb to try so ok i can make it permanent later)


and yes with ssd its a little tight in there...


it was nice to remember again all this stuff :) by the way clover detects 3 memory slots instead of 2 at About this Mac ... 


and the laggy launchpad animation is back ... bios mbr/uefi have something to do with this ,maybe some timing issue who knows .

Share this post

Link to post
Share on other sites

Intel Core i5-2540M @ 2.59 GHz

GenuineIntel Family 6 Model 42 Stepping 7


Section Description Score Geekbench Score Geekbench 2.4.0 Pro for Mac OS X x86 (64-bit)

5745 Mac OS X 10.8.5 (Build 12F45)

5780 Mac OS X 10.9.1 (Build 13B42)


Section Description Score Geekbench Score Geekbench 3.1.3 Pro for Mac OS X x86

(64-bit) 2041/4493 Mac OS X 10.8.5 (Build 12F45)

(32-bit)1887/4140 Mac OS X 10.8.5 (Build 12F45)


HD are difference a surely have a consequence on these results

Share this post

Link to post
Share on other sites

looks good , you have and a slight faster cpu 2540m , try and with the 32 bit geekbench 3 version maybe the numbers with be different

Share this post

Link to post
Share on other sites

after i read some pages of this thread i decided to boot clover uefi again and put in dsdt timewalker75a "_PTS ,SLPE shutdown fix" which i try for the first time (without removing the TPM stuff) , for now it works so far , i'll see how that goes,

without this fix the led stays on and x220 doesn't turn off property in uefi mode (in legacy it works ok)

and Manwe150 post has useful info              #751              for on the fly patching :)


*** timewalker75a fix dont work for me too just had a random sleep hang ....

Share this post

Link to post
Share on other sites

@sot_22 - yeah i used to have these fixes in _PTS (SLPE bit thing) in the DSDT. However, recently I removed them as they did not seem to make any difference. with UEFI, sometimes shutdown would actually shut it all the way down with or without the "fixes". but then sometimes it didn't. with CloverEFI/MBR i don't have these at problems at all - 99.9%. in the last week with 10.9.1, I tested both UEFI and MBR without SLPE in the _PTS , it shuts down fine. i only did a few sleep tests and no difference too. and thanks for reminding me - i need to add Manwe150's trim fix to the general bundle! 


@tettone - your performance seems a bit low? i just ran geekbench v3 and got pretty much what is expected...

since Geekbench v3 is calibrated to 2500 for a i5-2520 (3.2 mhz) - which is what i have. since you have an i5-2540 (3.3 Mhz) you should ~ 3.3/3.2 faster! The HD should not matter as these are CPU benchmarks. I tested on a regular SATA and my hybrid - no difference.


I ran the test 3 times in 32-bit mode (free mode):







then if i use the P states from clover vs ssdt.aml i get a bit slower numbers - will need to investigate this further





Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By rtke333
      Acer Aspire V15 V5-591G - Mojave 10.14.4
      (Note: mine is 55TU version, but the bootpack will work fine with another versions of 591G, for example: V5-591G-71K2, -764Z, -59PU, etc.)
      - Motherboard: USOPP_SLS (Skylake-H PCH)
      - BIOS:Insyde Corp. v 1.15
      - CPU:Intel Core i5-6300HQ 2.3 GHz (Skylake)
      - GPU: NVIDIA GeForce GTX 950M 2 GB (Optimus) & Intel HD Graphics 530
      - RAM:SK hynix 4 GB DDR4 (Later I bought + KINGSTON 4 GB) 2133 MHz
      - WiFi + Bluetooth:Qualcomm Atheros QCNFA344A 5 GHz (Later -> Broadcom BRCM94352Z M.2 5 GHz WiFi + 4.0 Bluetooth)
      - Audio:Realtek HD Audio: ALC 255 
      - Ethernet: Realtek RTL8168/8111
      - Card Reader:Realtek USB 2.0 Card Reader (USB2.0-CRW)
      - Webcam:HD Webcam
      - HDD:TOSHIBA MQ01ACF032 320 GB HDD
      - SSD:SPCC M.2 230 GB SSD
      - Display:1366x768 (15.6", Matte)
      - Battery: 6 cell 56Wh / 5040mAh
      - Connectors: 
      1x SD Card Reader 2x USB 3.0 (1x USB Charging), 1x USB 2.0 1x VGA 1x HDMI 1x 3.5mm microphone/audio combined jack connector 1x Ethernet (Rj-45) - Keyboard & Touchpad:Multi-Touch & Multi-gestures ELAN 501 Touchpad, Backlight Keyboard.
      - Wi-Fi (with BCM94352Z)
      - Bluetooth hand-off (With BCM94352Z)
      -Full Graphics enabled on HD 530: ig-platform-id: 0x191b0000 (HD 530 Mobile)
      - Display: if default colour profile is corrupted (blue is not actual blue but purplish) Use "Rec. ITU-R BT. 709-5" Color Profile (System Pref. -> Displays -> Color)
      -HDMI & VGA Outputs: AppleGraphicsDevicePolicy.kext Clover patch
      - Audio (ALC 255):(Internal Speakers, Internal Microphone, Headphone jack with AppleALC, ALCPlugFix -> layout-id=17)
      - Ethernet Realtek 8168/8111: RealtekRTL8111.kext
      - App Store, Messages, FaceTime, Siri, iCloud(native)
      - Integrated webcam(native)
      - 3.0 USB (native)
      - Touchpad and Keyboard(ELAN501): Fn keys are good, the weird thing is the Brightness key. On my keyboard it's Pause Break:Br-up, Fn+F12:Br-dwn-> To fix this try Karabiner (VoodoPS2Controller.kext), - for gestures try SmartTouchpad drivers
      - Battery info:Install ACPIBatteryManager.kext with Kext Utility or other installer.
      - Sleep Mode
      - SSD with TRIM enabled (to enable trim, open Terminal and write "sudo trimforce enable")
      Not working:
      - Original Wi-Fi (Qualcomm Atheros QCNFA344A):  unsupported, you need switch to BCM94352Z or just use a mini usb wifi dongle.
      - NVIDIA GeForce GTX 950M: Optimus not supported.
      - Card Reader: Unsupported -> Can't really fix because I don't have any SD Card at the moment, maybe can be fixed by adding Prod & Ven IDs to AppleStorageDevices.kext, I never used it anyway. name: "USB2.0-CRW" Prod ID: "0x0129" Ven ID: "0x0bda  (Realtek Semiconductor Corp.)"
      For Wi-Fi:
      - 1st method:You can choose an external USB wifi dongle (I used TP-Link Archer T1U (5GHz support), TP-Link has official macOS drivers, you just need to install it
      -2nd and I think the best method:Replace your M.2 Qualcomm Card with a compatible BCM94352Zcard (you will have hand-off Bluetooth too), just install the kexts (enabled with BrcmFirmwareData.kext, BrcmPatchRAM2.kext, FakePCIID.kext, FakePCIID_Broadcom_WiFi.kext, they're all in my attached zip). You could buy this card from ebay, aliexpress, or amazon
      - None
      BIOS Settings:
      - BIOS version 1.15 (irrelevant)
      - Secure Boot: Disabled
      - Touchpad: Advanced
      - Boot mode:UEFI
      Getting ready for Installation:
      - Download the install zip (bootpack & postinstall): Click here -> acer_aspire_v591g_installfiles.zip
      - Create an installer with any method you know (- Mac: createinstallmedia - Windows: Transmac, Vmware, Win32diskimager)
      - Copy my Clover folder to the USB's EFI folder
      - Boot with the Installer USB
      - If you stuck in boot, reboot and in the Clover bootloader select "config_debug.cfg" -> you'll have more informations about the freeze
      Please open the README.rtf in my install zip for more informations about the USB Installer & Post installation!
      If you have a single RAM and getting panic at boot, then you need to edit the "config.plist" with these (SMBIOS->after "Version 1.0"):
      ->Edit "Frequency" and "Size" to match your RAM values
      <key>Version</key> <string>1.0</string> <key>Memory</key> <dict> <key>Channels</key> <integer>1</integer> <key>SlotCount</key> <integer>1</integer> <key>Modules</key> <array> <dict> <key>Slot</key> <integer>0</integer> <key>Size</key> <integer>8192</integer> <key>Frequency</key> <integer>2133</integer> <key>Type</key> <string>DDR4</string> </dict> </array> </dict> </dict>  
      PowerManagement  fix:
      Set HWPEnable=YES in Clover (already set), CPUFloor to "700", Frequency to "2300" and "3200"(Normal and Turbo, if you have i7-6700HQ version then it should be "2600", "3500") and "FrequencyVectors" from "0x0d000000" to "0x07000000" in "S/L/E/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resources/Mac-A5C67F76ED83108C.plist", MSR _xcpm_idle Patch to KernelToPatch in Clover (If you have High Sierra, change "MatchOS" to 10.13):

      <key>KernelToPatch</key> <array> <dict> <key>Comment</key> <string>MSR 0xE2 _xcpm_idle instant reboot(c) Pike R. Alpha</string> <key>Disabled</key> <false/> <key>Find</key> <data> ILniAAAADzA= </data> <key>MatchOS</key> <string>10.14</string> <key>Replace</key> <data> ILniAAAAkJA= </data> </dict> </array> Reboot, and it's 800MHz in idle state, same on Windows.

      Elan SmartTouchpad
      I only use scrolling, one-, double- & tripletap
      If you want to try other gestures go to this link for more informations, options (v4.7 beta 5) ->  DETAILS ABOUT THE SMART TOUCHPAD DRIVER FEATURES
      Fn Brightness keys not working with this, tried several things without success. With VoodoPS2Controller it's working, but you'll have no gestures (neither scrolling).
      Before updating to a new version of Mojave please update kexts (and clover if necessary) to newer versions to avoid kernel panics.
      Generate a serial number with Clover Configurator.app (open up your config.plist with CC then -> SMBIOS -> Serial Number -> Generate New)
      Mojave & Windows 10 Dual-Boot:
      Dual-boot clean install (on one drive), UEFI Only:
       Boot into your Mac installer, Create 2 partitions in GUID table (1 for Win (I used FAT32 but I think it doesn't matter what you choose), 1 for Mac),   Install Mac, boot with your USB, mount your EFI partition (use terminal or an EFI mounter app), create an EFI folder (if there is no folder), copy the CLOVER folder I attached to the EFI folder, restart,  Boot into your Win installer, Format the partition you created for Win, install.   Now, it's automatically booting into Windows. To use Clover open cmd in administrator, type:  bcdedit /set {bootmgr} path \EFI\CLOVER\CLOVERX64.efi       5.  You're done! It will booting into Clover when you start the system, and you can select Win or Mac (or another OS if installed on a 3rd partition).
      Dual-boot with Windows installed first (on one drive), UEFI Only:
      If you already have Windows and you don't want to lose all your data there is a hope:
      I created a video from this restore method: [Hackintosh] Dual-Boot High Sierra & Windows - when Windows already installed - no data waste - UEFI
      You need bootable Mac Installer and a full system restore image (link is in my video's description).
      (You may see errors if your EFI partition is not 200 MB)
       Boot into your Windows, resize your partition or create one for Mac.  Boot into your Mac installer and in Disk Utility format the partition you created.  Restore from image: select your full system restore image.  When it's finished restoring you just need to restart, then boot to the system with your usb.  When you successfully booted to Mac desktop, mount your EFI partition (use terminal or an EFI mounter app), open EFI, you will see there is a Microsoft folder already (don't touch that!). Copy my CLOVER folder to the EFI folder then Restart.  Now, it's automatically booting into Windows. To use Clover open cmd in administrator, type:  bcdedit /set {bootmgr} path \EFI\CLOVER\CLOVERX64.efi       7.  You're done! You can select your old Windows and your new macOS!
      (Only tried with Windows 8/8.1/10. I don't know Windows 7,etc.)
      - Make sure you have partitions in GPT
      - Windows using 100 MB EFI and will annoy the Mac restore. Don't worry, just ignore the errors.
      IF YOU GETTING ERRORS DURING WINDOWS INSTALLATION (could not be formatted, etc):
      - Make sure you have GPT partitions, and GPT (UEFI) installer, also disconnect all external storage drives (except the installer USB)
      - It's because your EFI is not 200 MB or not an "Apple" original EFI,  but do not worry, try another EFI mounter, or mount from terminal (I used EFI mounter v3: Getting errors, but you can mount and use without problem)
      - You also could "mount" the EFI from Windows:
      1st method: open cmd in administrator mode and type:
      list vol (Now select the "System" volume,(FAT 32) For example I select 4)
      sel vol 4
      list part(Select System type partition, for example 2)
      sel part 2
      assign letter=b(This will "mount" your EFI partition)
      Open Explorer++ or TotalCommander in administrator mode to manage EFI
      remove letter=b (This will "unmount" your EFI)
      2nd method: open cmd in administrator mode and type:
      mountvol b: /s (This will mount your EFI)
      Open Explorer++ or TotalCommander in administrator mode to manage EFI
      mountvol b: /d (This will unmount your EFI)
      Thanks to all OSXLatitude members for helping me out! (Jake Lo, Hervé, Bronxteck, black.dragon74)!
      2019.04.25: Optimized touchpad scrolling -> updated install files
      2019.03.30: Fixed USB 3.0 ports, fixed Bluetooth crashes after sleep -> updated bootpack
      2019.03.28: Updated to 10.14.4. Unexpected crashes while updating to 10.14.4 -> fixed by updating Clover to the latest (v4910) version. Bluetooth crashes appeared -> fixed by downgraded Brcm*.kexts. Updated bootpack.
      2019.02.24: Bluetooth crashes after sleep -> fixed, updated bootpack. 
      2019.02.22: Updated to 10.14.3. Fixed HDMI Audio by installing "FakePCIID_Intel_HDMI_Audio.kext" -> fixed freezing during boot. Fixed brightness levels by installing "AppleBacklightFixup.kext". Also updated bootpack & postinstall zip down in attachments.
      2019.01.21: Removed FakeSMC.kext, SMCHelper-64.efi, replaced by VirtualSMC.kext, VirtualSMC.efi because I got random freezes when booting system (kextd stall[0], (120s): 'AppleACPICPU' -> CPU is at 100%, fans are spinning fast), also updated bootpack in the attachments "acer_aspire_v591g-55tu_clover.zip"-> Freeze continued, brought back FakeSMC, deleted VirtualSMC (caused BT crashes).
      2019.01.18: HDMI Audio is fixed, I didn't do anything HDMI Audio is not fixed, sometimes it worked but most likely not. (no idea why)
      2018.12.09: Updated to 10.14.2 -> did without any complication
      2018.11.28: Fixed combo-jack garbage sound output by installing ALCPlugFix and CodecCommander.kext
      2018.11.01: Updated to 10.14.1 -> HDMI & VGA ports are gone again. -> Fixed by "AppleIntelSKLGraphicsFramebuffer.kext" rollback from 10.14.
      2018.09.28: Updated to Mojave 10.14 -> Fixed HDMI & VGA Outputs by adding "AppleGraphicsDevicePolicy.kext" patches to config.plist, HDMI audio not working
    • By Gorec
      I apologize in advance if I didn't post in the right category and if my title and description aren't specific enough :c
      My config in a nutshell:
      CPU: i7 5820k GPU: MSI GTX 1060 3GB RAM: 16 GB MOBO: MSI X99 SLI PLUS I attached RunMe output with all the details of my built.
      Some background:
      I have my Hackintosh for about half a year. That time I managed to make it works and fix major issues, but some of them left unresolved since then and I ignored them until now.
      I use my Hackintosh for Adobe projects (PR, AE, PS, IL, AU and a lot more) - most of them connected with video editing of course browsing with Chrome and other small tasks.
      Random restarts - this is the biggest one. I'm starting to work on bigger and bigger projects and at this time I think I can't allow this to happen that often. In the past, they happened like once a day or a couple of times a week. However, now it's just frustrating when it happens even 5 or more times a day. I've tried to observe and find out what can be the cause but I haven't managed to find any connections. I thought it happens when Premiere or another app is using GPU, but I haven't seen increased usage when it restarts. I think that it can be connected with GPU, memory or PSU or... meh, anything else. I don't have resources to check if it'll work with other components. There should be some fix for this. I will really appreciate any help with this :c Restart instead of shutdown & sleep doesn't work. I've tried to look through some Google results for this and tried many solutions (as you can see in attached Clover folder), but I think the right one for many of these issues is to make my own DSDT. Glitches, freezes and other things while encoding a video. It happens very often when I try to do this. Maybe it is an issue with GPU or (hopefully) only with GPU drivers which can be fixed with some patch. Today my headphones stopped working. I have a multi-output device configured in the Audio MIDI Setup app which includes my headphones (HyperX Cloud via USB) and Soundflowerbed virtual audio device for capturing system audio. Today while I was trying (like 15 times) to encode a video in Media Encoder in the background and watch video on YouTube I stopped hearing anything from my system. Of course, it restarted a couple of times as always, but even this didn't solve this. If I plug them directly with mini jack (not via USB Soundcard which was in the box and which I always used) in the front IO or the back I only hear some loud noise It takes EX-Fat formatted volumes a few minutes to mount after each restart. I found a workaround to format it with NTFS since I have Tuxera installed and I will reformat these volumes when I will find time for this, but maybe there is some fix for this. GPU is a little bit hot. HW Monitor shows it is only 45-55 degrees, but for my hand is a little bit hot, idk. Also related to GPU - glitch after POST but before entering Clover boot menu. It is a black screen with little white squared glitches for a few seconds. Maybe it indicates the GPU drivers are loading, but maybe it shouldn't be like this. And if I can ask about that - I can't make all applications hide on startup. I, obviously, have "Hide" checkbox checked on every login item in settings, but it doesn't work, none of the apps is hidden in the dock. Is there a way to fix this? Also a small but annoying problem - I can't turn off permanently Mojave update notification (since I tried to install it, and I had to reverse to High Sierra because I had a black screen and I didn't have time for repairing all of them. Tags are not working in Finder - every time I tag a file or folder and make a change in it (for example save a text file) the tag disappears.  
      So, with knowing all of that, is there a way to make a proper DSDT file for my Hackintosh? I tried to look through some guides on how to make it but I think I reached my abilities to understand how Mac OS works and what all of these things are, so I'm asking you guys politely, would someone like to help me? At least with these random restarts? :/
      I really begin to think that I'm a newbie in configuring all of that Clover things - even after what I managed to do with my PC. Help me, pleease... :c
      If you have any questions post it below, I will really appreciate any help <3
      Send me MBP-Gorec.home.zip
    • By Angelo_
      Hi, I followed the rehabman guide (linked in the vanilla guide on the side of r/Hackintosh, not sure if I can link it) for laptops for my yoga 730ILW13 with an 8265u, Conexant 11870, 8gb of ram, 13.3" fhd and I found that upon booting the installer usb I get this weird issue where the screen displays what it should but the screen is incredibly dim (though it was off before using a flashlight on it) and it flashes every few seconds for a few milliseconds to the correct brightness, I used the plist for hd615-650 (including my 620), not quite sure what could be the culprit, first time hackintoshing a laptop so it might be a stupid brightness kext I forgot but didn't find any in that post or in this forum :c 
      Attached the clover zip so that anyone with more experience than me might give an idea in what could be a way to fix this.
      Thank you in advance 
    • By ciriousjoker
      I'm trying to boot MacOS on a Chromebook without UEFI. I'm stuck at getting the bootloader (Chameleon/Clover) to work.  
      My setup / context:
      I have an Acer Chromebook Spin 13.
      Available ports:
      2 x USB-C 1 x USB-A 3.0 MicroSD Slot No USB A 2.0 (I've read that Clover has problems with USB 3.0) Firmware:
      There's no UEFI firmware available and by default, it doesn't even allow booting anything other than ChromeOS. Thanks to MrChromebox (big shoutouts!), I flashed a custom legacy bios that allows me to boot anything linux related. This bios is flashed into the RW_LEGACY section of the existing bootloader (coreboot afaik) and doesn't have any configuration options. If I have to change a setting, I could try compiling his bios payload myself with the specific setting enabled.  
      What I've tried so far:
      Chameleon attempts:
      Only selected setting was "Install chameleon on the chosen path", rest was unselected.
      1 - Install chameleon first without restoring the basesystem:
      > boot0: GPT
      > boot0: done
      (hangs; pressing power button once shuts down
      Chameleon installation log is attached as "Chameleon_Installer_Log_BEFORE".
      2 - Install Chameleon after restoring the base system:
      > boot0: GPT
      > boot0: GPT
      > boot0: doneboot1: /boot       <- Exactly like that, no line break in between
      (hangs; pressing power button once shuts down)
      I haven't been able to reproduce #2 after wiping the drive and doing the same thing again. Subsequent attempts have resulted in either #1 of either Chameleon or Clover.
      Chameleon installation log is attached as "Chameleon_Installer_Log_AFTER".
      Clover attempts:
      I tried multiple settings and configurations, but all of them boiled down to either one of these.
      1 - Doesn't do anything, just hangs at "Booting from usb..."
      2 - Boots into the blue/grey mode as shown in the attached images.
      According to MrChromebox, this could be an old Tianocore DUET It doesn't detect anything (cpu frequency, ram, partitions or disks)  
      I've read pretty much every article, github readme and other types of documentation for coreboot, tianocore, clover, chameleon and MrChromebox' rw_legacy payloads and right now, I'm totally clueless as to what to try next...
      A few questions that came up:
      Why does chameleon hang? What is it looking for, /boot was clearly written to the disk by the Chameleon installer? What exactly is the blue/grey image? According to MrChromebox, it could be Tianocore DUET Where does it come from? Clover? The mainboard itself? Why does the blue/grey thing not detect my processor frequency or any partitions/drives? Can I use some sort of DUET bootloader to chainload Clover?  
      If you guys could answer any of them or if you have any other guesses or information as to what's happening, I'd be really happy!

    • By tluck
      Lenovo T460 macOS with Clover Guide
      Latest Release on GitHub (April 2019) Updated to Clover r4918 Updated Lilu kexts - ALC, WEG Merged Verleihnix' config.plist - especially to NOT inject GFX Updated BacklightInjector as option to WEG.
        Various Tweaks over Last months The zip file is a complete Clover ESP (/EFI) bundle and kext pack for the Lenovo T460. The current file bundle is tested on Sierra. 
      Note: I never got the GFX fully working on El Capitan. 
      Full Clover file set - config.plist etc. Includes all custom kexts Includes custom DSDT/SSDT scripts and patches Utility scripts The zip bundles are posted to GitHub: https://github.com/tluck/Lenovo-T460-Clover/releases
      Caveat: The T460 systems used here was configured with: i5-6300U, Intel HD Graphics 520, 1920x1080 touch screen. If you have a different system model, then extract the ACPI files and use the included scripts to create a set of files consistent with your system type and BIOS version. See below for details.
      Credits: RehabMan, Shmilee, vusun123, TimeWalker, Mieze from which, much of their work and help is/was was used to get the T460 to this point.
      Devices and aspects working:
      Ethernet -  Intel I219LM is enabled via IntelMausiEthernext.kext WiFi/BT - substitute the Intel WiFi/BT with a compatible Broadcom or Atheros chip Audio - ALC293 codec implemented via AppleALC.kext (old AppleHDA_ALC293 and CodecCommander kexts are not needed) PS2 - ClickPad + TrackPoint + all 3 buttons - using a modified VoodooPS2Controller to support new layouts - and added some custom Fn key maps based on 440/450 dsdt USB - implemented via custom SSDT + USBInjectAll kext. All USB3/USB2 ports are intel-based and work -  3 external USB and internal Camera, BT, etc  Sleep/Wake - the sleepwatcher package and custom sleep/wake scripts are used to help with sleep/wake for BT and PS2 devices. Note: have not tried to implement the SD card reader - no driver found.
      ACPI Files
      New Installation - Steps and Details
      Part 1 - OS Installation
      Part 2- Post OS Installation and Setup
      Notes on Custom Kexts