Jump to content

Mojave on Dell Latitude E6410

110 posts in this topic

Recommended Posts

Posted (edited)

@Malu All DSDTs that I've seen have code branches that execute differently depending on the operating system.  I'm flying blind without seeing your DSDT (you said it's different with your CPU), so search your DSDT for "Windows" and hopefully you'll see what I mean.  There are two variables in the Latitude E6410 DSDT that assume values that depend on the Operating System: OSYS and ACOS.  Method _OSI() is used to identify the currently running OS.  For example, if _OSI("Linux") returns TRUE, your system is currently running Linux.  Since the original Latitude E6410 DSDT was never coded to recognize MacOS ( which is detected by checking _OSI("Darwin") ), you may want to add the "Darwin" condition to your DSDT to see if this resolves any issues.  If you look closely at the DSDT that I attached a couple of posts ago, you'll notice that I have hard-coded OSYS and ACOS to specific values.  The hard-coded values I chose are those that would have been assigned for the condition _OSI("Linux") = TRUE (so I am telling my DSDT to pretend that Linux is running when I am running macOS).  Read Post #1 of this thread and you will see that I mention this in my "known issues" section.  I owe credit for this "OS Equivalency" to Rehabman from whom I first learned about this in one of his many posts.


I have not "completely rewritten DSDT for macOS."  I started making changes after I found the Dell bug in Method (GNOT) and realized that quality assurance for the Latitude DSDT must be bad if this bug remains in the DSDT at revision A17.  I noticed this same bug in other Latitude DSDTs, so someone's not paying attention.  There are always bugs in code, but the GNOT bug is so obvious, that I stopped trusting any of the Latitude DSDT code and did a thorough code review.  I was hoping that the sleep issue was simply a DSDT bug, but so far, none of my changes have fixed sleep.


I would suggest that you try creating two conditions for _OSI("Darwin") in your DSDT (one for OSYS and one for ACOS) such that you make them equivalent to "Linux" to see if this helps.  There are multiple ways to do this.  The brute-force way is to replace instances of _OSI("Linux") with "LOr(_OSI("Darwin"), _OSI("Linux"))" so that the "Linux" code branch executes if the OS is Linux or Darwin.  If that doesn't help, experiment with Windows 7 by replacing instances of _OSI("Windows 2009") with LOr(_OSI("Darwin"),_OSI("Windows 2009")).  Note that "LOr" is logical OR of two conditions, so it returns TRUE if either condition is TRUE.  Another way to achieve this is to create an SSDT that overrides _OSI() so that you don't have to modify the DSDT.  My hard-coded method (directly assigning values to OSYS and ACOS) is one I chose because my DSDT only needs to support macOS, so I don't care about the other conditions.


EDIT: If you choose to implement my hard-coded method (assigning values to ACOS and OSYS), note that you can't simply set OSYS and ACOS.  The DSDT also make calls to OSID().  You'll notice in that last DSDT that I posted that I have replaced calls to OSID() with ACOS.


EDIT 2: You'll notice 2 different coding styles in the Latitude DSDT that result in different ways to handle the _OSI() condition checks.  In Method (OSID), the OS strings (e.g. "Linux") are assigned to variables (e.g. "LINX") and these variables are referenced in the _OSI() condition statements.  In Method (IINI), there are no variables used for the OS strings, so the _OSI() condition statements reference the OS string.  I don't know why this inconsistency is present, but you'll need to edit Method IINI and Method OSID differently.


Most (if not all) DSDT patches that you find for the Latitude E6410 will ignore the ACOS and OSYS assignment (the DSDT defaults to a value if the OS is unrecognized) or they completely miss the assignment of ACOS.

Edited by tonyx86

Share this post

Link to post
Share on other sites

@tonyx86 Thanks for the detailed explanation. I hardcoded the DSDT methods to always return Linux, and performed some testing.The mac was still hanging and ethernet power throttling was still too aggressive.


I have tried a lot of things for fixing the hang issue:


- Reinstalled Mojave on a clean disk and re-patched with dosdude1 Mojave patch (after boot macOS used 7GB ram before I reinstalled, now down to around 2GB). 

- complete ram test using memtest and bios diagnostics.

- Bare minimum kext install.

- Different network adapters.

- VirtualSMC.

- Use 130W power supply (Computer has suddenly just turned off a couple of times. Issue number 2?).

- DSDT Linux hack.

- ...

Nothing helped.


I decided to have a look at your Nvidia patching, as the laptop would often freeze when running more graphics intense applications. 


I used the DSDT from your first post as reference when adding this code. I later saw that you have made some changes since then in your recently posted DSDT.


Computer has been running for 6 hours now without freezing... one hour was the previous max, but average around 15 minutes.




Share this post

Link to post
Share on other sites
Posted (edited)

@Malu "Suddenly turns off" could be thermal (which wouldn't surprise me).   You mentioned that you have modified the cooling to compensate for the higher power dissipation.  Have you installed copper shims or are you still relying on the original thermal pads for the CPU and GPU?  I'm not advising you to install the shims (I don't want to suggest anything that you're not comfortable with), but the E6410 heatpipe (with the original thermal pads) is barely sufficient to conduct the heat from the 3100m and the recommended 35W CPU (which I'm sure is by design).  I have installed .3mm copper shims on both my CPU and GPU.  For the CPU, I have no thermal pad - just the lapped copper shim with AS5 on both sides of the shim which is seated between the heatpipe and the CPU die.  For the GPU, I installed the copper shim on the GPU die (with AS5) and have a fujipoly thermal pad on the heatpipe.  The reasoning for the CPU shim is self-explanatory.  The reason for the GPU shim is that I have changed the heatpipe spacing by inserting a CPU shim, so I need to add the same shim to the GPU.  In addition, the copper shim I used is larger than the GPU die (and the same dimension as the thermal pad), so it acts as a heatspreader so the thermal pad has more surface area to work with.  My CPU and GPU temps reach a max of 20C less under load than they did without the copper shims.  That's significantly better thermal conductivity.


EDIT: One other observation that might help you - when I installed the copper shims, I noticed that my northbridge chip did not have a thermal pad.  There was NOTHING conducting heat away from the northbridge chip since it made no contact with the heatpipe assembly.  For the 35W 2-core CPUs, that may be ok.  For your 45W 4-core CPU, maybe that's not ok?  I don't know.  In any event, I installed a 2mm thermal pad on my northbridge chip so the heatpipe assembly conducts heat from it as well.  At a minimum, I would recommend that you add the 2mm thermal pad to your northbridge if you don't have it.

Edited by tonyx86

Share this post

Link to post
Share on other sites

@tonyx86 It's probably not thermal(as it often happens when the computer is idle and temps are very low), but it behaves exactly like that.


When I first installed the 820qm, I got a thermal shutdown(logged in bios). The root cause was a thicker die of the 820qm, so the GPU overheated as it was no longer in contact with the heatpipe. I use a very thick 1mm shim on the GPU and no pad. A bit scary as the heat pipe is not very flexible, so if the gap is too big between one of the dies, the other die might get a lot of pressure.

If you are still using a pad, I don't think you need a shim on the CPU die.


I had a pad on the pch already. I guess someone forgot to put it there at assembly... if you are the first owner.


It acts like a hardware issue, so I have tried to trigger it by shaking, knocking, tapping so-dimms and heatpipe... That does nothing.


I've disconnected everything from the USB ports... that cheap cooler could do things to the 5V. I run it on an external source now.


So far everything has been working, except Firefox. When it failed, it brings down Finder... and probably everything else, as remote login is impossible.


I'm running Firefox on another dosdude patched computer without issues. I noticed that AGPM hasn't attached on that computer either(maybe you fixed that already), and it has some sleep issues. It's a MacBookAir3,1.


Can it be helpful to have a DSDT from a real MacBook Pro 6,2? I think I can get that.

Share this post

Link to post
Share on other sites

@Malu I don't experience any of what you're describing, so this is unique to your laptop. I'm not the first owner, so it's possible that the first owner tinkered with the heatpipe and never replaced the northbridge thermal pad on my laptop.  I have only a copper shim on the CPU - no thermal pad on the CPU.


If you're confident that you have followed the recommendations in this thread for DSDT patches, kexts and config.plist, then this is an 820qm compatibility issue and not something we're going to learn from the real MBP6,2 (my opinion).  I don't experience any of what you're describing with my hackbookpro - the only remaining issue I have is sleep.  The E6410 runs Mojave perfectly except for sleep.


If you want to post problem reporting files for us to look at (that's the only way we can make further progress on your issues), Google "blackdragon problem reporting tool" and use the tool to generate a zipped folder that you can attach to a post in this thread.  Without your original and patched DSDT, your config.plist, your installed kexts and your ioRegExplorer dump, anyone trying to help you (including me) is blind.

Share this post

Link to post
Share on other sites

@tonyx86 I meant that the thermal pad on the GPU is flexible enough, so you won't need shim on the CPU. 


I don't think I can make this laptop, with the 820qm, work well as a hackbookpro, at least not with Mojave.

I'll try it with older systems to see if it works better.


I meant that you might be able to find something interesting from the MBP6,2 DSDT and IOExplorer for the sleep issue. 


I'll have a look at the black dragon tool.


Thanks for your help.

Share this post

Link to post
Share on other sites
Posted (edited)

@Malu When/if you decide to revisit Mojave issues specific to the i7-820qm, please start another thread that is specific to your issue and post the link for it here.  That way, we're not clobbering this thread with a topic that now appears to be unrelated.  Thanks!


Also, the CPU and heatpipe don't make solid contact without a shim or thermal pad.  I tried, but my CPU temps started to climb which was because there's a fine gap between the heatpipe and CPU. The gap was initially bridged by AS5, but as the AS5 settled, the thermal contact began to fail.  I'm not sure how much tolerances vary from one E6410 to another, but for my laptop, I have to use a thermal pad (low thermal conductivity) or a copper shim (high thermal conductivity) in order to ensure thermal conductivity from the CPU die to the heatpipe.

Edited by tonyx86

Share this post

Link to post
Share on other sites

HackBook Pro E6410 I7-820QM now stable.


The modular bay may create problems with SSDs/HDDs. This is probably known, but I wasn't aware of it.


Now Mojave works great from SSD(860 EVO) in HDD bay. Windows 10 crashed during boot from SSD installed in modular bay, so the issue is not related to Clover/Mojave.


There are checkboxes in bios boot settings. Even if boot priority list only shows the attached devices, make sure you deselect DVD if you have installed a HDD/SSD in the modular bay. Windows booted successfully after I did that. Mojave may also work from modular bay with this setting.


Only difference I had to make to my Clover(rev. 5033) config.plist was to patch DSDT USB devices. With the 820qm installed they are named: EHCI(I not 1) and EHC2. Renamed EH01 and EH02.


Power management works well for 820qm too, just follow tonyx86's guide. I currently run without PM(P-states still active, C-states not active), as my ethernet speed is too low  when PM is active. I don't think this is unique to my hardware/software setup.


I will update and upload files when I have setup everything properly.

Share this post

Link to post
Share on other sites

@Malu Glad to hear of your success. EHCI is the naming convention in the Latitude E6410 DSDT (with or without the 820qm).  Renaming is required.  Initially, I renamed EHCI and EHC2 by manually patching my DSDT.  Now I renamed EHCI to EHC1 and am using CLOVER to rename and fix USB.

Share this post

Link to post
Share on other sites

@tonyx86 Ok,my bad. I read your initial post and thought EHC1 was the original name you had. Good to know USB naming is normal.


That renaming method seems like a nice and clean way to do it. I need to go through all my Clover setting, drivers, kexts, patches...


Maybe it could be good to have a clover package made for E6410 that doesn't have full functionality(no custom DSDT), but is compatible with most E6410 configurations. It should be possible to get all E6410 to boot with only a custom Clover plist in the package.

Green hackers would at least be able to easily install Mojave this way.

Share this post

Link to post
Share on other sites

@Malu I've tinkered with CLOVER just enough to be dangerous, but still prefer manually patching my DSDT.  Currently, my E6410 config.plist renames EHCx to EH0x, Fixes USB, Injects NVidia, enables TRIM, adds the -no_compat_check boot flag and configures SMBIOS.  All other patches are manually applied to my DSDT using Rehabman's version 1.31 of MacIsl.  I wouldn't be the right person to start with the original DSDT and fix everything with a CLOVER config.plist, but I'd love to see it if anyone has it.


Also, now that your system is stable, could you post your Geekbench results?  I'm curious to see the performance difference between the I7-820QM and the I7-620M.  My I7-620m Geekbench score is attached to the first post in this thread.

Share this post

Link to post
Share on other sites

@tonyx86 can you post your config.plist with your patches on the fly and your clover\kexts\other folder content?

My E6510 is running Mojave, Mavericks on same disk and another disk in a caddy bay with Windows 10 perfectly.

Thank you!

Share this post

Link to post
Share on other sites

@vbmota It may take me a while to post an updated config.plist.  Did you have any specific questions about something that's not working for you?  Did you get sleep working?

Share this post

Link to post
Share on other sites
On 8/6/2019 at 1:24 PM, hazem3ly said:

I Forget To apply Patches in dudclx's link ,but i applied it now and then the problem of screen gone black not resolved so i tried to apply every patch individual and i found that what make the problem is in this code 

    Scope (_SB)
        Device (PNLF)
            Name (_ADR, Zero)  // _ADR: Address
            Name (_HID, EisaId ("APP0002"))  // _HID: Hardware ID
            Name (_CID, "backlight")  // _CID: Compatible ID
            Name (_UID, 0x0A)  // _UID: Unique ID
            Name (_STA, 0x0B)  // _STA: Status

and when removed it the screen works fine .

the current problems is 

   the osx not fully shutdown(i've to long press power button)

   brightness not work (the slider now not apper in preference )

   the wifi card at os start is working but after small amount of time it switched off and never turned on again until restart


i have attached clover file CLOVER.zip


@tonyx86 I have this above symptom here.

With your DSDT in my ACPI folder, I have all the things working but screen blinks and die (after dosdude patch video).

With the patched DSDT of @hazem3ly I can resolve this, but my Mavericks (on the other partition) wont load ALPS PS2 (voodooPS2.kext) by some reason...

I know Mavericks is out of topic, but can you help me to start with some kind of solution?


Share this post

Link to post
Share on other sites

@vbmota If you have carefully followed my instructions in Post #1 and throughout this thread and your Mojave installation is not working, I don't know what to say since I don't have enough information about your system.  If you Google "blackdragon problem reporting tool" and post the .zip file that his tool creates, I might have enough information to help you.  


For Mavericks, Google "Latitude E6410 Mavericks" and follow that guide.  I don't have any experience with Mavericks on the Latitude E6410.

Share this post

Link to post
Share on other sites
48 minutes ago, tonyx86 said:

@vbmota If you have carefully followed my instructions in Post #1 and throughout this thread and your Mojave installation is not working, I don't know what to say since I don't have enough information about your system.  If you Google "blackdragon problem reporting tool" and post the .zip file that his tool creates, I might have enough information to help you.  


For Mavericks, Google "Latitude E6410 Mavericks" and follow that guide.  I don't have any experience with Mavericks on the Latitude E6410.


Done, mate.

Good luck.

And thank you so much for all!


Share this post

Link to post
Share on other sites

@vbmota After a quick scan of your debug files, here's what I see:

  • Your CLOVER/kexts folder has kexts in CLOVER/kexts and CLOVER/kexts/Other.  You only want kexts in CLOVER/kexts/Other
  • Too many kexts in CLOVER/kext/other.  Just follow the example I attached to post #1 and install other kexts in /Library/Extensions as I have indicated in my instructions in Post #1.  This is my preference (others have differing opinions).
  • It appears that you may have selected the SIP Manager option in DosDude's Mojave patcher.  Properly remove SIP Manager.kext from /Library/Extensions
  • It appears that you have have NullCPUPowerManagement.kext installed.  Why?
  • It appears that you have both USBInjectAll.kext (Rehabman) and LegacyUSBInjector.kext (DosDude) installed 
  • Why do you have CLOVER boot option 'nvda_drv=1'?


I'm going to stop there.  Please re-read Post #1 and follow it exactly for your Mojave installation.  You cannot start with a previous installation of Mojave that was not working and then start with the instructions in this thread.  This thread assumes that you are starting your Mojave installation from scratch.


Good luck!

Share this post

Link to post
Share on other sites

Nice to rear you again.

  • Your CLOVER/kexts folder has kexts in CLOVER/kexts and CLOVER/kexts/Other.  You only want kexts in CLOVER/kexts/Other

I just forgot this various ps2 controllers in folder above to test on "others" folder. My bad.

  • Too many kexts in CLOVER/kext/other.  Just follow the example I attached to post #1 and install other kexts in /Library/Extensions as I have indicated in my instructions in Post #1.  This is my preference (others have differing opinions).

Before install kexts in /L/E I do prefer to test it all on my EFI, but I will install all important ones. Thank you to your advice.

  • It appears that you may have selected the SIP Manager option in DosDude's Mojave patcher.  Properly remove SIP Manager.kext from /Library/Extensions

YES! I just pulled it off and now I can use your DSDT/SSDTs with no problems. Thank you!

  • It appears that you have have NullCPUPowerManagement.kext installed.  Why?

My bad, again, I pulled it off. Thank you!

  • It appears that you have both USBInjectAll.kext (Rehabman) and LegacyUSBInjector.kext (DosDude) installed

 My bad, again, I pulled it off. Thank you!

  • Why do you have CLOVER boot option 'nvda_drv=1'?

It's just because my Mavericks partition only load the video with this option... and nothing to do with Mojave.


Share this post

Link to post
Share on other sites
Posted (edited)
12 minutes ago, tonyx86 said:

There are new versions of the following kexts that I have not yet tested.  Has anyone tested these to confirm that they work with the Latitude E6410?

I have Lilu v1.3.8 and its all ok. Cant say all about AirportBrcmFixup v2.0.3 (I have installed an BCM4360CD CS2 card on Wifi slot) and it may have different symptoms.

Edited by vbmota

Share this post

Link to post
Share on other sites

@vbmota thanks!  Now that my E6410 is working flawlessly (except for that nagging sleep issue), I hate to "fix what's not broken").  I expect to install these updated kexts over the next week to keep the system current in preparation for Catalina.

Share this post

Link to post
Share on other sites

Now I Have Almost Every Thing Work Except Sleeping ,

The Only Problem Remaining is Wifi i have replaced it with ship Broadcom  BCM94352  and as i know it hackintosh supported

but when i start the osx it work but after connected to the network it switched off and if i tried to open it again i could't as in this gif


if there is any thing i can do i will be grateful and thanks for help.

and this is my clover files CLOVER.zip

Share this post

Link to post
Share on other sites

@hazem3ly Please use blackdragon's debug reporting tool to generate a zip file with your debug files and post.  Your CLOVER.zip doesn't contain all of the information needed to debug this.

Share this post

Link to post
Share on other sites

There are minor differences between a real MacBookPro6,2 IORegistry dump and this HackBookPro6,2 IORegistry dump that can be resolved with simple DSDT edits.  I am now running with these changes, but haven't found these changes to make any difference in operational behavior.

  • Rename Device (AC) -> Device (ADP1)
  • Remove UID from Device (HPET)
  • Add compatible ID "PNP0C01" to Device (HPET)
  • Change ADP1:_STA from 0x0F to 0xFFFFFFFF
  • Enable Ambient Light Sensor and renamed to Device (ALS0) from Device (ALS)
  • Add compatible ID "smc-als" to ALS0
  • Rename LID -> LID0
  • Change "name" definitions to Buffers in _DSM methods
  • Rename Device (PBTN) to PWRB
  • Rename Device (SBTN) to (SLPB)
  • Change HDAU "onboard-1" to "onboard-2"
Edited by tonyx86

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 fusion71au
      Clover r5050 ISO compiled with GCC and minimal config.plist compatible for use in VMWare Workstation.
      Tested with unlocked Workstation 15 running OSX 10.9 -->10.15 guest in Windows X64 host.
      1. Download and unzip "EFI_Clover_r5050 for VMware.zip". Mount Clover-v2.5k-5050-X64.iso by double clicking on it.
      2. Mount your VM's EFI System Partition eg in terminal
      sudo diskutil mount disk0s1   3. Copy EFI folder from step 1 into the EFI partition
      4. Shutdown the VM, add bios.bootDelay = "3000" to your VM's vmx file
      5. Reboot your VM, press <F2> to access the VMware Boot Manager and add CLOVERX64.efi to the boot menu.
      Substitute your own unique and valid MLB and ROM variables in the /EFI/CLOVER/config.plist (Rt Variables section) to activate iMessage/Facetime on your VM.
    • By headkaze
      Framebuffer patching in Mojave
      Binary patching framebuffers using KextsToPatch in Clover is no longer a viable method in Mojave for Skylake and above. Now you need to use Lilu + WhateverGreen.
      Not just for Mojave
      This method of framebuffer patching is not only required for Mojave we recommend it for all previous and future releases of macOS.
      Coffee Lake Users
      Please note that the new WhateverGreen will not work with fake Kaby Lake platform-id's. You will need to have either macOS 10.14 Beta 4 (18A336e) or macOS High Sierra 10.13.6 (17G2112). The latter is a special build only available to MacBookPro15,1 or MacBookPro15,2 board id's. You can create a macOS High Sierra 10.13.6 (17G2112) installer by running installinstallmacos.py. (Update: vit9696 added back ability to fake Kaby Lake platform-id's)
      Lilu + WhateverGreen
      WhateverGreen is going to replace all the other video patching plugins for Lilu (it currently has merged WhateverGreen, IntelGraphicsFixup, NvidiaGraphicsFixup, Shiki and CoreDisplayFixup). Others will likely follow (such as AppleALC, HibernationFixup and IntelGraphicsDVMTFixup). This is aiming to be the all-in-one solution for video.
      1. Remove:
      - FakePCIID_Intel_HD_Graphics
      - IntelGraphicsFixup
      - NvidiaGraphicsFixup
      - CoreDisplayFixup
      - Shiki
      2. Turn off all graphics injections in Clover:
      - config.plist/Graphics/Inject/ATI=NO
      - config.plist/Graphics/Inject/Intel=NO
      - config.plist/Graphics/Inject/NVidia=NO
      - config.plist/Graphics/ig-platform-id=
      - config.plist/Devices/FakeID/IntelGFX=

      3. Disable DSDT Clover fixes:
      - AddHDMI
      - FixDisplay
      - FixIntelGfx
      - AddIMEI
      4. Disable UseIntelHDMI
      5. Remove boot argument: -disablegfxfirmware
      6. Remove any IGPU and HDMI entries from:
      - config.plist/Devices/Arbitrary
      - config.plist/Devices/Properties
      - config.plist/Devices/AddProperties
      7. Remove any IGPU and HDMI related SSDT and DSDT from:
      - CLOVER/ACPI/patched
      8. Renaming GFX0 -> IGPU
      - WhateverGreen will do this automatically (see caveat below)
      - Be aware that WhateverGreen does not rename all instances of GFX0 -> IGPU but should be okay in most cases
      - You may need to include Clover GFX0 -> IGPU rename for other kexts or ACPI patching that require it
      Compile Lilu + WhateverGreen
      Download WhateverGreen. Make sure you place the debug version of Lilu into the root of WhateverGreen before you compile. Install Lilu and WhateverGreen kext's into the usual place. Compile WhateverGreen as debug if you want to view debug output.
      Having trouble compiling?
      If you're having trouble compiling you can download the official release binaries or download my (unsupported) build_lilu.sh shell script and run it in a folder to download and build Lilu + WhateverGreen using Xcode automatically. I recommend you try the debug versions first (place them into Clover's EFI/Clover/kexts/Other folder).
      Get the device path of your IGPU:
      Download and use the gfxutil tool like so:
      $ ./gfxutil IGPU = PciRoot(0x0)/Pci(0x2,0x0) ig-platform-id
      For the AAPL,ig-platform-id (AAPL,snb-platform-id for Sandy Bridge) entry Clover requires this value to be in Data format so you need to reverse the bytes. So if you want your platform-id to be 0x3EA50009 first reverse the bytes (0900A53E) then use Xcode's plist editor to add the values to Clover's config.plist.

      What ig-platform-id should I use for my system?
      You should choose one that is the closest match to your system. I recommend you do some research on this before choosing one. See post #2 for available options. More info can be found here.
      You can determine the generation of your CPU by the first digit after the hyphen.
      - Intel(R) Core(TM) i5-2760QM (Gen 2)
      - Intel(R) Core(TM) i7-5257U CPU @ 2.70GHz (Gen 5)
      - Intel(R) Core(TM) m3-6Y30 (Gen 6)
      - Intel(R) Core(TM) i5-8350U (Gen 8)
      Spoofing Intel CPU Gen
      If you need to spoof a different Intel CPU generation you can use the lilucpu=N boot flag. The N refers to the following Intel generations:
      4    SandyBridge 5    IvyBridge 6    Haswell 7    Broadwell 8    Skylake 9    KabyLake 10   CoffeeLake To spoof a CPU you will need to set a valid device-id in your GPU entry in Devices/Properties for the appropriate Intel generation.
      Eg. Spoofing Skylake (lilucpu=8 boot flag with device-id=0x16190000), Kaby Lake (lilucpu=9 boot flag with device-id=0x12590000).
      Here are some recommended frames:
      Gen 2: Sandy Bridge (Intel HD Graphics 2000/3000)
      - S/L/E/AppleIntelSNBGraphicsFB.kext
      - Support started with OS X 10.7.x and ended with macOS 10.13.6
      - Metal support is not available
      - device-id: 0x0102 0x0106 0x010A 0x0112 0x0116 0x0122 0x0126
      - AAPL,snb-platform-id (desktop): 0x00030010 (default)
      - AAPL,snb-platform-id (laptop): 0x00010000 (default)
      Gen 3: Ivy Bridge (Intel HD Graphics 2500/4000)
      - S/L/E/AppleIntelFramebufferCapri.kext
      - Support started with OS X 10.8.x
      - device-id: 0x0152 0x0156 0x0162 0x0166
      - AAPL,ig-platform-id (desktop): 0x0166000A (default), 0x01620005
      - AAPL,ig-platform-id (laptop): 0x01660003 (default), 0x01660009, 0x01660004
      Gen 4: Haswell (Intel HD Graphics 4200-5200)
      - S/L/E/AppleIntelFramebufferAzul.kext
      - Support started with OS X 10.9.x
      - device-id: 0x0D26 0x0A26 0x0A2E 0x0D22 0x0412
      - AAPL,ig-platform-id (desktop): 0x0D220003 (default)
      - AAPL,ig-platform-id (laptop): 0x0A160000 (default), 0x0A260005 (recommended)
      Gen 5: Broadwell (Intel HD Graphics 5300-6300)
      - S/L/E/AppleIntelBDWGraphicsFramebuffer.kext
      - Support started with OS X 10.10.2
      - device-id: 0x0BD1 0x0BD2 0x0BD3 0x1606 0x160E 0x1616 0x161E 0x1626 0x1622 0x1612 0x162B
      - AAPL,ig-platform-id (desktop): 0x16220007 (default)
      - AAPL,ig-platform-id (laptop): 0x16260006 (default)
      Gen 6: Skylake (Intel HD Graphics 510-580)
      - S/L/E/AppleIntelSKLGraphicsFramebuffer.kext
      - Support started with OS X 10.11.4
      - device-id: 0x1916 0x191E 0x1926 0x1927 0x1912 0x1932 0x1902 0x1917 0x193B 0x191B
      - AAPL,ig-platform-id (desktop): 0x19120000 (default)
      - AAPL,ig-platform-id (laptop): 0x19160000 (default)
      Gen 7: Kaby Lake (Intel HD Graphics 610-650)
      - S/L/E/AppleIntelKBLGraphicsFramebuffer.kext
      - Support started with macOS 10.12.6
      - device-id: 0x5912 0x5916 0x591B 0x591C 0x591E 0x5926 0x5927 0x5923 0x87C0
      - AAPL,ig-platform-id (desktop): 0x59160000 (default)
      - AAPL,ig-platform-id (laptop): 0x591B0000 (default)
      Gen 8: Coffee Lake (Intel UHD Graphics 630)
      - S/L/E/AppleIntelCFLGraphicsFramebuffer.kext
      - Support started with macOS 10.13.6 (17G2112) / 10.14 beta 4 (18A336e)
      - device-id: 0x3E9B 0x3EA5 0x3EA6 0x3E92 0x3E91 0x3E98
      - AAPL,ig-platform-id (desktop): 0x3EA50000 (default), 0x3E9B0007 (recommended)
      - AAPL,ig-platform-id (laptop): 0x3EA50009 (default)
      Framebuffer Patching
      WhateverGreen does most of the work automatically for you and in most cases you do not need any extra Framebuffer Patching. At the minimum though you should choose an ig-platform-id suitable for your system and place it in config.plist/Devices/Properties like this:

      Here are some reasons why you might need extra Framebuffer Patching:
      - Setting DVMT for those who can't set it above 32 MB in BIOS (framebuffer-stolenmem / framebuffer-fbmem)
      - Setting higher VRAM for 4K users who experience graphical glitches (framebuffer-unifiedmem)
      - Disabling eGPU (disable-external-gpu)
      - Enable pixel clock patch for 4K support (enable-hdmi20)
      - Disabling connectors to enable sleep (framebuffer-pipecount / framebuffer-portcount / framebuffer-conX-type=-1)
      - Removing CNConnectorAlwaysConnected flag for eDP laptop screens on < 10.13.6 (framebuffer-con0-flags=0x00000090)
      - Changing connector types to match your systems ports (framebuffer-conX-type)
      Framebuffer Patching Types
      We have three different types of patches:
      1. Arbitrary (Recommended)
      framebuffer-patch-enable (required to enable below) framebuffer-framebufferid (optional; defaults to current platform-id) (all below are optional) framebuffer-mobile framebuffer-pipecount framebuffer-portcount framebuffer-memorycount framebuffer-stolenmem framebuffer-fbmem framebuffer-unifiedmem framebuffer-cursormem (Haswell only) framebuffer-camellia framebuffer-flags framebuffer-conX-enable (required to enable below) framebuffer-conX-index framebuffer-conX-busid framebuffer-conX-pipe framebuffer-conX-type framebuffer-conX-flags 2. All Data
      framebuffer-conX-enable (required to enable below) framebuffer-conX-alldata 3. Find / Replace
      framebuffer-patchX-enable (required to enable below) framebuffer-patchX-framebufferid (optional; defaults to current platform-id) framebuffer-patchX-find framebuffer-patchX-replace framebuffer-patchX-count (optional; defaults to 1) You should place your patches in config.plist/Devices/Properties in Clover config.plist.
      Here are some example patches:
      - 32MB BIOS, 19MB stolen (framebuffer) 9MB fbmem (cursor) 2048MB unifiedmem (vram)

      - Pipe / Port Count 3 to 2
      - Connector 1 DP to HDMI
      - Connector 2 Disable

      Here is an example of the All Data method:

      Here is an example of the Find / Replace method:

      Framebuffer Dumps
      There are two ways to dump your framebuffer data (both require WhateverGreen + Lilu debug versions):
      1. Using -igfxdump boot flag to dump IGPU framebuffer kext to /AppleIntelFramebuffer_X_Y (root of your boot drive)
      There are several ways of reading this dump:
      - Using 010 Editor along with the IntelFramebuffer.bt template
      - Using Hackintool File->Open menu
      2. Using -igfxfbdump boot flag to dump native and patched framebuffer table to ioreg at IOService:/IOResources/WhateverGreen
      There are several ways of reading this dump:
      - Using dump_platformlist.sh shell script
      - Using Hackintool File->Import->IOReg Dump menu
      3. Using Hackintool Framebuffer->macOS 10.14 menu
      Adjusting the brightness on a laptop
      1. Method 1
      Enable Clover DSDT fix AddPNLF. Enable SetIntelBacklight and SetIntelMaxBacklight. A specific value is not necessary - it will be automatically injected according to the processor installed.
      2. Method 2
      Use this ACPI table: SSDT-PNLF.dsl SSDT-PNLF.aml
      Do not use both methods at the same time!
      Digital Audio (HDMI / DVI / DP)
      To enable digital audio it is necessary to set the necessary properties and, usually, patch the connectors.
      To enable audio in general and HDMI in particular use WEG along with AppleALC.kext.
      On 10.10.5 and above, WEG automatically changes the connector-type of DP (00040000) to HDMI (00080000) if no custom patches are used.
      The actual connection may be of any type (HDMI / DVI / DP), but for the digital audio to function the connector-type must explicitly be HDMI.
      VGA support
      In most cases with Intel Skylake and newer it works by default.
      For Ivy Bridge and possibly other generations there are the options to patch your connectors with the following:
      06020000 02000000 30000000 // Option 1
      06020000 01000000 30000000 // Option 2
      On OS X 10.8.2 and newer it is impossible to have VGA on Ivy Bridge systems.
      Hot-plugging VGA usually does not work.
      In case this doesn't help - there are no other known solutions at this time.
      EDID is usually correctly identified, so no actions are required. In rare cases, EDID needs to be injected manually.
      An EDID dump can be obtained, for example, with Linux. The correct EDID must be put into *AAPL00,override-no-connect* property for IGPU, where the second 0 stands for the display number.
      In some cases the EDID dump may be incompatible with macOS and leads to distortions. For some EDID in such cases you can use this script, which corrects a provided EDID and saves it to your desktop.
      HDMI in UHD resolution with 60 fps
      Add the enable-hdmi20 property to IGPU, otherwise you will get a black screen. Or instead of this property use the boot-arg -cdfon
      Disablng a discrete graphics card
      Add the disable-external-gpu property to IGPU. Or instead of this property, use the boot-arg -wegnoegpu
      Fix the invalid maximum link rate issue on some laptops (Dell XPS 15 9570, etc.)
      Add the enable-dpcd-max-link-rate-fix property to IGPU, otherwise a kernel panic would happen due to a division-by-zero. Or instead of this property, use the boot-arg -igfxmlr.
      You could also manually specify a maximum link rate value via the dpcd-max-link-rate for the builtin display.
      Typically use 0x14 for 4K display and 0x0A for 1080p display. All possible values are 0x06 (RBR), 0x0A (HBR), 0x14 (HBR2) and 0x1E (HBR3). If an invalid value is specified, the default value 0x14 will be used instead. If this property is not specified, same as above.  
      Fix the infinite loop on establishing Intel HDMI connections with a higher pixel clock rate on Skylake, Kaby Lake and Coffee Lake platforms
      Add the enable-hdmi-dividers-fix property to IGPU or use the -igfxhdmidivs boot argument instead to fix the infinite loop when the graphics driver tries to establish a HDMI connection with a higher pixel clock rate, for example connecting to a 2K/4K display with HDMI 1.4, otherwise the system just hangs (and your builtin laptop display remains black) when you plug in the HDMI cable.  
      1. General Notes
      For those who want to have "limited" 2K/4K experience (i.e. 2K@59Hz or 4K@30Hz) with their HDMI 1.4 port, you might find this fix helpful. For those who have a laptop or PC with HDMI 2.0 routed to IGPU and have HDMI output issues, please note that this fix is now succeeded by the LSPCON driver solution, and it is still recommended to enable the LSPCON driver support to have full HDMI 2.0 experience.  
      (You might still need this fix temporarily to figure out the connector index of your HDMI port. See the LSPCON section below.)
      LSPCON driver support to enable DisplayPort to HDMI 2.0 output on IGPU
      1. Brief Introduction
      Recent laptops (Kaby Lake/Coffee Lake-based) are typically equipped with a HDMI 2.0 port. This port could be either routed to IGPU or DGPU, and you can have a confirmation on Windows 10. Intel (U)HD Graphics, however, does not provide native HDMI 2.0 output, so in order to solve this issue OEMs add an additional hardware named LSPCON on the motherboard to convert DisplayPort into HDMI 2.0.
      LSPCON works in either Level Shifter (LS) or Protocol Converter (PCON) mode. When the adapter works in LS mode, it is capable of producing HDMI 1.4 signals from DisplayPort, while in PCON mode, it could provide HDMI 2.0 output. Some onboard LSPCON adapters (e.g. the one on Dell XPS 15 9570) have been configured in the firmware to work in LS mode by default, resulting a black screen on handling HDMI 2.0 connections.
      Starting from version 1.3.0, WhateverGreen now provides driver support for the onboard LSPCON by automatically configuring the adapter to run in PCON mode on new HDMI connections, and hence solves the black screen issue on some platforms.
      2. Before you start
      LSPCON driver is only applicable for laptops and PCs with HDMI 2.0 routed to IGPU. LSPCON driver is necessary for all newer platforms unless the new IGPU starts to provide native HDMI 2.0 output. Supported Intel Platform: Skylake, Kaby Lake, Coffee Lake and later.
      Skylake Case: Intel NUC Skull Canyon; Iris Pro 580 + HDMI 2.0 with Parade PS175 LSPCON.
      Coffee Lake Case: Some laptops, e.g. Dell XPS 15 9570, are equipped with HDMI 2.0 and Parade PS175 LSPCON. If you have confirmed that your HDMI 2.0 is routed to IGPU and is working properly right now, you don't need to enable this driver, because your onboard LSPCON might already be configured in the firmware to work in PCON mode.
      3. Instructions
      Dump your kernel log and you should also be able to see something simillar to lines below.
      // When you insert the HDMI 2.0 cable igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB0] called with controller at 0xffffff81a8680000 and framebuffer at 0xffffff81a868c000. igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB0] No LSPCON chip associated with this framebuffer. igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB0] Will call the original method. igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB0] Returns 0x0. igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB2] called with controller at 0xffffff81a8680000 and framebuffer at 0xffffff81a869a000. igfx @ (DBG) SC:   LSPCON::probe() DInfo: [FB2] Found the LSPCON adapter: Parade PS1750. igfx @ (DBG) SC:   LSPCON::probe() DInfo: [FB2] The current adapter mode is Level Shifter (DP++ to HDMI 1.4). igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB2] LSPCON driver has detected the onboard chip successfully. igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB2] LSPCON driver has been initialized successfully. igfx @ (DBG) SC: LSPCON::getMode() DInfo: [FB2] The current mode value is 0x00. igfx @ (DBG) SC: LSPCON::getMode() DInfo: [FB2] The current mode value is 0x00. igfx @ (DBG) SC: LSPCON::getMode() DInfo: [FB2] The current mode value is 0x00. igfx @ (DBG) SC: LSPCON::getMode() DInfo: [FB2] The current mode value is 0x01. igfx @ (DBG) SC: LSPCON::setMode() DInfo: [FB2] The new mode is now effective. igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB2] The adapter is running in preferred mode [Protocol Converter (DP++ to HDMI 2.0)]. igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB2] Will call the original method. igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB2] Returns 0x0. // When you remove the HDMI 2.0 cable igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB0] called with controller at 0xffffff81a8680000 and framebuffer at 0xffffff81a868c000. igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB0] No LSPCON chip associated with this framebuffer. igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB0] Will call the original method. igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB0] Returns 0x0. igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB2] called with controller at 0xffffff81a8680000 and framebuffer at 0xffffff81a869a000. igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB2] LSPCON driver (at 0xffffff802ba3afe0) has already been initialized for this framebuffer. igfx @ (DBG) SC: LSPCON::setModeIfNecessary() DInfo: [FB2] The adapter is already running in Protocol Converter (DP++ to HDMI 2.0) mode. No need to update. igfx @ (DBG) SC: LSPCON::wakeUpNativeAUX() DInfo: [FB2] The native AUX channel is up. DPCD Rev = 0x12. igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB2] Will call the original method. igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB2] Returns 0x0. Additionally, you can find these properties injected by the driver under the corresponding framebuffer.
      (Only available in DEBUG version)
      fw-framebuffer-has-lspcon indicates whether the onboard LSPCON adapter exists or not.
      fw-framebuffer-preferred-lspcon-mode indicates the preferred adapter mode. 1 is PCON, and 0 is LS.
      Debug Output
      To get debug output from Lilu use the -liludbgall liludump=60 boot flags. You will need to compile Lilu and WhateverGreen as debug for both of these flags to work. Log files should be located at /var/log/Lilu_*.
      To view debug paste the following into Terminal (weglog.txt will output to your home directory):
      log show --predicate 'process == "kernel" AND (eventMessage CONTAINS "WhateverGreen" OR eventMessage CONTAINS "Lilu")' --style syslog --source --last boot >weglog.txt Getting Help

      To help the users of this forum diagnose issues with your configuration please generate a Lilu debug log and then run gen_debug.sh to generate a folder of debug files you can attach to a forum post requesting help.

      - vit9696 and lvs1974 for WhateverGreen (Full Credits) and Lilu (Full Credits)
      - Andrey1970 for his guide on applelife.ru
      - RehabMan for all data patching method, ioreg framebuffer dump and other contributions

    • By arsradu
      Hi guys,
      So, this little tutorial is meant to help people fix a new issue with Mojave: opening jpg files (looks like it happens with larger files, not so much with smaller ones) using Quick Look (on spacebar key pressed) or Preview app, using the dedicated GPUs.
      The issue is that, when trying to open jpg files (for some reason, it doesn't occur with pngs), the pop-up window would remain in an endless loop. And from that point forward, any other app trying to open the same file will either become unresponsive (in the case of the Preview app) or just stay in endless loop (in case of Quick Look)
      As a workaround, in case the tutorial below doesn't work for you, you can use Grab (built-in app in MacOS) to open said files.
      This issue DOES NOT occur using the iGPU. So...if you're comfortable using the iGPU, just switch to that and you should be good to go. You don't need this tutorial.
      This tutorial is based on @Cyberdevs' research and testing on this topic (especially useful if you're using an RX series AMD video card), and my own very limited time testing this on my rig. I just thought it would be useful to create a new thread for it so that people can discuss this particular issue here.

      With that being said, I'll just move on to the actual tutorial.
      New (probably better) method.
      Switch your SMBIOS in Clover config in regards to the dedicated GPU you're using, instead of the CPU. Take a look here and choose the corresponding SMBIOS closest to your hardware.
      Yeah, that's it.
      In case you lose CPU PM with this method, there are multiple ways to fix that, and they do not make the object of this thread.  It worked perfectly fine for me though and I didn't need to change anything else.
      Alternatively, you can also try one of the MacPro SMBIOSes, such as MacPro5,1 or MacPro6,1. It was tested multiple times and it showed good results. 
      Keep in mind that choosing these will most likely not show you an iGPU in System Report, since those machines generally (probably all of them) use Xeon CPUs with no iGPUs either.
      /!\NOTE: There have been reports saying that using this method (switching SMBIOS to a MacPro one) with newer versions of MacOS may cause iTunes to crash.
      So...keep that in mind and better try some of the other methods mentioned here.
      A simple Lilu plugin
      Thanks to vulgo for the plugin and @Matgen84 for sharing and testing it, we now have yet another possible solution to this issue. It's a Lilu plugin (which means that it requires Lilu.kext in order to work) it's called NoVPAJpeg, and it can be downloaded from here.
      You use it as a regular kext, alongside Lilu. I prefer (and recommend) using it within the EFI folder, in Clover/kexts/Other. But if you want to use it in S/L/E, that should work just fine.
      More info can be found in this post here.
      According to Vulgo, NoVPAJpeg.kext is now deprecated.
      In case its functionality is needed, use WhateverGreen.kext and add the following boot arguments:
      shikigva=32 shiki-id=Mac-7BA5B2D9E42DDD94 In case you wanna try alternative medicine  ...
      The main thing we need to do is actually very simple: we need to enable the iGPU (integrated GPU) by default, in BIOS, while actually being connected to the dedicated GPU.
      For ATI GPUs (curtesy of @Cyberdevs' post here).
      The discreet GPU should be set as primary in BIOS and your displays should be connected to your discreet GPU
      The iGD/iGPU/iGFX must be enabled in BIOS/UEFI as the secondary GPU.
      I removed the DSDT Reconfigured the config.plist to and removed some flags which weren't needed because of the DSDT added the InjectATI + Ornioco Framebuffer (I removed the Orinoco framebuffer because of some weird glitches but it might be useful for other AMD GPUs if you inject the correct framebuffer according to your GPU. No need to inject anything for nVidia GPUs unless your GPU needs it) Added the InjectIntel + ig-platform-id for my intel HD530 (for intel HD 530 I use the 0x19120001 ig-platform-id)  
      Steps 5 to 7 might not be necessary I just did them anyway, if anyone succeeded to get quicklook working without those steps let me know so I can exclude those steps.

           Also confirmed to work with AMD R9 270X on a SandyBridge rig (without an iGPU) using WhateverGreen + Lilu kexts, which also helped to solve the transparency issue along with the Quick Look problem, it also resolved the buggy Screen Capture (Command+Shift+5) issue as well. 
          Also, do:
      nvram cleanup kextcache & prelinked kernel rebuild reboot  More info on that here.
      For NVIDIA GPUs (tested on my old MSi GTX 650)
      This is what I needed for my NVIDIA GPU and the MSI motherboard in the signature (*since then, I upgraded my GPU to my current RX 580). Your milage may vary, depending on your hardware. But, the idea should be the same regardless.
         For MSi motherboads (check out my motherboard details in the signature)
      Set your BIOS to use PEG (dedicated GPU) so you can boot.
      Since you're reading this, chances are that you're already connected to the dedicated GPU and the BIOS is set to PEG. So just go into BIOS and see if you're using the iGPU or the dedicated (PEG) graphics device by default.
      If you're already using this, skip to Step 3 (the part AFTER Reboot). Reboot (I think you don't necessarily need to boot into the OS...but you do need to reboot at least until Clover UI) Reboot back into BIOS and set it from PEG to IGD (integrated graphics) WITHOUT removing the cable. Save Reboot again.  
         The result should be that the OS is tricked into thinking you're booting with the IGPU when in fact you're using the dedicated GPU.
         For Gigabyte motherboards
      Peripherals -> Initial Display Output -> iGFX Chipset -> Internal Graphics -> Enabled
           DVMT Pre-Allocation -> default 64M.
           DVMT Total Gfx Mem -> default 256M Save Reboot  
         You should do this with the cable connected to the dedicated GPU.
      You will also need to patch the iGPU from Clover config.
      1. Graphics -> Inject Intel (UNCHECK Inject Nvidia or ATI if it's checked).
      2. ig-platform-id (in my case for Intel HD 4600 Desktop) it was: 0x0d220003
      And use IntelGraphicsFixup.kext (now included into WhateverGreen.kext) in Clover/kexts/Other. In my particular case, without the kext, I would get freezes in Safari.
      Another way to activate the iGPU while having the dGPU set as primary is by going into BIOS/SAG/Graphics Configuration/iGPU and setting Multi-Monitor to [Enabled], all the rest remains on [Auto], and set Inject/Intel to [True] in Clover config.*.
      Thanks to @gjw for the tip.
      *Motherboard dependent. But the multi-monitor option might be the same regardless of manufacturer.
      This might be a bug with Mojave and it could be fixed by Apple in the future. but in the meantime, feel free to use this if it helps you fix the issue.
      For HP motherboards (including laptops), so far no solution, unless the BIOS somehow allows to switch from dGPU to iGPU and vice-versa.
    • By MaLd0n

      --Original Post--
      --Bios/UEFI Settings--
      *Update bios/uefi to F7+*
      1- Go to M.I.T./Advanced Frequency Settings tab
      Extreme Memory Profile (X.M.P.) - Profile 1
      2- Go to BIOS tab
      CSM Support - Disabled
      3- Go to Peripherals/Thunderbolt(TM) Configuration tab
      Security Level - No Security
      Thunderbolt USB Support - Enabled
      GPIO3 Force Pwr - Enabled
      4- Go to Chipset tab
      Internal Graphics - Enable
      ---CLOVER FOLDER---
      *Use this folder with FULL DSDT PATCHED
      *Use this folder with FULL DSDT PATCHED
      ---DSDT patch requests is here---



      Intel Core i9-9900K


      CORSAIR H100i RGB PLATINUM AIO Liquid CPU Cooler


      Corsair CMW32GX4M2C3200C16 Vengeance RGB PRO 32GB (2x16GB) DDR4 3200 (PC4-25600)


      MSI RX Vega 64 AIR Boost 8G OC


      Samsung 970 EVO 1TB SSD (MZ-V7E1T0BW) NVMe M.2 V-NAND


      EVGA Supernova 1000 P2 80+ Platinum, 1000W ECO Mode Fully Modular 


      TP-Link Archer T9E


      Thermaltake Core P5 Tempered Glass Black Edition ATX Open Frame Panoramic Viewing

      --DSDT Patches--

      -Credits and thanks to the old and new people in the community who developed patches, kexts and bootloaders!
      Thanks to KGP for SSDT Thunderbolt
      Slice, Kabyl, usr-sse2, jadran, Blackosx, dmazar, STLVNUB, pcj, apianti, JrCs, pene, FrodoKenny, skoczy, ycr.ru, Oscar09, xsmile, SoThOr, RehabMan, Download-Fritz, Zenit432, cecekpawon, Intel, Apple, Oracle, Chameleon Team, crazybirdy, Mieze, Mirone, Oldnapalm, netkas, Elconiglio, artut-pt, ErmaC, Pavo, Toleda, Master Chief and family, bcc9, The King, PMheart, Sherlocks, Micky1979, vit9696, vandroiy2013, Voodoo Team, Pike R. Alpha, lvs1974, Austere.J, CVad, Sampath007, onemanosx, erroruser, Jenny David, Olarila Facebook Community, Hackintosh Facebook Community and many others!
      We're all here to have fun and learn from each other!