Jump to content

Search the Community: Showing results for tags 'guide'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • InsanelyMac Lounge
    • Front Page News and Rumors
    • Reader News and Reviews
    • Forum Information and Feedback
  • OSx86 Project
    • New Releases and Updates
    • New Users Lounge
    • Developers Corner
    • Tutorials (The Genius Bar)
    • Technical FAQ
    • OSx86 Installation
    • Post-Installation
    • DSDT and SSDT
    • Hardware Components and Drivers
    • Complete Desktops
    • Notebooks
    • Netbooks
    • Tablets
    • MacMod of the Month
    • Multi-booting and Virtualisation
  • International
    • Your Language
    • Deutsch
    • Español
    • Français
    • Italiano
    • Português
    • Русский
  • Apple World
    • Mac OS X
    • Apple Computers and Hardware
    • iOS Devices
    • Mac Applications
    • Mac Programming and Development
    • iOS Programming and Development
    • Mac Gaming
    • Mac Accessories
  • Discuss and Learn
    • Windows Discussion
    • *nix
    • Apple Opinions and Discussion
    • The Great Debates
    • Internet(s), Servers, and Networks
    • Buying Thoughts, Reviews, and Recommendations
    • Mods and Overclocking
    • The Big Issues [Real Life]
  • Everything Else
    • Creativity
    • Thunderdome (Random Stuff)
    • Laughs
    • The Marketplace

Categories

  • Kexts
    • Graphics Cards
    • Audio
    • LAN and Wireless
    • Other
  • Kernels
  • Bootloaders
  • DSDTs
    • Patches
  • Pandora
  • Apps
  • Miscellaneous
  • Customization

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

Found 61 results

  1. Successfully running my iMac Pro Skylake-X/X299 Build with macOS High Sierra 10.13.5 (17F77)! Abstract and Introduction: This originating post constitutes a new macOS 10.13 High Sierra Desktop Guide for Skylake-X/X299, which certainly can still grow and improve by your estimated user feedback. This Skylake-X/X299 10.13 High Sierra Desktop Guide bases on the ASUS Prime X299 Deluxe. However, also other X299 ASUS mainboard models or X299 mainboards of other brands should be compatible with this guide by considering a few mandatory modifications detailed below. The i7-7800X (6-core) was chosen as the Skylake-X Startup Configuration Model in order to minimise the guide development costs. It has been replaced within the goal configuration by the i9-7980XE (18 core). All other Skylake-X models compatible with this guide are detailed in the figure below. Carefully consider, which Skylake-X model might be the correct choice for your specific needs. Also the note of the following limitations: a.) The i7-7640X and 7740X only support two channels DDR4-2666 and only posses 16 PCI express 3.0 lanes, which are already used up by implementing a state-of-the-art 16 lane PCIe graphics adapter. Thus, there are no further PCI express 3.0 lanes for using PCIe NVMe drives or additional PCIe adapters! b.) The i7-7800X and i7-7820X already support four channels DDR4-2666 but however also possess only 28 PCI express 3.0 lanes! Thus by using a state-of-the-art 16 lane PCIe graphics adapter and a PCIe NVMe drive, there are nearly no PCI express 3.0 lanes remaining. When adding one or two additional PCIe adapters, one exceeds the 28 available PCI express 3.0 lanes by far! In this case, the resulting configuration might be error-prone! c.) Thus, considering a.) and b.), I strongly recommend to start at least with the i9-7900X, which already supportsfour channels DDR4-2666 and also implements 44 PCI express 3.0 lanes Further note, that for all Skylake-X processors, a sophisticated liquid cooling system is absolutely mandatory! For stock speeds something like the Corsair H115i might by sufficient. However, if somebody aims at OverClocking (OC) of the i9-7900X or Skylake-X Processors above, sophisticated Water Blocks for CPU and VRM of e.g. EKWB seem absolutely mandatory and unavoidable. My Skylake-X/X299 System is up, fully stable and fully functional apart from the yet non-functional onboard WLAN (WIFI) module (chipset not natively supported by OS X). For Wifi, I therefore use the OSX WIFI PCIe Adapter instead. Thanks to a very recent iMac Pro dump performed by @TheOfficialGypsy, we now have been able to successfully implement the necessary iMacPro1,1 details in both Clover_v2.4k_r4369 (thanks to @Sherlocks) and Clover Configurator v4.60.0.0 (SMBIOS details, thanks to @Mackie100) by beginning of January 2018. In collaboration with @macandrea we first achieved the direct implementation of macOSHigh Sierra 10.13.2 (17C2120), and now also the direct implementation of macOSHigh Sierra 10.13.5 (17F77), which can be subsequently updated to macOSHigh Sierra 10.13.6 Public Beta 2 (17G39b) via the Appstore. Note that with AptioMemoryFix.efi, the new Skylake/X299 iMac Pro build now also features fully native NVRAM support. No need for EmuVariableUefi-64.efi in /EFI/Clover/drivers64UEFI/ to properly transmit the SMBIOS iMacPro1,1 credentials to Apple. We also reached Native Display Brightness Control / Native NightShift Functionality for Monitors like the LG 38 inch display with DCC/IC Support thanks to users @Bendge and @Ramalama. Since 10.13 SU and with AppleIntelPCHPMC, Apple now e.g. implements IOPCIPrimaryMatchID "a2af8068" and AppleUSBXHCISPT on the ASUS Prime X299 Deluxe. All external and internal XHC USB 3.0 (USB 3.1 Gen 1 Type-A) and USB 2.0 (USB 2.0 Gen 1 Type-A) ports should work at expected data transfer rates on all X299 mainboards. All external and internal USB 3.1 (USB 3.1 Gen 2 Type-A and Type-C) ports are anyway natively implemented on different controllers than XHC and also work at expected data rates. Anybody unhappy with the current XHC USB OSX implementation can create a board specific XHC USB Kext by following my XHC USB Kext guideline in the other forum. Also the ASUS Thunderbolt EX3 Extension Card is fully implemented including TB XHC USB and TB hot plug functionality. External Thunderbolt drives connected via Apples Thunderbolt 3 to Thunderbolt 2 Adapter work at expected data rates and speeds. The same states for all USB 3.1 Gen 2 Type-A and Type-C devices (see Section E.5 of my guide)! Note that opposite to my previous EFI-Folder distributions, EFI-X299-10.13.5-Release-iMacPro1,1-160618.zip does not contain any default audio configuration. You have to implement the audio approach of your choice during the Post Installation process in Section E.)! You can select between three possible audio implementations detailed in section E.3): 1.) The AppleALC audio approach (section E.3.1) bases on AppleALC.kext v1.2.6 and Lilu.kext v1.2.3 and could be implemented thanks to the extensive efforts and brilliant work of @vit9696 and @apfelnico. 2.) The VoodooHDA audio approach (section E.3.2) bases on the VoodooHDA.kext v2.9.0d10 and VoodooHDA.prefPane v1.2. 3.) Finally, @toleda's cloverALC audio approach (section E.3.3) bases on the realtekALC.kext v2.8 and on an additional pathing of the native vanilla AppleHDA.kext in the /S/L/E/ directory of the System Disk and has been successfully implemented thanks to the instructions and help of @Ramalama. The correct HDMI/DP digital Audio PCI implementation will be detailed in Section E.9) of this guide in line with the HDEF and GPU PCI device implementation. The ASUS Prime X299 Deluxe on-board Bluetooth is natively supported and also Bluetooth Audio works OoB, however due to the non-functionality of the ASUS Prime X299 Deluxe on-board Wifi Module, I also use the Bluetooth 4.0 module of the OSX WIFI PCIe Adapter, which in line with its natively supported Wifi-module also provides native Airdrop, native Handoff and native Continuity as well as keyboard support in BIOS/UEFI and Clover Boot Loader. A full-featured alternative and more budget friendly BT/WIFI solution is the ABWB 802,11 AC WI-FI + Bluetooth 4.0 PCI-Express (PCI-E) BCM94360CD Combo PCIe Adapter of Flughafen Computer especially for our friends in Europe (thanks to @DSM2 for providing this information). Thanks to the SmallTree-Intel-211-AT-PCIe-GBE.kext, also the Intel I211_AT Gigabit on-board LAN controller of the ASUS Prime X299 Deluxe is now correctly implemented and fully functional, in addition to the anyway natively implemented and of course also fully operational Intel I219-V Gigabyte on-board LAN controller of the Asus Prime X299 Deluxe (see Section E.8 of my guide). In May 2018, @mm2margeret pointed me even to a fully working 10GBit Lan Solution (thanks to@mikeboss, @d5aquep and @Mieze) based on the ASUS XG-C100C 10-Gigabit Ethernet PCIe x4 Adapter. The latter adapter employs the same Aquantia AQC107 chip like the iMac Pro. How to successfully implement and run the ASUS XG-C100C is detailed in Sections E.8.2.1) and E.9.9). In addition, I also successfully implemented and tested the Intel X540-T1 single port 10GBit LAN PCIe Adapter after some Ubuntu modding of it's EEPROM to be compatible with the Small-Tree 10GB macOS 10.13 driver (see Sections E.8.2.2 and E.9.9 ). I now however use this latter adapter in my X99 rig. The Small-Tree P2EI0G-2T 2-Port 10GB LAN PCIe Adapter constitutes my actual 10GBit LAN implementation, working OoB with the Small-Tree 10GB macOS 10.13 driver. The 10Gbit NIC connects with a NetGear ProSave XS508M 8-port 10GBit switch, which further connects with a QNAP TS-431X2 Quad-core 4-Bay NAS tower with Built-in 10GbE SFP+ Port that harbours 4x 12 TB Seagate IronWolf in RAID 0 configuration (optimised for read/write speed). Let me express my gratitude to @gxsolace at this place for providing me with 1x Intel X540-T1, 1x Small-tree P2EI0G-2T and 4x 12 TB Seagate IronWolf hardware. You are just awesome! Excellent news concerning CPU Power Management: ASUS, MSI and ASROCK mainboards allow now for manually unlocking the MSR 0xE2 BIOS Register along their X299 mainboard series. The MSR 0xE2 BIOS Register of all Gigabyte mainboards is anyway unlocked by factory default. The manual unlocking of BIOS 1301 for the ASUS Prime Deluxe however still causes issues with respect to sleep/wake functionality and Skylake-X TSC. Therefore we have to enable the MSR lock in the BIOS settings but patch in advance the 1301 BIOS firmware by means of 3 patches provided by @interferenc. By this we achieve fully native HWP (Intel SpeedShift Technology) CPU Power Management for all Skylake-X processors on all mainboards with unlocked MSR 0xE2 BIOS Register, resulting in absolutely brilliant and top-end CPU performance (see Section E.1). With all unpatched mainboards we witness however some TSC desynchronisation of the Skylake-X threads at boot and wake from S3. Until further microcode updates are performed by the mainboard manufacturers, we therefore have to use the TSCAdjustRest.kext provided by @interferenc in this case. Outstanding historical Skylake-X/X299 iMac pro Benchmark Scores finally also depict the excellent overall build and and system performance: Geekbench i9-7980XE (4.8GHz) CPU Benchmark: Multi-Core Sore: 65.348 Single-Core Sore: 5.910 Cinebench i9-7980XE (4.8GHz) CPU Benchmark: 4.618 CB Geekbench Gigabyte Nvidia GeForce GTX 1080 Ti WaterForce WB 11GB Xtreme Edition OpenGL and Metal2 Benchmark: OpenGL Sore: 229.965 Metal 2 Sore: 242.393 See Sections F.1) and F.2) for further details. All Skylake-X Systems harbouring a mainboard with unlocked MSR 0xE2 BIOS Register now also posses fully native forced and automated Sleep/Wake Functionality not only thanks too a fully developed SSDT implementation and respective ACPI replacements. Good new also for all users of C422 and XEON-W System. This guide seems also fully compatible with your systems Before starting with all detailed instructions, please find a Table of Content that provides an overview of the individual topics addressed within this guide: -------------------------------------------------------------------------------- Table of Contents A.) Hardware Overview Details about the build configuration that states the baseline of this guide. B.) Mainboard BIOS B1.) ASUS BIOS Firmware Patching B2.) ASUS BIOS Configuration B3.) Gigabyte BIOS Configuration C.) Important General Note/Advice and Error Prevention Hardware and System Configuration recommendations. Make sure you've read all of this before complaining that something does not work. D.) iMac Pro macOS 10.13 High Sierra System Setup This chapter includes a general guideline how to perform the initial setup of your iMac Pro with macOS High Sierra 10.13.5 (17F77). Note that the macOS High Sierra 10.13.5 (17F77) full package installer apparently can be only successfully downloaded on non-iMacPro systems. For iMacPro systems, there we provide a sophisticated workaround that bases on pristine sources from Apple. D.1) iMac Pro EFI-Folder Preparation D.2) iMac Pro macOS High Sierra 10.13.5 (17F77) Installer Package Creation D.3) iMac Pro macOS High Sierra 10.13.5 (17F77) USB Flash Drive Installer Creation D.4) iMac Pro macOS High Sierra 10.13.5 (17F77) Clean Install on Skylake-X/X299 D.5) Direct iMac Pro conversions of a functional Skylake-X/X299 system with a SMBIOS System Definition different from iMacPro1,1 and a standard macOS build implementation D.6) iMac Pro macOS High Sierra Build Update Procedure E.) Post Installation Process E.1) HWP (Intel SpeedShift Technology) CPU Power Management Configuration E.2) Graphics Configuration General ATI and Nvidia GPU advices including a detailed guideline for Nvidia Web Driver Installation and Black Screen Prevention E.3) Audio Configuration Use only one of the following, where E.3.1 is recommended by the author. E.3.1.) AppleALC Audio Implementation E.3.2) VoodooHDA Audio Implementation E.3.3) cloverALC Audio Implementation E.4) USB Configuration including some initial benchmarks E.5) ASUS Prime X299 Deluxe Thunderbolt EX3 PCIe Add-On Implementation E.6) NVMe compatibility E.7.) SSD/NVMe TRIM Support Extend the life of your SSD and maintained its normal speed E.8) Gbit and 10-Gbit Ethernet Implementations E.8.1) ASUS Prime X299 Deluxe on-board Gbit Ethernet Functionality E.8.2) 10-Gbit LAN Implementations E.8.2.1) ASUS XG-C100C Aquantia AQC107 10-Gbit NIC E.8.2.2) Intel X540-T1 10-Gbit NIC E.8.2.3) Small-Tree P2EI0G-2T 10-Gbit NIC E.8.2.4) NetGear ProSave XS508M 8-port 10-Gbit Switch E.8.2.5) QNAP TS-431X2 Quad-core 4-Bay NAS tower E.8.2.6) 10-GBit Ethernet Optimisation E.9) ASUS Prime X299 Deluxe PCI Device Implementation E.9.1) ACPI DSDT Replacement Implementation E.9.2) SSDT-X299-iMacPro.aml PCI Implementation E.9.2.1) - HDEF - onboard PCI Audio Controller PCI Implementation E.9.2.2) - GFX0, HDAU - Nvidia Graphics Card and HDMI/DP Audio PCI implementation E.9.2.3) - PMCR - onboard Power Management Controller (PMC) PCI Implementation E.9.2.4) - USBX - fixing XHCI USB Power errors during Boot E.9.2.5) - XHCI - onboard Extended Host Controller Interface (XHCI) PCI Implementation E.9.2.6) - XHC2,3,4 - ASMedia ASM3142 USB 3.1 Controller PCI Implementation E.9.2.7) - ANS1, ANS2 - Apple NVMe Controller PCI Implementation E.9.2.8) - SAT1 - Intel AHCI SATA Controller PCI Implementation E.9.2.9) XGBE - 10GBit NIC Implementation E.9.2.10) - ETH0/ETH1 - onboard LAN Controller PCI Implementation E.9.2.11) - ARPT - OSX WIFI Broadcom BCM94360CD 802.11 a/b/g/n/ac + Bluetooth 4.0 AirPort Controller PCI Implementation E.9.2.12) - DTGP Method E.9.2.13) - Debugging Sleep Issues E.9.3) SSDT-X299-TB3-iMacPro-KGP.aml PCI Implementation E.10) System Overview CPU Cosmetics E.11) iMac Pro Boot Splash Screen Cosmetics E.12) iMac Pro Desktop Background cosmetics E.13) Native Display Brightness Control / Native NightShift Functionality for Monitors with DCC/IC Support E.14) Logic-X and Audio Studio Software Functionality E.15) iStatMenus Hardware Monitoring F.) Benchmarking F.1) Sylake-X Intel I9-7980XE CPU Benchmarking F.2) Gigabyte AORUS GTX 1080 Ti Waterforce EB 11GB Extreme Edition Benchmarking G.) Summary and Conclusion -------------------------------------------------------------------------------- Now enjoy and have have fun with the detailed guidelines below. Many thanks to [USER=956262]@paulotex[/USER] for committing the efforts in providing the Table of Contents detailed above. A.) Hardware Overview Mainboard: Asus Prime X299 Deluxe [380€] CPU: i9-7980XE (18 core, 4.4Ghz) [1.900€] RAM Memory: Tridentz DDR-4 3200 Mhz 128GB (8x16GB) Kit (F4-3200C14Q2-128GTZSW) [1.400€] GPU: Gigabyte Aorus GTX 1080 Ti Waterforce WB Extreme Edition 11GB [900€] System Disks: EVO 960 NVMe M.2 1TB (system disk macOS High Sierra 10.13.3) [450€] ; EVO 960 NVMe M.2 1TB (system disk macOS Sierra 10.12.6 Sierra) [450€] Power Supply: Corsair AX1500i [450€] Monitor: LG 38UC99-W 38" curved 21:9 Ultra Wide QHD+ IPS Display (3840 pix x 1600 pix) [1.350€] WebCam: Logitech C930e [80€] Mouse: Apple Magic Mouse 2 [75€] Keyboard: Apple Magic Keyboard Wireless [99€] Bluetooth + Wifi: PC/HACKINTOSH - APPLE BROADCOM BCM94360CD - 802.11 A/B/G/N/AC + BLUETOOTH 4.0 [129€] Internal USB2.0 HUB: NZXT AC-IUSBH-M1T [20€] Case: Thermaltake Core X71 Tempered Glass Edition Full Tower Chassis [140€] 10Gbit Ethernet components: - 1x ASUS XG-C100C AQC107 PCIe x4 10GBit LAN Adapter (for testing purposes) - 1x Intel X540-T1 single port 10GBit LAN PCIe Adapter (for testing purposes, now installed in my X99 rig) - 1x Small-Tree P2EI0G-2T 2-Port 10GBit LAN PCIe Adapter (now default configuration) - 1x NetGear ProSave XS508M 8-port 10GBit switch - 1x QNAP TS-431X2 Quad-core 4-Bay NAS tower with Built-in 10GbE SFP+ Port and 4x 12 TB Seagate IronWolf in RAID 0 configuration. Let me express once more my gratitude to @gxsolace at this place for providing me with 1x Intel X540-T1, 1x Small-tree P2EI0G-2T and 4x 12 TB Seagate IronWolf hardware. CPU/GPU Cooling: Water Cooling main components: - 1x EK-FB ASUS Prime X299 RGB Monoblock - Nickel [117€] - 1x EK-CoolStream PE 360 (Triple, 39 mm, Roof) [80€] - 1x EK-CoolStream Ce 280 (Dual, 45mm, Front) [90€] - 2x EK-CoolStream XE 360 (Triple, 60 mm, Cellar) [220€] - 1x XSPC Twin D5 Dual Bay Reservoir/Pump Combo [209€] - 15x Thermaltake Riing 12 High Static Pressure LED Radiator Fan (120mm) [210€] - 5x Thermaltake Riing 14 High Static Pressure LED Radiator Fan (140mm) [100€] - 3x Phantek PMW Fan Hub (up to 12 fans or 30W power consumption) [17€] - 1x Alphacool Eisflügel Flow Indicator Black G1/4 IG [16€] - 1x Phobya Temperatur Sensor G1/4 + C/F Display [22€] ----------- Total: 8904€ ----------- Compared with: B.) Mainboard BIOS Please find below instructions for the Asus X299 Prime Deluxe BIOS firmware patching (Section B.1), a summary of my actual Asus X299 Prime Deluxe BIOS settings (Section B.2), and some actual BIOS settings for the Gigabyte Designare EX settings (Section B.3). B1.) ASUS BIOS Firmware Patching On a real Mac with native OSX XCPM power management, the MSR 0xE2 register is unlocked and therefore writeable. However, on ASUS mobos this register was usually read only for ages. When the kernel tried to write to this locked register, it caused a kernel panic. This panic could happen very early in the boot process, with the result that the system freezes or reboots during the boot process. We could circumvent the MSR 0xE2 register write with a dedicated KernelToPatch entry in the config.plist, namely "xcpm_core_scope_msrs © Pike R. Alpha" and by enabling the "KernelPM" in the config.plist in Section "Kernel and Kext Patches" of the Clover Configurator. Within the ASUS Prime X299 Deluxe BIOS firmware 1301, ASUS now allows upon my user request for the first time to manually unlock the MSR 0xE2 register within the most recent BIOS settings. The manual unlock along the the BIOS settings of BIOS 1301 for the ASUS Prime Deluxe however still causes issues with respect to sleep/wake functionality and Skylake-X TSC. Therefore we have to enable the MSR lock in the BIOS and patch the latter firmware in advance. Thanks to recent modifications in CodeRush's Longsoft UEFIPatch distributions and thanks to three sophisticated MSR 0xE2 Register patches provided by [USER=1295997]@interferenc[/USER] (partly former work of CodeRush, Pike Alpha and Adrian_dsl), we are able to successfully patch any ASUS X299 mainboard BIOS distribution and unlock the MSR 0xE2 register. The patched ASUS mainboard BIOS firmware finally can be uploaded to the specific ASUS X299 mainboard by means of the ASUS EZ BIOS Flashback Procedure. This makes the "xcpm_core_scope_msrs © Pike R. Alpha" KernelToPatch entry obsolete and allows full native read/write MSR 0xE2 register access by the OSX kernel. MSI and ASRock mainboards successfully allow the manual unlock of the MSR 0xE2 BIOS Register. The MSR 0xE2 BIOS Register of all Gigabyte mainboards is anyway unlocked by factory default. On all unpatched mainboards, yet we however witness some TSC desynchronisation of the Skylake-X threads at boot and wake from S3. Until further microcode updates are performed by the mainboard manufacturers, we therefore have to use in this case the TSCAdjustRest.kext provided by @inteferenc (see error prevention 7.) in Section C.) of this guide). By this we achieve fully native HWP (Intel SpeedShift Technology) CPU Power Management for all Skylake-X processors on all mainboards with unlocked MSR 0xE2 BIOS Register, resulting in absolutely brilliant and top-end CPU performance (see Section E.1). The individual steps for the ASUS X299 BIOS Patching are detailed below: 1.) Installation of the BREW distribution: a.) Open a terminal and change to "bash" shell. bash b.) Now enter the following "bash" terminal command and follow the standard BREW installation instructions: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install) 2.) After the successful installation of the BREW distribution, we have to implement the QT5 distribution, again by using a "bash" terminal shell. Just enter the following "bash" terminal commands: brew install qt5 brew link qt5 --force 3.) After successfully implementing BREW and QT5, we can now download the most actual CodeRush UEFIPatch distribution from Github to our home directory with the following terminal command: git clone https://github.com/LongSoft/UEFITool Now we have to change to ~/UEFITool/UEFIPatch/ cd ~/UEFITool/UEFIPatch/ and execute the following "bash" commands: qmake uefipatch.pro make Now we have the executable UEFIPatch distribution. 4.) Create a UEFIPatch-Folder on your Desktop mkdir ~/Desktop/UEFIPatch/ 5.) Copy the previously compiled UEFI patch distribution to your new Desktop cp ~/UEFITool/UEFIPatch/UEFIPatch ~/Desktop/UEFIPatch/ 6.) Download the most recent BIOS Firmware file from ASUS. For the ASUS Prime X299 Deluxe follow THIS LINK 7.) Copy the most recent ASUS BIOS Firmware file to your UEFIPatch-Folder on your Desktop, e.g. cp ~/Downloads/PRIME-X299-DELUXE-ASUS-1301.CAP ~/Desktop/UEFIPatch/ 8.) Download patches.txt provided by @interferenc and copy the file to your ~/Desktop/UEFIPatch/ Folder. cp ~/Downloads/patches.txt ~/Desktop/UEFIPatch/ 9.) Change to your UEFIPatch directory on the Desktop cd ~/Desktop/UEFIPatch/ You now have all required data in the ~/Desktop/UEFIPatch/ Folder, which basically are UEFIPatch, patches.txt and the most recent ASUS BIOS Firmware distribution for your particular ASUS X299 mainboard. 10.) To finally patch the most recent ASUS BIOS Firmware distribution for your particular ASUS X299 mainboard, enter the following terminal commands (this example is for the ASUS Prime X299 Deluxe mainboard): cd ~/Desktop/UEFIPatch/ ./UEFIpatch PRIME-X299-DELUXE-ASUS-1301.CAP You will see the following terminal output during the patch procedure: parseImageFile: Aptio capsule signature may become invalid after image modifications parseFile: non-empty pad-file contents will be destroyed after volume modifications parseFile: non-empty pad-file contents will be destroyed after volume modifications patch: replaced 8 bytes at offset 4380h 81E10080000033C1 -> 9090909090909090 patch: replaced 8 bytes at offset 4380h 81E10080000033C1 -> 9090909090909090 patch: replaced 8 bytes at offset 2CBEEh 81E10080000033C1 -> 9090909090909090 patch: replaced 8 bytes at offset 2CBEEh 81E10080000033C1 -> 9090909090909090 patch: replaced 4 bytes at offset 298Fh 0FBAE80F -> 0FBAE00F Image patched The resulting patched BIOS Firmware distribution file has the ending ".patched", e.g. for the ASUS Prime X299 Deluxe we obtain "PRIME-X299-DELUXE-ASUS-1102.CAP.patched". 11.) Now rename the patched BIOS Firmware distribution file in concordance with the ASUS EZ Flashback filename convention for your particular ASUS X299 mainboard. For the ASUS Prime X299 Deluxe, the modified BIOS Firmware distribution file must be named "X299D.CAP": mv ~/Desktop/UEFIPatch/PRIME-X299-DELUXE-ASUS-1301.CAP.patched ~/Desktop/UEFIPatch/X299D.CAP Now copy the CAP-file with the correct ASUS EZ Flashback filename convention to a USB Drive with a FAT32 File System of your choice: cp ~/Desktop/UEFIPatch/X299D.CAP /Volumes/"YOUR_USB_DRIVE"/ and reboot. 12.) On reboot, enter the BIOS Menu with F2, save your actual BIOS settings to your USB Drive (CMO.file) and shut down your system. The most recent ASUS mainboard BIOS firmware can be uploaded to the specific ASUS X299 mainboard in many different ways. The ASUS EZ BIOS Flashback Procedure is one of several options. The individual steps for the latter procedure are detailed below: 13.) Connect the USB Drive to the USB-port assigned to the ASUS BIOS Flashback procedure (see your mainboard manual for further details) Subsequently, press the EZ BIOS-Flashback button on your mainboard for three seconds until the EZ BIOS Flashback led starts blinking, indicating that the EZ BIOS Flashback procedure is in progress. Release the button and wait until the light turns off, indicating that the EZ BIOS Flashback procedure has completed. 14.) Boot your system, enter the BIOS Menu with F2 and restore your previously saved BIOS settings from your USB Drive (CMO.file). Save your BIOS settings and exit the BIOS with F7 and F10. Now you completed the BIOS patching procedure and you should have an ASUS X299 mainboard with an unlocked MSR 0xE2 register. To check that the latter is the case, enter the following terminal command after reboot: bdmesg The Clover boot log will show if the MSR 0xE2 register of your ASUS mainboard is unlocked. If you are able to find something like the following information, you fully succeeded in unlocking your MSR 0xE2 register: MSR 0xE2 before patch 00000402 MSR 0xCE 00070C2C_F3011A00 MSR 0x1B0 00000000 Alternatively, you can also check the status of your MSR 0xE2 register by means of the VoltageShift distribution. Download the VoltageShift distribution by following THIS LINK. Copy the voltageshift folder to your desktop mv ~/Downloads/voltageshift ~/Desktop/ Enter the following terminal commands: cd ~/Desktop/voltageshift/ sudo chmod -R 755 VoltageShift.kext sudo chown -R root:wheel ~/Desktop/voltageshift/VoltageShift.kext ./voltageshift read 0xe2 With unlocked MSR 0xE2 register, the output should look like as follows: RDMSR e2 returns value 0x7e000003 0x7e000003 is the value we need for our Skylake-X processors: This is from the latest kernel, the E2 value is in bold and backwards: 00a572c0: E200 0000 4C00 0000 0000 0000 0000 0000 ....L........... 00a572d0: 0F04 0000 0000 0000 0500 001E 0000 0000 ................ 00a572e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00a572f0: E200 0000 9033 0000 0000 0000 0000 0000 .....3.......... 00a57300: 0F04 0000 0000 0000 0800 007E 0000 0000 ...........~.... 00a57310: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00a57320: E200 0000 0040 0000 0000 0000 0000 0000 .....@.......... 00a57330: 0F04 0000 0000 0000 0300 007E 0000 0000 ...........~.... 00a57340: 0000 0000 0000 0000 0000 0000 0000 0000 ................ Alternatively you can also check the MSR 0xE2 register status by means of Pike Alpha's AppleIntelInfo.kext. Note however that the latter kext is incompatible with the i9-7980XE! Users of the latter Skylake-X CPU should opt for either the "bdmesg" or "voltageshift" MSR 0xE2 register verification approach detailed above. Here I link the already patched ASUS Prime X299 Deluxe 1301 BIOS firmware distribution X299D.CAP, which already includes the iMacPro Splash Screen image implemented by the procedure detailed in Section E.11). B2.) ASUS BIOS Configuration Before applying the specific settings, please provide your ASUS X299 Prime Deluxe with the most actual BIOS firmware 1301. After Updating System time and System Date, enable X.M.P for your DDR4 modules. Don't forget to enable the EZ XMP Switch previously to this step on your ASUS Mainboard! Subsequently switch form the easy to the advanced ASUS BIOS Setup mode by pressing F7. I use all optimized BIOS settings (OoB, no OC yet) despite a few changes listed in detail below: 1.) /AI Tweaker/ a.) ASUS MultiCore Enhancement: Auto [optional "Disabled", see important notification below!] b.) AVX Instruction Core Ratio Negative Offset: "3" [optional "Auto", see important notification below!] c.) AVX-512 Instruction Core Ratio Negative Offset: "2" [optional "Auto", see important notification below!] d.) CPU Core Ratio: Sync All Cores [optional "Auto", see important notification below!] e.) CPU SVID Support: Enabled [fundamental for proper IPG CPU power consumption display] f.) DRAM Frequency: DDR4-3200MHz 2.) /Advanced/CPU Configuration/ a.) Hyper Threading [ALL]: Enabled b.) MSR Lock Control: Enabled 3.) /Advanced/CPU Configuration/CPU Power Management Configuration/ a.) Enhanced Intel Speed Step Technology (EIST): Enabled b.) Autonomous Core C-States: Enabled c.) Enhanced Halt State (C1E): Enabled d.) CPU C6 report: Enabled e.) Package C-State: C6(non retention) state f.) Intel SpeedShift Technology: Enabled (crucial for native HWP Intel SpeedShift Technology CPU Power Management) g.) MFC Mode Override: OS Native 4.) /Advanced/Platform Misc Configuration/ a.) PCI Express Native Power Management: Disabled b.) PCH DMI ASPM: Disabled d.) ASPM: Disabled e.) DMI Link ASPM Control: Disabled f.) PEG - ASMP: Disabled 5.) /Advanced/System Agent Configuration/ a.) Intel VT for Directed I/O (VT-d): Disabled (see VT-d notification below) 6.) /Boot/ a.) Fast Boot: Disabled b.) Above 4G Decoding: Off c.) Set your specific Boot Option Priorities 7.) /Boot/Boot Configuration a.) Boot Logo Display: Auto (important for E.11 - ASUS Boot Splash Screen Cosmetics) b.) Boot up NumLock State: Disabled c.) Setup Mode: Advanced 8.) /Boot/Compatibility Support Module/ a.) Launch CSM: Disabled 9.) /Boot/Secure Boot/ a.) OS Type: Other OS With F7 and F10 you can save the modified BIOS settings. Important Notes: "ASUS MultiCore Enhancement": When set to "Auto", MCE allows you to maximise the overclocking performance optimised by the ASUS core ratio settings. When disabled, MCE allows to set to default core ratio settings. "CPU Core Ratio - Sync All Cores": Tremendous increase in CPU performance can be achieved with the CPU Core Ratio set to "Sync All Cores". In case of i9-7980XE stock settings (max. turbo 4.4 Ghz), the Geekbench score difference is approx. 51.000 (disabled) compared to 58.000 (enabled)! Note however, that Sync All Cores should be used only in case of the availability of an excellent and extremely sophisticated water cooling system! Otherwise, CPU Core Ratio should be set to "Auto". Further note that with CPU Core Ratio set to "Sync All Cores", the AVX Instruction Core Ratio Negative Offset must be set to "3" and the AVX-512 Instruction Core Ratio Negative Offset must be set to "2". Without the correct core ratio offsets, your system might become unstable with CPU Core Ratio set to "Sync All Cores"! VT-d Note: For compatibility with VM or parallels, VT-d can be also ENABLED... Verify however, in this case that in your config.plist the boot flag "dart=0" is checked under Arguments in the "Boot" Section of Clover Configurator! However, it might well be that the "dart=0" boot flag is already obsolete. Intel(R) Power Gadget (IPG) CPU Power Consumption note: for the proper display of the CPU Power Consumption in e.g. the Intel(R) Power Gadget it is absolutely mandatory to enable both /AI Tweaker/CPU SVID Support/. CPU Core Voltage Correction for ASUS X299 mainboard users: The ASUS Skylake-X BIOS microcode implementation has improved considerably. Former issues with "/AI Tweaker/CPU Core Voltage/" set to "Auto", where the assigned CPU Core Voltages have been too high by far, have been totally removed. Iterative manual approach to derive minimal CPU Core Voltages: This iterative approach detailed assumes the BIOS settings described in Section B1) - point 1) to 10), however by considering the following else optional settings: i.) "ASUS MultiCore Enhancement" set to "Auto" ii.) "CPU Core Ratio" set to "Sync All Cores" iii.) "AVX Instruction Core Ratio Negative Offset" set to "3" iv.) "AVX-512 Instruction Core Ratio Negative Offset" set to "2" 1.) Boot into Windows and launch ASUS CPU-Z as well as Cinebench. 2.) Run Cinebench CPU benchmarks and watch the Core VID values in CPU-Z under CPU max.load conditions. These values will usually exceed 1.2V with "/AI Tweaker/CPU Core Voltage/" set to "Auto". 3.) To optimise the "/AI Tweaker/CPU Core Voltage/" perform the following steps: a.) Enter the BIOS, go to "/AI Tweaker/CPU Core Voltage/" and change from "Auto" to "Manual" b.) Enter a slightly lower CPU Core Voltage Overrride (e.g. typically 0.01 V less) than originally observed with CPU-Z under Cinebench CPU benchmark max.load conditions in Windows, e.g. 1.190 V in the first iteration. c.) Reboot into windows and check if the Cinebench CPU benchmark scores are still in the expected range by also controlling the respective Core VID values during the Cinebench CPU benchmark max. load conditions d.) Repeat b.) and c.) until either your Cinebench CPU benchmarks scores start to significantly decrease or you start facing problems in booting your system. Given my personal experience with the i9-7980XE, a CPU Core Voltage Override of 1.120 V was optimal for a stock 4.4 GHz stock turbo frequency. In case of OC, the minimal CPU Core Voltage easily exceeded 1.2 V. Warning! Before performing the CPU Core Voltage Override Value Optimisation Approach, save your actual BIOS settings to a USB Drive. If during the iterative approach you are not able to successfully boot your system, perform a CMOS reset and restore your BIOS settings from the USB Drive, by subsequently entering the last successful CPU Core Voltage Override value! Too high voltages can severely damage your CPU! In any case, when performing OC, a sophisticated water block circuit is absolutely mandatory! Always watch also your CPU temps when performing the CPU Core Voltage Optimisation, which should not exceed 90 deg C under CPU max. load conditions! Many thanks to @DSM2 for all his comments, valuable input, and proposed solutions. B.3) Gigabyte BIOS Configuration Please find below the BIOS settings for the Gigabyte Designare EX kindly provided by @jyavenard and @DSM2. 1.) /M.I.T/Advanced Frequency Settings/ a.) Extreme Memory Profile: (X.M.P): Profile1 2.) /M.I.T/Advanced Frequency Settings/Advanced CPU Core Settings a.) Active Cores Control: Auto b.) Hyper-Threading Technology: Enabled c.) Intel Turbo Boost Max Technology 3.0 : Enabled d.) Intel Speed Shift Technology : Enabled e.) Enhanced Multi-Core Performance: enabled/disabled (optional; consider warning in Section B.2) - ASUS BIOS Settings) f.) CPU Enhanced Halt (C1E): Enabled g.) C6/C7 State Support: Enabled h.) Package C State limit: C6 i.) CPU EIST Function: Enabled j.) Energy Efficient Turbo : Disabled 3.) /M.I.T/Advanced Memory Settings/ a.) Extreme Memory Profile (X.M.P): Profile1 4.) /BIOS/ a.) Boot Numlock State: Disabled/Enabled (optional) b.) Security option: Setup c.) Full Screen Logo Show: Enbabled d.) Fast Boot: Disabled e.) CSM Support: Disabled 5.) /BIOS/Secure Boot/ a.) Secure Boot Enable: Disabled 6.) /Peripherals/USB Configuration/ a.) XHCI Hand-off: Enabled 7.) /Peripheral/Thunderbolt Configuration/ (Designare EX only) a.) Security Level : SL0 - No Security 8.) /Chipset/ a.) VT-d: Disabled/Enabled (optional, see VT-d notification in Section B.2) - ASUS BIOS settings) 9.) /Save& Exit/ a.) Save & Exit C.) Important General Note/Advice and Error Prevention Please note the following important General Note / Advice and Error Prevention, when setting up your Skylake-X/X299 System and implementing the latest macOS High Sierra distribution. 1.) The /EFI/Clover/drivers64UEFI/-directory of EFI-X299-10.13.5-Release-iMacPro1,1-160618.zip contains by default AptioMemoryFix.efi thanks to @vit9696. Note that with Clover_v2.4k_r4392, AptioMemoryFix.efi has become an official Customization Option of Clover and can now be selected and therefore also just easily implemented in the frame of the Clover Boot Loader Installation. For native NVRAM implementation, Clover's RC Scripts have to be omitted during the clover boot loader installation. If already previously installed, remove Clover's RC Scripts from the /etc directory of your macOS USB Flash Drive Installer or System Disk: sudo rm -rf /etc/rc.boot.d sudo rm -rf /etc/rc.shutdown.d Also the "slide" boot flag needs to be disabled. 2.a.) Most ATI GPUs, e.g. RX Vega 64, RX Vega Frontier, RX 580, RX 560 are natively implemented. Remaining HDMI/DP port errors, hot plug errors and flaws with multi-monitor or 5K display configurations can be fixed by means of VegaGraphicsFixup.kext, kindly provided by @jyavenard. Important comment for all Vega users with 4K monitors though: when connecting e.g. the Vega Frontier with e.g. the LG 38UC99-W (WUHD, 3840 pix x 1600 pix) via one of the Display Ports (DPs), the screen resolution is fine under both Windows 10 and macOS High Sierra but is totally at odd during boot (VGA like boot screen resolution). @DSM2 reported similar issues with his true 4K display and with both the ASUS Prime X299 Deluxe and the Gigabyte Designare EX. Thus the VEGA DP 4K boot screen resolution issue is neither related with the fact that the LG 38UC99-W is a ultra-wide (3840x1600) and not a true UHD (3840x2160) monitor nor related to any likely apparent issue with the ASUS Prime X299 Deluxe firmware. It is definitely a Vega firmware problem in combination with 4K displays, as the DP 4K boot screen resolution issue is totally absent with my Nvidia GPU and the problem also does not only affect the ASUS Splash Screen but also spreads over the entire boot process until the login screen is reached (Windows and macOS). Splash Screen, Apple logo or verbose boot messages are not stretched but rather have VGA like resolution. Any fix of the AMD vBIOS would be highly appreciated. It is more than disappointing to witness such issues with 1000$ GPUs... Fortunately, the 4K boot screen issue is restricted to the Vega DP ports and likely due to the fact that the LG 38UC99-W only supports DP 1.2. Solution: Connect your Vega and your 4K display via the HDMI port and everything will work as expected. b.) Also Nvidia Kepler Graphics Cards are natively implemented. c.) All Users with Maxwell and Pascal Nvidia Graphics Cards Users and SMBIOS MacPro1,1 can employ officially distributed Nvidia 10.13 Web Drivers for their Nvidia Pascal and Maxwell graphics cards! Upon my request from 7 January 2018, Nvidia officially released first WebDriver-387.10.10.10.25.105 for 10.13.2 (17C2120) and first WebDriver-387.10.10.10.25.106 for 10.13.2 SA (17C2205) - Supplemental Update on 11 January 2018. On 25 January 2018, Nvidia released a Web Driver 387.10.10.10.25.157 for 10.13.3 (17D2047), which worked flawless with Pascal GPUs (lagging issues have been reported for Maxwell GPUs). On 20 February 2018, Nvidia released a Web Diver 387.10.10.10.30.159 for 10.13.3 SA (17D2102). On 31 March 2018 and 18 April 2018, Nvidia also released Web Driver 387.10.10.10.30.103 and 387.10.10.10.30.106 for 10.13.4 (17E199). On 25 April 2018, Web Driver 387.10.10.10.30.107 has been released for 10.13.4 SU (17E202). On 02 June 2018, finally we Driver 387.10.10.10.35.106 followed for 10.13.5. Since Web Driver 387.10.10.10.30.106 former lagging issues have been fully removed. 10.13.6 Public Beta 2 (17G39b) users can use WebDriver-78.10.10.10.35.106 after a simple patching procedure detailed in Section E.2) For further details and error prevention see Section E.2). 3.) Avoid any MacOS assignments in KextToPatch and KernelToPatch entries implemented in the "Kernel and Kext Patches" Section of the Clover Configurator. If subsequently in my Guide you still find MatchOS assignments in respective figures or text, just ignore all likely yet persistent MatchOS assignments. In the config.plist of the EFI-Folder contained in EFI-X299-10.13.5-Release-iMacPro1,1-160618.zip, all MatchOS assignments have been definitely removed. 4.) If you have the Thunderbolt EX3 or Gigabyte Alpine Ridge PCIe extension card already successfully connected with your mainboard and properly implemented in your system, disconnect any Thunderbolt device during the macOS installation/upgrade procedure. However, if any Thunderbolt PCIe extension card has not been properly configured and implemented yet in your system, remove the card for the macOS Upgrade or Clean Install procedure. 5.) Note that on some systems it might be necessary to check the KernelPM Option in the "Kernel and Kext Patches Section" of the Clover Configurator to successfully boot the respective system. Note that in the config.plist of the EFI-Folder attached below, this option is unchecked, as it is not required in case of the ASUS Prime X299 Deluxe. 6.) The /EFI/Clover/drivers64UEFI/-directory of all former EFI-distributions contains a patched version of the actual apfs.efi. The actual apfs.efi can be obtained by following the respective guideline detailed below: Right-click with your mouse on the "Install macOS High Sierra.app" and select "Show Package Contents" -> click with the mouse on "Contents" and subsequently on "Shared Support" -> double-click with the mouse on "BaseSystem.dmg" for mounting. Go to "usr" -> "standalone" -> "i386". Drop the apfs.efi to your Desktop. To patch the apfs.efi for non-verbose boot, follow THIS LINK. Credits to @PMheart and @ermac. Note however, that the entire apsf.efi approach detailed above recently has become totally obsolete. Thanks to the ApfsSupportPkg developed by @acidenthera & Co. and thanks to it's recent implementation to Clover (thanks to @Slice, @Philip Petev & Co.) in form of ApsfDriverLoader.efi, there is no further need of the former apsf.efi in the /EFI/Clover/drivers64UEFI/ directory. The actual Clover distribution package including the ApsfDriverLoader.efi can by build by means of the Build_Clover.command available on Gitub. Since Version 4.8.8, the latter script also can be used with 10.14 and Xcode 10 +Xcode 10 Command Line Tools thanks to @vector sigma. By adding export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" && buildclover to the script, the latter also can be used in case of Brew, QT5, UEFITool or MacPorts implementations like Latex, X11, gcc, etc. not yet fully compatible with 10.14 Mojave. Again thanks to @vector sigma for also providing/enabling this trick/possibility . 7.) To avoid Skylake-X thread TSC desynchronisation errors during boot and wake from S3, likely induced by yet erroneous Skylake-X BIOS microcode implementations, we need to use TSCAdjustReset.kext provided by @interferenc in the /EFI/CLOVER/kexts/Other/ directory of both USB Flash Drive and System Disk. All ASUS Prime X299 Deluxe users with patched BIOS firmware 1301 can skip point 7.), as the applied patches of @interferenc also resolve all Skylake-X TSC desynchronisation errors during boot and wake from S3. To access TSCAdjustRest.kext, download primarily its source distribution from Github with the following terminal command: git clone https://github.com/interferenc/TSCAdjustReset Subsequently copy the TSCAdjustRest source distribution to your Desktop using the following terminal command: mv /TSCAdjustReset ~/Desktop Now change in the terminal to the TSCAdjustReset source distribution on your Desktop with the following terminal command: cd ~/Desktop/TSCAdjustReset/ Now compile the source distribution with Xcode by using the following terminal command: xcodebuild After successful compilation, you will find the TSCAdjustRest.kext in ~/Desktop/TSCAdjustReset/build/Release/ Please note that the TSCAdjustRest.kext by default is configured for a 8-core CPU (16 threads) like the i7-7820X. To adopt the kext for Skylake-X processers with more or less cores than 8 cores, apply the following approach: a.) Right-click with the mouse on the TSCAdjustRest.kext file and select "Show Packet Contents". b.) Double-click with the mouse on /contents/ . After a right-click on the "Info.plist" file, select "Open with /Other". Select the TextEdit.app and edit the "Info.plist" file. c.) Use the "find"-function of TextEdit.app and search for the term "IOCPUNumber" d.) Note that the adequate IOCPUNumber for your particular Skylake-X processor is the number of its threads -1, by always keeping in mind that the number of it's threads is always 2x the number of it's cores. Thus in case of the 8 core i7-7820X, the IOCPUNumber is 15 (16 threads - 1). <key>IOCPUNumber</key> <integer>15</integer> By following this methodology, the correct IOCPUNumber for the 10-core i9-7900X would be 19 (20 threads -1). <key>IOCPUNumber</key> <integer>19</integer> and the IOCPUNumber for the 18-core i9-7980XE would result in 35 (36 threads -1). <key>IOCPUNumber</key> <integer>35</integer> e.) After adopting the IOCPUNumber for your particular Skylake-X processor, save the info.plist file and copy the modified TSCAdjustRest.kext to the /EFI/CLOVER/kexts/Other/ - directories of both USB Flash Drive Installer and System Disk and you are save and all done! 8.) Already during the first Beta Versions of macOS 10.13 High Sierra, Apple forced the beta users to use the new Apple file system APFS in case of a Clean Install/update of MacOS High Sierra 10.13. Also within macOS High Sierra 10.13.5 (17F77) this is the case. Most APSF incompatibilities with available system related software apparently have been already removed. All recent versions of Carbon Copy Cloner (CCC) support the direct cloning of APFS system disks and provide the previously missing option for APFS system backups. Until Boot-Loader Distribution Clover_v2.4k_r4210, it was also impossible to install the Clover Boot-Loader in the EFI-Partition of an APFS System Disk by means of the Clover Boot-Loader Installer Package (the Clover Boot-Loader files had to be added manually). However, all recent Clover Boot-Loader Distributions work absolutely flawless with APFS System Disks. In any case, with @Brumbear's UnSolid.kext in the /EFI/Clover/kexts/Other/ directory, OSX is forced to remain with the HFS+ file format when installing or updating to the most recent macOS 10.13 distribution. Note that there is no way to convert an APFS disk back to HFS+ without the loss of all data, but one can easily reformat an APFS formatted disk to HFS+ under OSX by using either Apple's Disk Utility App or "diskutil" commands. All you need to do is to previously unmount the APFS volume before erasing it with a journaled HFS+ file system and a GRUB Partition Table (GTP). If you want to maintain the disk's content, perform a backup before erasing the disk with a HFS+ format. The application of Apple's Disk utility is straight forward. The "diskutil" equivalent is detailed below: In the Terminal app, type: diskutil list In the output which you can read by scrolling back, you will find all internal disks named /dev/disk0, /dev/disk1, depending upon how many physical disks are present in your system. Make a note of the disk identifier for the disk you intend to format (you can eliminate risk by removing all disks but the intended target). In the Terminal app, type: diskutil unmount /dev/diskX where diskX is a place holder for the disk to be unmounted. Now delete the APFS container of diskX: diskutil apfs deleteContainer /dev/diskX Subsequently, you can erase the entire disk with HFS+ and a GPT by typing the following terminal command: diskutil partitionDisk /dev/diskX 1 GPT jhfs+ "iMacPro" R where /dev/diskX is again a place holder for disk to be erased and iMacPro would be the label for the single partition created. The remaining 1 GPT jhfs+ and R arguments tell diskutil to create a single partition, within a GUID partition table, formatted as Journaled HFS+ and using the entire disk, respectively. Alternatively one can also use the following terminal command: diskutil partitionDisk /dev/diskX GPT JHFS+ iMacPro 0b where /dev/diskX is again a place holder for disk to be erased and iMacPro is again the label for the disk partition created. The GPT HFFS+ and 0b arguments again tell diskutil to create a single partition, within a GUID partition table, formatted as Journaled HFS+ and covering the entire disk, respectively. In the Terminal app, type now: diskutil mount /dev/diskX where diskX is again a place holder for the disk to be remounted. Note, that by means of the "diskutil approach", brand new unformatted or not compatibly formatted system NVMe, SSD and HDD system drives can be also directly formatted within the macOS Clean Install procedure. When presented with the initial install screen where you are presented options to Restore From Backup or Install, select Terminal from the Utilities menu bar item; The "diskutil" terminal approach is also able to convert a HFS+ macOS High Sierra 10.13 System Disk to APFS. To do so enter the following terminal command: diskutil apfs convert /dev/diskX where diskX is again a place holder for the HFS+ disk to be converted to APFS. The same procedure again can also be directly performed by means of Apple's Disk Utility. If you opt for an APFS System Disk implementation, please note that all other disks on your system also should be formatted with APFS. On systems with APFS disks and non-APFS disks, the boot duration will increase, as apsf.efi will perform a fsck check of non-AFPS disks (like HFS+ or Fat32) during boot. However, dual boot APFS Systems with an NTFS Windows System Disk are not effected by the apsf.efi issue, as OSX does not know how to properly deal with NTFS. 9.) All ASUS Prime X299 Deluxe users, who enabled the second LAN controller in the ASUS Prime X299 Deluxe BIOS, are advised to download, unzip and copy the SmallTree-Intel-211-AT-PCIe-GBE.kext to the EFI-Folders of both USB Flash Drive Installer and 10.13 System Disk, or to disable the second LAN port in the BIOS during the MacOS Installation. 10.) Lilu and Lilu Plugin distribution remarks: To access, download and compile most actual but not yet officially released Lilu and Lilu plugin distributions, follow these links: a.) Lilu Source distribution b.) AppleALC Source Distribution c.) NvidiaGraphicsFixup d.) Whatevergreen To successfully compile the AppleALC, NvidiaGraphicsFixup and Whatevergreen source code distributions with Xcode 9.3 under macOS High Sierra 10.13.4 SU (17E202), download, unzip and copy the respective actual Lilu DEBUG distribution to the AppleALC, NvidiaGraphicsFixup and Whatevergreen source code distribution directories. To compile the respective Lilu, AppleALC, and NvidiaGraphicsFixup source code distributions just execute the terminal command "xcodebuild" after changing to the respective source code distribution with the "cd" terminal command. The resulting compiled kexts can be always found in the respective /build/Release/ sub-directories of the respective source code distribution directories. Further details to the topic can be accessed by following THIS LINK. 11.) To clearly get kernel panic images with a call trace in case of kernel panics, I implemented (checked) boot flags "debug=0x100" and "keepsyms=1" in the config.plist of EFI-X299-10.13.5-Release-iMacPro1,1-160618.zip in the "Boot" Section of Clover Configurator under "Arguments". 12.) Note that in the current EFI-X299-10.13.5-Release-iMacPro1,1-160618.zip distributions, I also removed CsmVideoDxe-64.efi from /EFI/CLOVER/drivers64UEFI, as the latter file is only required for proper Legacy screen resolution purposes with CSM enabled, which is definitely not our case. 13.) All Gigabite mainboard users need to add the "npci=0x2000" boot flag to their config.plist by checking the latter in Section "Boot" of Clover Configurator under "Arguments". D.) iMac Pro macOS 10.13 High Sierra System Setup Below, one finds a detailed description for the Clean Install of macOS High Sierra 10.13.5 (17F77) - special iMacPro build (D.4). This also includes the iMacPro EFI-Folder Preparation (D.1) as well as the macOS High Sierra 10.13.5 (17F77) Installer Package (D.2) and macOS macOS High Sierra 10.13.5 (17F77) USB Flash Drive Installer Creation (D.3). One also finds instructions for a direct iMac Pro conversion of a functional Skylake-X/X299 system with a SMBIOS System Definition different from iMacPro1,1 and a standard macOS build implementation (D.5), as well as for the subsequent iMac Pro macOS High Sierra Update Procedure. D.1) iMac Pro EFI-Folder Preparation In order to successfully boot a macOS USB Flash Drive Installer or System Disk on a Hackintosh system, both drives must be equipped with an EFI-Folder in their EFI partitions. In this Section we will prepare a fully equipped EFI-Folder with SMBIOS iMacPro1,1 System definition. 1.) Download and unzip EFI-X299-10.13.5-Release-iMacPro1,1-160618.zip and copy the therein contained EFI-Folder to your Desktop. 2.) Open the config.plist in /EFI/Clover/ with the latest version of Clover Configurator (>/= v.4.60.0), proceed to the "SMBIOS" Section and complete the SMBIOS iMacPro1,1 Serial Number, Board Serial Number and SMUUID entries. These details are mandatory to successfully run iMessage and FaceTime on your iMac Pro System. Note that all other iMacPro1,1 SMBIOS Details are already implemented in the config.plist of EFI-X299-10.13.5-Release-iMacPro1,1-160618.zip. Press several times the "Generate New" Button next to serial number text field. Open a terminal, enter repeatedly the command "uuidgen", and copy the output value to the SMUUID field in the "SMBIOS" Section of the Clover Configurator. Users of mainboards with locked MSR Register (disabled MSR OSX Kernel write access) have to enable the xcpm_pkg_scope_msrs © Pike R. Alpha Kernel patch in their config.plist under "KernelToPatch" in Section "Kernel and Kext Patches" of Clover Configurator. Enable "PluginType" in your config.plist under SSDT/Generate Options/ in Section ACPI of Clover Configurator for a fully working XCPM implementation. Note that by this, Pike Alpha's former ssdt.aml XCPM implementation becomes totally obsolete. Finally save the modified config.plist. 3.) Users of unpatched mainboards have to copy the appropriate TSCAdjustRest.kext, which has been modified in error prevention C.7), to the /EFI/CLOVER/kexts/Other/ directory of the EFI-Folder. You know have a fully equipped EFI-Folder for subsequent implementations as detailed below. D.2) iMac Pro macOS High Sierra 10.13.5 (17F77) Installer Package Creation If you are not able to successfully download the macOS High Sierra 10.13.5 (17F77) full package installer (5.22 GB) from the Appstore, follow the individual steps detailed below: 1.) Open a terminal and create a "091-86775" directory on your Desktop. Subsequently change to the newly created directory. All this can be done with the following terminal commands: mkdir ~/Desktop/091-86775/ cd ~/Desktop/091-86775/ 2.) Download the following files from the Apple server (public links) to your ~/Desktop/091-86775/ directory by a copy & paste of the following terminal commands: curl https://swdist.apple.com/content/downloads/51/08/091-86775/1fn3s8c48wk0u34dyujciitmn0nx3ul3dc/091-86775.English.dist -o 091-86775.English.dist curl https://swdist.apple.com/content/downloads/51/08/091-86775/1fn3s8c48wk0u34dyujciitmn0nx3ul3dc/RecoveryHDMetaDmg.pkm -o RecoveryHDMetaDmg.pkm curl http://swcdn.apple.com/content/downloads/51/08/091-86775/1fn3s8c48wk0u34dyujciitmn0nx3ul3dc/RecoveryHDMetaDmg.pkg -o RecoveryHDMetaDmg.pkg curl http://swcdn.apple.com/content/downloads/51/08/091-86775/1fn3s8c48wk0u34dyujciitmn0nx3ul3dc/OSInstall.mpkg -o OSInstall.mpkg curl https://swdist.apple.com/content/downloads/51/08/091-86775/1fn3s8c48wk0u34dyujciitmn0nx3ul3dc/InstallAssistantAuto.pkm -o InstallAssistantAuto.pkm curl http://swcdn.apple.com/content/downloads/51/08/091-86775/1fn3s8c48wk0u34dyujciitmn0nx3ul3dc/InstallAssistantAuto.pkg -o InstallAssistantAuto.pkg curl http://swcdn.apple.com/content/downloads/51/08/091-86775/1fn3s8c48wk0u34dyujciitmn0nx3ul3dc/BaseSystem.dmg -o BaseSystem.dmg curl https://swdist.apple.com/content/downloads/51/08/091-86775/1fn3s8c48wk0u34dyujciitmn0nx3ul3dc/InstallESDDmg.pkm -o InstallESDDmg.pkm curl http://swcdn.apple.com/content/downloads/51/08/091-86775/1fn3s8c48wk0u34dyujciitmn0nx3ul3dc/InstallESDDmg.pkg -o InstallESDDmg.pkg curl http://swcdn.apple.com/content/downloads/51/08/091-86775/1fn3s8c48wk0u34dyujciitmn0nx3ul3dc/BaseSystem.chunklist -o BaseSystem.chunklist curl http://swcdn.apple.com/content/downloads/51/08/091-86775/1fn3s8c48wk0u34dyujciitmn0nx3ul3dc/InstallESDDmg.chunklist -o InstallESDDmg.chunklist curl http://swcdn.apple.com/content/downloads/51/08/091-86775/1fn3s8c48wk0u34dyujciitmn0nx3ul3dc/InstallInfo.plist -o InstallInfo.plist curl http://swcdn.apple.com/content/downloads/51/08/091-86775/1fn3s8c48wk0u34dyujciitmn0nx3ul3dc/AppleDiagnostics.chunklist -o AppleDiagnostics.chunklist curl http://swcdn.apple.com/content/downloads/51/08/091-86775/1fn3s8c48wk0u34dyujciitmn0nx3ul3dc/AppleDiagnostics.dmg -o AppleDiagnostics.dmg The full list of package files can be found within the following catalog URL, searching for key "1fn3s8c48wk0u34dyujciitmn0nx3ul3dc": https://swscan.apple.com/content/catalogs/others/index-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog.gz 3.) Create the installer.pkg on your Desktop with the following terminal command: cd .. productbuild --distribution ./091-86775/091-86775.English.dist --package-path ./091-86775/ installer.pkg 4.) Create the "Install MacOS High Sierra.app" in the /Applications folder of your System Disk with the following terminal command: sudo /usr/sbin/installer -pkg installer.pkg -target / In case that you receive an error message, ignore the latter and proceed with 5.) 5.) Now add the following files to your "Install High Sierra.app" with the following terminal commands: sudo cp ./091-86775/InstallESDDmg.pkg /Applications/Install\ macOS\ High\ Sierra.app/Contents/SharedSupport/InstallESD.dmg sudo cp ./091-86775/AppleDiagnostics.dmg /Applications/Install\ macOS\ High\ Sierra.app/Contents/SharedSupport/ sudo cp ./091-86775/AppleDiagnostics.chunklist /Applications/Install\ macOS\ High\ Sierra.app/Contents/SharedSupport/ sudo cp ./091-86775/BaseSystem.dmg /Applications/Install\ macOS\ High\ Sierra.app/Contents/SharedSupport/ sudo cp ./091-86775/BaseSystem.chunklist /Applications/Install\ macOS\ High\ Sierra.app/Contents/SharedSupport/ Verify your "Install High Sierra.app" for completeness. You should now have a complete macOS High Sierra 10.13.5 (17F77) Installer package in your /Applications Folder. The entire iMac Pro macOS Installer Package Creation Approach detailed above has been verified and approved by Motbod and is fully in line with the actual board rules. Many thanks to @macandrea for his substantial and extensive contributions. He even now automatised the entire "Install High Sierra.app" creation procedure detailed above within one single script: createInstaller.sh will automatically create on any MacOS System the "Install High Sierra.app" for macOS High Sierra 10.13.5 (17F77) in the /Applications folder. Just download und unzip createInstaller.sh.zip and run the following terminal commands: cd ~/Downloads chmod +x createInstaller.sh ./createInstaller.sh Absolutely brilliant, gorgeous and genius job man! D.3) iMac Pro macOS High Sierra 10.13.5 (17F77) USB Flash Drive Installer Creation Follow the individual steps detailed below to successfully create a bootable iMac Pro macOS High Sierra macOS High Sierra 10.13.5 (17F77) USB Flash Drive Installer. 1.) Format a USB Flash Drive of your choice (source, named USB) with HFS+ [(Mac OS Extended (Journaled)] and a GUID partition table by means of Apple's Disk Utility on any other Hackintosh or Mac of your choice. This will create an empty HFS+ Partition and a yet empty EFI-partition on your iMac Pro macOS USB Flash Drive Installer. 2.) With the macOS High Sierra 10.13.5 (17F77) Installer Package in your /Application Folder, connect your USB Flash Drive (named USB) and run the following terminal command: sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\ macOS\ High\ Sierra.app --nointeraction Alternatively, one can create the iMac Pro macOS USB Flash Drive Installer also by means of the Install Disk Creator.app. 3.) Yet we have to make our iMac Pro macOS USB Flash Drive Installer also bootable. This can be partly done by means of the following terminal commands: cd /Volumes/YOUR_USB_VOLUME mkdir .IABootFiles cd .IABootFiles cp /Volumes/YOUR_USB_VOLUME/System/Library/CoreServices/boot.efi . This is a tricky part where many people fail. Note that "YOUR_USB_VOLUME" is a place holder in the above commands for the name of your real USB Flash Drive. Before executing the above commands, replace "YOUR_USB_VOLUME" by the real name of your USB Flash Drive. To make the entire thing idiot proofed, let me explain the entire procedure by means of some nice example once provided by @paulotex to some user: If your USB is called "Super USB I Like It Very Much" then you have to use: cd /Volumes/Super\ USB\ I\ Like\ It\ Very\ Much Note the "\" before each space. The entire procedure for the assumed USB Flash Drive with the above name convention would look like that (don't forgot the isolated dot "." at the end of the last copy (cp) command below): cd /Volumes/Super\ USB\ I\ Like\ It\ Very\ Much mkdir .IABootFiles cd .IABootFiles cp /Volumes/Super\ USB\ I\ Like\ It\ Very\ Much/System/Library/CoreServices/boot.efi . With the terminal command: ls boot.efi you can subsequently verify that boot.efi is there where it should be. If you mistake at this point, your USB Flash Drive Installer will not be bootable and the USB Flash Drive macOS Installer partition will be simply invisible in the Clover Boot Menu! 4.) For successfully booting your iMac Pro macOS USB Flash Drive Installer, the latter must however also contain a valid EFI- Folder with an SMBIOS iMacPro1,1 system definition. Thus, copy the EFI-Folder you prepared in Section D.1) to the yet empty EFI Partition of your iMac Pro macOS USB Flash Drive Installer. You now have a fully functional and bootable iMac Pro macOS High Sierra 10.13.5 (17F77) USB Flash Drive Installer. Many thanks to @macandrea for his substantial and extensive contributions. D.4) iMac Pro macOS High Sierra 10.13.5 (17F77) Clean Install on Skylake-X/X299 Follow the individual steps detailed below to successfully setup macOS High Sierra 10.13.5 (17F77) on a virgin system drive of your choice (NVMe, SSD or HDD). 1.) In order to perform a clean install of macOS High Sierra 10.13.5 (17F77), prepare a virgin NVMe, SDD or HDD destination drive for the iMac Pro macOS installation by formatting the drive with HFS+ [(Mac OS Extended (Journaled)] and a GUID partition table by means of Apple's Disk Utility on any other Hackintosh or Mac of your choice. This will create an empty HFS+ Partition and a yet empty EFI-partition on the drive. 2.) Copy the EFI-Folder you prepared in Section D.1) to the yet empty EFI Partition. 3.) Now connect the Destination Drive to your Hackintosh System and boot the latter with the plugged iMac Pro macOS High Sierra 10.13.5 (17F77) USB Flash Drive Installer, your created in Section D.2) 4.) While booting your system, press the F8 button to enter the BIOS boot menu. Select to boot from your iMac Pro macOS USB Flash Drive Installer. 5.) Subsequently, click on the USB Flash Drive Installer Icon in the clover boot menu to boot the respective macOS Installer partition on your iMac Pro macOS USB Flash Drive Installer 6.) After successful boot, pass the individual steps of the macOS high Sierra 10.13 installation menu and finally select the destination drive of your macOS High Sierra 10.13 Installation, which should be logically the system disk you successfully configured above. In the next step, the Installer will create a macOS High Sierra 10.13 Installer Partition on the system disk and subsequently reboot your system. 7.) During system reboot, just press again the F8 button to enter the BIOS boot menu. Select again to boot from your USB Flash Drive. In contrary to 6.), click this time on the "Install MacOS.." Icon in the clover boot screen to boot the newly created macOS High Sierra 10.13 Installer Partition on your system disk. 8.) After successful boot, you will enter now the macOS High Sierra 10.13 Installer Screen with a progress bar starting at 34 minutes. 9.) After another reboot, press again the F8 button to enter the BIOS boot menu. Select to boot with your System Disk EFI-folder. Click on the "MacOS High Sierra" icon in the clover boot screen to boot the updated macOS High Sierra 10.13 partition on your system disk. 10.) After successful boot you will enter again the macOS High Sierra 10.13 Installer Screen with a progress bar starting at 18 minutes. After successfully registration at iCloud at the end of the macOS installation, you now have your first iMac Pro macOS High Sierra 10.13.5 (17F77) build. Proceed with Section D.6) - iMac Pro macOS High Sierra Build Updates (if necessary) or E.) - Post Installation Process. D.5) Direct iMac Pro conversions of a functional Skylake-X/X299 system with a SMBIOS System Definition different from iMacPro1,1 and a standard macOS build implementation 1.) Replace the EFI-Folder of your System Disk by the EFI-Folder you created in Section D.1) 2.) Copy /System/Library/CoreServices/PlatformSupport.plist to your Desktop, add BoardID "Mac-7BA5B2D9E42DDD94" under SupportedBoardIDs by means of Xcode as suggested by user Griven from the German Hackintosh-Forum and copy back the modified PlatformSupport.plist to System/Library/CoreServices/. 3.) If not already in your /Applications folder after performing Section D.2), copy the iMac Pro macOS Installer Package ("Install High Sierra.app") to your /Applications folder. Alternatively to D.2) and the macOS Full Package Installer, it is also sufficient to just download the original unmodified macOS High Sierra 10.13.5 (17F77) BaseSystem.dmg distribution from the Apple Server to your Desktop with the following terminal commands: cd ~/Desktop/ curl http://swcdn.apple.com/content/downloads/51/08/091-86775/1fn3s8c48wk0u34dyujciitmn0nx3ul3dc/BaseSystem.dmg -o BaseSystem.dmg 4.) Double click on the "Install High Sierra.app" in the /Applications Folder to start the macOS High Sierra 10.13.5 (17F77) installation. Alternatively, double click on the BaseSystem.dmg to mount the macOS installer and double click on the therein contained "Install macOS High Sierra.app" to start the macOS High Sierra 10.13.5 (17F77) installation. 5.) After reboot, click on the "Install MacOS.." Icon in the clover boot screen to boot the newly created macOS High Sierra 10.13 Installer Partition on your system disk. 6.) After successful boot, you will enter now the macOS High Sierra 10.13 Installer Screen with a progress bar starting at 43 minutes. 7.) After another reboot, click on the "MacOS High Sierra" icon in the clover boot screen to boot the updated macOS High Sierra 10.13 partition on your system disk. 8.) After successful boot you will enter again the macOS High Sierra 10.13 Installer Screen with a progress bar starting at 18 minutes. After successfully registration at iCloud at the end of the macOS installation, you now have your first iMac Pro macOS High Sierra 10.13.5 (17F77) build. Proceed with Section D.6) - iMac Pro macOS High Sierra Build Updates (if necessary) or Section E.) - Post Installation Process. D.6) iMac Pro macOS High Sierra Update Procedure After the successful clean install or conversion you will be able to update your iMac Pro macOS High Sierra 10.13.5 (17F77) build to macOS High Sierra 10.13.6 Public Beta 2 (17G39b) directly via the Appstore. For macOS beta builds it is recommended to clone your macOS High Sierra System Disk with Carbon Copy Cloner (CCC) to a test drive and to update to the Public Beta on the latter. Also any other future macOS High Sierra Update can be directly performed via the Appstore. E.) Post Installation Process E.1) HWP (Intel SpeedShift Technology) CPU Power Management Configuration On Skylake-X/X299 Systems with unlocked mainboard BIOS MSR 0xE2 BIOS register and SMBIOS iMacPro1,1 we gain fully native HWP (IntelSpeedShift) Power Management after disabling the last remaining XCPM KernelToPatch entry "xcpm_core_scope_msrs" in Section "Kernel and Kext Patches" of Clover Configurator, which by default is still implemented but disabled in the config.plist of the distributed EFI-Folder EFI-X299-10.13.5-Release-iMacPro1,1-160618.zip. Users with locked mainboard BIOS MSR 0xE2 register, still have to use the "xcpm_core_scope_msrs" XCPM KernelToPatch entry to successfully boot their systems. Otherwise the OSX Kernel will write to that BIOS register and cause KP at boot! HWP is a way for the processor itself to manage the power consumption, with minor input from OSX on what it thinks it needs. In contrary, XCPM is the OSX power management part. It directly controls older hardware like Broadwell-E/EP or Haswell-E/EP and enables HWP on newer hardware like Skylake-X. It also sets some HWP variables, like the desired frequency at the maximum. XCPM is enabled by default. XCPM is enabled by default. For it's complete configuration, XCPM still requires the CPU "plugin-type" injection to properly load the required XCPM frequency vectors from the iMacPro.plist, which can be directly achieved within the config.plist by checking "PluginType" in Section "ACPI" of Clover Configurator. How to verify a working xcpm configuration? a.) Typically the command "sysctl machdep.xcpm.mode" reveals 1, which means that XCPM is active. b.) Verify that in the IORegistryExplorer you have now under CP00@0 the following entry: Property: Type: Value: plugin-type Number 0x1 c.) Also verify with the terminal command: kextstat|grep -y x86plat that the "X86PlatformPlugin.kext" is now loaded. If the command returns something like 112 1 0xffffff7f822bc000 0x17000 0x17000 com.apple.driver.X86PlatformPlugin (1.0.0) FD88AF70-3E2C-3935-99E4-C48669EC274B <111 19 18 13 11 7 6 5 4 3 1> 146 1 0xffffff7f822d3000 0x7000 0x7000 com.apple.driver.X86PlatformShim (1.0.0) DCEA94A4-3547-3129-A888-E9D5C77B275E <112 111 13 7 4 3> d.) Verify with the following terminal command: kextstat|grep -y appleintelcpu that you got rid of the Apple Intel CPU power management. If the result is empty you are fine. d.) Verify the following terminal command: sysctl -n machdep.xcpm.vectors_loaded_count If this command returns "1", the XCPM FrequencyVectors are properly loaded and you are all set. E.2) Graphics Configuration Most ATI GPUs, e.g. RX Vega 64, RX Vega Frontier, RX 580, RX 560 are natively implemented. Remaining HDMI/DP port errors, hot plug errors and flaws with multi-monitor or 5K display configurations can be fixed by means of VegaGraphicsFixup.kext, kindly provided by @jyavenard. Important comment for all Vega users with 4K monitors though: when connecting e.g. the Vega Frontier with e.g. the LG 38UC99-W (WUHD, 3840 pix x 1600 pix) via one of the Display Ports (DPs), the screen resolution is fine under both Windows 10 and macOS High Sierra but is totally at odd during boot (VGA like boot screen resolution). @DSM2 reported similar issues with his true 4K display and with both the ASUS Prime X299 Deluxe and the Gigabyte Designare EX. Thus the VEGA DP 4K boot screen resolution issue is neither related with the fact that the LG 38UC99-W is a ultra-wide (3840x1600) and not a true UHD (3840x2160) monitor nor related to any likely apparent issue with the ASUS Prime X299 Deluxe firmware. It is definitely a Vega firmware problem in combination with 4K displays, as the DP 4K boot screen resolution issue is totally absent with my Nvidia GPU and the problem also does not only affect the ASUS Splash Screen but also spreads over the entire boot process until the login screen is reached (Windows and macOS). Splash Screen, Apple logo or verbose boot messages are not stretched but rather have VGA like resolution. Any fix of the AMD vBIOS would be highly appreciated. It is more than disappointing to witness such issues with 1000$ GPUs... Fortunately, the 4K boot screen issue is restricted to the Vega DP ports and likely due to the fact that the LG 38UC99-W only supports DP 1.2. Solution: Connect your Vega and your 4K display via the HDMI port and everything will work as expected. Also Nvidia Kepler Graphics Cards are natively implemented. All Users with Maxwell and Pascal Nvidia Graphics Cards Users and SMBIOS MacPro1,1 can employ officially distributed Nvidia 10.13 Web Drivers for their Nvidia Pascal and Maxwell graphics cards! Upon my request from 7 January 2018, Nvidia officially released first WebDriver-387.10.10.10.25.105 for 10.13.2 (17C2120) and first WebDriver-387.10.10.10.25.106 for 10.13.2 SA (17C2205) - Supplemental Update on 11 January 2018. On 25 January 2018, Nvidia released a Web Driver 387.10.10.10.25.157 for 10.13.3 (17D2047), which worked flawless with Pascal GPUs (lagging issues have been reported for Maxwell GPUs). On 20 February 2018, Nvidia released a Web Diver 387.10.10.10.30.159 for 10.13.3 SA (17D2102). On 31 March 2018 and 18 April 2018, Nvidia also released Web Driver 387.10.10.10.30.103 and 387.10.10.10.30.106 for 10.13.4 (17E199). On 25 April 2018, Web Driver 387.10.10.10.30.107 has been released for 10.13.4 SU (17E202). On 02 June 2018, finally we Driver 387.10.10.10.35.106 followed for 10.13.5. Since Web Driver 387.10.10.10.30.106 former lagging issues have been fully removed. 10.13.6 Public Beta 2 (17G39b) users can use WebDriver-78.10.10.10.35.106 after a simple patching procedure detailed below How to patch an Nvidia WebDriver: Download the Nvidia WebDriver-Payload Repackager from InsanelyMac. Credits to Chris111 and Pavo. The patch procedure is simple and fully described in the implemented Readme.txt and will reveal a Repackaged-WebDriver.pkg, which can be used for installing the patched Nvidia Web Driver Installation under macOS 10.13.5 Beta distributions. Nvidia Web Driver Installation and Black Screen Prevention: Apparently with SMBIOS iMacPro1,1, the Nvidia Black Screen Prevention has become obsolete. Thanks to @fabiosun from InsanelyMac for this finding. Thus, NvidiaGraphicsFixup.kext, subverting AppleMobileFileIntegrity banning the driver can be theoretically removed from the /EFI/CLOVER/kexts/Other/ directory of your macOS Flash Drive Installer and 10.13 System Disk. However, the most actual releases of NvidiaGraphicsFixup.kext v.1.2.7 and Lilu.kext v1.2.3 apparently help in fixing the Nvidia HDAU implementation and sporadic black screen issues while wake from sleep. Thus, the latter kext combination might still represent potential workarounds for few likely remaining system issues. a.) Install the original or patched Nvidia 10.13 Web Driver Package. b.) In case of the original Web Driver, just reboot as requested and you will already have a fully functional Web Driver. c.) In case of the patched Web Driver, perform the following additional steps: i.) Copy /L/E/ NVDAStartupWeb.kext to your Desktop. ii.) Right-click on NVDAStartupWeb.kext and select show package content. iii.) Change to "Contents" and edit the "Info.plist" with Xcode. iv.) Go to IOKitPersonalities -> NVDAStartup -> change "NVDARequiredOS" from "17F77" to "17G39b", the corresponding build number of 10.13.6 Public Beta 2. v.) Save the "Info.plist" file and copy the modified "NVDAStartupWeb.kext" to /L/E/ with root permission. vi.) Open a terminal and enter the following commands: sudo chmod -R 755 /Library/Extensions/NVDAStartupWeb.kext sudo chown -R root:wheel /Library/Extensions/NVDAStartupWeb.kext sudo touch /System/Library/Extensions && sudo kextcache -u / sudo touch /Library/Extensions && sudo kextcache -u / vii.) Reboot. viii.) The patched Web Driver will not be active yet. Therefore, open the Nvidia Driver Manager and select "Nvidia Web Driver". ix.) Now reboot as requested and you will have a fully functional patched Web Driver under 10.13.6 Public Beta 2 (17G39b). E.3) Audio Configuration: Note that opposite to my previous EFI-Folder distributions, EFI-X299-10.13.5-Release-iMacPro1,1-160618.zip does not contain any default audio configuration. You have to implement the audio approach of your choice during the Post Installation process! Please select between one out of three possible audio implementations detailed below. To avoid the loss of analogue onboard audio (S1220A in case of the ASUS Prime X299 Deluxe) on Wake from Sleep, please download, unzip and copy the latest CodecCommander.kext distribution of @Rehabman from gitbucket.org to the /EFI/Clover/kexts/Other directory in the EFI-Folder of your System Disk: https://bitbucket.org/RehabMan/os-x-eapd-codec-commander/downloads/. E.3.1.) AppleALC Audio Implementation The actual AppleALC audio implementation traces back to the extensive efforts and brilliant work @vit9696 and @apfelnico. This new AppleALC audio approach bases on AppleALC.kext v1.2.7, which further requires Lilu.kext v1.2.3 in the /EFI/CLOVER/kexts/Other/ directory of your System Disk. Provided that you use the EFI-Folder contained in EFI-X299-10.13.5-Release-iMacPro1,1-160618.zip, you need to open the config.plist in the /EFI/CLOVER/ directory of your System Disk with the Clover Configurator and add the CAVS -> HDEF DSDT replacement patch in Clover Configurator Section "ACPI" under "DSDT Patches". Comment: Find*[Hex] Replace [Hex] CAVS -> HDEF 43415653 48444546 When implementing the SSDT in Section 9.2), we will perform the CAVS -> HDEF ACPI replacement directly within the SSDT. We then have to remove again the CAVS -> HDEF ACPI replacement from the config.plist! Note that opposite to the alternative VoodooHDA and CLoverALC approach detailed below, the AppleALC audio implementation requires an Audio ID in injection of "7" instead of "1". Implement the latter Audio ID in the config.plist of your System Disk under "Audio" and "Injection" in the Section "Devices" of the Clover Configurator. The correct HDAU HDMI/DP digital Audio PCI device implementation will be detailed in Section E.9) in line with the HDEF and GPU PCI device implementation. To remove the AppleALC Audio Approach Implementation perform the following steps: 1.) Remove AppleALC.kext v1.2.6 from the /EFI/CLOVER/kexts/Other/ directory of your System Disk. 2.) Disable in the config. plist the CAVS -> HDEF DSDT Replacement Patch in Clover Configurator Section "ACPI" under "DSDT Patches". 3.) Adopt the Audio ID Injection in your respective config.plist in Clover Configurator Section "Devices" for the alternative audio approach you intent to use. 4.) Reboot E.3.2) VoodooHDA Audio Implementation 1.) Provided that you use the EFI-Folder contained in EFI-X299-10.13.5-Release-iMacPro1,1-160618.zip, you need to open the config.plist in the /EFI/CLOVER/ directory of your System Disk with the Clover Configurator and add the CAVS -> HDEF DSDT Replacement Patch in Clover Configurator Section "ACPI" under "DSDT Patches". Comment Find*[HEX] Replace*[HEX] Rename CAVS to HDEF 43415653 48444546 When implementing the SSDT in Section 9.2), we will perform the CAVS -> HDEF ACPI replacement directly within the SSDT. We then have to remove again the CAVS -> HDEF ACPI replacement from the config.plist! 2.) Download, unzip and copy the VoodooHDA.kext v2.9.0d10 to your Desktop. Mouse Right-Click on VoodooHDA.kext -> select "Show Package Contents" -> click on "Contents" -> Right-Click on "Info.plist" -> "Open With" -> "Other" -> select "TextEdit.app" 3.) a.) In the TextEdit.app select in the menu "Edit" -> "Find" -> "Find..." -> search for "IOPCIClassMatch" and replace <key>IOPCIClassMatch</key> <string>0x04020000&0xfffe0000</string> with <key>IOPCIPrimaryMatch</key> <string>0x43831002</string> b.) Download, unzip and run the attached at the end of this originating post/guide. Search for HDEF and write down the "IOName"-entry under e.g. PC00@0/AppleACPIPCI/HDEF@1F,3 which can slightly deviate on mainboards different from the ASUS Prime X299 Deluxe. The HDEF-IOName on the ASUS Prime X299 Deluxe is "pci8086,a2f0" Concert the IOName as shown below in case of the HDEF-IOName of the ASUS Prime X299 Deluxe: "0xa2f08086" c.) Now replace in the "Info.plist" of "VoodooHDA.kext" "0x43831002" by "0xa2f08086" and save the "Info.plist". d.) Copy the modified "VoodooHDA.kext" to the /EFI/Clover/kexts/Other/ - directory of your System Disk. 4.) Download, unzip and copy the VoodooHDA.prefPane v1.2 attached below to ~/Library/PreferencePanes/ 5.) Note that the VoodooHDA audio approach requires an Audio ID in injection of "1". The corresponding modification of the config.plist has to be implemented by means of the Clover Configurator by modifying the respective entry in Section "Devices". 6.) Reboot To remove the VoodooHDA audio implementation, perform the following steps: 1.) Disable in the config. plist the CAVS -> HDEF DSDT Replacement Patch in Clover Configurator Section "ACPI" under "DSDT Patches". 2.) Remove VoodooHDA.kext from the /EFI/CLOVER/kexts/Other/ directory of your System Disk. 3.) Remove VoodooHDA.prefPane from ~/Library/PreferencePanes/ 4.) Adopt the Audio ID Injection in your config.plist in Section "Devices" of the Clover Configurator for the alternative audio approach you intent to use 5.) Reboot E.3.3) cloverALC Audio Implementation @Toldea's cloverALC audio approach has been implemented thanks to the respective advices and help of user @Ramalama. Note that in contrary to the AppleALC and VoodooHDA approaches, the cloverALC audio approach detailed below will patch the native vanilla AppleHDA.kext in the /S/L/E directory of your System Disk! This before implementing the cloverALC audio approach, backup your native vanilla AppleHDA.kext from the /S/L/E directory on your System Disk! You will have to reinstall the native vanilla AppleHDA.kext from the /S/L/E directory on your System Disk with the appropriate permissions during a removal of the cloverALC Audio Implementation! Thus you need a backup of the latter native vanilla kext in any case! CloverALC audio approach installation: 1.) Provided that you use the EFI-Folder contained in EFI-X299-10.13.5-Release-iMacPro1,1-160618.zip, you need to open the config.plist in the /EFI/CLOVER/ directory of your System Disk with the Clover Configurator and add the CAVS -> HDEF DSDT Replacement Patch in Clover Configurator Section "ACPI" under "DSDT Patches". Comment Find*[Hex] Replace[Hex] Rename CAVS to HDEF 43415653 48444546 When implementing the SSDT in Section 9.2), we will perform the CAVS -> HDEF ACPI replacement directly within the SSDT. We then have to remove again the CAVS -> HDEF ACPI replacement from the config.plist! 2.) Change the Audio ID Injection in the config.plist on your System Disk in Section "Devices" under "Audio" and "Inject" to "1". 3.) Add the following cloverALC related KextToPatch entries to your config.plist on your System Disk in section "Kerneland Kext Patches" of Clover Configurator in the "KextsToPatch" listing: Name* Find*[Hex] Replace* [Hex] Comment AppleHDA 8a19d411 00000000 t1-10.12-AppleHDA/Realtek ALC... AppleHDA 8b19d411 2012ec10 t1-10.12-AppleHDA/RealtekALC1220 AppleHDA 786d6c2e 7a6c 7a6d6c2e 7a6c t1-AppleHDA/Resources/xml>zml 3.) Download, unzip and copy the realtekALC.kext v2.8 to the /EFI/CLOVER/kexts/Other/ directory on your System Disk 4.) Download and execute audio_cloverALC-130.sh, which will patch the native vanilla AppleHDA.kext in the /S/L/Edirectory of your System Disk 5.) Reboot To remove the cloverALC audio implementation, perform the following steps: 1.) Remove realtekALC.kext from the /EFI/CLOVER/kexts/Other/ directory on your System Disk 2.) Remove all cloverALC related KextToPatch entries from the config.plist on your System Disk in the "Kernel andKext Patches" section of Clover Configurator. 3.) Disable in the config. plist the CAVS -> HDEF DSDT Replacement Patch in Clover Configurator Section "ACPI" under"DSDT Patches". 4.) Delete the patched AppleHDA.kext in the /S/L/E/ Directory on your System Disk 5.) Reinstall the original vanilla AppleHDA.kext with the appropriate permission in the /S/L/E/ directory on yourSystem Disk using Kext Utility 6.) Adopt the Audio ID Injection in your config.plist in Section "Devices" of the Clover Configurator for the alternative audioapproach you intent to use 7.) Reboot E.4) USB Configuration Since 10.13 SU and with AppleIntelPCHPMC, Apple now implements IOPCIPrimaryMatchID "a2af8068" and AppleUSBXHCISPT on the ASUS Prime X299 Deluxe. All external and internal XHC USB 3.0 (USB 3.1 Gen 1 Type-A) and USB 2.0 (USB 2.0 Gen 1 Type-A) ports should work at expected data transfer rates on all X299 mainboards. All external and internal USB 3.1 (USB 3.1 Gen 2 Type-A and Type-C) ports are anyway natively implemented on different controllers than XHC. All ASUS Prime X299 Deluxe users, not content with the current OSX XHC USB implementation, can download, unzip and use my board-specific XHC USB Kext KGP-iMacPro-XHCI.kext. All users of mainboards different from the ASUS Prime X299 Deluxe, can create their own board specific XHC USB kext by following my XHC USB Kext Creation guide line in the other forum. Note that in addition one needs to implement the XHC USB port limit patch in the config.plist under "KextsToPatch" in Section "Kernel and Kext Patches" of Clover Configurator, as else not all available XHC USB ports will be implemented. Name* Find*[Hex] Replace* [Hex] Comment AppleUSBXHCI 837d940f 0f839704 0000 837d941a 90909090 9090 10.13.4 USB Port Limit Patch Many thanks to @PMHeart from InsanelyMac for providing the respective XHC USB port limit patches. USB 2.0 and USB 3.0 Benchmark Results USB 3.1 Type-A and Type-C Benchmark Results E.5) ASUS Prime X299 Deluxe Thunderbolt EX3 PCIe Add-On Implementation For the successful implementation of the Thunderbolt EX3 PCIe Add-On Adapter, a fully working Dual Boot System with an UEFI Windows Implementation is unfortunately absolutely mandatory. You will not be able to configure your Thunderbolt EX3 PCIe Add-On Adapter in the mainboard BIOS, until the Adapter has been successfully recognised and initialised by the UEFI Windows System. Fortunately legal and official License Keys for the actual Windows 10 Pro distribution can be purchased with a little bit of temporal effort on Google for an actual price of 20 $ or even below! Thus, the installation of a dual boot system with Windows will require some additional temporal user effort but will not noticeably further affect the users's budget. Please note that I especially emphasize the term UEFI, when speaking about the parallel Windows implementation. Don't use or perform a Legacy Implementation of Windows! In order to properly implement your Windows partition later-on in the Clover Bootloader and to comply with the actual Mainbaord-BIOS settings requirements, it is absolutely mandatory to run or perform an UEFI Windows implementation! So if not already implemented, how to achieve a fully working UEFI Windows Implementation and Dual boot System with Windows? 1.) Important Note! For the implementation of the UEFI Windows Distribution disconnect all usually plugged macOSDrives from your rig! The Windows installer will implement a Windows Boot Loader! If you have any macOS Drive connected during installation, the latter Windows Boot Loader might overwrite and destroy your current Clover Boot Loader. This is the last thing you want! Thus for the windows installation just connect the destination drive for the installation and the Windows USB Flash Drive Installer your will create in the subsequent step below! 2.) This Tutorial explains in all necessary detail how to download an actual Windows 10 Creator distribution, and how tosubsequently create a bootable USB Flash Drive Installer for a subsequent UEFI Windows 10 installation by means RUFUS! Don't put emphasis on alternative optional methods and always take care that you just follow the instructions for a successful subsequent UEFI Windows Installation! 3.) This Tutorial explains in all necessary detail how to properly perform the actual Windows 10 Pro Creator UEFIInstallation, subsequent to the a bootable Windows USB Flash Drive Installer realisation detailed in 2.) above. 4.) This Tutorial explains in all necessary detail, how to migrate/clone/backup your Windows 10 UEFI System Disk afterinstallation for future maintenance and safety. 5.) After successfully performing the UEFI Windows 10 Pro Creator Implementation, you can reconnect your macOS driveto your rig. The newly created UEFI Windows 10 Pro Creator Partition will automatically appear as a further boot option in both BIOS Boot Option Menu (F8) and Clover Boot Menu! No additional or further actions or measurements have to be taken! 6.) Once your Windows 10 Pro Creator Partition is fully operational, install all drivers and programs implemented on theASUS Prime X299 Series DVD attached to your mainboard. This will further allow you to properly adjust the desired AURA Mainboard Settings and offer many other mainboard configuration options. 7.) Now switch of your rig and start with the installation of the Thunderbolt EX3 PCIe Add-On Adapter a.) I recommend to install the adapter in third PCIe Slot from the bottom which is PCIEX_3 b.) For full TB hot plug functionality skip or remove the THB_C cable between the TBEX 3 and the respective mainboard connector! 8.) Reboot into windows and install the ASUS ThunderboltEX 3 DVD accompanying your ASUS Prime X299 Deluxe mainboard. 9.) Reboot and enter the Mainboard BIOS (F2) a.) Go to /Advanced/ Thunderbolt(TM) Configuration/ and apply the following BIOS Settings detailed below: TBT Root por Selector PCIE16_3 Thunderbolt USB Support Enabled Thunderbolt Boot Support Enabled Wake From Thunderbolt(TM Devices) Off Thunderbolt(TM) PCIe Cache-line Size 128 GPIO3 Force Pwr On Wait time in ms after applying Force Pwr 200 Skip PCI OptionRom Enabled Security Level SL0-No Security Reserve mem per phy slot 32 Reserve P mem per phy slot 32 Reserve IO per phy slot 20 Delay before SX Exit 300 GPIO Filter Enabled Enable CLK REQ Disabled Enable ASPM Enabled Enable LTR Disabled Extra Bus Reserved 65 Reserved Memory 386 Memory Alignment 26 Reserved PMemory 960 PMemory Alignment 28 Reserved I/O 0 Alpine Ridge XHCI WA Disabled b.) Verify in /Boot/ that Above 4G Decoding is Off Above 4G Decoding Off 10.) Shut down your rig, connect the Thunderbolt Device with the Thunderbolt EX3 Adaptor and boot 11.) You are done! Your Thunderbolt EX3 PCIe Adapter and connected devices should be now fully implemented andfunctional. 12.) We will add TB XHC USB and TB Hot Plug functionality by means of the SSDT-X299-TB3-iMacPro-KGP.aml.zip described in Section E.9.3) of this guide. Thunderbolt Benchmarks: For the sake fo completeness and for testing the overall Thunderbolt Functionality and Performance, I benchmarked the the data rates of an external Thunderbolt Drive connected via Apple's Thunderbolt-3 to Thunderbolt-2 Adapter. As External Thunderbolt Drive, I once more used the Lacie Rugged Thunderbolt / USB Type-A and Type-C HDD. E.6) NVMe compatibility In contrary to macOS Sierra 10.12, in macOS High Sierra 10.13 there is native support of non-4Kn NVMe SSDs, like my Samsung EVO 960 M.2 NVME. All patches applied under macOS Sierra 10.12 are therefore obsolete. The native support of non-4Kn NVMe SSDs enables the unique opportunity to directly perform a clean-install of macOS High Sierra 10.13 on M.2 NVMEs like the Samsung EVO 960. E.7.) SSD/NVMe TRIM Support Macs only enable TRIM for Apple-provided solid-state drives they come with. If you upgrade a Mac with an aftermarket SSD/NVMe, the Mac won’t use TRIM with it. The same applies for SSDs/NVMes used by a Hackintosh. When an operating system uses TRIM with a solid-state drive, it sends a signal to the SSD/NVMe every time you delete a file. The SSD/NVMe knows that the file is deleted and it can erase the file’s data from its flash storage. With flash memory, it’s faster to write to empty memory — to write to full memory, the memory must first be erased and then written to. This causes your SSD/NVMe to slow down over time unless TRIM is enabled. TRIM ensures the physical NAND memory locations containing deleted files are erased before you need to write to them. The SSD/NVMe can then manage its available storage more intelligently.. Note that the config.plist in the EFI-folder of EFI-X299-10.13.5-Release-iMacPro1,1-160618.zip, contains an SSD/NVMe "TRIM Enabler" KextsToPatch entry, which can be found in the " Kernel and Kext Patches" Section of the Clover Configurator. Name* Find*[HEX] Replace*[HEX] Comment MatchOS IOAHCIBlockStorage 4150504c 45205353 4400 00000000 00000000 0000 Trim Enabler 10.12.x,10.13.x With this KextToPatch entry, SSD/NVMe TRIM should be fully enabled on your 10.13 System, see Apple's System Report below. For the sake of completeness please find below the Benchmark of connected NVMe and SDD Drives. E.8) Gbit and 10-Gbit Ethernet Implementations Section E.8.1) and and E.8.2.) below, describe in the necessary detail how to gain full Gbit and 10-Gbit LAN functionality on Skylake-X/X299 systems. E.8.1) ASUS Prime X299 Deluxe on-board Gbit Ethernet Functionality Thanks to the SmallTree-Intel-211-AT-PCIe-GBE.kext, also the Intel I211_AT Gigabit on-board LAN controller of the ASUS Prime X299 Deluxe will be correctly implemented and fully functional, in addition to the Intel I219-V Gigabyte on-board LAN controller of the ASUS Prime X299 Deluxe implemented by means of IntelMausiEthernet.kext (already part of my EFI-Folder distributions). Thus, both ethernet ports on the ASUS Prime X299 Deluxe should now be fully operational. Just download , unzip and copy the SmallTree-Intel-211-AT-PCIe-GBE.kext to the /EFI/Clover/kexts/Other/, reboot and you should be done E.8.2) 10-GBit Lan Implementations ASUS Prime X299 Deluxe on-board Gbit Ethernet Functionality E.8.2.1) ASUS XG-C100C Aquantia AQC107 10-Gbit NIC Starting with 10.13.2 there is native support for Aquantia based 10GBit network cards, which are implemented by means of a Apple Vanilla kext called "AppleEthernetAquantiaAqtion.kext", which is further part of "IONetworkingFamily.kext/Contents/PlugIns/" placed in /System/Library/Extensions/ (credits to @mikeboss). First success with the ASUS XG-C100C under MacOS 10.13.3 has been reported by @d5aqoep. @Mieze finally came up with a AppleEthernetAquantiaAqtion KextPatch for the use of the ASUS XG-C100C also under 10.13.4 and and later macOS versions. How to successfully implement the ASUS XG-C100C AQC107 PCIe x4 10GBit Ethernet Adapter: 1.) A temporal macOS High Sierra 10.13.3 (17D2047 in case of the iMac Pro) installation is absolutely mandatory at first place. Only within the latter macOS High Sierra build, the ASUS XG-C100C will receive the proper AQC107 Apple firmware to be recognised and fully implemented by OSX. The firmware update will be performed during system boot. Several boot intents might be necessary until the firmware update finally succeeds. Only subsequently, the ASUS XG-C100C will be natively implemented in macOS High Sierra 10.13.3 and fully functional. 2.) To finally use the ASUS XG-C100C with macOS builds >10.13.4 and finally also with 10.14, one has to implement the following AppleEthernetAquantiaAqtion KextPatch provided by @Mieze: Name* Find*[HEX] Replace*[HEX] Comment AppleEthernetAquantiaAqtion 0F84C003 0000 90909090 9090 Aquantia patch ©Mieze 3.) The proper XGBE ASUS XG-C100C PCI SSDT implementation is detailed in Section E.9.2) 4.) Note that after the firmware update under macOS High Sierra 10.13.3, the ASUS XG-C100C will refuse the official Windows Lan drivers provided by ASUS and will only work with Apple's customised Aquantia64v2.0.015.0 boot camp drivers attached below. E.8.2.2) Intel X540-T1 10-Gbit NIC Thanks to some Ubuntu EEPROM modding, I also achieved the successful implementation of the Intel X540-T1 single port 10GB LAN PCIe Adapter by means of the Small-Tree 10GB macOS 10.13 driver. Some additional notes to the EEPROM modding guideline provided by the above link. 1.) When creating your Ubuntu USB Flash Drive, use RUFUS 3.0 and select the GPT option to obtain a Ubuntu USB boot drive, fully compatible with your UEFI BIOS implementation! 2.) To install "net-tools", enter the following terminal command sudo apt install net-tools 3.) To install "ethtool" enter the following terminal command: sudo apt-get install ethtool 4.) Within the latest Ubuntu distributions, ETH0, ETH1, etc. have been replaced by some weird "enp" port-nomenclature, thus the command "ifconfig" would reveal something like the following: My Intel X540-T1 was assigned to enp225s0. 5.) With the command "lspci -nn -vvv | grep Ethernet" you have to use in 6.) the Vendor/Device-ID entry highlighted by the green rectangle. 6.) By running the "sudo ethtool -e enp225s0 | less" command and eyeballing the offsets, be aware that the latter can be distributed over two lines: You have to count from left to right 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f for each pair of digits for each offset. Thus, the commands I had to run to mod the Intel X540-T1 EEPROM were: sudo ethtool -E enp225s0 magic 0x15288086 offset 0x48e value 0x0a sudo ethtool -E enp225s0 magic 0x15288086 offset 0x48f value 0x00 Note that the "magic" value implemented in this command has been taken from the "lspci -nn -vvv | grep Ethernet" command output, again encircled by a green rectangle: The rest is as described in the EEPROM modding guideline linked above. The proper Intel X540-T1 PCI SSDT implementation is detailed in Section E.9.2) Actually, I am now currently using this adaptor in my X99 system configuration. E.8.2.3) Small-Tree P2EI0G-2T 10-Gbit NIC The Small-Tree P2EI0G-2T 2-Port 10GB LAN PCIe Adapter constitutes the actual base line in my X299 10Gbit LAN configuration. It works OoB with the Small-Tree 10GB macOS 10.13 driver. The proper Small-Tree P2EI0G-2T PCI SSDT implementation is detailed in Section E.9.2) E.8.2.4) NetGear ProSave XS508M 8-port 10-Gbit Switch As already mentioned above, the NetGear ProSave XS508M 8-port 10GBit switch constitutes the turntable of my 10-GBit Ethernet Network. It further connects with a QNAP TS-431X2 Quad-core 4-Bay NAS tower with Built-in 10GbE SFP+ Port. E.8.2.5) QNAP TS-431X2 Quad-core 4-Bay NAS tower The QNAP TS-431X2 Quad-core 4-Bay NAS tower finally harbours 4x 12 TB Seagate IronWolf drives in RAID 0 configuration (as I rather opt for read/write speed than redundancy). E.8.2.6) 10-GBit Ethernet Optimisation 1.) Use SMB 3.0 instead of AFS for your Ethernet communication. 2.) Enable Jumbo Frames on your NAS and macOS network settings. 3.) The service order in your macOS network settings should have your 10-Gbit NIC at first position. 4.) You can turn off the SMB packet signing of the client and server in a secure network. Incoming SMB Enter the following terminal commands: sudo -s
 echo "[default]" >> /etc/nsmb.conf 
echo "signing_required=no" >> /etc/nsmb.conf 
exit Outgoing SMB: Enter the following terminal commands: smbutil statshares -a sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.smb.server SigningRequired 0 E.9) ASUS Prime X299 Deluxe PCI Device Implementation In order to properly implement all PCI device drivers on his/her system and build, one needs adequate ACPI DSDT Replacements and a sophisticated SSDT. Both requirements have been originally successfully implemented for the ASUS Prime X299 Deluxe by our gorgeous @apfelnico with partial contributions of @TheOfficialGypsy. Many thanks for the extensive efforts and extremely fruitful and brilliant work! Subsequently, I adopted the ACPI DSDT Replacement Patches and SSDT in concordance with SMBIOS iMacPro1,1. The actual ACPI DSDT Replacements are part of the config.plist contained in EFI-X299-10.13.5-Release-iMacPro1,1-160618.zip. I also link the SSDT-X299-iMacPro.aml and SSDT-X299-TB3-iMacPro-KGP.aml further developed with @apfelnico and @nmano . Note that the ACPI DSDT Replacements, SSDT-X299-iMacPro.aml and SSDT-X299-TB3-iMacPro-KGP.aml can be build and PCIe slot population dependend and have to be verified and likely adopted or modified for all mainboards different from the ASUS Prime X299 Deluxe and builds or PCIe slot populations different from the one that constitutes the baseline of this guide. For the ASUS Prime X299 Deluxe I will use in the following the PCIe Slot nomenclature depicted below: The verification and likely adaptation/modification can be performed by the help of IORegistryExplorer. How to adopted or modify the ACPI DSDT Replacement Patches and SSDT-X299-iMacPro.aml is detailed in post #225 by means of the OSXWIFI PCIe Adaptor implementation in PCIe Slot-3. I hope that by this specific example it rapidly becomes evident that the correct PCI Device implementation cannot be outlined for each individual "build-in" or "slot-specific" PCI device within this guide. The complexity and effort would just exceed by far all available capacities and indeed require the implementation of a separate guide and thread in addition. I therefore hope on your skills and flexibility to extend and apply the approach and methodology detailed above to any other "build-in" or "slot-specific" PCI device yet to be adopted or implemented. Important Note: It is strongly recommend to perform a stepwise PCI Device implementation by means of a minimalistic starter SSDT-X299-iMacPro.aml, which just contains the Definition Block and Device Implementation for one single specific device. Once this PCI device has been successfully implemented, other PCI Device definitions can be added to the SSDT-X299-iMacPro.aml. In case that subsequently the implementation of a specific PCI Device would be erroneous and fail, also all other already successfully implemented PCI devices would disappear from Section "PCI" of Apple's System report and the entire "PCI" Device implementation would fail. Thus a stepwise PCI device implementation/adaptation is highly recommended and sometimes deemed necessary! Also keep always in mind to modify/adopt the ACPI replacements in your config.plist in parallel when ever necessary! Note once more that the ACPI DSDT Replacement Patches and SSDT-X299-iMacPro.aml implementation detailed below requires SMBIOS iMacPro1,1. E.9.1) ACPI DSDT Replacement Implementation All required ACPI DSDT Replacements are already implemented in the config.plist in the /EFI/CLOVER/ directory of the EFI-Folder contained in EFI-X299-10.13.5-Release-iMacPro1,1-160618.zip or are directly part of the SSDT-X299-iMacPro.aml and SSDT-X299-TB3-iMacPro-KGP.aml. In the config.plist, the ACPI DSDT Replacements are disabled by default, thus we will now open the config.plist in the /EFI/CLOVER/ directory of your 10.14 System Disk EFI-Folder with Clover Configurator and stepwise adopt (if necessary) and enable the different required DSDT replacement patches in Clover Configurator Section "ACPI" under "DSDT patches", by also discussing their respective function and impact. a.) The PC00 -> PCI0 ACPI DSDT replacement patch has the main aim to achieve a SMBIOS iMacPro1,1specific PCI implementation. Note that under SMBIOS iMacPro1,1 all other PC0x definitions remain unchanged. Please enable now the PC0x -> PCIx ACPI DSDT replacement patch. Comment: Find*[Hex] Replace [Hex] PC00 -> PCI0 50433030 50434930 b.) OSI -> XOSI, EC0_ -> EC__ and H_EC -> EC__ are once more ACPI DSDT replacement patches to achieveconsistency with the SMBIOS iMacPro1,1 variable naming. i.) XOSI functionality is required as explained by @RehabMan. The ACPI code can use the_OSI method (implemented by the ACPI host) to check which Windows version is running. Most DSDT implementations will vary the USB configuration depending on the active Windows version. When running OS X, none of the DSDT _OSI("Windows <version>") checks will return "true" as there is only response from "Darwin". This issue can be solved by implementing the "OS Check Fix" family of DSDT patches in the SSDT. By DSDT patching we can simulate a certain version of Windows although running Darwin and we can obtain a system behaviour similar to a windows version specific environment. ii.) On the Asus X299 Prime Deluxe and most likely on all other X299 mobos we have the EC0 and H_EC controllers,which have to be renamed to 'EC' for proper USB power management. Thus once more investigate your mainboard specific IOREG entry and enable both EC0_ -> EC__ or and H_EC -> EC__ DSDT Replacement Patches. Comment: Find*[Hex] Replace [Hex] OSI -> XOSI 5f4f5349 584f5349 EC0_ -> EC__ 4543305f 45435f5f H_EC -> EC__ 485f4543 45435f5f c.) The HEC1 -> IMEI and IDER->MEID ACPI DSDT Replacement patches are Intel Management Engine Interface relatedand are vital as MacOS requires the variable names "IMEI" and "MEID" to load the 'AppleIntelMEIDriver'. The latter functionality solves the 'iTunes/Apple Store Content Access Problem' which is discussed here. Please enable now both ACPI DSDT Replacement patches independent from your mainboard. Comment: Find*[Hex] Replace [Hex] HEC1 -> IMEI 48454331 494d4549 IDER->MEID 49444552 4d454944 d.) The LPC0 -> LPCB ACPI DSDT Replacement Patch is AppleLPC and SMBus related and is applied for consistency withthe variable naming on a real Mac. Note that LPCB injects AppleLPC, which however is not required in the X299 environment. X299 Systems seem to have sleep problems with the SMBus properties injected. Thus, the LPCB functionality will be disabled within the SSDT-X299-iMacPro.aml. Please enable now this ACPI DSDT replacement patch independent from your mainboard. Comment: Find*[Hex] Replace [Hex] LPC0 -> LPCB 4c504330 4c504342 e.) FPU_->MATH, TMR_->TIMR, PIC_->IPIC are all ACPI DSDT Replacement Patches for consistency with the variablenaming on a real Mac. The variables are however functionless on either our X299 boards or real Macs. Please enable now all three ACPI DSDT Replacement Patches independent from your mainboard. Comment: Find*[Hex] Replace [Hex] FPU_ -> MATH 4650555f 4d415448 TMR_ -> TIMR 544d525f 54494d52 PIC_ -> IPIC 5049435f 49504943 f.) The SMBS._ADR -> XSBU.XADR Replacement frees SBUS two show up in IOREG. In principle we have two devices with the same address, one called SMBS and the other one called SBUS. SBUS will never show up in IOREG as long SMBS exists. But SBUS is exactly the variable we need in concordance with the IOREG from the iMacPro Dump. Please enable now this ACPI DSDT replacement patch independent from your mainboard. Comment: Find*[Hex] Replace [Hex] SMBS._ADR -> XSBU.XADR 534d4253 085f4144 52 58534255 08584144 52 g.) The DSM -> XDSM DSDT replacement patch is vital for loading the SSDT-X299-iMacPro.aml, as all DSM methods used in theoriginal DSDT do have a not compatible structure totally different from the real Mac environment. Without any fix, all DSM methods would be simply ignored. Note that one single device can have only one DSM method, which can assign additional properties to the respective device. Thus please enable the latter DSDT replacement patch completely independent from your mainboard! Comment: Find*[Hex] Replace [Hex] _DSM -> XDSM 5f44534d 5844534d h.) The 56 CPxx -> PRxx replacements are i9-7980XE specific and result in a proper CPU core reordering as well as in a iMac Pro specific CPU core variable naming. All i9-7980XE users can now enable all 56 CPxx -> PRxx replacements. All users of CPUs different from the i9-7980XE have to adopt/modify the 56 CPxx -> PRxx replacements in concordance with their original IOREG CPU core values. Comment: Find*[Hex] Replace [Hex] CP00 -> PR00 43503030 50523030 CP01 -> PR01 43503031 50523031 CP02 -> PR02 43503032 50523032 CP03 -> PR03 43503033 50523033 CP04 -> PR04 43503034 50523034 CP05 -> PR05 43503035 50523035 CP06 -> PR06 43503036 50523036 CP07 -> PR07 43503037 50523037 CP08 -> PR08 43503038 50523038 CP09 -> PR09 43503039 50523039 CP0E -> PR10 43503045 50523130 CP0F -> PR11 43503046 50523131 CP10 -> PR12 43503130 50523132 CP11 -> PR13 43503131 50523133 CP12 -> PR14 43503132 50523134 CP13 -> PR15 43503133 50523135 CP14 -> PR16 43503134 50523136 CP15 -> PR17 43503135 50523137 CP1C -> PR18 43503143 50523138 CP1D -> PR19 43503144 50523139 CP1E -> PR20 43503145 50523230 CP1F -> PR21 43503146 50523231 CP20 -> PR22 43503230 50523232 CP21 -> PR23 43503231 50523233 CP22 -> PR24 43503232 50523234 CP23 -> PR25 43503233 50523235 CP24 -> PR26 43503234 50523236 CP25 -> PR27 43503235 50523237 CP2A -> PR28 43503241 50523238 CP2B -> PR29 43503242 50523239 CP2C -> PR30 43503243 50523330 CP2D -> PR31 43503244 50523331 CP2E -> PR32 43503245 50523332 CP2F -> PR33 43503246 50523333 CP30 -> PR34 43503330 50523334 CP31 -> PR35 43503331 50523335 CP0A -> PR36 43503041 50523336 CP0B -> PR37 43503042 50523337 CP0C -> PR38 43503043 50523338 CP0D -> PR39 43503044 50523339 CP16 -> PR40 43503136 50523430 CP17 -> PR41 43503137 50523431 CP18 -> PR42 43503138 50523432 CP19 -> PR43 43503139 50523433 CP1A -> PR44 43503141 50523434 CP1B -> PR45 43503142 50523435 CP26 -> PR46 43503236 50523436 CP27 -> PR47 43503237 50523437 CP28 -> PR48 43503238 50523438 CP29 -> PR49 43503239 50523439 CP32 -> PR50 43503332 50523530 CP33 -> PR51 43503333 50523531 CP34 -> PR52 43503334 50523532 CP35 -> PR53 43503335 50523533 CP36 -> PR54 43503336 50523534 CP37 -> PR55 43503337 50523535 Resulting CPU Core Implementation: E.9.2) SSDT-X299-iMacPro.aml PCI Implementation For the proper PCI device driver implementation (detailed in the Figure above), which is mostly directly related with the PCI device functionality, we now have to revise and likely adopt or modify the attached SSDT-X299-iMacPro.aml wit MaciASL to your specific build and system configuration with the help of IORegistryExplorer. Note that for each device, the SSDT-X299-iMacPro.aml contains a DefinitionBlock entry and the underlying PCI device implementation. In case of necessary modifications/adaptations, don't forget to also modify/adapt the respective DefinitionBlock entries in concordance with your IOREG entries. The entire SSDT structure is module like. Each module can be independently added, changed or removed in dependence of your specific build, needs and requirements. A stepwise implementation of the individual PCI devices is recommended! E.9.2.1) - HDEF - onboard PCI Audio Controller PCI Implementation: DefintionBlock entry: External (_SB_.PCI0.CAVS, DeviceObj) // (from opcode) External (DTGP, MethodObj) // 5 Arguments (from opcode) PCI Device Implementation: Scope (\_SB.PCI0) { Scope (CAVS) { Name (_STA, Zero) // _STA: Status } Device (HDEF) { Name (_ADR, 0x001F0003) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { Store (Package (0x16) { "AAPL,slot-name", Buffer (0x09) { "Built In" }, "model", Buffer (0x1C) { "Realtek ALC S1220A HD Audio" }, "name", Buffer (0x27) { "Realtek ALC S1220A HD Audio Controller" }, "hda-gfx", Buffer (0x0A) { "onboard-1" }, "device_type", Buffer (0x14) { "HD-Audio-Controller" }, "device-id", Buffer (0x04) { 0xF0, 0xA2, 0x00, 0x00 }, "compatible", Buffer (0x0D) { "pci8086,0C0C" }, "MaximumBootBeepVolume", Buffer (One) { 0xEE }, "MaximumBootBeepVolumeAlt", Buffer (One) { 0xEE }, "layout-id", Buffer (0x04) { 0x07, 0x00, 0x00, 0x00 }, "PinConfigurations", Buffer (Zero) {} }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } } The HDEF PCI device implementation is valid for the ASUS Prime X299 Deluxe and likely for all other mainboards with the Realtek ALC S1220A Audio Controller chipset. It is a build-in device and does not have any slot specific dependency. Note the CAVS -> HDEF replacement directly performed within the SSDT! E.9.2.2) - GFX0, HDAU - Nvidia Graphics Card and HDMI/DP Audio PCI implementation DefintionBlock entry: External (_SB_.PC02.BR2A, DeviceObj) // (from opcode) External (_SB_.PC02.BR2A.SL05, DeviceObj) // (from opcode) External (_SB_.PC02.BR2A.PEGP, DeviceObj) // (from opcode) External (DTGP, MethodObj) // 5 Arguments (from opcode) PCI Device Implementation: Scope (_SB.PC02.BR2A) { Scope (SL05) { Name (_STA, Zero) // _STA: Status } Scope (PEGP) { Name (_STA, Zero) // _STA: Status } Device (GFX0) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { Store (Package (0x14) { "built-in", Buffer (One) { 0x00 }, "device-id", Buffer (0x04) { 0x06, 0x1B, 0x00, 0x00 }, "hda-gfx", Buffer (0x0A) { "onboard-2" }, "AAPL,slot-name", Buffer (0x07) { "Slot-1" }, "@0,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "@1,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "@2,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "@3,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "@4,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "@5,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Device (HDAU) { Name (_ADR, One) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { Store (Package (0x0C) { "built-in", Buffer (One) { 0x00 }, "device-id", Buffer (0x04) { 0xEF, 0x10, 0x00, 0x00 }, "AAPL,slot-name", Buffer (0x07) { "Slot-1" }, "device_type", Buffer (0x16) { "Multimedia Controller" }, "name", Buffer (0x1D) { "NVIDIA High Definition Audio" }, "hda-gfx", Buffer (0x0A) { "onboard-2" } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } } The actual GFX0 and HDAU PCI device implementation is valid for SMBIOS iMacPro1,1 (GFX0), the ASUS Prime X299 Deluxe and any Nvidia Graphics Card implemented in PCIe Slot 1. It is a build and PCIe slot population dependent device implementation. Nvidia Graphics Card users with more than one graphics card, or with an Nvidia graphics card in a PCIe slot different from PCIe Slot 1, will have to adopt the respective device path entries PC02.BR2A, PCIe Slot definitions and PCI device properties following their respective IOREG entries. Note the SL05 -> PEGP and PEGP -> GFX0 ACPI replacements directly performed within the SSDT. Also note that with 10.13.4, Apple changed the com.apple.driver.AppleHDAController implementation. To make the NVIDIA HDAU PCI device driver work for e.g. a GeForce GTX 1080, one needs to add the following KextToPatch entry in Section "Kernel and kext Patches" of Clover Configurator, as already implemented in the config.plist contained in EFI-X299-10.14-DP1-Release-iMacPro1,1-060618: Name* Find* [HEX] Replace* [HEX] Comment com.apple.driver.AppleHDAController DE100B0E DE10EF10 FredWst DP/HDMI patch Credits to @FreedWst and thanks to @fabiosun for pointing me to this solution. The KextToPatch entry might defer for Nvidia GPUs different from the Geforce GTX 1080. Users of NvidiaGraphicsfixup.kext v1.2.6 and above might be able to drop this KextToPatch entry, as the latter kext already properly implements the Nvidia HDAU PCI driver. Below one finds an example of @apfelnico for a GFX and HDAU PCI implementation of 1x Radeon Vega Frontier in PCIe Slot 1: DefintionBlock entry: External (_SB_.PC02.BR2A, DeviceObj) // (from opcode) External (_SB_.PC02.BR2A.PEGP, DeviceObj) // (from opcode) External (_SB_.PC02.BR2A.SL05, DeviceObj) // (from opcode) External (DTGP, MethodObj) // 5 Arguments (from opcode) PCI Device Implementation: Scope (\_SB.PC02.BR2A) { Scope (SL05) { Name (_STA, Zero) // _STA: Status } Scope (PEGP) { Device (EGP0) { Name (_ADR, Zero) // _ADR: Address Device (GFX0) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { Store (Package (0x18) { "built-in", Buffer (One) { 0x00 }, "AAPL,slot-name", Buffer (0x07) { "Slot-1" }, "model", Buffer (0x16) { "Vega Frontier Edition" }, "name", Buffer (0x08) { "ATY_GPU" }, "@0,connector-type", Buffer (0x04) { 0x00, 0x04, 0x00, 0x00 }, "@1,connector-type", Buffer (0x04) { 0x00, 0x04, 0x00, 0x00 }, "@2,connector-type", Buffer (0x04) { 0x00, 0x04, 0x00, 0x00 }, "@3,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "@0,name", Buffer (0x0D) { "ATY,Kamarang" }, "@1,name", Buffer (0x0D) { "ATY,Kamarang" }, "@2,name", Buffer (0x0D) { "ATY,Kamarang" }, "@3,name", Buffer (0x0D) { "ATY,Kamarang" } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Device (HDAU) { Name (_ADR, One) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { Store (Package (0x0A) { "built-in", Buffer (One) { 0x00 }, "AAPL,slot-name", Buffer (0x07) { "Slot-1" }, "name", Buffer (0x1F) { "Vega Frontier Edition HD-Audio" }, "model", Buffer (0x1F) { "Vega Frontier Edition HD-Audio" }, "hda-gfx", Buffer (0x0A) { "onboard-2" } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } } } } as well as one example of @apfelnico for the GFX and HDAU PCI implementation of 1x Radeon Vega 64 in PCIe Slot 1, pimped to 1442 Mhz: DefintionBlock entry: External (_SB_.PC02.BR2A, DeviceObj) // (from opcode) External (_SB_.PC02.BR2A.PEGP, DeviceObj) // (from opcode) External (_SB_.PC02.BR2A.SL05, DeviceObj) // (from opcode) External (DTGP, MethodObj) // 5 Arguments (from opcode) PCI Device Implementation: Scope (\_SB.PC02.BR2A) { Scope (SL05) { Name (_STA, Zero) // _STA: Status } Scope (PEGP) { Device (EGP0) { Name (_ADR, Zero) // _ADR: Address Device (GFX0) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { Store (Package (0x20) { "built-in", Buffer (One) { 0x00 }, "AAPL,slot-name", Buffer (0x07) { "Slot-1" }, "model", Buffer (0x12) { "Radeon RX Vega 64" }, "name", Buffer (0x08) { "ATY_GPU" }, "@0,connector-type", Buffer (0x04) { 0x00, 0x04, 0x00, 0x00 }, "@1,connector-type", Buffer (0x04) { 0x00, 0x04, 0x00, 0x00 }, "@2,connector-type", Buffer (0x04) { 0x00, 0x04, 0x00, 0x00 }, "@3,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "@0,name", Buffer (0x0D) { "ATY,Kamarang" }, "@1,name", Buffer (0x0D) { "ATY,Kamarang" }, "@2,name", Buffer (0x0D) { "ATY,Kamarang" }, "@3,name", Buffer (0x0D) { "ATY,Kamarang" }, "PP_PhmSoftPowerPlayTable", Buffer (One) { /* 0000 */ 0xB6, 0x02, 0x08, 0x01, 0x00, 0x5C, 0x00, 0xE1, /* 0008 */ 0x06, 0x00, 0x00, 0xEE, 0x2B, 0x00, 0x00, 0x1B, /* 0010 */ 0x00, 0x48, 0x00, 0x00, 0x00, 0x80, 0xA9, 0x03, /* 0018 */ 0x00, 0xF0, 0x49, 0x02, 0x00, 0x8E, 0x00, 0x08, /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0028 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, /* 0030 */ 0x5C, 0x00, 0x4F, 0x02, 0x46, 0x02, 0x94, 0x00, /* 0038 */ 0x9E, 0x01, 0xBE, 0x00, 0x28, 0x01, 0x7A, 0x00, /* 0040 */ 0x8C, 0x00, 0xBC, 0x01, 0x00, 0x00, 0x00, 0x00, /* 0048 */ 0x72, 0x02, 0x00, 0x00, 0x90, 0x00, 0xA8, 0x02, /* 0050 */ 0x6D, 0x01, 0x43, 0x01, 0x97, 0x01, 0xF0, 0x49, /* 0058 */ 0x02, 0x00, 0x71, 0x02, 0x02, 0x02, 0x00, 0x00, /* 0060 */ 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, /* 0068 */ 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, /* 0070 */ 0x03, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0078 */ 0x00, 0x00, 0x01, 0x08, 0x84, 0x03, 0x84, 0x03, /* 0080 */ 0xB6, 0x03, 0xE8, 0x03, 0x1A, 0x04, 0x4C, 0x04, /* 0088 */ 0x60, 0x04, 0x7E, 0x04, 0x01, 0x01, 0x33, 0x04, /* 0090 */ 0x01, 0x01, 0x84, 0x03, 0x00, 0x08, 0x60, 0xEA, /* 0098 */ 0x00, 0x00, 0x00, 0x40, 0x19, 0x01, 0x00, 0x01, /* 00A0 */ 0x80, 0x38, 0x01, 0x00, 0x02, 0xDC, 0x4A, 0x01, /* 00A8 */ 0x00, 0x03, 0x90, 0x5F, 0x01, 0x00, 0x04, 0x00, /* 00B0 */ 0x77, 0x01, 0x00, 0x05, 0x90, 0x91, 0x01, 0x00, /* 00B8 */ 0x06, 0x50, 0xBD, 0x01, 0x00, 0x07, 0x01, 0x08, /* 00C0 */ 0xD0, 0x4C, 0x01, 0x00, 0x00, 0x00, 0x80, 0x00, /* 00C8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x8D, 0x01, /* 00D0 */ 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 00D8 */ 0x00, 0x00, 0xDC, 0xC7, 0x01, 0x00, 0x02, 0x00, /* 00E0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, /* 00E8 */ 0xFC, 0x01, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, /* 00F0 */ 0x00, 0x00, 0x00, 0x00, 0xD8, 0x1B, 0x02, 0x00, /* 00F8 */ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0100 */ 0x00, 0xF4, 0x40, 0x02, 0x00, 0x05, 0x00, 0x00, /* 0108 */ 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1C, 0x64, /* 0110 */ 0x02, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x01, /* 0118 */ 0x00, 0x00, 0x00, 0x68, 0x81, 0x02, 0x00, 0x07, /* 0120 */ 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, /* 0128 */ 0x00, 0x05, 0x60, 0xEA, 0x00, 0x00, 0x00, 0x40, /* 0130 */ 0x19, 0x01, 0x00, 0x00, 0x80, 0x38, 0x01, 0x00, /* 0138 */ 0x00, 0xDC, 0x4A, 0x01, 0x00, 0x00, 0x90, 0x5F, /* 0140 */ 0x01, 0x00, 0x00, 0x00, 0x08, 0x28, 0x6E, 0x00, /* 0148 */ 0x00, 0x00, 0x2C, 0xC9, 0x00, 0x00, 0x01, 0xF8, /* 0150 */ 0x0B, 0x01, 0x00, 0x02, 0x80, 0x38, 0x01, 0x00, /* 0158 */ 0x03, 0x90, 0x5F, 0x01, 0x00, 0x04, 0xF4, 0x91, /* 0160 */ 0x01, 0x00, 0x05, 0xD0, 0xB0, 0x01, 0x00, 0x06, /* 0168 */ 0x38, 0xC1, 0x01, 0x00, 0x07, 0x00, 0x08, 0x6C, /* 0170 */ 0x39, 0x00, 0x00, 0x00, 0x24, 0x5E, 0x00, 0x00, /* 0178 */ 0x01, 0xFC, 0x85, 0x00, 0x00, 0x02, 0xAC, 0xBC, /* 0180 */ 0x00, 0x00, 0x03, 0x34, 0xD0, 0x00, 0x00, 0x04, /* 0188 */ 0x68, 0x6E, 0x01, 0x00, 0x05, 0x08, 0x97, 0x01, /* 0190 */ 0x00, 0x06, 0xB0, 0xAD, 0x01, 0x00, 0x07, 0x00, /* 0198 */ 0x01, 0x68, 0x3C, 0x01, 0x00, 0x00, 0x01, 0x04, /* 01A0 */ 0x3C, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, /* 01A8 */ 0xC3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x38, /* 01B0 */ 0x01, 0x00, 0x02, 0x00, 0x00, 0x34, 0x98, 0x01, /* 01B8 */ 0x00, 0x04, 0x00, 0x00, 0x01, 0x08, 0x00, 0x98, /* 01C0 */ 0x85, 0x00, 0x00, 0x40, 0xB5, 0x00, 0x00, 0x60, /* 01C8 */ 0xEA, 0x00, 0x00, 0x50, 0xC3, 0x00, 0x00, 0x01, /* 01D0 */ 0x80, 0xBB, 0x00, 0x00, 0x60, 0xEA, 0x00, 0x00, /* 01D8 */ 0x94, 0x0B, 0x01, 0x00, 0x50, 0xC3, 0x00, 0x00, /* 01E0 */ 0x02, 0x00, 0xE1, 0x00, 0x00, 0x94, 0x0B, 0x01, /* 01E8 */ 0x00, 0x40, 0x19, 0x01, 0x00, 0x50, 0xC3, 0x00, /* 01F0 */ 0x00, 0x03, 0x78, 0xFF, 0x00, 0x00, 0x40, 0x19, /* 01F8 */ 0x01, 0x00, 0x88, 0x26, 0x01, 0x00, 0x50, 0xC3, /* 0200 */ 0x00, 0x00, 0x04, 0x40, 0x19, 0x01, 0x00, 0x80, /* 0208 */ 0x38, 0x01, 0x00, 0x80, 0x38, 0x01, 0x00, 0x50, /* 0210 */ 0xC3, 0x00, 0x00, 0x05, 0x80, 0x38, 0x01, 0x00, /* 0218 */ 0xDC, 0x4A, 0x01, 0x00, 0xDC, 0x4A, 0x01, 0x00, /* 0220 */ 0x50, 0xC3, 0x00, 0x00, 0x06, 0x00, 0x77, 0x01, /* 0228 */ 0x00, 0x00, 0x77, 0x01, 0x00, 0x90, 0x5F, 0x01, /* 0230 */ 0x00, 0x50, 0xC3, 0x00, 0x00, 0x07, 0x90, 0x91, /* 0238 */ 0x01, 0x00, 0x90, 0x91, 0x01, 0x00, 0x00, 0x77, /* 0240 */ 0x01, 0x00, 0x50, 0xC3, 0x00, 0x00, 0x01, 0x18, /* 0248 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, /* 0250 */ 0x00, 0x00, 0xBC, 0x02, 0x48, 0x26, 0x46, 0x00, /* 0258 */ 0x0A, 0x00, 0x54, 0x03, 0x90, 0x01, 0x90, 0x01, /* 0260 */ 0x90, 0x01, 0x90, 0x01, 0x90, 0x01, 0x90, 0x01, /* 0268 */ 0x90, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, /* 0270 */ 0x04, 0x31, 0x07, 0x90, 0x01, 0x90, 0x01, 0x90, /* 0278 */ 0x01, 0x90, 0x01, 0x00, 0x00, 0x59, 0x00, 0x69, /* 0280 */ 0x00, 0x4A, 0x00, 0x4A, 0x00, 0x5F, 0x00, 0x73, /* 0288 */ 0x00, 0x73, 0x00, 0x64, 0x00, 0x40, 0x00, 0x90, /* 0290 */ 0x92, 0x97, 0x60, 0x96, 0x00, 0x90, 0x55, 0x00, /* 0298 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 02A0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 02A8 */ 0x02, 0x02, 0xD4, 0x30, 0x00, 0x00, 0x02, 0x10, /* 02B0 */ 0x60, 0xEA, 0x00, 0x00, 0x02, 0x10 }, "hda-gfx", Buffer (0x0A) { "onboard-2" }, "PP_DisablePowerContainment", Buffer (One) { 0x01 }, "PP_FuzzyFanControl", Buffer (One) { 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Device (HDAU) { Name (_ADR, One) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { Store (Package (0x0A) { "built-in", Buffer (One) { 0x00 }, "AAPL,slot-name", Buffer (0x07) { "Slot-1" }, "name", Buffer (0x14) { "Radeon RX HD-Audio" }, "model", Buffer (0x14) { "Radeon RX HD-Audio" }, "hda-gfx", Buffer (0x0A) { "onboard-2" } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } } } E.9.2.3) - PMCR - onboard Power Management Controller (PMC) PCI Implementation: DefintionBlock entry: External (_SB_.PCI0.PMC1, DeviceObj) // (from opcode) External (DTGP, MethodObj) // 5 Arguments (from opcode) PCI Device Implementation: Scope (\_SB.PCI0) { Scope (PMC1) { Name (_STA, Zero) // _STA: Status } Device (PMCR) { Name (_ADR, 0x001F0002) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { Store (Package (0x0E) { "AAPL,slot-name", Buffer (0x09) { "Built In" }, "model", Buffer (0x1E) { "Intel X299 Series Chipset PMC" }, "name", Buffer (0x0A) { "Intel PMC" }, "device-id", Buffer (0x04) { 0xA1, 0xA2, 0x00, 0x00 }, "device_type", Buffer (0x0F) { "PMC-Controller" }, "built-in", Buffer (One) { 0x00 }, "compatible", Buffer (0x0D) { "pci8086,a2a1" } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } } The PMCR PCI device implementation should be valid for all X299 mainboards and should not require any build specific adaptation/modification. Note the PMC1 -> PMCR ACPI replacement directly performed within the SDDT. E.9.2.4) - USBX: PCI Device Implementation: Device (_SB.USBX) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LNot (Arg2)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x08) { "kUSBSleepPortCurrentLimit", 0x0834, "kUSBSleepPowerSupply", 0x13EC, "kUSBWakePortCurrentLimit", 0x0834, "kUSBWakePowerSupply", 0x13EC }) } } When using the XHCI device name for USB (see the XHCI PCI Device Implementation below), one observes a bunch of USB Power Errors when booting the system. The USBX PCI device implementation fixes this errors. E.9.2.5) - XHCI - onboard Extended Host Controller Interface (XHCI) PCI Implementation: DefintionBlock entry: External (_SB_.PCI0.XHCI, DeviceObj) // (from opcode) External (DTGP, MethodObj) // 5 Arguments (from opcode) PCI Device Implementation: Scope (\_SB.PCI0.XHCI) { Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { Store (Package (0x1B) { "AAPL,slot-name", Buffer (0x09) { "Built In" }, "built-in", Buffer (One) { 0x00 }, "device-id", Buffer (0x04) { 0xAF, 0xA2, 0x00, 0x00 }, "name", Buffer (0x34) { "ASMedia / Intel X299 Series Chipset XHCI Controller" }, "model", Buffer (0x34) { "ASMedia ASM1074 / Intel X299 Series Chipset USB 3.0" }, "AAPL,current-available", 0x0834, "AAPL,current-extra", 0x0A8C, "AAPL,current-in-sleep", 0x0A8C, "AAPL,max-port-current-in-sleep", 0x0834, "AAPL,device-internal", Zero, "AAPL,clock-id", Buffer (One) { 0x01 }, "AAPL,root-hub-depth", 0x1A, "AAPL,XHC-clock-id", One, Buffer (One) { 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } The XHCI USB3.0 ASMedia ASM1074 / Intel X299 Series Chipset PCI device implementation is valid for the ASUS Prime X299 Deluxe and for all other X299 mainboards with the same XHC controller chipset. Verify and adopt/modify if necessary device path "PCI0.XHCI" and PCI device implementations by means of IOREG. E.9.2.6) - XHC2,3,4 - ASMedia ASM3142 USB 3.1 Controller PCI Implementation: DefintionBlock entry: External (_SB_.PCI0.RP01, DeviceObj) // (from opcode) External (_SB_.PCI0.RP01.PXSX, DeviceObj) // (from opcode) External (_SB_.PCI0.RP05, DeviceObj) // (from opcode) External (_SB_.PCI0.RP05.PXSX, DeviceObj) // (from opcode) External (_SB_.PCI0.RP07, DeviceObj) // (from opcode) External (_SB_.PCI0.RP07.PXSX, DeviceObj) // (from opcode) External (DTGP, MethodObj) // 5 Arguments (from opcode) PCI Device Implementation: Scope (\_SB.PCI0.RP01) { Scope (PXSX) { Name (_STA, Zero) // _STA: Status } Device (XHC2) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Store (Package (0x1B) { "AAPL,slot-name", Buffer (0x09) { "Built In" }, "built-in", Buffer (One) { 0x00 }, "device-id", Buffer (0x04) { 0x42, 0x21, 0x00, 0x00 }, "name", Buffer (0x17) { "ASMedia XHC Controller" }, "model", Buffer (0x2F) { "ASMedia ASM3142 #1 1x USB 3.1 Type-C Internal " }, "AAPL,current-available", 0x0834, "AAPL,current-extra", 0x0A8C, "AAPL,current-in-sleep", 0x0A8C, "AAPL,max-port-current-in-sleep", 0x0834, "AAPL,device-internal", Zero, "AAPL,clock-id", Buffer (One) { 0x01 }, "AAPL,root-hub-depth", 0x1A, "AAPL,XHC-clock-id", One, Buffer (One) { 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } } Scope (\_SB.PCI0.RP05) { Scope (PXSX) { Name (_STA, Zero) // _STA: Status } Device (XHC3) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Store (Package (0x1B) { "AAPL,slot-name", Buffer (0x09) { "Built In" }, "built-in", Buffer (One) { 0x00 }, "device-id", Buffer (0x04) { 0x42, 0x21, 0x00, 0x00 }, "name", Buffer (0x17) { "ASMedia XHC Controller" }, "model", Buffer (0x2E) { "ASMedia ASM3142 #2 2x USB 3.1 Type-A External" }, "AAPL,current-available", 0x0834, "AAPL,current-extra", 0x0A8C, "AAPL,current-in-sleep", 0x0A8C, "AAPL,max-port-current-in-sleep", 0x0834, "AAPL,device-internal", Zero, "AAPL,clock-id", Buffer (One) { 0x01 }, "AAPL,root-hub-depth", 0x1A, "AAPL,XHC-clock-id", One, Buffer (One) { 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } } Scope (\_SB.PCI0.RP07) { Scope (PXSX) { Name (_STA, Zero) // _STA: Status } Device (XHC4) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg2, 0x00020000)) { Return (Buffer (One) { 0x03 }) } Store (Package (0x1B) { "AAPL,slot-name", Buffer (0x09) { "Built In" }, "built-in", Buffer (One) { 0x00 }, "device-id", Buffer (0x04) { 0x42, 0x21, 0x00, 0x00 }, "name", Buffer (0x17) { "ASMedia XHC Controller" }, "model", Buffer (0x4A) { "ASMedia ASM3142 #3 1x USB 3.1 Type-A / ASM1543 1x USB 3.1 Type-C External" }, "AAPL,current-available", 0x0834, "AAPL,current-extra", 0x0A8C, "AAPL,current-in-sleep", 0x0A8C, "AAPL,max-port-current-in-sleep", 0x0834, "AAPL,device-internal", Zero, "AAPL,clock-id", Buffer (One) { 0x01 }, "AAPL,root-hub-depth", 0x1A, "AAPL,XHC-clock-id", One, Buffer (One) { 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } } The XHC2,XHC3,XHC4 ASMedia ASM3142/ASM1543 USB 3.1 onboard Intel XHCI controller PCI device implementation is valid for the ASUS Prime X299 Deluxe and for all other X299 mainboards with the same XHC USB3.1 controller ASMedia ASM3142 chipset configuration. Note that this SSDT-X299-iMacPro.aml device implementation also performs the following ACPI Replacements PCI0.RP01.PXSX -> PCI0.RP01.XHC2 PCI0.RP05.PXSX -> PCI0.RP01.XHC3 PCI0.RP07.PXSX -> PCI0.RP01.XHC4 in concordance with the respective SMBIOS iMacPro1,1 variable naming. Verify and adopt/modify if necessary the corresponding "PCI0.RP01.XHC2", "PCI0.RP05.XHC3", "PCI0.RP07.XHC4" PCI device implementations by means of IOREG. E.9.2.7) ANS1, ANS2 - Apple NVMe Controller PCI Implementation: DefintionBlock entry: External (_SB_.PCI0.RP09, DeviceObj) // (from opcode) External (_SB_.PCI0.RP09.PXSX, DeviceObj) // (from opcode) External (_SB_.PCI0.RP21, DeviceObj) // (from opcode) External (_SB_.PCI0.RP21.PXSX, DeviceObj) // (from opcode) External (DTGP, MethodObj) // 5 Arguments (from opcode) PCI Device Implementation: Scope (\_SB.PCI0.RP09) { Scope (PXSX) { Name (_STA, Zero) // _STA: Status } Device (ANS1) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Store (Package (0x08) { "AAPL,slot-name", Buffer (0x09) { "Built In" }, "built-in", Buffer (One) { 0x00 }, "name", Buffer (0x17) { "Apple SSD Controller I" }, "model", Buffer (0x14) { "Apple SSD AP1024M I" } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } } Scope (\_SB.PCI0.RP21) { Scope (PXSX) { Name (_STA, Zero) // _STA: Status } Device (ANS2) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Store (Package (0x08) { "AAPL,slot-name", Buffer (0x09) { "Built In" }, "built-in", Buffer (One) { 0x00 }, "name", Buffer (0x18) { "Apple SSD Controller II" }, "model", Buffer (0x15) { "Apple SSD AP1024M II" } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } } The current ANS2 Apple NVMe Controller PCI implementation is of purely cosmetic nature and is valid for the ASUS Prime X299 Deluxe. Note that this SSDT-X299-iMacPro.aml device implementation also performs the following ACPI Replacements PCI0.RP09.PXSX -> PCI0.RP09.ANS1 PCI0.RP21.PXSX -> PCI0.RP21.ANS2 in concordance with the respective SMBIOS iMacPro1,1 variable naming. Verify and adopt/modify if necessary the "PCI0.RP09.ANS2" PCI device implementations by means of IOREG. E.9.2.8) - SAT1 - Intel AHCI SATA Controller PCI Implementation: DefintionBlock entry: External (_SB_.PCI0, DeviceObj) // (from opcode) External (_SB_.PCI0.SAT1, DeviceObj) // (from opcode) External (DTGP, MethodObj) // 5 Arguments (from opcode) PCI Device Implementation: Scope (\_SB.PCI0) { Scope (SAT1) { Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { Store (Package (0x0C) { "AAPL,slot-name", Buffer (0x09) { "Built In" }, "built-in", Buffer (One) { 0x00 }, "name", Buffer (0x16) { "Intel AHCI Controller" }, "model", Buffer (0x1F) { "Intel X299 Series Chipset SATA" }, "device_type", Buffer (0x15) { "AHCI SATA Controller" }, "device-id", Buffer (0x04) { 0x82, 0xA2, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } } The SAT1 onboard Intel AHCI SATA controller PCI device implementation is valid for the ASUS Prime X299 Deluxe and for all other X299 mainboards with the same AHCI SATA controller chipset. Verify and adopt/modify if necessary device path "PCI0.SAT1" and PCI device implementations by means of IOREG. E.9.2.9) XGBE - 10GBit NIC Implementation: DefintionBlock entry: External (_SB_.PC03.BR3A, DeviceObj) // (from opcode) External (_SB_.PC03.BR3A.PEGP, DeviceObj) // (from opcode) External (_SB_.PC03.BR3A.SL09, DeviceObj) // (from opcode) External (DTGP, MethodObj) // 5 Arguments (from opcode) ASUS XG-C100C AQC107 PCI Device Implementation: Scope (\_SB.PC03.BR3A) { Scope (SL09) { Name (_STA, Zero) // _STA: Status } Scope (PEGP) { Name (_STA, Zero) // _STA: Status } Device (XGBE) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Store (Package (0x10) { "AAPL,slot-name", Buffer (0x07) { "Slot-6" }, "built-in", Buffer (One) { 0x00 }, "name", Buffer (0x33) { "ASUS XG-C100C Aquantia AQC107 10-Gigabit Ethernet" }, "model", Buffer (0x11) { "Apple AQC107-AFW" }, "location", Buffer (0x02) { "1" }, "subsystem-id", Buffer (0x04) { 0x87, 0x01, 0x00, 0x00 }, "device-id", Buffer (0x04) { 0xB1, 0x07, 0x00, 0x00 }, "subsystem-vendor-id", Buffer (0x04) { 0x6B, 0x10, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } } Intel X540-T1 PCI Device Implementation: Scope (\_SB.PC03.BR3A) { Scope (SL09) { Name (_STA, Zero) // _STA: Status } Scope (PEGP) { Name (_STA, Zero) // _STA: Status } Device (XGBE) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Store (Package (0x10) { "AAPL,slot-name", Buffer (0x07) { "Slot-6" }, "built-in", Buffer (One) { 0x00 }, "name", Buffer (0x22) { "Intel X540-T1 10-Gigabit Ethernet" }, "model", Buffer (0x22) { "Intel X540-T1 10-Gigabit Ethernet" }, "location", Buffer (0x02) { "1" }, "subsystem-id", Buffer (0x04) { 0x0A, 0x00, 0x00, 0x00 }, "device-id", Buffer (0x04) { 0x28, 0x15, 0x00, 0x00 }, "subsystem-vendor-id", Buffer (0x04) { 0x86, 0x80, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } } Small-Tree P2EI0G-2T PCI Device Implementation: Scope (\_SB.PC03.BR3A) { Scope (SL09) { Name (_STA, Zero) // _STA: Status } Scope (PEGP) { Name (_STA, Zero) // _STA: Status } Device (XGBE) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Store (Package (0x10) { "AAPL,slot-name", Buffer (0x07) { "Slot-6" }, "built-in", Buffer (One) { 0x00 }, "name", Buffer (0x30) { "Small-Tree P2EI0G-2T 10-Gigabit Ethernet Port 1" }, "model", Buffer (0x29) { "Small-Tree P2EI0G-2T 10-Gigabit Ethernet" }, "location", Buffer (0x02) { "1" }, "subsystem-id", Buffer (0x04) { 0x0A, 0x00, 0x00, 0x00 }, "device-id", Buffer (0x04) { 0x28, 0x15, 0x00, 0x00 }, "subsystem-vendor-id", Buffer (0x04) { 0x86, 0x80, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Device (XGBF) { Name (_ADR, One) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Store (Package (0x10) { "AAPL,slot-name", Buffer (0x07) { "Slot-6" }, "built-in", Buffer (One) { 0x00 }, "name", Buffer (0x30) { "Small-Tree P2EI0G-2T 10-Gigabit Ethernet Port 2" }, "model", Buffer (0x29) { "Small-Tree P2EI0G-2T 10-Gigabit Ethernet" }, "location", Buffer (0x02) { "1" }, "subsystem-id", Buffer (0x04) { 0x0A, 0x00, 0x00, 0x00 }, "device-id", Buffer (0x04) { 0x28, 0x15, 0x00, 0x00 }, "subsystem-vendor-id", Buffer (0x04) { 0x86, 0x80, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } } The 10-Gigabit NIC XGBE PCI implementation is mainly of cosmetic nature. For each PCIe Adapter and for different slot populations the XGBE PCI device implementation needs to be adopted/modified (see details above). This also states for the respective ACPI path entries "PC03", "BR3A" and respective SL09 -> PEGP and PEGP -> XGBE ACPI Replacements (in compliance with the iMac Pro 10GB ACPI variable nomenclature), directly performed within the SSDT-X299-iMacPro.aml. Those not employing any 10-GBit NIC in their system, can simply remove the corresponding SSDT PCI device implementation. E.9.2.10) - ETH0/ETH1 - onboard LAN Controller PCI Implementation: DefintionBlock entry: External (_SB_.PCI0, DeviceObj) // (from opcode) External (_SB_.PCI0.GBE1, DeviceObj) // (from opcode) External (_SB_.PCI0.RP02, DeviceObj) // (from opcode) External (_SB_.PCI0.RP02.D0A4, DeviceObj) // (from opcode) External (_SB_.PCI0.RP02.PXSX, DeviceObj) // (from opcode) External (DTGP, MethodObj) // 5 Arguments (from opcode) PCI Device Implementation: Scope (\_SB.PCI0) { Scope (GBE1) { Name (_STA, Zero) // _STA: Status } Device (ETH0) { Name (_ADR, 0x001F0006) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { Store (Package (0x10) { "AAPL,slot-name", Buffer (0x09) { "Built In" }, "built-in", Buffer (One) { 0x00 }, "name", Buffer (0x16) { "Intel I219V2 Ethernet" }, "model", Buffer (0x2A) { "Intel I219V2 PCI Express Gigabit Ethernet" }, "location", Buffer (0x02) { "2" }, "subsystem-id", Buffer (0x04) { 0x72, 0x86, 0x00, 0x00 }, "device-id", Buffer (0x04) { 0xB8, 0x15, 0x00, 0x00 }, "subsystem-vendor-id", Buffer (0x04) { 0x43, 0x10, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } } Scope (\_SB.PCI0.RP02) { Scope (D0A4) { Name (_STA, Zero) // _STA: Status } Scope (PXSX) { Name (_STA, Zero) // _STA: Status } Device (ETH1) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { Store (Package (0x10) { "AAPL,slot-name", Buffer (0x09) { "Built In" }, "built-in", Buffer (One) { 0x00 }, "name", Buffer (0x16) { "Intel I211VA Ethernet" }, "model", Buffer (0x2A) { "Intel I211VA PCI Express Gigabit Ethernet" }, "location", Buffer (0x02) { "2" }, "subsystem-id", Buffer (0x04) { 0xF0, 0x85, 0x00, 0x00 }, "device-id", Buffer (0x04) { 0x39, 0x15, 0x00, 0x00 }, "subsystem-vendor-id", Buffer (0x04) { 0x43, 0x10, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } } Note that the ETH0/ETH1 Intel I219V2 PCI Express Gigabit Ethernet and Intel I211VA PCI Express Gigabit Ethernet onboard LAN controller PCI implementations are of pure cosmetic nature and only valid for ASUS Prime X299 Deluxe or X299 mainboards with the same LAN Controller configuration. Owners of different X299 mainboards have to verify and adopt/modify if necessary the device these PCI device implementations by means of IOREG. Note the PCI0.GBE1 -> PCI0.ETH0, PCI0.RP02.D0A4 -> PCI0.RP02.PXSX and PCI0.RP02.PXSX -> PCI0.RP02.ETH1 ACPI replacements directly performed within the DSDT. E.9.2.11) - ARPT - OSX WIFI Broadcom BCM94360CD 802.11 a/b/g/n/ac + Bluetooth 4.0 AirPort Controller PCI Implementation: DefintionBlock entry: External (_SB_.PC03.BR3D, DeviceObj) // (from opcode) External (_SB_.PC03.BR3D.PEGP, DeviceObj) // (from opcode) External (_SB_.PC03.BR3D.SL0C, DeviceObj) // (from opcode) External (DTGP, MethodObj) // 5 Arguments (from opcode) PCI Device Implementation: Scope (_SB.PC03.BR3D) { Scope (SL0C) { Name (_STA, Zero) // _STA: Status } Scope (PEGP) { Name (_STA, Zero) // _STA: Status } Device (ARPT) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { Store (Package (0x0E) { "built-in", Buffer (One) { 0x00 }, "device-id", Buffer (0x04) { 0xA0, 0x43, 0x00, 0x00 }, "AAPL,slot-name", Buffer (0x07) { "Slot-3" }, "device_type", Buffer (0x13) { "AirPort Controller" }, "model", Buffer (0x4A) { "OSX WIFI Broadcom BCM94360CD 802.11 a/b/g/n/ac + Bluetooth 4.0 Controller" }, "compatible", Buffer (0x0D) { "pci14e4,43a0" }, "name", Buffer (0x10) { "AirPort Extreme" } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } } The ARPT OSX WIFI Broadcom BCM94360CD 802.11 a/b/g/n/ac + Bluetooth 4.0 AirPort Controller PCI device implementation is of pure cosmetic nature and only valid for users of the latter WIFI/Bluetooth PCIe Adapter in PCIe Slot 3. Users of this PCIe Adapter within a PCIe slot population different from PCIe Slot 3 have to adapt/modify the respective device path "PC03","BR3D","ARPT" and likely also the respective ACPI Replacements PC03.BR3D.SL0C -> PC03.BR3D.PEGP and PC03.BR3D.PEGP -> PC03.BR3D.ARPT, directly performed within the SSDT. Users of the Asus Prime X299 Deluxe onboard Bluetooth chipset controller or with a completely different WIFI/Bluetooth configuration have to adopt the entire Airport PCI implementation by means of IOREG. E.9.2.12) - DTGP Method: Method (DTGP, 5, NotSerialized) { If (LEqual (Arg0, ToUUID ("a0b5b7c6-1318-441c-b0c9-fe695eaf949b"))) { If (LEqual (Arg1, One)) { If (LEqual (Arg2, Zero)) { Store (Buffer (One) { 0x03 }, Arg4) Return (One) } If (LEqual (Arg2, One)) { Return (One) } } } Store (Buffer (One) { 0x00 }, Arg4) Return (Zero) } } The DTG Method Implementation is required for SSDT functionality and has not to be modified or adopted in any case. E.9.2.13) - Debugging Sleep Issues: For debugging sleep issues as proposed by Pike Alpha, one can add SSDT-SLEEP.aml to /EFI/CLOVER/ACPI/patched and follow Pike's comment and advices provided at https://pikeralpha.wordpress.com/2017/01/12/debugging-sleep-issues/ E.9.3) SSDT-X299-TB3-iMacPro-KGP.aml PCI Implementation The Thunderbolt PCI device implementation was formerly part of the SSDT-X299-iMacPro.aml. Due to it's exponentially growing complexity and length, this latter PCI device implementation has now been outsourced from SSDT-X299-iMacPro.aml and newly realised within it's proper and mostly independent aml-file, namely SSDT-X299-TB3-iMacPro-KGP.aml. The current Thunderbolt PCI device implementation is kept has close as possible to SSDT-9.aml of @TheOfficialGypsy's iMac Pro dumb. It also contains implementations mainly developed by @apfelnico and @nmano, but also @Mork vom Ork, @Matthew82, @maleorderbride and @TheRacerMaster. It is valid for both, the ASUS TBEX 3 and Gigabyte Alpine Ridge and allows for TB and XHC USB sleep/wake functionality with the THB_C cable plugged to the thunderbolt onboard header of the ASUS Prime X299 Deluxe. While XHC USB hot plug seems to work fine within this configuration, TB hot plug seems to require the removal of the THB_C cable. Thank's to @crismac2013 and @LeleTuratti for their findings! >>> https://youtu.be/Jakp5dCoFvY <<< Users of this PCIe Adapter within a PCIe slot population different from PCIe Slot 4 have to adapt/modify the respective ACPI path entries "PC01", "BR1A" and respective SL01 -> PEGP and PEGP -> UPSB ACPI Replacements, directly performed within the SSDT. DefintionBlock entry: External (_SB_.PC01, DeviceObj) // (from opcode) External (_SB_.PC01.BR1A, DeviceObj) // (from opcode) External (_SB_.PC01.BR1A.PEGP, DeviceObj) // (from opcode) External (_SB_.PC01.BR1A.SL01, DeviceObj) // (from opcode) External (_SB_.PWRB, DeviceObj) // (from opcode) External (AG12, UnknownObj) // (from opcode) External (DTGP, MethodObj) // 5 Arguments (from opcode) External (IO80, UnknownObj) // (from opcode) External (PG12, UnknownObj) // (from opcode) External (PICM, UnknownObj) // (from opcode) External (PWRB, DeviceObj) // (from opcode) PCI Device Implementation: OperationRegion (GNVS, SystemMemory, 0x4FEE6918, 0x0403) Field (GNVS, AnyAcc, Lock, Preserve) { OSYS, 16 } Method (OSDW, 0, NotSerialized) { If (LEqual (OSYS, 0x2710)) { Return (One) } Else { Return (Zero) } } Method (PINI, 0, NotSerialized) { Store (0x07DC, OSYS) If (XOSI ("Darwin")) { Store (0x2710, OSYS) } ElseIf (XOSI ("Linux")) { Store (0x03E8, OSYS) } ElseIf (XOSI ("Windows 2009")) { Store (0x07D9, OSYS) } ElseIf (XOSI ("Windows 2012")) { Store (0x07DC, OSYS) } Else { Store (0x07DC, OSYS) } } Method (XOSI, 1, NotSerialized) { Store (Package (0x0E) { "Darwin", "Linux", "Windows", "Windows 2001", "Windows 2001 SP2", "Windows 2001.1", "Windows 2001.1 SP1", "Windows 2006", "Windows 2006 SP1", "Windows 2006.1", "Windows 2009", "Windows 2012", "Windows 2013", "Windows 2015" }, Local0) Return (LNotEqual (Ones, Match (Local0, MEQ, Arg0, MTR, Zero, Zero))) } Scope (\_SB.PC01) { Scope (BR1A.SL01) { Name (_STA, Zero) // _STA: Status } Scope (BR1A.PEGP) { Name (_STA, Zero) // _STA: Status } Scope (BR1A) { Name (_STA, Zero) // _STA: Status } Device (BR1X) { Name (_ADR, Zero) // _ADR: Address OperationRegion (MCTL, SystemMemory, 0x60000188, 0x04) Field (MCTL, ByteAcc, NoLock, Preserve) { , 3, HGPE, 1, , 7, , 8, , 8 } Method (_INI, 0, NotSerialized) // _INI: Initialize { Store (One, HGPE) } Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters { 0x08, 0x40, One, Zero }) Name (SHPC, 0x40) Name (SPDS, 0x40) Name (MRLS, Zero) Name (CCOM, 0x10) Name (SPDC, 0x08) Name (MRLC, 0x04) Name (SPFD, 0x02) Name (SABP, One) Name (SPOF, 0x10) Name (SPON, 0x0F) Name (ALMK, 0x1C) Name (ALON, One) Name (ALBL, 0x02) Name (ALOF, 0x03) Name (PLMK, 0x13) Name (PLON, 0x04) Name (PLBL, 0x08) Name (PLOF, 0x0C) Name (HPEV, 0x0F) OperationRegion (PPA4, PCI_Config, Zero, 0x0100) Field (PPA4, ByteAcc, NoLock, Preserve) { Offset (0xA0), , 4, LDIS, 1, Offset (0xA2), Offset (0xA4), ATBP, 1, , 1, MRSP, 1, ATIP, 1, PWIP, 1, , 14, PSNM, 13, ABIE, 1, PFIE, 1, MSIE, 1, PDIE, 1, CCIE, 1, HPIE, 1, SCTL, 5, Offset (0xAA), SSTS, 7, Offset (0xAB), Offset (0xB0), Offset (0xB2), PMES, 1, PMEP, 1, Offset (0xB4) } Method (ATID, 0, NotSerialized) { Return (And (SCTL, 0x03)) } Method (PWID, 0, NotSerialized) { Return (ShiftRight (And (SCTL, 0x0C), 0x02)) } Method (PWCC, 0, NotSerialized) { Return (ShiftRight (And (SCTL, 0x10), 0x04)) } Method (ABPS, 1, NotSerialized) { If (LEqual (Arg0, One)) { Or (SSTS, One, SSTS) } Return (And (SSTS, One)) } Method (PFDS, 1, NotSerialized) { If (LEqual (Arg0, One)) { Or (SSTS, 0x02, SSTS) } Return (ShiftRight (And (SSTS, 0x02), One)) } Method (MSCS, 1, NotSerialized) { If (LEqual (Arg0, One)) { Or (SSTS, 0x04, SSTS) } Return (ShiftRight (And (SSTS, 0x04), 0x02)) } Method (PDCS, 1, NotSerialized) { If (LEqual (Arg0, One)) { Or (SSTS, 0x08, SSTS) } Return (ShiftRight (And (SSTS, 0x08), 0x03)) } Method (CMCS, 1, NotSerialized) { If (LEqual (Arg0, One)) { Or (SSTS, 0x10, SSTS) } Return (ShiftRight (And (SSTS, 0x10), 0x04)) } Method (MSSC, 1, NotSerialized) { If (LEqual (Arg0, One)) { Or (SSTS, 0x20, SSTS) } Return (ShiftRight (And (SSTS, 0x20), 0x05)) } Method (PRDS, 1, NotSerialized) { If (LEqual (Arg0, One)) { Or (SSTS, 0x40, SSTS) } Return (ShiftRight (And (SSTS, 0x40), 0x06)) } Method (OSHP, 0, NotSerialized) { Store (SSTS, SSTS) Store (Zero, HGPE) } Method (HPCC, 1, NotSerialized) { Store (SCTL, Local0) Store (Zero, Local1) If (LNotEqual (Arg0, Local0)) { Store (Arg0, SCTL) While (LAnd (LNot (CMCS (Zero)), LNotEqual (0x64, Local1))) { Store (0xFB, IO80) Sleep (0x02) Add (Local1, 0x02, Local1) } CMCS (One) } } Method (ATCM, 1, NotSerialized) { Store (SCTL, Local0) And (Local0, ALMK, Local0) If (LEqual (Arg0, One)) { Or (Local0, ALON, Local0) } If (LEqual (Arg0, 0x02)) { Or (Local0, ALBL, Local0) } If (LEqual (Arg0, 0x03)) { Or (Local0, ALOF, Local0) } HPCC (Local0) } Method (PWCM, 1, NotSerialized) { Store (SCTL, Local0) And (Local0, PLMK, Local0) If (LEqual (Arg0, One)) { Or (Local0, PLON, Local0) } If (LEqual (Arg0, 0x02)) { Or (Local0, PLBL, Local0) } If (LEqual (Arg0, 0x03)) { Or (Local0, PLOF, Local0) } HPCC (Local0) } Method (PWSL, 1, NotSerialized) { Store (SCTL, Local0) If (Arg0) { And (Local0, SPON, Local0) } Else { Or (Local0, SPOF, Local0) } HPCC (Local0) } Method (_OST, 3, Serialized) // _OST: OSPM Status Indication { Name (_T_1, Zero) // _T_x: Emitted by ASL Compiler Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler While (One) { Store (And (Arg0, 0xFF), _T_0) If (LEqual (_T_0, 0x03)) { While (One) { Store (ToInteger (Arg1), _T_1) If (LNotEqual (Match (Package (0x04) { 0x80, 0x81, 0x82, 0x83 }, MEQ, _T_1, MTR, Zero, Zero), Ones)) { If (LNot (PWCC ())) { PWCM (One) Store (One, ABIE) } } Break } } Break } } Method (EJ0L, 0, NotSerialized) { Store (0xFF, IO80) Store (SCTL, Local0) If (LNotEqual (ATID (), One)) { And (Local0, ALMK, Local0) Or (Local0, ALBL, Local0) } HPCC (Local0) Store (SCTL, Local0) Or (Local0, SPOF, Local0) HPCC (Local0) Store (SCTL, Local0) Or (Local0, PLOF, Local0) HPCC (Local0) Store (SCTL, Local0) Or (Local0, ALOF, Local0) HPCC (Local0) } Method (PMEH, 1, NotSerialized) { If (And (HPEV, SSTS)) { If (ABPS (Zero)) { Store (Arg0, IO80) ABPS (One) Sleep (0xC8) } } Return (0xFF) } Method (HPEH, 1, NotSerialized) { Store (0xFE, IO80) Sleep (0x64) Store (Zero, CCIE) If (And (HPEV, SSTS)) { Store (0xFD, IO80) Sleep (0x0A) Store (Arg0, IO80) Sleep (0x0A) Store (PPXH (), Local0) Return (Local0) } Else { Return (0xFF) } Store (0xFC, IO80) Sleep (0x0A) } Method (PPXH, 0, NotSerialized) { Sleep (0xC8) If (ABPS (Zero)) { If (LNot (PRDS (Zero))) { Store (One, LDIS) PWSL (Zero) PWCM (0x03) If (LEqual (MSSC (Zero), MRLS)) { ATCM (0x02) } Else { ATCM (0x03) } Store (Zero, ABIE) ABPS (One) Sleep (0xC8) Return (0xFF) } Store (Zero, ABIE) ABPS (One) Sleep (0xC8) If (PWCC ()) { PWCM (0x03) ATCM (0x02) Return (0xFF) } Else { PWCM (0x02) Sleep (0x0258) Store (0x0258, Local0) ABPS (One) Sleep (0xC8) While (LNot (ABPS (Zero))) { Sleep (0xC8) Add (Local0, 0xC8, Local0) If (LEqual (0x1388, Local0)) { ABPS (One) Sleep (0xC8) Return (0x03) } } PWCM (One) ABPS (One) Sleep (0xC8) Store (One, ABIE) Return (0xFF) } } If (PFDS (Zero)) { PFDS (One) PWSL (Zero) PWCM (0x03) ATCM (One) Store (One, LDIS) Return (0x03) } If (MSCS (Zero)) { MSCS (One) If (LEqual (MSSC (Zero), MRLS)) { If (PRDS (Zero)) { ATCM (0x03) PWCM (0x02) Sleep (0x0258) Store (0x0258, Local0) ABPS (One) While (LNot (ABPS (Zero))) { Sleep (0xC8) Add (Local0, 0xC8, Local0) If (LEqual (0x1388, Local0)) { Store (One, ABIE) ATCM (0x03) Store (Zero, LDIS) PWSL (One) Sleep (0x01F4) If (LNot (PFDS (Zero))) { PWCM (One) Store (Zero, Local1) Store (One, ABIE) } Else { PWSL (Zero) PWCM (0x03) ATCM (One) Store (One, LDIS) Store (0x03, Local1) } ABPS (One) Sleep (0xC8) Return (Local1) } } ABPS (One) Sleep (0xC8) PWSL (Zero) PWCM (0x03) ATCM (0x02) Store (One, LDIS) Return (0xFF) } PWSL (Zero) PWCM (0x03) ATCM (0x02) Store (One, LDIS) Return (0xFF) } Else { If (PRDS (Zero)) { ATCM (0x02) If (LNot (PWCC ())) { PWSL (Zero) PWCM (0x03) Store (One, LDIS) Return (0x03) } Else { Return (0xFF) } } ATCM (0x03) Return (0xFF) } } If (PDCS (Zero)) { PDCS (One) If (LNot (PRDS (Zero))) { PWSL (Zero) PWCM (0x03) If (LEqual (MSSC (Zero), MRLS)) { ATCM (0x02) } Else { ATCM (0x03) } Store (One, LDIS) Return (0xFF) } Else { Store (Zero, LDIS) PWSL (One) Sleep (0x01F4) If (LNot (PFDS (Zero))) { PWCM (One) Store (Zero, Local1) Store (One, ABIE) ATCM (0x03) } Else { PWSL (Zero) PWCM (0x03) ATCM (One) Store (One, LDIS) Store (0x03, Local1) } ABPS (One) Sleep (0xC8) Return (Local1) } } Return (0xFF) } Method (SNUM, 0, Serialized) { Store (PSNM, Local0) Return (Local0) } Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number { Return (SNUM ()) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AG12) } Return (PG12) } Device (UPSB) { Name (_ADR, Zero) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } OperationRegion (A1E1, PCI_Config, 0xC0, 0x40) Field (A1E1, ByteAcc, NoLock, Preserve) { Offset (0x01), Offset (0x02), Offset (0x04), Offset (0x08), Offset (0x0A), , 5, TPEN, 1, Offset (0x0C), SSPD, 4, , 16, LACR, 1, Offset (0x10), , 4, LDIS, 1, LRTN, 1, Offset (0x12), CSPD, 4, CWDT, 6, , 1, LTRN, 1, , 1, LACT, 1, Offset (0x14), Offset (0x30), TSPD, 4 } OperationRegion (A1E2, PCI_Config, 0x80, 0x08) Field (A1E2, ByteAcc, NoLock, Preserve) { Offset (0x01), Offset (0x02), Offset (0x04), PSTA, 2 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } Device (DSB0) { Name (_ADR, Zero) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } OperationRegion (A1E1, PCI_Config, 0xC0, 0x40) Field (A1E1, ByteAcc, NoLock, Preserve) { Offset (0x01), Offset (0x02), Offset (0x04), Offset (0x08), Offset (0x0A), , 5, TPEN, 1, Offset (0x0C), SSPD, 4, , 16, LACR, 1, Offset (0x10), , 4, LDIS, 1, LRTN, 1, Offset (0x12), CSPD, 4, CWDT, 6, , 1, LTRN, 1, , 1, LACT, 1, Offset (0x14), Offset (0x30), TSPD, 4 } OperationRegion (A1E2, PCI_Config, 0x80, 0x08) Field (A1E2, ByteAcc, NoLock, Preserve) { Offset (0x01), Offset (0x02), Offset (0x04), PSTA, 2 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LNot (Arg2)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x02) { "PCIHotplugCapable", One }) } Device (NHI0) { Name (_ADR, Zero) // _ADR: Address Name (_STR, Unicode ("Thunderbolt")) // _STR: Description String Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (Zero) } OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Store (Package (0x13) { "AAPL,slot-name", Buffer (0x07) { "Slot-4" }, "built-in", Buffer (One) { 0x00 }, "device_type", Buffer (0x19) { "Thunderbolt 3 Controller" }, "model", Buffer (0x20) { "Intel DSL6540 Thunderbolt 3 NHI" }, "name", Buffer (0x25) { "Intel DSL6540 Thunderbolt Controller" }, "pathcr", Buffer (One) { /* 0000 */ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x07, 0x00, 0x10, 0x00, 0x10, 0x00, /* 0010 */ 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0018 */ 0x00, 0x00, 0x07, 0x00, 0x10, 0x00, 0x10, 0x00, /* 0020 */ 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x0E, 0x00, /* 0028 */ 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0030 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0038 */ 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x01, 0x00, /* 0040 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0048 */ 0x00, 0x00, 0x07, 0x00, 0x02, 0x00, 0x01, 0x00 }, "ThunderboltDROM", Buffer (One) { /* 0000 */ 0x6D, 0x01, 0xC5, 0x49, 0xD5, 0x3E, 0x21, 0x01, /* 0008 */ 0x00, 0x04, 0xCE, 0x8D, 0x61, 0x01, 0x5E, 0x00, /* 0010 */ 0x01, 0x00, 0x0C, 0x00, 0x01, 0x00, 0x08, 0x81, /* 0018 */ 0x81, 0x02, 0x81, 0x00, 0x00, 0x00, 0x08, 0x82, /* 0020 */ 0x91, 0x01, 0x81, 0x00, 0x00, 0x00, 0x08, 0x83, /* 0028 */ 0x81, 0x04, 0x81, 0x01, 0x00, 0x00, 0x08, 0x84, /* 0030 */ 0x91, 0x03, 0x81, 0x01, 0x00, 0x00, 0x08, 0x85, /* 0038 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x86, /* 0040 */ 0x20, 0x03, 0x87, 0x80, 0x02, 0xC8, 0x05, 0x89, /* 0048 */ 0x50, 0x00, 0x00, 0x05, 0x8A, 0x50, 0x00, 0x00, /* 0050 */ 0x02, 0xCB, 0x0D, 0x01, 0x41, 0x70, 0x70, 0x6C, /* 0058 */ 0x65, 0x20, 0x49, 0x6E, 0x63, 0x2E, 0x00, 0x0C, /* 0060 */ 0x02, 0x4D, 0x61, 0x63, 0x69, 0x6E, 0x74, 0x6F, /* 0068 */ 0x73, 0x68, 0x00 }, "ThunderboltConfig", Buffer (One) { /* 0000 */ 0x01, 0x02, 0xFF, 0xFF, 0x04, 0x00, 0x03, 0x01, /* 0008 */ 0x01, 0x00, 0x04, 0x00, 0x05, 0x01, 0x02, 0x00, /* 0010 */ 0x03, 0x00, 0x03, 0x01, 0x01, 0x00, 0x01, 0x00, /* 0018 */ 0x03, 0x01, 0x02, 0x00, 0x04, 0x00, 0x03, 0x00 }, "power-save", One, Buffer (One) { 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } Return (Zero) } } Device (DSB1) { Name (_ADR, 0x00010000) // _ADR: Address Name (_SUN, 0x04) // _SUN: Slot User Number OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } OperationRegion (A1E1, PCI_Config, 0xC0, 0x40) Field (A1E1, ByteAcc, NoLock, Preserve) { Offset (0x01), Offset (0x02), Offset (0x04), Offset (0x08), Offset (0x0A), , 5, TPEN, 1, Offset (0x0C), SSPD, 4, , 16, LACR, 1, Offset (0x10), , 4, LDIS, 1, LRTN, 1, Offset (0x12), CSPD, 4, CWDT, 6, , 1, LTRN, 1, , 1, LACT, 1, Offset (0x14), Offset (0x30), TSPD, 4 } OperationRegion (A1E2, PCI_Config, 0x80, 0x08) Field (A1E2, ByteAcc, NoLock, Preserve) { Offset (0x01), Offset (0x02), Offset (0x04), PSTA, 2 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (Zero) } Device (UPS0) { Name (_ADR, Zero) // _ADR: Address OperationRegion (ARE0, PCI_Config, Zero, 0x04) Field (ARE0, ByteAcc, NoLock, Preserve) { AVND, 16 } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } Device (DSB0) { Name (_ADR, Zero) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1, Offset (0x3E), , 6, SBRS, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } Device (DEV0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } } } Device (DSB3) { Name (_ADR, 0x00030000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } Device (UPS0) { Name (_ADR, Zero) // _ADR: Address OperationRegion (ARE0, PCI_Config, Zero, 0x04) Field (ARE0, ByteAcc, NoLock, Preserve) { AVND, 16 } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } Device (DSB0) { Name (_ADR, Zero) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1, Offset (0x3E), , 6, SBRS, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Device (DEV0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } } } Device (DSB3) { Name (_ADR, 0x00030000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } Device (DEV0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } } } Device (DSB4) { Name (_ADR, 0x00040000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } Device (DEV0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } } } Device (DSB5) { Name (_ADR, 0x00050000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } } Device (DSB6) { Name (_ADR, 0x00060000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } } } } Device (DSB4) { Name (_ADR, 0x00040000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } Device (UPS0) { Name (_ADR, Zero) // _ADR: Address OperationRegion (ARE0, PCI_Config, Zero, 0x04) Field (ARE0, ByteAcc, NoLock, Preserve) { AVND, 16 } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } Device (DSB0) { Name (_ADR, Zero) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1, Offset (0x3E), , 6, SBRS, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Device (DEV0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } } } Device (DSB3) { Name (_ADR, 0x00030000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } Device (DEV0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } } } Device (DSB4) { Name (_ADR, 0x00040000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } Device (DEV0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } } } Device (DSB5) { Name (_ADR, 0x00050000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } } Device (DSB6) { Name (_ADR, 0x00060000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } } } } Device (DSB5) { Name (_ADR, 0x00050000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } } Device (DSB6) { Name (_ADR, 0x00060000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } } } } Device (DSB2) { Name (_ADR, 0x00020000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } OperationRegion (A1E1, PCI_Config, 0xC0, 0x40) Field (A1E1, ByteAcc, NoLock, Preserve) { Offset (0x01), Offset (0x02), Offset (0x04), Offset (0x08), Offset (0x0A), , 5, TPEN, 1, Offset (0x0C), SSPD, 4, , 16, LACR, 1, Offset (0x10), , 4, LDIS, 1, LRTN, 1, Offset (0x12), CSPD, 4, CWDT, 6, , 1, LTRN, 1, , 1, LACT, 1, Offset (0x14), Offset (0x30), TSPD, 4 } OperationRegion (A1E2, PCI_Config, 0x80, 0x08) Field (A1E2, ByteAcc, NoLock, Preserve) { Offset (0x01), Offset (0x02), Offset (0x04), PSTA, 2 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (Zero) } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LNot (Arg2)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x02) { "PCIHotplugCapable", Zero }) } Device (XHC5) { Name (_ADR, Zero) // _ADR: Address Name (SDPC, Zero) OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x10) { "AAPL,slot-name", Buffer (0x07) { "Slot-4" }, "built-in", Buffer (One) { 0x00 }, "model", Buffer (0x16) { "Intel DSL6540 USB 3.1" }, "name", Buffer (0x1D) { "Intel DSL6540 XHC Controller" }, "device-id", Buffer (0x04) { 0xB6, 0x15, 0x00, 0x00 }, "USBBusNumber", Zero, "AAPL,XHCI-clock-id", One, "UsbCompanionControllerPresent", One }) } Name (HS, Package (0x01) { "XHC1" }) Name (FS, Package (0x01) { "XHC1" }) Name (LS, Package (0x01) { "XHC1" }) Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (Package (0x02) { 0x6D, Zero }) } Device (RHUB) { Name (_ADR, Zero) // _ADR: Address Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (Zero) } Device (SSP1) { Name (_ADR, One) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0x09, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }) Name (HS, Package (0x02) { "XHC1", 0x05 }) Name (FS, Package (0x02) { "XHC1", 0x05 }) Name (LS, Package (0x02) { "XHC1", 0x05 }) Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x08) { "UsbCPortNumber", 0x03, "kUSBWakePortCurrentLimit", 0x0BB8, "kUSBSleepPortCurrentLimit", 0x0BB8, "UsbCompanionPortPresent", One }) } } Device (SSP2) { Name (_ADR, 0x02) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0x09, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }) Name (HS, Package (0x02) { "XHC1", 0x06 }) Name (FS, Package (0x02) { "XHC1", 0x06 }) Name (LS, Package (0x02) { "XHC1", 0x06 }) Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x08) { "UsbCPortNumber", 0x04, "kUSBWakePortCurrentLimit", 0x0BB8, "kUSBSleepPortCurrentLimit", 0x0BB8, "UsbCompanionPortPresent", One }) } } Device (HS01) { Name (_ADR, 0x03) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0x09, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }) } Device (HS02) { Name (_ADR, 0x04) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0x09, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }) } } } } Device (DSB4) { Name (_ADR, 0x00040000) // _ADR: Address Name (_SUN, 0x02) // _SUN: Slot User Number OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } OperationRegion (A1E1, PCI_Config, 0xC0, 0x40) Field (A1E1, ByteAcc, NoLock, Preserve) { Offset (0x01), Offset (0x02), Offset (0x04), Offset (0x08), Offset (0x0A), , 5, TPEN, 1, Offset (0x0C), SSPD, 4, , 16, LACR, 1, Offset (0x10), , 4, LDIS, 1, LRTN, 1, Offset (0x12), CSPD, 4, CWDT, 6, , 1, LTRN, 1, , 1, LACT, 1, Offset (0x14), Offset (0x30), TSPD, 4 } OperationRegion (A1E2, PCI_Config, 0x80, 0x08) Field (A1E2, ByteAcc, NoLock, Preserve) { Offset (0x01), Offset (0x02), Offset (0x04), PSTA, 2 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (Zero) } Device (UPS0) { Name (_ADR, Zero) // _ADR: Address OperationRegion (ARE0, PCI_Config, Zero, 0x04) Field (ARE0, ByteAcc, NoLock, Preserve) { AVND, 16 } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } Device (DSB0) { Name (_ADR, Zero) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1, Offset (0x3E), , 6, SBRS, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } Device (DEV0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } } } Device (DSB3) { Name (_ADR, 0x00030000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } Device (UPS0) { Name (_ADR, Zero) // _ADR: Address OperationRegion (ARE0, PCI_Config, Zero, 0x04) Field (ARE0, ByteAcc, NoLock, Preserve) { AVND, 16 } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } Device (DSB0) { Name (_ADR, Zero) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1, Offset (0x3E), , 6, SBRS, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Device (DEV0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } } } Device (DSB3) { Name (_ADR, 0x00030000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } Device (DEV0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } } } Device (DSB4) { Name (_ADR, 0x00040000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } Device (DEV0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } } } Device (DSB5) { Name (_ADR, 0x00050000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } } Device (DSB6) { Name (_ADR, 0x00060000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } } } } Device (DSB4) { Name (_ADR, 0x00040000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } Device (UPS0) { Name (_ADR, Zero) // _ADR: Address OperationRegion (ARE0, PCI_Config, Zero, 0x04) Field (ARE0, ByteAcc, NoLock, Preserve) { AVND, 16 } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } Device (DSB0) { Name (_ADR, Zero) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1, Offset (0x3E), , 6, SBRS, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Device (DEV0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } } } Device (DSB3) { Name (_ADR, 0x00030000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } Device (DEV0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } } } Device (DSB4) { Name (_ADR, 0x00040000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } Device (DEV0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } } } Device (DSB5) { Name (_ADR, 0x00050000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } } Device (DSB6) { Name (_ADR, 0x00060000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } } } } Device (DSB5) { Name (_ADR, 0x00050000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } } Device (DSB6) { Name (_ADR, 0x00060000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } } } } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LNot (Arg2)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x02) { "PCI-Thunderbolt", One }) } } } } Thanks to @nmano we now also have an additional SSDT, i.e SSDT-TB3-L02-BR1X.aml, which fixes further TB ACPI dependencies and which should be implemented in /EFI/Clover/ACPI/patches. This SSDT will permanently load the TB NHI0 and XHC USB PCI drivers, even in case that no TB devices are connected. Apparently it also resolves some TB sleep/wake issues. SSDT-TB3-L02-BR1X.aml can be substituted by a simple Clover DSDT patch to be included in the config plist: Comment: BR1A BR1X THB patch ©N.Mano Find: 42523141 48303030 60865C2F 045F5342 5F504349 30425231 41483030 3160865C 2F045F53 425F5043 49304252 31414830 30326086 5C2F045F 53425F50 43493042 52314148 30303360 865C2F04 5F53425F 50434930 42523141 48303034 60865C2F 045F5342 5F504349 30425231 41483030 3560865C 2F045F53 425F5043 49304252 31414830 30366086 5C Replace: 42523158 55505342 60865C2F 055F5342 5F504349 30425231 58555053 42445342 3060865C 2F055F53 425F5043 49304252 31585550 53424453 42316086 5C2F055F 53425F50 43493042 52315855 50534244 53423260 865C2F05 5F53425F 50434930 42523158 55505342 44534233 60865C2F 055F5342 5F504349 30425231 58555053 42445342 3460862A 51 Note that both TB-SSDTs are mainboard and slot-dependend! With the TBEX 3 or Alpine Ridge in a PCIe slot different from PCIe Slot-4, one needs to adopt both SSDT and DSDT patch in concordance with IOREG. All Gigabyte users with the TBEX 3 or Alpine Ridge in PCIe Slot-4 can use SSDT-X299-TB3-iMacPro-Gigabyte.aml and SSDT-TB3-L02-PR2X.aml.zip instead. E.10) System Overview CPU Cosmetics As our Skylake-X CPU at present will not be properly recognised by OS X, Apple's System Overview ("About This Mac") reveals incomplete or simply wrong CPU details. Many times CPU's like the i9-7980XE are implemented as "unknown"... I recently discovered on InsanelyMac a sophisticated fix of pure cosmetic nature developed by Shaneee (also thanks to fabiosun for pointing me to this direction), which allows to implement those CPU details you want to be implemented. For the sake of simplicity, I summarise the necessary steps once more below. Note that the following example is only valid for systems with English as main system language. If your system language is German, French, Spanish, Chinese etc., substitute "English.lproj" in the individual commands by the "lproj" of your System language! Thanks to @PedroJSkywalker for this latter important advice! 1.) Open a terminal and use the following commands: cp /System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/Resources/English.lproj/AppleSystemInfo.strings ~/Desktop/ sudo mv /System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/Resources/English.lproj/AppleSystemInfo.strings /System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/Resources/English.lproj/AppleSystemInfo.strings-Backup 2.) Open "AppleSystemInfo.strings" on your Desktop with TextWrangler and change <key>UnknownCPUKind</key> <string>Unknown</string> to what ever you want. In my case I choose: <key>UnknownCPUKind</key> <string>4,5 GHz 18-core 36-thread Skylake-X i9-7980XE</string> Save "AppleSystemInfo.strings" 3.) Run the following terminal commands: sudo codesign -f -s - ~/Desktop/AppleSystemInfo.strings sudo cp ~/Desktop/AppleSystemInfo.strings /System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/Resources/English.lproj/ and reboot your system. 4.) Open your config.plist with Clover Configurator and in Section "CPU" set "Type" to "Unknown". Save the config.plist and reboot. 5.) Apple's System Overview now will reveal the following details: As fall back option enter the following terminal commands: sudo rm /System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/Resources/English.lproj/AppleSystemInfo.strings sudo mv /System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/Resources/English.lproj/AppleSystemInfo.strings-Backup /System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/Resources/English.lproj/AppleSystemInfo.string and reboot. E.11) ASUS Boot Splash Screen Cosmetics Based on the ideas and instructions of @Matthew82 from InsanelyMac, I achieved an iMacPro ASUS Boot Splash Screen by means of the following procedure: 1.) Installation of the BREW distribution (if not already performed in Section B.1): a.) Open a terminal and change to "bash" shell. bash b.) Now enter the following "bash" terminal command and follow the standard BREW installation instructions: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 2.) After the successful installation of the BREW distribution, we have to implement the QT5 distribution, again by using a "bash" terminal shell. If not already performed in Section B1.), just enter the following "bash" terminal commands: brew install qt5 brew link qt5 --force 3.) After successfully implementing BREW and QT5, we can now download the most actual CodeRush UEFIPatch distribution from Github to our home directory with the following terminal command: git clone https://github.com/LongSoft/UEFITool 4.) Now compile the UEFI Tool distribution with the following terminal commands: cd /UEFITools/ qmake uefitool.pro make 5.) Download and unzip iMacPro.raw to your Desktop. 6.) Now launch by UEFITool by clicking on the newly compiled UEFITool.app in the UEFITools Folder in your home directory. a.) Select "File" -> "Open image file" and load your patched or unpatched BIOS Firmware distribution. Select "Search.." in the UEFITool "Edit" Menu and perform a "GUID" search of "7BB28B99-61BB-11D5-9A5D-0090273FC14D" with "Header only"... You will receive a message "GUID pattern "7BB28B99-61BB-11D5-9A5D-0090273FC14D" found as .... in 7BB28B99-....". Double click on that message and search for the "Raw section" accompanying the "7BB28B99-...." entry, which indeed is the Boot Image, which you can easily verify by extracting the raw section body (right-click on "Raw section" and select "Extract body") to your Desktop and by subsequently opening the extracted raw-file directly with Apple's "Preview.app" (right-click an the raw file and select "Open with.." -> Preview.app). b.) To exchange the default original ASUS Boot Logo image file stored in "Raw Section" by the iMacPro.raw image file that you previously downloaded to your Desktop, right-click again on "Raw section", select this time "Replace body" and select the iMacPro.raw image file on your Desktop. Note that the actual image dimension of iMacPro.raw (2131pix x 1457pix) was adopted for its use on my 38" LG 38UC99. For monitors with reduce screen resolution, iMacPro.raw might have to be adopted to an image dimension that suites your particular screen resolution, before its upload to "Raw section". If the Boot Logo image dimension is too big for your Monitor's screen resolution, you might just end up with a black screen during the BIOS initialisation at boot. To do so, select in the Preview.app Menu -> "Tools" -> "Adjust Size". Change the image dimension and save the modified image with "File" -> "Export". In the "Export menu" press "Save", after selecting "JPEG" under "Format" , after choosing "Desktop" as the place to store the image, and after entering the new file name, which has to end with ".jpg". Double-check by right-clicking on the resulting jpg image file and selecting "Get Info" that its file size does no exceed 200KB by far. If the latter would be the case, you would not be able to save the modified BIOS Firware file subsequently. Finally just rename your new "XXXX.jpg" file to "XXXX.raw.... I guess, that by following the procedure detailed above, it is obvious that iMacPro.raw also can be substituted by any other image of your personal choice. Just be aware that it's background colour should be black (ecstatic reason for a its nice integration within the else black ASUS BIOS Boot Screen) c.) After replacing "Raw Section" with iMacPro.raw or the XXX.raw image of your choice, save your modified BIOS Firmware File with the Option "File" -> "Save Image File..." d.) Copy your modified BIOS Firmware file to a USB3.0 Flash Drive, formatted with FAT32. e.) Reboot, enter the Mainboard BIOS and save your BIOS settings to the USB Flash Drive f.) Flash your mainboard BIOS with the modified BIOS Firmware g.) Renter the Mainboard BIOS and restore your BIOS settings from the USB Flash Drive h.) Save your restored BIOS settings with (F7) and (F10), reboot and you are done. Just don't forget to set BIOS Setting "Boot Logo Display" to "Auto", when using this new approach. Any different setting might result in a black screen during BIOS initialisation. E.12) Native Display Brightness Control / Native NightShift Functionality for Monitors with DCC/IC Support 1.) Native Display Brightness Control Many of you might miss the ability to control the display brightness with the F1/F2 keys on original Apple Keyboards, or with FN&F1/FN&F2 on non-Apple keyboards. @bensge wrote a small but genius application to do just that on any Hackintosh System and to show the native OSX brightness system UI. The App works for desktops and monitors that support DDC/CI. You have to connect your monitor to your GPU either via HDMI or DP. Note that you also have to enable DDC/CI support on your monitor to make the program work. This application automatically adds itself as a Login Item in your User Settings in System Preferences. Please carefully read all instructions on his NativeDiplayBrightness GitHub page before downloading the program. git clone https://github.com/Bensge/NativeDisplayBrightness/ cd ~/NativeDisplayBrightness/ xcodebuild The compiled NativeDisplayBrightness.app can be found in subfolder ~/NativeDisplayBrightness/build/Release To add the application as a Login Item in your User Settings in System Preferences, just double click on the App. If you're using an original Apple keyboard, this app won't work with your F1/F2 keys straight away. On non-Apple keyboards it won't work out off the box, even with FN&F1/FN&F2 as it should work . In both cases you need to additionally add two KernelToPatch entries in your config.plist in Section "Kernel and Kext Patches" of Clover Configurator: Name* Find* [Hex] Replace* [HEX] Comment com.apple.driver.AppleHIDKeyboard 30783030 30373030 33612c30 78666630 31303032 31 30783030 30373030 33612c30 78303030 37303033 61 by Wern com.apple.driver.AppleHIDKeyboard 30783030 30373030 33622c30 78666630 31303032 30 30783030 30373030 33622c30 78303030 37303033 62 by Wern 2.) Native NightShift Functionality for Monitors with DDC/IC Support To enable native NightShift functionality on the 38" LG 38UC99, one needs to download and unzip the respective Display Override Profile DisplayProductID-76fc, subsequently properly sign the file, and finally copy the file to /System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-1e6d/. The latter to steps can be done by the following terminal commands: cd ~/Downloads sudo codesign -f -s - DisplayProductID-76fc sudo cp DisplayProductID-76fc /System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-1e6d/ Subsequently you have to reboot and to newly adjust your Screen Resolution under "Display" in System Preferences. And your are done: Note that the attached Display Override Profile, does not allow a LG 38UC99 Monitor Frequency of 75Hz. Only 60Hz are supported. Many thanks to user @Ramalama for providing this approach to our community. NightShift should also work for the Acer 38" and Dell 38" Monitors. Yet @Ramalama misses the respective EDIDs. Any body with e.g. the Acer XR382CQK should immediately upload the requested information and contact @Ramalama by posting in this thread! Many thanks in advance! E.13) Logic-X and Audio Studio Software Functionality The ASUS BIOS patching, providing full read/write access for the OSX Kernel to the MSR 0xE2 register, apparently also circumvents the Intel SKZ7 bug and yet missing BIOS microcode implementations. The Xnu CPU Power Management (XCPM) is now solely handled by the OSX Kernel, which completely resolves all former Logic-X or other studio audio software implementations. The same states for all other X299 mainboards with factory-default open MSR 0xE2 register implementation. Nevertheless there is a second extremely important intrinsic LOGIC X configuration setting, which has to be adopted depending on the degree of sophistication of the studio audio hardware (Latency) in use. In the following description, I will provide the correct audio preference settings for the ASUS Prime X299 with the onboard Realtek ALC S1220A audio chip: 1.) Within Logic X go to "Preferences" -> "Audio" 2.) Under Advanced check "Show Advanced Tools" 3.) Go back to the "Audio" settings and adopt "I/O Buffer Size" from "128" to e.g. "512" or even better "1024" Samples, in case you really use the onboard Realtek ALC S1220A audio chipset. Users of more sophisticated Studio Audio Hardware with better latencies have to adopt the I/O Buffer Size accordingly to their hardware implementation. To check the now flawless functionality and performance of Logic-X, download, unzip and run the attached Logic-X test sample Test Hyperthreading Bug.logicx.zip of @DSM2. attached at the bottom of this originating post/guide. Note that the test sample sound volume output is zero, for avoiding epileptic or panic attacks at audience side... this is just a test sample to check the Logic-X functionality and performance and not a chart breaking audio sample. Start Intel Power Gadget (IPG) in parallel and play the test sample with Logic-X: You will rapidly notice that everything fully behaves as expected. The Hyperthreading-sample plays flawless at alternated CPU frequencies. All credits to @DSM2. E.14) iStatMenus Hardware Monitoring Thanks to extended tweet session between @BJango, @gxsolace and myself, it seems that we achieved a major step forward in properly monitoring Skylake-X/X299 Hardware with iStatMenus. iStatMenus now correctly interfaces with the HWSensor and FakeSMC kext distribution provided by @interferenc. The most actual iStatMenus v6.1 distribution can be assessed at https://bjango.com/mac/istatmenus/ The most actual HWSensor and FakeSMC kext distribution of @interferenc can be assessed at https://github.com/interferenc/HWSensors To compile the the HWSensor and FakeSMC kexts of @interferenc, perform the individual steps detailed below: 1.) git clone https://github.com/interferenc/HWSensors 2.) cp HWSensors ~/Desktop/ 3.) cd ~/Desktop/HWSensors 4.) xcodebuild -project Versioning\ And\ Distribution.xcodeproj/ 5.) xcodebuild -project HWMonitor.xcodeproj/ 6.) xcodebuild -project HWSensors.xcodeproj -alltargets Subsequently, one finds the all compiled binaries in ~/Desktop/HWSensors/Binaries/. Note that all compiled kext binaries are once more attached towards the bottom of this originating thread (guide). Just download and unzip HW-Sensors-IF.zip and copy all kexts to /EFI/Clover/kexts/Other/. Note that this pre-compiled binary package already implements a modified GPU Sensor kext of @Kozlek, which should also account for Polaris GPUs. Many thanks to both @interferenc and @Bjango for their awesome and extensive contributions and brilliant work! Skylake-X/X299 iStatMenus Hardware Sensor Data: Skylake-X CPU Thread Utilisation Graphs: To change from CPU core to thread utilisation monitoring, uncheck "Hide Hyper-Threading cores" in Section "CPU & GPU" of iStatMenus Preferences. Temperature unites can be adjusted between Celsius, Fahrenheit and Kelvin in Section "Sensors" of iStatMenus Preferences. F.) Benchmarking F.1) Sylake-X Intel I9-7980XE (4.8GHz) CPU Benchmarking Geekbench CPU Benchmark: Multi-Core Sore: 65.348 Single-Core Sore: 5.910 Cinebench Cpu Benchmark: 4.618 CB Compare with recent Geekbench results for the 18-core iMacPro (W2191B): Geekbench CPU Benchmark: Multi-Core Sore: 46.406 Single-Core Sore: 5.175 F.2) Gigabyte AORUS GTX 1080 Ti Waterforce EB 11GB Extreme Edition Benchmarking Geekbench OpenGl and Metal2 Benchmarks: OpenGL Sore: 229.965 Metal2 Sore: 242.393 G.) Summary and Conclusion: Already during the first individual macOS High Sierra 10.13 beta releases, Syklake-X/X299 systems reached full functionality together with flawless stability. Now with macOS High Sierra 10.13.5 (17F77), it might be the right moment to follow my build and Desktop Installation Guide to unfold the unbelievable Skylake-X/X299 potential together with macOS High Sierra 10.13 (special iMac Pro build)! I am quite optimistic that high-end builds based on extremely novel Skylake-X/X299 technology will find manifold application, not only in science and research at universities or research institutions, engineering facilities, or medical labs, etc... Skylake-X processors with up to 18 cores (36 threads) and turbo frequencies up to 4.8 GHz will make X299 to a "relatively cheap" but really serious alternative to the iMac Pro's and Mac Pro's. The principal intention of this desktop guide was to demonstrate, that we are able to build and configure fully functional and relatively "low-cost" high-end systems nowadays, which go far beyond of what Apple is able to offer at present or will be ever able to offer for some reasonable pricing. A Skylake-X/X299-System, that allows the use of all software-packages developed for MacOS, Unix, Linux or even Windows at the same time (e.g. think on Vine, Parallels, or a dual boot system configuration). The flexibility between different mainboards (Asus, Gigabyte, ASRock, MSI, etc.), different Skylake-X processors, and different RAM memory configurations (16-128GB) should make such system affordable for anybody (also home office, audio and video editing/production, etc.) and allow its perfect adaptation for the specific purpose, requirements and available budgets. It might not be necessary to outline, that current Skylake-X/X299 Systems perform absolutely stable on a 24/7/365 basis. I am a scientist, expert in solar physics, space weather forecast and related telescope/instrument/space-mission development. In the frame of my scientific research, I developed parallelized image reconstruction, spectral line inversion and numerical modeling algorithms/applications, which require tremendous parallelized calculation power, RAM memory and storage capacities to reduce, analyze and interpret extensive and pioneering scientific ground-based or space-born observational data sets. This basically was also the professional motivation for developing my innovative iMacPro macOS High Sierra Hackintosh Build iSPOR-S (the imaging Spectropolarimetric Parallel Organized Reconstruction Server running iSPOR-DP, the Imaging Spectropolarimetric Parallel Organized Reconstruction Data Pipeline software package for the GREGOR Fabry-Pérot Interferometer, located at the 1.5m GREGOR Solar Telescope (Europe's largest solar telescope) on Tenerife, Canary Islands, Spain) and for the entire respective iMac Pro Skylake-X/X299 Desktop User Guide Development, which hopefully will be also of benefit for others. Anybody interested can find more details on my personal webpage.
  2.  OS X 10.11 El Capitan UEFI Clover on Sony VAIO S PLEASE REFER TO THE GUIDE. I WILL NOT ANSWER QUESTIONS IF ALREADY ANSWERED IN THE GUIDE! BY FOLLOWING THIS GUIDE YOU AGREE TO TAKE THE RISKS AND RESPONSIBILITIES OF LOSING DATA. ALWAYS BACKUP! This guide will give you step-by-step instructions on How to Install OS X 10.11 El Capitan on Sony VAIO SVS13. Sony VAIO S13p (SVS13A2C5E) Specs: Intel Core i7-3520M 12GB SDRAM Intel HD Graphics 4000 NVIDIA GeForce GT 640M Samsung 850 Evo 250GB What's working? Intel HD4000 Graphics with QE/CI Acceleration HDMI Sound (Speakers, Microphone, Headphone Jack, HDMI, USB) Keyboard, Touchpad USB 2.0/3.0 Webcam Optical Drive Ethernet Bluetooth (Intel) Brightness Power button Sleep/Wake UEFI/NVRAM *WiFi (Broadcom/Atheros) *Airport Extreme 2,4GHz/5GHz *802.11ac/n/g/b/a *Bluetooth (Broadcom/Atheros) *Airdrop *Handoff & Hotspot with BT4LE What's partially working? Bluetooth Intel BT worked OOB but does not feature Handoff since it's not a BT4LE. Replace your chip with an Atheros or Broadcom one. Webcam Since the Exmor sensor built in is not the best, you get a dark image in OS X. Windows uses software/drivers to increase the brightness. What's not working? Intel WiFi Apple doesn't use Intel WiFi. Replace your chip with an Atheros or Broadcom one. Discrete graphics card NVIDIA GeForce 640M uses NVIDIA Optimus for dual-configuration which is not supported the same way on OS X. VGA Apple removed this feature in OS X 10.8.3 Mountain Lion SD-Card/Memory Stick Reader (no drivers for OS X) Speed/Stamina switch Fingerprint sensor (no drivers for OS X) Disc Eject/Assist/Web/VAIO buttons You need… ... an empty USB flash drive or an external hard drive (8gb at least) ... a Mac or a virtual machine with OS X (10.6.8 or later) On your Mac/OS X VM Download OS X 10.11 El Capitan from the App Store Create the OS X Installer You can actually create the OS X installer on the (external) hard drive but to keep things simple from now on I will refer to ‚USB‘. IF YOU HAVE IMPORTANT DATA ON YOUR USB, PLEASE MAKE A BACKUP! THE USB WILL BE FORMATTED AND EVERYTHING WILL BE DELETED! You can create the USB with either a MBR or a GPT partition scheme. If you select MBR, you will have to manually create a FAT partition for CLOVER EFI and a separate HFS+J partition for the OS X Installer. With GPT you just need 1 HFS+J partition and Disk Utility creates a hidden EFI partition. Since we will use this USB with a UEFI system, we can use GPT. On legacy system you need a MBR USB. Create Partition(s) on USB Open Disk Utility under /Applications/Utilities. Select the USB. Click on the Partition tab. Click on Partition Layout > 1 partition. Click on Options. Select GUID Partition Table. Apply with OK. Under Format select Mac OS Extended (Journaled). Under Name rename the partition to „install_osx“. Click on Apply. Click on Partition. When it’s finished creating the USB partition(s) close Disk Utility. Make OS X Installer on USB*1 Open Terminal and type this command, then press Enter: sudo /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia --volume /Volumes/install_osx --applicationpath /Applications/Install\ OS\ X\ El\ Capitan.app --nointeraction You need a password for this command*2. Type your password and press Enter. This process can take several minutes, depending on the USB write speed. Mine took 5 minutes to finish. Close Terminal. You now have a OS X installer for real Macs. We need the Clover bootloader to actually boot the OS X Installer on a non-Mac system. *1 The createinstallmedia method is not supported under OS X 10.6 Snow Leopard. Use alternative methods. *2 If you don't have a password (blank), you need to set one under System Preferences > User & Groups > Change Password Install Clover to USB Download Clover EFI bootloader. http://sourceforge.net/projects/cloverefiboot/ Open the Clover installer package. Click on Continue, Continue. Click on Change Install Location. Select your USB drive now called ‚Install OS X El Capitan’. Don't select the internal Hard Drive on your real Mac/VM! Click on Continue. Click on Customize. Check ‚Install for UEFI booting only‘. ‚Install Clover in the ESP‘ will be selected automatically and installed to the hidden EFI partition. Under Drivers64UEFI check ‚OsxAptioFixDrv2-64‘. Optional: Install BlueMac under Themes. Click on Install. Type your password. Click on Install Software. When it’s finished, press Close. Since the EFI partition is hidden, we need to mount it to copy some files. But the Clover installer already mounted it.*3 Go to the EFI partition (on your Desktop). Open the folder /EFI/CLOVER/drivers64UEFI Delete VBoxHFS.efi Download HFSPlus.efi https://github.com/JrCs/CloverGrowerPro/blob/master/Files/HFSPlus/X64/HFSPlus.efi?raw=true Copy HFSPlus.efi to /EFI/CLOVER/drivers64UEFI Go to the folder /EFI/CLOVER/kexts Delete all the folders inside /EFI/CLOVER/kexts except for ‚Other‘. Download FakeSMC https://bitbucket.org/RehabMan/os-x-fakesmc-kozlek/downloads Copy FakeSMC.kext to /EFI/CLOVER/kexts/Other Download VoodooPS2Controller https://bitbucket.org/RehabMan/os-x-voodoo-ps2-controller/downloads Copy VoodooPS2Controller.kext (Release) to /EFI/CLOVER/kexts/Other Download RealtekRTL8111.kext. https://bitbucket.org/RehabMan/os-x-realtek-network/downloads Copy RealtekRTL8111.kext to /EFI/CLOVER/kexts/Other If you have a RAID configuration, you will need HPRAIDInjector.kext Download HPRAIDInjector.kext Copy HPRAIDInjector.kext to /EFI/CLOVER/kexts/Other Download a config.plist for your system with appropriate frame buffer for your display resolution. 1366x768 config_HD4000_1366x768.plist 1600x900/1920x1080 config_HD4000_1600x900.plist To download, select File > Save As Under Format select Page Source. Select Desktop as your location. Click Save. Click Don’t Append. Rename the config file on your desktop to ‚config.plist‘. Copy config.plist from your Desktop to /EFI/CLOVER and replace the default one. Make a backup of your /EFI/CLOVER folder to the other USB partition (‚Install OS X El Capitain‘). You’ll need it later. Create a folder for that. Eject the EFI partition. Eject the USB. *3 If you unmounted/ejected the EFI partition of the USB, read the Mouning EFI section under Post Installation of this guide. On the Sony VAIO S BACKUP ALL YOUR IMPORTANT DATA BEFORE PROCEEDING. THE HARD DRIVE WILL BE FORMATTED AND EVERYTHING WILL BE DELETED! BIOS Settings Shut down your laptop. Press the Assist button. Press F2 to boot into BIOS. Restore default settings under the Exit tab. Make sure ‚UEFI‘ is on. Make sure ‚Booting from external device‘ is on.*4 Save settings. Shut down your laptop. *4 This option External Device Boot applies when you set the external device to first boot priority. it doesn't affect pressing F11 to boot from External Device. Boot the OS X Installer Plug in your USB into a USB 3 port. The USB 2 port will not work without GenericXHCI (GenericXHCI does not work in OS X 10.11 El Capitan anyway). Press the Assist button. Press F11 to boot from external device.*5 Press ENTER to boot the OS X Installer. *5 If you have set the External Device as first Boot Priority you don't have to boot from Rescue Mode (Assist Button). Just connect the USB and boot your Laptop. Installing OS X El Capitan Select language. Continue. Launch Disk Utility. Erase your hard disk. Rename your partition and apply. Exit Disk Utility. Install OS X. Continue. Select your hard drive partition. Install. This process creates the Recovery partition. After a while the OS X Installer will automatically restart and beging the real installation. The real installation can take several minutes, depending on read/write speeds. When it’s finished you will again boot into your USB’s Clover Menu. Select your partition in Clover Boot Menu and boot into OS X. Configure OS X. Installing Clover to the Hard Drive To boot without USB you need to install Clover again - this time your Hard Drive. It’s a similar process to installing it to USB. Download Clover EFI bootloader. http://sourceforge.net/projects/cloverefiboot/ Open the Clover installer package. Click on Continue, Continue. Click on Change Install Location. Select your Hard Drive partition. Continue. Don't select your USB. Click on Customize. Check ‚Install for UEFI booting only‘. ‚Install Clover in the ESP‘ will be selected automatically. Under Drivers64UEFI check ‚OsxAptioFixDrv2-64‘. Check ‚Install RC scripts on target volume‘ (Optional) Check ‚Install Clover Preference Pane‘ Click on Install. When it’s finished, press Close. Enable ‚Hard disks’ under Finder > Preferences > General > Show these items on the desktop. You can disable it later. Open the folder /EFI/CLOVER/drivers64UEFI Delete VBoxHFS.efi Open your USB drive. Copy the contents of the EFI-backup to EFI partition of your hard drive. Replace the files. Open the folder /EFI/CLOVER/kexts. Rename ‚Other‘ to ‚10.11‘. Restart your laptop without the USB and boot into OS X. Post Installation Mounting EFI Whenever you install something to the EFI partition, you will need to first mount it. Download Clover Configurator. https://dl.dropboxusercontent.com/u/182149214/cloverconf/app/10.10/CCV.zip Launch Clover Configurator. Mount EFI partition. Select diskXsY for your hard drive. Patching DSDT & SSDTs Extracting native ACPI files Boot into Clover bootloader menu. Press F4 on your keyboard. This will dump your native DSDT/SSDT files to /EFI/CLOVER/ACPI/origin. You will get no feedback. Proceed. Boot into OS X. Mount EFI. Patching ACPI files Download MaciASL. http://sourceforge.net/projects/maciasl/ Launch MaciASL. Go to MaciASL > Preferences > iASL. Set ACPI 5.1 under Compiler Options > ACPI Specifications. I created an automated terminal command to patch your DSDT/SSDTs. Either follow this method or the manual way. Automatic Patching with Terminal Manual Way Compiling ACPI files Open DSDT.dsl in MaciASL. Save as ACPI Machine Language Binary (aml) „DSDT.aml“. Open SSDT-2.dsl in MaciASL. Save as ACPI Machine Language Binary (aml) „SSDT-2.aml“. Including patched ACPI files in Clover Use this Terminal command or follow the manual way: Automatic with Terminal ​ Manual way: SSDT/Power Management Use ssdtPRGen to create a SSDT for your system. https://github.com/P...ha/ssdtPRGen.sh Open Terminal and type: curl -o ~/ssdtPRGen.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/master/ssdtPRGen.sh chmod +x ~/ssdtPRGen.sh Type this command to generate an SSDT for your system: ~/ssdtPRGen.sh Including created SSDT in Clover Use this Terminal command or follow the manual way: Automatic with Terminal ​ Manual way: Restart. Power Management Verification Download ApplteIntelInfo.kext (built by pokenguyen #284 Verify Speedsteps in terminal: cd ~/Downloads sudo chown -R root:wheel ./AppleIntelInfo.kext sudo chmod -R 755 ./AppleIntelInfo.kext sudo kextload AppleIntelInfo.kext cat /var/log/system.log | grep "AICPUPMI:" sudo kextunload AppleIntelInfo.kext Sleep/Wake Real Macs use Hibernation Mode. You need to deactivate hibernation mode. Open a Terminal window. Type these commands and enter: sudo pmset -a hibernatemode 0 sudo rm /var/vm/sleepimage sudo mkdir /var/vm/sleepimage Backlight The backlight patch and kext in OS X El Capitan has changed. If you use an older DSDT with patches already applied, you need to re-apply the backlight patches. Download ACPIBacklight.kext https://bitbucket.org/RehabMan/os-x-acpi-backlight/downloads Copy ACPIBacklight.kext to /EFI/CLOVER/kexts/10.11 Battery Download ACPIBatteryManager.kext https://bitbucket.org/RehabMan/os-x-acpi-battery-driver/downloads Copy ACPIBatteryManager.kext to /EFI/CLOVER/kexts/10.11 USB USB in El Capitan has significantly changed. We can no longer use GenericXHCI or USB 3 Multiplex patch. Download FakePCIID_XHCIMux.kext https://bitbucket.org/RehabMan/os-x-fake-pci-id/downloads Copy FakePCIID_XHCIMux.kext and FakePCIID.kext to /EFI/CLOVER/kexts/10.11 Clover method: DSDT patch method: Audio Download KextUtility. http://cvad-mac.narod.ru/index/0-4 Download DummyHDA.kext. https://www.dropbox.com/sh/u22fjjv499gax1u/AABuJriY_0xEA4fBmIswAFYka?dl=1 Install DummyHDA.kext with KextUtility. DummyHDA only works in /System/Library/Extensions Download CodecCommander.kext. https://bitbucket.org/RehabMan/os-x-eapd-codec-commander/downloads Install CodecCommander.kext with KextUtility. CodecCommanders (in OS X 10.11 El Capitan) only works in /System/Library/Extensions Add these patches to Clover under Kernel and Kext patches section: Name: AppleHDA Find: 8508EC10 Replace: 00000000 Comment: AppleHDA #1 of 3 Name: AppleHDA Find: 8419D411 Replace: 7502EC10 Comment: AppleHDA #2 of 3 AppleHDA #3 of 3 is not necessary in El Capitan anymore. It’s only for Yosemite/Mavericks. In El Capitan there is a new codec 0x11D41983 which must not be loaded. Otherwise AppleHDA has no sound output. Name: AppleHDA Find: 8319D411 Replace: 00000000 Comment: Disable the new codec 0x11D41983 (El Capitan) Under Devices in Clover use Audio Layout 3. Additional steps after OS X 10.11.4: Copy DummyHDA.kext from System/Library/Extensions to your Desktop. Right click on DummyHDA.kext and Show package content. Open the file Info.plist inside the folder Contents with a Text Editor. Search these lines: <key>OSBundleLibraries</key> <dict> Add this below the lines: <key>com.apple.iokit.IOPCIFamily</key> <string>1.1</string> <key>com.apple.iokit.IOACPIFamily</key> <string>1.2.0a1</string> Save and exit. Install DummyHDA.kext with KextUtlity. Rebuild Cache for Audio.*6 *6 Necessary if even after a reboot there is no sound. Look at Tuning/Tips section at the end of this guide. HDMI Depending on the IGPlatform ID you use, you may already have partial HDMI output. If you use IGP=3, you already have HDMI video but no audio. IGP=4 has no HDMI at all. Add these patches to Clover under Kernel and Kext patches section: Name: AppleIntelFramebufferCapri Find: 020500000004000007040000 Replace: 020500000008000006000000 Comment: HDMI-audio HD4000, port 0205 Name: AppleIntelFramebufferCapri Find: 030400000004000081000000 Replace: 030400000008000006000000 Comment: HDMI-audio HD4000, port 0304 Name: AppleIntelFramebufferCapri Find: 040600000004000081000000 Replace: 040600000008000006000000 Comment: HDMI-audio HD4000, port 0406 For HDMI-Video on IGP=4 you’ll need additional patches: Under Clover > Devices check ‚UseIntelHDMI‘. Restart. You may have to rebuild cache. Check "Rebuild Cache (for AppleHDA)" under Tuning & Tips section. WiFi & Bluetooth The Intel Wireless Card is not compatible with OS X. Only Bluetooth will partially work. Replace it with a compatible one. Atheros AR5B195 For compatible Atheros cards download toledaARPT. https://github.com/toleda/wireless_half-mini/blob/master/Deprecated%20Files/airport_kext_enabler/toledaARPT.kext.zip?raw=true This method is deprecated. If you wish to use a new method, follow the Airport - PCIe Half Mini guide http://www.insanelymac.com/forum/topic/292542-airport-pcie-half-mini/ For Bluetooth download and install IOath3kfrmwr.kext. https://bitbucket.org/RehabMan/os-x-atheros-3k-firmware/downloads Broadcom BCM94352 HMB (AzureWave AW-CE123H) For BCM94352 download FakePCIID_BCM94352Z_as_BCM94360CS2.kext or Broadcom.kext (2015-11-02 and later versions) Copy FakePCIID_BCM94352Z_as_BCM94360CS2.kext or Broadcom.kext to /EFI/CLOVER/kexts/10.11 Restart. Bluetooth/Handoff Patch Name: IOBluetoothFamily Find: 4885FF7447488B07 Replace: 41BE0F000000EB44 Comment: 10.11 BT4LE Handoff Hotspot 5GHz AirPort Patch Select only one patch appropriate for your country. Name: AirPortBrcm4360 Find: 4183FCFF742C48 Replace: 66C7065553EB2B Comment: 10.11-BCM94352-5GHz-US-FCC-dv Name: AirPortBrcm4360 Find: 58 54 00 25 18 2B 21 00 20 Replace: 58 54 08 0A 32 1B 43 00 0A Comment: 5 GHz Fix for BCM94352HMB with XT country Name: AirPortBrcm4360 Find: 4183FCFF742C48 Replace: 66C7064445EB2B Comment: 10.11-BCM94352-5GHz-de You can change the country code as you like. Read this post to. #329 Tuning & Tips Bootscreen Glitch Fix Name: IOGraphicsFamily Find: 0100007517 Replace: 010000EB17 Comment: OS X10.10.x/10.11.x Boot graphics glitch Alternative patch: Name: IOGraphicsFamily Find: 0100007517 Replace: 0100007417 Comment: OS X 10.11 Second Stage Boot Glitch fix SSD TRIM If you have an SSD, be sure to enable TRIM. SSHD doesn't count as an SSD. See below. Clover method Terminal method Verify under System Information SSD Check TRIM Support: Yes SSHD As you can see, it's not like the SSD above. It (Seagate SSHD 500GB) uses an HDD and has it own access to the SSD inside. The controller probably has TRIM support. No need for TRIM patch for SSHD. TurboDisable/DisableTurboBoostBattery.kext (deprecated) This kext will increase battery life by disabling TurboBoost speeds on battery. Increases battery life by disabling TurboBoost speeds on battery. Since Clover Rev. 3350 there is an option TurboDisable. You can find it in CloverConfigurator 4.28.0+ under CPU Section. Rebuild Cache (for AppleHDA) Boot into Clover Press Spacebar. Boot without Caches. Run KextUtility. Reboot. Modding VoodooPS2Controller Sources http://www.insanelymac.com/forum/topic/282787-clover-v2-instructions Booting the OS X installer on LAPTOPS with Clover - Guide by RehabMan 10.11+ USB changes and solutions - Guide by RehabMan [Fix] 10.11.4 broken audio with AppleHDA injector (dummyHDA) - Guide by RehabManhttp://www.insanelymac.com/forum/topic/295587-power-management-for-sandyivy-bridgehaswell-cpus/ http://www.insanelymac.com/forum/topic/292542-airport-pcie-half-mini Updated: 19:08 Tuesday May 10, 2016
  3. Introduction The H370 chipset powers 8th generation Intel Core-i CPUs. Even though the name H370 rings comparable to Z370, the H370 is based on newer silicon. This it also requires some new approaches compared to the Z370. An example would be on-die USB 3.1 and WiFi support. Since this guide is not a "hold-your-hand-every-step" guide, I assume you know: Clover installation and configuration How to create an install medium for MacOS Access and configure the BIOS Have heard of ACPI patching (I'm a newb at this myself) What works Sleep (via DSDT edits and emulated NVRAM) On-board Audio (via CloverALC script) Native power management (without any kext or patch) All USB ports (and only those present are active) iGPU for both acceleration and display dGPU (I'm running an Nvidia GTX 1080) Untested NIC --> I'm using WiFi only What doesn't work Native NVRAM via AptioMemoryFix.efi DMVT Pre-alloc higher than 64MB (but not necessary) Changes to the guide: 22.5.18: Added SSDT hot-patching to enable sleep, replacing DSDT static patching as an alternative. 23.5.18: Add iMac18,1 as alternative SMBIOS config for those relying on the iGPU for output 1. Installation This guide heavy inspired by the work of /u/corpnewt of /r/hackintosh and his (sorta) Vanilla guide 1.1 Create the install media for MacOS Follow this, if you are using a Mac to start off with. If you are totally new to MacOS, then please check the basic guide Creation of an installer media in windows or linux 1.2 Install Clover on the install media Using the Clover installer, ensure you are installing to the USB medium you are using for the installer. Chose the following options: AptioMemoryFix UEFI booting only Install to ESP You have to get your hands on an apfs.efi. A google search can help, or extracting it from the Installer package. Make sure you procure a version matching the MacOS version you are about to install. Place the apfs.efi in drivers64UEFI. 1.2 Adjust the config.plist for the installer You can use the config.plist attached as a guideline, but take a look at it before and at least adjust the SMBIOS - otherwise it won't boot. Attention: The attached plist contains audio patches introduced by a post-install step. If you run into problems, you might remove those. It also contains a manual slide value, which should normally not be needed, but works fine for me. It is also tuned for usage with an Nvidia Pascal dGPU as main GPU. The config you create now should serve you nicely for install and running the system. Take care of adding the following basics: SMBIOS: iMac18,3 - You can generate a serial number via Clover Configurator. The creation of a proper SMBIOS is covered in many guides to good extend Note: If you aim at using the iGPU for output, a user reported that iMac18,1 works better - since iMac18,3 produces sever flicker. Look at the graphics section and adjust the injection for Intel to your situation Fixes Patches Devices Graphics Kernel and Kext patches 1.3 kexts and friends Add the supplied SSDT-UAIC.aml to "patched" - it limits the injected USB Ports to the actual number and ports valid for this board. Required kexts on "Other": FakeSMC.kext IntelGraphicsFixup.kext Lilu.kext When having an Nvidia card: NvidiaGraphicsFixup.kext IntelMausiEthernet.kext in case you're running Ethernet USBInjectAll.kext with the HCI-300-series-injector.kext --> These two should be installed to /L/E after install We are leaving sound out at the moment, this is something for post-install. Please note the absence of Shiki, I don't find it necessary. Video material I tried made use of the iGPU without shiki. 1.4 Check BIOS and install You should be ready for install. But before you reboot, please take a look at your BIOS and set it up accordingly (copied from the aforementioned guide and adapted): Load Optimized Defaults Disable VT-d setting If your system has Secure Boot Mode, disable it Set OS Type to Windows 8/10 or OtherOS - I have not seen a difference Turn off internal Serial and Parallel port Turn off Network stack for boot Turn off wake-on-lan (for now) Set XHCI Handoff to Enabled Don't enable decode over 4G Depending on your GPU, set priority for boot Set internal GPU to enable Set DMVT pre-alloc to 64MB Set USB legacy to enabled Activate XMP profile 1 f your Ram has it (mine doesn't and I added the timings manually) Set ERP to enable, disable platform power management (I need to do more research if this could be enabled) I've attached my current BIOS config "hack2". You can place that on a fat32 drive (the EFI partition of your install USB drive might be an idea) and see if it loads. It's made for and with the F2 BIOS. The install itself should be like other MacOS Hackintosh installs with it several reboots and ensuring to select the correct boot device in Clover. 2. Post-install 2.1 Install clover on target This is a no-brainer, but install a fresh copy of Clover on your target medium. During install select again AptioMemoryFix but also additionally EmuVariableUefi-64.efi Install RC scripts on target volume because otherwise NVRAM doesn't seem to work After the install, copy config.plist contents of "Other" content of "patched" apfs.efi from drivers64UEFI to your new clover install. 2.1 Edit ACPI for slumber Choose one option, not both. The hot-patch is experimental, but for the moment it is stable. 2.1.1 Edit DSDT This is necessary only once on initial install and every time, you edit or upgrade the BIOS. The DSDT.aml attached to this post might work for your system or give you a file to compare to. Don't expect it to work for you, though. I won't go into the details of DSDT extraction and patching. There are better guides (the linked guide is a rip-off of rehabman's guide from a different forum). Please follow such a guide to extract your ACPI data. Locate and disassemble the DSDT with the newest iasl binary you can put your hands on, then open it with MacIASL in its newest version you can find (Hint: Here is a good source) You can check if the version is new enough if MacIASL doesn't throw error upon compiling a freshly extracted DSDT.aml or DSDT.dst Add rehabmans repo (as per linked guide) and apply the following patches: Rename _DSM to _XDSM Fix _WAK Arg0 v2 USB3 _PRW 0x6D Skylake (instant wake) Find the CNVW device and remove the _PWR function there. Compile the DSDT and place it in "patched". 2.1.2 Use SSDT hot-patching Instead of having to re-extract and re-patch the DSDT on every BIOS change or update, Hardware change one can also use ACPI hot-patching. It's a combination of config.plist patches and an SSDT, which is hot-patched into the ACPI (if I understand the process correctly) You need to add this SSDT-GPRW.aml to your Clover folder in the designated position at Clover/ACPI/patched You need to add this patch to your config.plist. It goes into the DSDT patch section Note: This works for me, but the patch removes the _PRW method from all devices in the DSDT. This could have side-effects. So far, I have seen none. At the moment I'm also not applying any other patch, compared with the additional edits I made to the DSDT method before. 2.2 Install kexts to system As mentioned in the install section, it's better to follow rehabman's instruction and install USBinjectAll.kext to /L/E: sudo cp -R Release/USBInjectAll.kext /Library/Extensions sudo touch /System/Library/Extensions && sudo kextcache -u / 2.3 Enable onboard Audio This is where I'm not so happy currently, I'd like it to work without altering AppleHDA. But currently I find no other way. 2.3.1 Install FakePCIID & FakePCIID_Intel_HDMI_Audio Rehabman tells us to use a kext installer to install it to /S/L/E. Chose the RELEASE folder 2.3.2 Run CloverALC command Ensure your EFI partition is mounted before running this command Get the newest version of CloverALC command (audio_cloverALC-xxx.sh) and run it. Our Audio codec is RTL887 and I'm running with layout ID 1 2.4 Optional steps If you have a dGPU, now it's the time to install its drivers and adjust the config.plist for it. This is out of scope of this guide. Yet, my supplied config.plist is ready to be used with Nvidia Pascal cards and using the Nvidia web driver. 3. ToDo Move away from static DSDT patching to SSDT hotpatching --> requires my work Native NVRAM --> requires developer work Audio without AppleHDA patching --> requires developer work 4. Thanks to @MaLd0nfor helping finding the right way with the DSDT @RehabMan, for being a legend and helping me out patching @toleda, for audio patches for the 300 series /u/corpnewt, for his superb vanilla guide @wmchris for his super XPS 9550 guide and introducing me to hot-patching all the developers of clover and it's awesomeness SSDT-UIAC.aml config.plist DSDT.aml hack2
  4. First... If you need DSDT edits for SkyLake, KabyLake or CoffeeLake... -Post your full Clover folder with original tables in Origin folder(Extract with F4 in Clover boot screen) -Run it, post files generated in your desktop RunMe.app Installation --Create a bootable copy of macOS Sierra Check out the link http://www.insanelymac.com/forum/files/file/559-flash-drive-maker/ --Create a bootable copy of macOS HighSierra Check out the link http://diskmakerx.com/ --Install Clover in USB stick https://sourceforge.net/projects/cloverefiboot/files/Installer/ --Replace with my Clover folder CLOVER.zip --Install Sierra/High Sierra and boot into system! Post Installation --Install Clover in HDD/SSD and replace with my folder CLOVER.zip --Reboot and activate video! -Nvidia WebDriver Sierra http://www.insanelymac.com/forum/topic/312525-nvidia-web-driver-updates-for-macos-sierra-update-07212017/ -Nvidia WebDriver High Sierra http://www.insanelymac.com/forum/topic/324195-nvidia-web-driver-updates-for-macos-high-sierra-update-10162017/ -Cuda http://www.insanelymac.com/forum/topic/302795-cuda-90214-is-out-update-10162017/ --DSDT My DSDT with patches for Skylake DSDT.MaLd0n ASUS Z170M PLUS.zip Patches -FIX ERRORS AND WARNINGS -HPET -SATA -SLPB -DMAC -DARWIN -LPC -XHCI -PLUGIN TYPE -HDAS to HDEF -HDEF -RTC -IRQs -SBUS -BUS1 -MCHC -ALS0 -SHUTDOWN -LAN -USBX -PMCR -EC -IMEI -PNLF -HDMI --FakeSMC http://www.hwsensors.com/releases --Audio https://github.com/vit9696/AppleALC --USB https://bitbucket.org/RehabMan/os-x-usb-inject-all/downloads --LAN https://github.com/Mieze/IntelMausiEthernet -Credits and thanks to the old and new people in the community who developed patches, kexts and bootloaders! 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 and many, many, many others! We're all here to have fun and learn from each other! ENJOY!
  5. --Create a bootable copy of macOS Sierra http://www.insanelymac.com/forum/files/file/559-flash-drive-maker/ --Create a bootable copy of macOS HighSierra http://diskmakerx.com/ --Install Clover in USB stick https://sourceforge.net/projects/cloverefiboot/files/Installer/ --Replace with my Clover folder CLOVER.zip --Install Sierra/High Sierra and boot into system! Post Installation --Install Clover in HDD/SSD and replace with my folder CLOVER.zip --Nvidia WebDriver Sierra http://www.insanelymac.com/forum/topic/312525-nvidia-web-driver-updates-for-macos-sierra-update-07212017/ --Nvidia WebDriver High Sierra http://www.insanelymac.com/forum/topic/324195-nvidia-web-driver-updates-for-macos-high-sierra-update-10162017/ --Cuda http://www.insanelymac.com/forum/topic/302795-cuda-90214-is-out-update-10162017/ Now you need a fine tune! --DSDT DSDT.GA H97M-D3H MaLd0n.zip Patches -FIX ERRORS AND WARNINGS -HPET -SATA -SLPB -EHCx -DARWIN -LPC -XHCI -HDEF -RTC -IRQs -SBUS -BUS1 -MCHC -ALS0 -SHUTDOWN -LAN -PNLF --Power Management Use "plugin-type"=1 in DSDT, SSDT or Clover config.plist --Brightness Install .app, select the required permission and reboot. Work in F1 / F2 keys! NativeDisplayBrightness.app.zip https://github.com/Bensge/NativeDisplayBrightness/releases *in some cases .app don't work, check patches in config.plist inside Clover folder Post Install --FakeSMC https://bitbucket.org/RehabMan/os-x-fakesmc-kozlek/downloads/ --Audio https://github.com/vit9696/AppleALC --USB https://bitbucket.org/RehabMan/os-x-usb-inject-all/downloads --LAN http://www.insanelymac.com/forum/topic/287161-new-driver-for-realtek-rtl8111/ -Credits and thanks to the old and new people in the community who developed patches, kexts and bootloaders! 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 and many, many, many others! We're all here to have fun and learn from each other! ENJOY!
  6. ***See Second Post Below*** The latest! (01.14.13) I'm going to start scheduled updates to the guide/Gatsby Pack. If I fix something, or someone else fixes something, I'll update everything here on the following Friday. So like this Friday I'll update the Gatsby m6-1045dx pack for three-finger swipe actions, and I can probably add the BIOS update, in case HP's website goes down or whatever. Good News, Everyone (12.28.12) USB 3.0 ports work, at least with the latest BIOS update, but they only work with 3.0 devices. I was only recently able to test this. Furthermore, a lot of 2.0 devices work with the 3.0 ports, like wireless mouse dongles. Things that don't work include flash drives, iPhones, Android phones, pretty much anything that transfers files. Sound is now fully-functional (see the post in this thread about sound). Still on Tap (to fix) Intel Turbo/SpeedStep (I know it should be working, but I have a feeling it isn't) USB 2.0 functionality in the 3.0 ports Mapping for action keys with the latest VoodooPS2.kext that enabled three-finger swiping and brightness adjustment Sound sometimes cuts out, like with YouTube videos and Spotify... I haven't had an issue since updating to 10.8.2, at least I don't think..so we'll see. Sleep (supports the theory that SpeedStep and TurboBoost aren't working) SD Card reader I'm probably not going to bother with HDMI audio, VGA out, or getting ethernet to work post boot, they're nominal issues IMO.
  7. Run macOS Sierra on a Dell Latitude E6320 NO ONE IN THIS FORUM (INCLUDING ME) IS RESPONSIBLE FOR ANY LOSS (DATA, MATERIAL, EQUIPMENT…) OCCURRED TO YOU, YOU ARE THE ONLY ONE RESPONSIBLE, AND BY FOLLOWING THESE INSTRUCTIONS YOU AGREE TO TAKE ALL THE RISKS AND RESPONSIBILITIES. THIS INSTALLATION ISN'T WITHOUT RISKS SO TAKE ALL THE PRECAUTIONS BEFORE DOING ANY FOOLISH ACTION, BACKUP YOUR DATA! This tutorial will describe the steps to install macOS Sierra on a Dell Latitude E6320 i5 2520M. If you find any mistakes or have something to improve then please send me a PM and i will update the tutorial. A special thanks goes to Brian from Tech Erra, 9 to 5 Mac and Morpheousman for using parts of their tutorial I am from The Netherlands so sorry for my bad English. 1. Credits/Sources Everything OSx86-related is a collaborative effort amongst people who enjoy doing these things, as well as those of us who enjoy tweaking and experimenting with things. Below are a list of sources used to compile this guide: OSX Latitude.com Tech Erra OSX86 Wiki InsanelyMac Forum member Jake Lo from OSXLatitude.com for helping me out with installing. Morpheousman and Polyzargon from InsanelyMac who helping me with my other topics. (Dell 780) MacPeet, Chris1111 and all other forum members who helping out the community. A special thanks goes to Brian from Tech Erra, 9 to 5 Mac and Morpheousman for using parts of their tutorial. And Hervé from insanelymac for using is modified DSDT.aml for E6320 2. Requirements Here are the requirements: A Dell Latitude E6320 – This is necessary to install macOS Sierra for this tutorial A copy of Mac OS X – This can be in the form of an existing hackintosh, a virtual machine within Windows or Linux, or even a regular Mac. If you don’t have any of these things, then find someone who can help you out for a while. I prefer using a hackintosh with OSX El Capitan, Using an already working copy of Mac OS X either in a VM or a native hackintosh install is HIGHLY recommended. A 8GB USB flash drive (or larger) – We’ll be copying the files to the drive appropriately, so make sure that you have a flash drive with enough storage space (8GB or larger). A copy of macOS Sierra – The method used by this guide requires that you have a copy of the macOS Sierra Installation app, wich is available for free from the Mac App Store. 30-60 minutes of time – Depending on how tech-savvy you are, this may be quick, or it may take a while. An SSD or HDD to install 10.12 to – For me, I used a 500GB HDD to install 10.12 to. An Wireless N Nano USB Adaptor – For use with wifi Highly recommended. I use a TP-LINK TL-WN725N adaptor. E6320_V2.zip – This ZIP file contains everything that you need to get your flash drive properly prepared. 3. My Specs My installation was successfully done on an Dell Latitude E6320 i5-2520M laptop computer with the following specs. Intel Core i5-2520M @ 2.5GHz, 3MB cache, Dual Core 4GB DDR3 1333Mhz RAM Western Digital 250GB HDD INTEL HD3000 Video Intel 825xx onboard network Dell wireless 375 Bluetooth 3.0 onboard (works OOB) IDT 92HDxxx HD audio onboard TL-WN725N Wireless N Nano USB Adaptor Apple Magic Trackpad (only @home) Apple Wireless Keyboard US (only @home) Apple Magic Mouse 4. Download OS X Sierra Download macOS Sierra from the Mac App Store. Once macOS Sierra is downloaded, close the install pop-up that appears using Command (⌘)+Q. The application INSTALL macOS Sierra will appear in /Applications Done! 5. Prepare bootable USB Installer Note on flash drives: You will need a USB flash drive to make this work. Your USB should be at least 8GB and a USB 3.0 drive is preferred. Kingston sells an 8GB USB 3.0 drive for less than 10 euro. Now, we need to prepare the USB Drive so that it will properly bootup on your PC. Make sure that the disk you choose to use doesn't contain anything that you want to keep, because the following tutorial will purge everything on the drive. Open Finder - Applications and right-click on Install macOS Sierra and select Show Package Contents. Open Contents - Resources. Open a Terminal window thru Applications - Utilities - Terminal. In the Terminal window type sudo followed by a space. Drag the createinstallmedia file from the finder window opened in Step 4 to the Terminal Window. Type --volume followed by a space. Connect your USB drive and drag the USB drive into the Terminal Window. Type --applicationpath in the Terminal followed by a space. Open Finder - Applications and drag the Install macOS Sierra into the Terminal Window. Press Return on the keyboard to submit the full command. Type a 'Y' to continue when prompted to do so, and press Return on your keyboard The install process will begin by erasing the contents of your USB disk and copying the installer files to the USB disk. The entire process is quite lengthy; it can takes around 15-30 minutes, so you will need to show some patience 6. Installing Clover to the USB Disk Unpack the E6320.zip to your desktop or specified map you preferred. Open the map E6320 - Clover_v2.3k_r3726. DubbleClick on the Clover_v2.3k_r3726.pkg package file. Clover installation screen will be prompt. Click on Continue - Continue. Click on Change Install Location on the right bottom. Choose your USB Stick named Install macOS Sierra Public Beta click on Continue. Click on Customize on the left bottom. Choose Install Clover in the ESP Choose Bootloader : Install boot0af in MBR Choose in Clover EFI for CloverEFI 64- Bits SATA At last choose Install RC Scripts on target volume Click after that on Install. Clover will installed on the EFI Partition on the USB after install you can see the EFI partition in Finder. 7. Prepare USB stick for the Dell E6320 Now, we need to prepare the USB Drive so that it will properly bootup on your Laptop. Go to map where you have unpacked the E6320 zip file there you will find a map called EFI. Copy the map EFI and go to your EFI partition thru Finder. Paste the EFI folder in the EFI partition and replace everything. Done your USB Stick is ready to boot macOS Sierra installer. 8. Bios Settings Dell Latitude E6320 Before we boot from the Dell Latitude we need to optimize the bios for OSX Sierra Start your Dell Latitude and press F2 to get into the Bios. In the main screen click on "Load Defaults", the bios will be reset to default settings. Go to General - Boot Sequence and choose on the right for USB Device and click the up arrow so that the USB Device is on top, click on apply to make the setting. Go then to System Configuration - SATA Operation and choose on the right for AHCI click again on apply and choose exit, now the Bios is ready for installing OSX Sierra. 9. Installing OSX Sierra from your USB drive Time for the fun stuff! We’ll now boot from your USB drive and install macOS Sierra onto the Hard Drive. Using a USB 4G flash drive will help things out quite a bit. Power on unit while tapping F12 Key to choose boot device, select USB device. When Clover boot screen is visible, choose boot "Install macOS from Sierra USB Installer". Choose you desired language and click on the arrow, the macOS Utilities screen will appear. For a new installation of macOS, you must erase and format the destination drive according to the following steps before continuing. If you are upgrading from Mavericks , Yosemite or El Capitan and you want to keep your files and apps, skip steps 1-9. (NOT TESTED IN SIERRA) Choose in the macOS utilities for Disk Utility and click Continue. Disk Utility will be opened, highlight your target drive for macOS Sierra installation in the left column. Click ERASE button on top. Under Name: Type Sierra or any other name. Under Format: Choose Mac OS Extended (Journaled). Under Scheme: Choose GUID Partition Map. Click Erase. Click on Done. Close Disk Utility you will be prompted to the macOS Utilities screen. In the macOS Utilities screen choose Install macOS and click 2x on Continue. Agree the license agreement and click again on Agree When the installer asks you where to install macOS, choose your Sierra HDD click on Install. Sierra will be installed on the HDD, this will take about 6 - 15 minutes depending of your HDD. Upon completion, system will restart a 1st time. Press F12 key to choose the boot device. When the Clover Boot screen is visible, Choose "Boot macOS Install from Sierra". macOS will continue to Install the OS on your HDD this will take about 10 -25 minutes after that the installation will be finished and your laptop will reboot. 10. Booting for the first time macOS Sierra When the Clover Boot screen is visible, Choose "Boot MAC OS X from Sierra" You will eventually get to the setup screens for macOS Sierra. Go through the setup process to setup macOS Sierra. At the country selection choose your country and press continue. Select Your Keyboard choose ABC and press Continue. Choose at "How do i connect to the internet " ..."My Computer Does Not Connect to the Internet", we will fix this later, go further with the setup process and press continue. Choose at Transform Information To This Mac for "Don't Transfer any information now" click on Continue. At Enable Location Services for "Enable Location Services on this Mac" click Continue. Agree the Terms and Conditions. Create your Computer Account and uncheck "Set time zone based on current location" press Continue. Choose your Timezone and click Continue. At the Diagnostic screen click Continue. The setup process is ready, Done!. 11. Setting up your keyboard When the setup is finished the Keyboard Setup Assistent will appear. Press Continue to Identify Your Keyboard. You will ask to press some keys. After pressing some keys you will get the message Your Keyboard Cannot Be Identified, press OK. Choose at Select the Keyboard Type for ANSI (United States and others) Press Done your Keyboard is setup 12. Adjust some settings in macOS 10.12 Once in 10.12 go to Finder – Preferences – General and choose in show these items on the desktop for Hard Disk External Disk Go to tab Sidebar and choose your desired Favorites, Shared and Devices. Close the Finder Preferences. 13. Change Security & Privacy for 3rd party software Start Terminal choose GO - Utilities - Terminal. In Terminal type sudo spctl --assess --master-disable followed by password to activate the option in Security & Policy "Allow apps downloaded from" Anywhere. Go to System Preferences – Security& Privacy and look of the option "Anywhere" is active if not activate the option. Close system preferences. 14. Revert HDD for proper boot. Launch Terminal and execute the following command: sudo diskutil corestorage revert / When prompt type your password. Exit Terminal and reboot again with your USB to macOS. 15. Installing Clover to the HD The steps 15 and 16 are the same as steps 6 and 7 but now we will install clover to the HDD of the E6320. Unpack the E6320.zip to your desktop or specified map you preferred. Open the map E6320 - Clover_v2.3k_r3726. DubbleClick on the Clover_v2.3k_r3726.pkg package file. Clover installation screen will be prompt. Click on Continue - Continue. Click on Change Install Location on the right bottom. Choose your HDD named Sierra click on Continue. Click on Customize on the left bottom. Choose Install Clover in the ESP Choose Bootloader : Install boot0af in MBR Choose in Clover EFI for CloverEFI 64- Bits SATA At last choose Install RC Scripts on target volume Click after that on Install, Clover will installed on the EFI Partition on the USB after install you can see the EFI partition in Finder. 16. Prepare HDD for booting the Dell E6320 Now, we need to prepare the HDD Drive so that it will properly bootup on your PC. Go to map where you have unpacked the E6320 zip file there you will find a map called EFI. Copy the map EFI and go to your EFI partition thru Finder. Paste the EFI folder in the EFI partition and replace everything. Done your E6320 is ready to boot macOS Sierra. 17. Install Wlan driver for the TL-WN725N The wireless lan on the Dell E6320 doesn’t work, therefore I use a Wireless N USB Nano Adaptor from TP-LINK. The software is straight forward and installs without problems. Go to your E6320 folder which you have extracted to your HDD of your macOS Sierra. Open the map "beta driver for mac os X 10.11" . Run Installer_RTL.pkg Click Continue - Continue - Continue - Agree - Install Enter your Password and click Install Software - Continue Installation Click Restart to Reboot your Laptop. The first time you will get a kernel panic don't worry reboot again and the laptop will start macOS Sierra. Done! 18. What's working? Just about everything. 19. Finished! You’ve successfully installed macOS Sierra onto your Dell Latitude E6320. TROUBLESHOOTING 20. iMessage & FaceTime Fix You will need MLB and Rom numbers from a legit Mac device that is on the mac server. Run iMessage debug on a iMac, Macbook, etc and make a copy and paste of the Terminal output. Open Clover Configurator. Mount EFI Partition. Import config.plist from EFI/EFI/Clover (File , import configuration, browse to config.plist and select). In Clover Configurator Click on RT Variables, Enter Rom and MLB Values from iMessage output from valid iMac device. Save changes to config.plist. Reboot, Sign into iMessage. iMessage and FaceTime should now both be working. 21. BOOT 0 Error If you are using a 4k HDD you can get boot:0 error, to solve this issue do the following. Reboot system back into Sierra installer (USB)FLASH DRIVE). Run Disk Utility find the Disk Identifier (eg. disk0s2). Unmount the drive you installed Sierra on. Launch Terminal and execute the following command: dd if=/usr/standalone/i386/boot1h of=/dev/disk0s2. Exit Terminal. Boot Normally. Run macOS Sierra 10.12 E6320.pdf
  8. Hi there, time for my first guide after asking so many things Updated for newer Clover versions and with additional instructions for more apps: gdisk and RU. So what may be overlooked sometimes in the whole boot loader discussion is the ability of UEFI to do more than just loading an OS. This is why I see ".efi" files as "apps" because in fact they just are, built on a special kind of API: UEFI. So, you can actually do stuff like editing, diagnosing, testing certain stuff at the lowest possible system level without booting to any OS. DISCLAIMER: Use this guide at your own risk! For educational purposes only! Should do not any harm, but remember you are dealing with rather low level stuff. But at least for me everything went flawless. Prerequisites: Working clover installation Clover Configurator or some app to edit the config.plist 1) Memtest This is how to install the UEFI version of Memtest with Clover: Download memtest, I used this link: Image for creating boot-able USB Drive Open the archive by double clicking on it. Mount the file memtest86-usb.img within by double clicking again. Now, you should see a folder named EFI in this volume, containing a folder BOOT. Open it. The files containing it are the actual app, in 32 and 64 bit versions. Think in almost all cases we want to use the 64 bit version. Now, mount your EFI partition, using Clover configurator. Create a folder named MemTest86 in the EFI folder on your main drive. Copy all files in the EFI/BOOT folder from the mounted image to your newly created folder. That ends the basic setup! Now, we add the correct Menu entry to the clover boot menu, so that we can actually start this app. Get into clover configurator, open your standard config.plist from your boot drive and go to the GUI section. Under "Custom Entries", add an entry like this: Please note while the path you enter is not case sensitive, you must make sure you use the backslash "\" for entering paths, and not a slash. So basically what we do is tell clover where it can find the app, give it a name, and tell clover it is a "Windows" app. Note: with older Clover versions we had to set this to "Linux", but for now "Windows" is the setting that works. If you prefer to do a manual config, add this entry to your config.plist, under GUI/Custom/Entries: <dict> <key>CustomLogo</key> <true/> <key>Disabled</key> <false/> <key>FullTitle</key> <string>MemTest86</string> <key>Hidden</key> <false/> <key>Ignore</key> <false/> <key>Image</key> <string>\EFI\CLOVER\themes\Icons\os_mint.png</string> <key>Path</key> <string>\EFI\MemTest86\BOOTX64.efi</string> <key>Type</key> <string>Windows</string> <key>VolumeType</key> <string>Internal</string> </dict> Now, save and reboot and you should see the newly created entry. Note that I also used a custom Icon - this is optional - in case you don't you will just see a generic windows icon instead: And this is how it looks like: PS: also noticeably faster and you get also more features with this version than with the older version, for example it does now write a log file. For more Information, see: http://www.passmark.com/forum/showthread.php?4315-Memtest86-Version-5-Beta-%28Pure-UEFI%29 2) gdisk Another app you can use is the UEFI version of gdisk (aka GPT fdisk), which you can use to edit and change your partitions. Warning! Install and use this app at your own risk! If you do something wrong here you might nuke your drive(s), so only use that if you know what you are doing. This is how to do it (even easier): Download here: https://sourceforge.net/projects/gptfdisk/files/gptfdisk/1.0.1/gdisk-binaries/gdisk-efi-1.0.1.zip/download Mount your EFI partition Unzip the file and copy the resulting folder to your EFI Folder, so your path goes like this "/Volumes/EFI/EFI/gdisk-efi" Get into clover configurator, open your standard config.plist from your boot drive and go to the GUI section. Add an entry like this: If you prefer to do a manual config, add this entry to your config.plist, under GUI/Custom/Entries: <dict> <key>CustomLogo</key> <false/> <key>Disabled</key> <false/> <key>FullTitle</key> <string>GDisk</string> <key>Hidden</key> <false/> <key>Ignore</key> <false/> <key>Image</key> <string></string> <key>Path</key> <string>\EFI\gdisk-efi\gdisk_x64.efi</string> <key>Type</key> <string>Windows</string> <key>VolumeType</key> <string>Internal</string> </dict> When everything went OK you should see this after selecting the respective entry in Clover: 3) RU I recently found one more app that might be interesting to some, and thats "Read Universal" or in short "RU". This is a tool that enables you to debug your BIOS and read (and modify!) every imaginable data, including UEFI variables, ACPI Tables etc. Warning, again! I think blindly messing around with this app is even more dangerous, but on the other hand it gives you access to a lot of potentially interesting stuff. Download here: http://ruexe.blogspot.de/ The next steps are basically the same as above so make a folder in your EFI partition, copy the .EFI files and make another custom entry in your config.plist Here are some screens: So this is what you also can do with UEFI and clover. I am curious which other useful applications might exist! Anybody who knows, maybe post it here?
  9. With the purpose of running the beloved Apple Mac OS X on our Intel ASUS laptop I am writing this guide to share my experience and knowledge about this Hackintosh. This tutorial applies to running versions between 10.9 and 10.11.6, focusing specially in El Capitan. This method applies also for Sierra but at the moment my WiFi Card doesn't work well with 10.12 so I chose to remain in a stable Mac OS X I have 99% functionality: What Works : WiFi, Bluetooth, Airdrop, HandOff, FindMyMac (WiFi card has to be replaced, I put a BCM94352HMB) Full QE/CI acceleration with integrated HD4400 graphics Trackpad with 1finger, 2finger, 3finger and 4finger gestures Keyboard (Perfect with Volume, Brightness, Play/Pause, Numpad working) Battery Percentage Sleep, Shutdown and Reboot Internal Speakers, Internal Microphone, Headphone Jack, HDMI audio DVD Drive HDMI audio and video VGA out iMessage and FaceTime Recovery Partition What is not working Internal SD Card Reader When you install Clover Bootloader to your USB media or HDD you should select the following options: - Install for UEFI booting only - Install Clover in the ESP - Drivers64UEFI (Fat-64, OSxAptioFix2Drv) After installation is complete, the EFI partition we want to configure will already be mounted, so we proceed to open it and do the following Install HFSPlus.efi and NTFS.efi in drivers64UEFI folder and remove VboxHFS.efi Open the folder /EFI/Clover/kexts and delete all the folders starting by 10 and leave only the “other” folder In the above mentioned “other” folder place the kexts that I will quote next, please note that the kexts marked in red are the absolute necessary ones for booting Mac OS X installer , the rest should only be installed afterwards, after having Mac OS X installed to your hard drive and directly to /System/Library/Extensions : ACPIBatteryManager.kext AppleALC.kext ApplePS2SmartTouchpad.kext BrcmFirmwareRepo.kext BrcmPatchRAM (Mavericks) or BrcmPatchRAM2 (Yosemite or later) CodecCommander.kext DisableTurboBoostBattery.kext FakePCIID_XHCIMux.kext (Only for El Capitan) FakePCIID_IntelHDMIaudio.kext FakePCIID_BroadcomWiFI.kext (makes my BCM94352HMB work) FakePCIID_IntelHDGraphics.kext FakePCIID.kext FakeSMC, HWInfo, IntelCPUMonitor (HwSensors3 from Slice) IntelBacklight.kext RealtekRTL8111.kext USBInjectAll.kext (Only for El Capitan) After all the kexts necessary are in the correct folder, proceed to mimic my config.plist Note that the Kext patches included only work for El Capitan. If you want older version support, post here and I can help. I recommend using Clover Configurator App config.plist.zip For your SMBIOS choose MacbookPro11,2 and shake those serial numbers to really get a genuine one. In order to get everything working properly , follow these guidelines for ACPI tables patching. Firstly, press F4 at Clover GUI in order to dump the native ACPI tables. You will most probably get a crash, a red screen full of weird black numbers and strange symbols, do not worry, just force shutdown. At the next boot if you look in /EFI/Clover/ACPI/origin in your USB you should have a bunch of files. After getting MaciASL and acpica tools from RehabMan (always updated) and installing them, and adding rehabman’s laptop dsdt patch repository, which is this: https://github.com/R...ptop-DSDT-Patch I recommend patching these tables before installing Mac OS X in order to have a better user experience and better functionality as well as a cleaner and smoother install. Your computer may not even reach the installer since we have no way of disabling our discrete NVIDIA Geforce 820m without getting our hands dirty in DSDT patches. Delete all files that don’t start with DSDT or SSDT- If you have an SSDT with an x just delete it because it is dynamically loaded and so does not need our attention. Place the files in our interest in a folder and: cd /path/to/a/folder iasl -da -dl *.aml After obtaining the .dsl files you should open them and check for errors. In the latest BIOS we have the following errors: DSDT- We will find 4 errors The parse op Zero errors can be fixed by deleting all the “Zero” you find in the conflicting place The remaining two errors are fixed by applying the ADBG fix from RehabMan repo SSDT-1- We find many errors and all can be fixed by applying the patch “Remove _PSS placeholders” SSDT-12- We find an error related to a specific sector of a cryptic DOS device, we can safely delete these following lines from the SSDT Now that all our ACPI tables are nice and clean we can proceed to patching First of all, open all the tables at the same time and hit Command + F to bring up the Find Replace dialog box and Find:GFX0 and Replace it with: IGPU Find:B0D3 and Replace it with HDAU Do this in all the tables, so the renames are the same in all your tables When that is done, apply the following patches to the DSDT: Use the patch "DTGP" (you can easily find it with our friend Google ) Use the patch "Fix _WAK Arg0 v2" Use the patch "HPET Fix" Use the patch "SMBUS Fix" Use the patch "IRQ Fix" Use the patch "RTC Fix" Use the patch "OS Check Fix Windows 8” Use the patch "Add IMEI" Use the patch “7-8 Series USB” Use the patch "USB PRW 0x0D" Use the patch "Igpu Brightness Fix" Use the patch "Audio Layout id 3" When you have applied the Audio Layout Patch just Find: layout and it should show the only result, then make that part look like mine, so that you can use AppleALC for native on the fly audio If you want HDMI audio you should open SSDT-10 and find layout again and make it look like the one you just edited in DSDT, we do this because we want layout-id 29 instead of layout-id 3 For battery percentage you should use the ASUS N55SL/Vivobook patch Finally when you did all that you should follow RehabMan’s tutorial for Disabling Discrete Graphics Cards, on a web which I am not allowed to mention. This will give you much more battery life and a lot less heat. You should read it properly and you will notice there is close to no difference between his example and our laptop so it will be easier than it looks like. Make sure you also use the patch he posts to fix shutdown and sleep when our NVIDIA is disabled. After all the ACPI tables are properly patched save them all and cd /path/to/where/your/patched/tables/are Then delete all the original aml files And then iasl *.dsl After getting the resulting patched aml files, place them in /EFI/Clover/ACPI/patched for Clover to load it Place them all together in /EFI/Clover/ACPI/patched and in the ACPI section of your config.plist make sure to "Drop OEM" tables and set the "Sorted Order" as I did in the attached config.plist. Before installing Mac OS X make sure in your BIOS you have legacy mode disabled and you have secure boot and fast boot also disabled, so that Clover works well. Also make sure the controller is set to AHCI mode. Remember to use a GUID partition table on your Hard Drive and if you plan to dual boot just create two Mac OS Extended Journaled partitions, don't create any Fat partition using Disk Utility cause that will leave you unable to install Windows in UEFI mode. Post-Install Finally you will need to generate an SSDT using ssdtPRGen.sh (this can only be done when you have installed Mac OS X) https://github.com/P...ha/ssdtPRGen.sh Add it to the Sorted Order and you are done Make sure to set the hibernate mode to either 0 or 2 . ​You can copy the colour profiles from ASUS Splendid Utility and use them in Mac OS X, but for my eyes, I prefer the default LCD one This is the first fully functional Hackintosh I ever accomplished and it took me a few months of learning… I am using Mac OS X for about two or more years in this Hack and I am still in love like the very first boot hihihi This is almost the perfect HackBook and has worked since Mountain Lion until now Hope you enjoyed!
  10. Run OSX Yosemite on a Dell Optiplex 780 This tutorial will describe the steps to install Yosemite on a Dell Optiplex 780 (this will also works on a 760). The installation goes to the latest version of 10.10, and when there is a new update i will change the tutorial as soon as possible. If you find any mistakes or have something to improve then please send me a PM and i will update the tutorial. I have also included the PDF file of the guide and the zip file to install OSX Yosemite. A special thanks goes to Brian from Tech Erra for using parts of their tutorial. I am from The Netherlands so sorry for my bad English. 1. Credits/Sources Everything OSx86-related is a collaborative effort amongst people who enjoy doing these things, as well as those of us who enjoy tweaking and experimenting with things. Below are a list of sources used to compile this guide: Tech Erra OSX86 Wiki InsanelyMac And all other forum members who have posted in my topic and helping out the community. 2. Requirements Here are the requirements: A Dell Optiplex 780 – This is necessary to install OSX Yosemite for this tutorial A copy of Mac OS X – This can be in the form of an existing hackintosh, a virtual machine within Windows or Linux, or even a regular Mac. If you don’t have any of these things, then find someone who can help you out for a while. I prefer using a hackintosh with OSX Mountain Lion. Using an already working copy of Mac OS X either in a VM or a native hackintosh install is HIGHLY recommended. A 8GB USB flash drive (or larger) – We’ll be copying the files to the drive appropriately, so make sure that you have a flash drive with enough storage space (8GB or larger). A copy Yosemite 10.10 GM – If you don’t have a App Store Account, then create one to download OS X Yosemite. 30-60 minutes of time – Depending on how tech-savvy you are, this may be quick, or it may take a while. An SSD or HDD to install 10.10 to – For me, I used a 500GB partition to install 10.10 to. An PCI Express Video Card – For use with QE and CI Highly recommended. I use a Ati Radeon HD5450 1GB but 512MB or 2GB also works. CLOVER_780.zip – This ZIP file contains everything that you need to get your flash drive and hackintosh properly prepared. Note: number 7 contains the files for clover, you can copy the entire directory to the EFI Partition: 3. My Specs My installation was successfully done on an Dell Optiplex 780 Desktop computer with the following specs. NOTE: A PCI video card is recommended to use the full potential of OSX Yosemite because the on board video card doesn't support QE/CI. Intel Core 2 Duo E7500 @ 2.93GHz 8GB DDR3 1333Mhz RAM Western Digital 500GB HDD ATI RADEON HD5450 1GB Intel WG82567LM onboard network Bluetooth USB Cambridge silicon radio (works OOB) ADI 1984A HDA audio onboard HP W2207h Monitor 1680×1050 display Apple Magic Trackpad Apple Magic Mouse Apple Wireless Keyboard US 4. Download OS X Yosemite Open Mac App Srore. Login with your Apple ID. Download OS X Yosemite. Done! The Application INSTALL OS X YOSEMITE will appear in /Applications 5. Prepare Bootable USB Drive This step extracts the OS X Installer contents, then installs clover bootloader to the USB stick. Make sure to backup the files that are already on your USB flash drive: Insert the USB drive. Open up /Applications/Utilities/Disk Utility. Highlight the USB drive in the left column. Click on the partion tab. Click Current and choose 1 Partition. Click Options... Choose GUID Partition Table. Under Name: type USB (you can rename it later) Under Format : choose Mac OS X Extended (Journaled) Click Apply then Partition.[/b] Go to Applications and find the OS X Yosemite installer. Right click on the installer and choose show package contents Navigate to Contents/Shared Support and double click on the InstallESD.dmg, the .dmg should now mount and appear on your desktop. Open Terminal and type the following command: open /Volumes/OS X Install ESD/BaseSystem.dmg. Now, open disk utility and restore your USB drive, NOT the drive, but the volume contained on the drive with the mounted "BaseSystem" NOT the .dmg. Rename your USB drive to Yosemite. (not the dmg) You can tell which drive is the USB from the size. Rename your USB drive to Yosemite. (not the dmg) You can tell which drive is the USB from the size. - cp /Volumes/OS X Install ESD/BaseSystem.dmg /Volumes/Yosemite/ - cp -a /Volumes/OS X Install ESD/BaseSystem.chunklist /Volumes/Yosemite/ - rm /Volumes/Yosemite/System/Installation/Packages - cp -a /Volumes/OS\ X\ Install\ ESD/Packages /Volumes/Yosemite/System/Installation/Packages Download the latest version of Clover from sourceforge. Open Clover package installer. Hit Continue, Continue, Change Install Location... Choose the USB, now called Yosemite. Hit Customize and install Clover to the same USB with the following Custom Install settings: ( see image). Download this zip file. Unzip the flies provided in CLOVER_780.zip. Move all the files in the unzipped /Clover folder to /EFI/EFI/Clover/, Make sure to choose to MERGE these folders or overwrite them 6. Install OS X Yosemite. This part is the most time consuming. Using a USB 4G flash drive will help things out quite a bit. Shut Down. Enter Bios via tapping F2 during boot. Change SATA Operation to AHCI (Leave the Booting mode on Legacy! UEFI is not support/does not work.) Click Save and reboot Press the F12 key to choose boot device, select USB Drive When Clover boot screen is visible, choose Boot "Mac OS X from Yosemite". The system will then boot into OS X Installer. For a new installation of OS X, you MUST erase and format the destination drive according to the following steps before continuing. If you are upgrading from Lion, Mountain Lion or Mavericks and you want to keep your files and apps, skip steps a-j. a. Choose Disk Utility. b. Highlight your target hard drive for the Yosemite installation in left column. c. Click Partition tab. d. Click Current and choose 1 Partition. e. Click Options... f. Choose GUID Partition Table. g. Under Name: type YosemiteHD (You can rename it later). h. Under Format: choose Mac OS Extended (Journaled). i. Click Apply then Partition. j. Close Disk Utility. When the installer asks you where to install, choose YosemiteHD, or your existing install. Upon completion, system will restart a 1st time. Press the F12 key to choose boot device. When Clover boot screen is visible, Press F4 (this wil dump your dsdt/ssdt, we don't need it for now), choose YosemiteHD. You’ll eventually get to the setup screens for OS X Yosemite. Go through that process to setup OS X Yosemite. Choose by "How Do You Connect" for "My Computer Does Not Connect to the Internet" we will fix this later, go further with the setup process. The setup process will take about 3 minutes. Done. 7. Adjust some settings in OS X 10.10 Once in 10.10 go to finder –preferences –General and choose in show these items on the desktop for. - Hard Disk - External Disk - CD Go also to System Preferences – Security& Privacy click on the lock on the left corner and type your password. Choose by “Allow applications downloaded from: for “Anywhere – Allow from anywhere. Close system preferences. 8. Installing Clover on you Hackintosh These settings will install the bootloader to the system drive's EFI partition automatically as part of the scripting. After completion, the system drive's EFI partition will automatically mount. A few more changes need to be made to the default Clover installation: Run the Clover installer once again, select the following things show in the image below. Open Clover package installer. Hit Continue, Continue, Change Install Location.... Choose the USB, now called YosemiteHD. Hit Customize and install Clover with the following Custom Install settings: ( see image) Download this zip file again. Copy Clover Configurator from the zip (CLOVER_780- Tools) to Application and run it In Clover Configurator (From now on referred to as "CC") go to EFi Tab, click mount and enter your password. Move the folder /Clover from the unzipped to your hard drives /EFI/EFI/Clover/ location, make sure to choose to MERGE these folders. Open Clover Configurator and import config.plist(in EFI/EFI/Clover partiton) and edit these values: · SMBIOS: create your new SMBIOS (iMac 9,1) with random Serial Number Then EXPORT config.plist to /EFI/Clover/ of EFI partition Move the folder /Clover from the unzipped to your hard drives /EFI/EFI/Clover/ location, make sure to choose to MERGE these folders. Finished and Reboot your fresh installed OS X 9. Video Fix for HD5450 Copy the Kext files AMD5000Controller.kext and AMDRadeonX3000.kext from system/library/extension to your desktop. Go to AMD5000Controller.kext and rightclick and choose Show Package Contents and open info.plist with textedit. Find <key>IOPCIMatch</key> and add your string for HD5450 ( HD5450 1GB the string is 0x68F91002 and for 512MB the string is 0x68E11002) <string>0x68F91002 0x68981002 0x68991002 0x68E01002 0x68E11002 0x68D81002 0x68C01002 0x68C11002 0x68D91002 0x68B81002 0x68B01002 0x68B11002 0x68A01002 0x68A11002 </string> Save and Exit Go to AMDRadeonX3000.kext and rightclick and choose Show Package Contents and open info.plist with textedit. Find <key>AMDCedarGraphicsAccelerator</key> and then look for the first <key>IOPCIMatch</key> and add your string for HD5450 ( HD5450 1GB the string is 0x68F91002 and for 512MB the string is 0x68E11002) add <string>0x68F91002 0x68E01002</string> Save and Exit Install both kext files with Kext Utility Now reboot. After Reboot the video card must be working with QE/CI. 10. BOOT 0 ERROR If you are using a 4k HDD you can get boot:0 error, to solve this issue do the following Reboot system back into Yosemite installer (USB)FLASH DRIVE). Run Disk Utility find the Disk Identifier (eg. disk0s2). Unmount the drive you installed Yosemite on Launch Terminal and execute the following command: dd if=/usr/standalone/i386/boot1h of=/dev/disk0s2 Exit Terminal Boot Normally 11. Finished! You’ve successfully installed OSX Yosemite onto your Dell Optiplex 780. run os x Yosemite 10.10.pdf
  11. neterosensei

    Samsung Galaxy Book 12

    Hey there ! I would like to install sierra on my Galaxy Book 12 inch!! Specs i5 7200u HD 620 1440p res SSD sata3 USB c ports WIFI ATHEROS/QUALCOMM QCA6174 Its a 2 in 1 convertible laptop! So its detachable and also i can use it with a keyboard! Can i install osx sierra or high sierra on this? Actually im tryinh to install but i get thoose errors cartellaEFI.zip
  12. [COMPLETE] Legend: Filenames - Terminal commands - Chameleon flags - Maybe not needed Hello, I'm posting here info about making hackintosh Snow Leopard 10.6.7 on Acer Aspire 3690 (also 3692, etc.) Specs: Intel Celeron M 420 1.6GHz, x86 only 1GB RAM Intel GMA 950 Broadcom 4318 WiFi Broadcom 4401 Ethernet Realtek ALC883 Ok you will need 8GB or bigger USB - or DriveDroid Image for rooted Android devices. Also 10.6.3 DMG, 10.6.7 Combo Update, USB Mouse & Keyboard, and kexts: kexts.zip PART 1: Make bootable OS X USB Partition USB as GUID with 1 HFS+ Partition Mount 10.6.3 DMG Restore Source volume : "Mac OS X Install DVD" (mounted 10.6.3 dmg) to Target volume: (HFS+ partition on GUID USB) Copy combo update 10.6.7 dmg to root of new volume (won't fit on 8GB USB, need 16GB USB or 9GB DriveDroid image) Copy kexts (ElliottForceLegacyRTC.kext, FakeSMC.kext, NullCPUPowerManagement.kext) to USB's System/Library/Extensions Copy SMBios.plist (generate, i recommend MacBook2,1 or use pre-made one) to Extra/ Delete AppleGraphicsControl.kext, AppleUpstreamUserClient.kext, AppleTyMCEDriver.kext Install latest chameleon boot loader on USB PART 2: Install OS X Connect USB Mouse & Keyboard Boot using flags: -v -f -F arch=i386 npci=0x2000 PciRoot=1 GraphicsEnabler=Yes Format HDD with Disk Utility Install Mac OS X (About 45 min) Don't restart, open Terminal Copy kexts (ElliottForceLegacyRTC.kext, FakeSMC.kext, NullCPUPowerManagement.kext) from installer S/L/E (e.g. cp -R /Volumes/[installer volume]/System/Library/Extensions/NullCPUPowerManagement.kext /Volumes/[Destination volume]/System/Library/Extensions/) Delete kexts (AppleGraphicsControl.kext, AppleUpstreamUserClient.kext, AppleTyMCEDriver.kext) from destination S/L/E (e.g. rm -R /Volumes/[Destination volume]/System/Library/Extensions/AppleGraphicsControl.kext) Copy SMBios.plist from installer /Extra/ to destination Extra/ Reboot PART 3: Post-installation Boot newly installed OSX with flags as before (-v -f -F arch=i386 npci=0x2000 PciRoot=1 GraphicsEnabler=Yes) Install 10.6.7 Update (45 min) - don't close it or reboot Install Chameleon boot loader Make org.chameleon.boot.plist with flags: arch=i386 npci=0x2000 PciRoot=1 GraphicsEnabler=Yes EthernetEnabler=Yes (and others like GUI, etc.) or use pre-made one in attachments Copy IONetworkingFamily.kext from /S/L/E/ on desktop, right-click and select "Show package contents", and copy AppleBCM440XEthernet.kext to Contents/PlugIns/ inside IONetworkingFamily Reinstall all kexts (ElliottForceLegacyRTC.kext, FakeSMC.kext, NullCPUPowerManagement.kext, IONetworkingFamily.kext, VoodooHDA.kext, VoodooPowerMini.kext, AppleACPIPS2Nub.kext, ApplePS2Controller.kext) with Kext Wizard Delete kexts: AppleHPET.kext, AppleHDA.kext, AppleGraphicsControl.kext, AppleUpstreamUserClient.kext, AppleTyMCEDriver.kext Install other VoodooHDA components (VoodooHDA.prefPane will go to "/System/Library/PreferencePanes", getdump binary to "/usr/bin/", VoodooHdaSettingsLoader.app to "/Applications/" & set it as login item) VoodooHDA_settings.zip Rebuild kernel cache Reboot and enjoy! (Now you don't need USB Mouse & Keyboard anymore - Trackpad and inbuilt keyboard works!) Pre-made SMBios and chameleon config: plist.zip (Please, generate new smbios serial with Chameleon Wizard)
  13. NOTE: This guide mixes static patch with hotpatch. It will be edited to make it works only with static patch soon. There's zero issues with this guide but it seems better not to mix patching methods (thanks, RehabMan) Hello, everybody! After two years of using my Cintiq Companion 2 with Yosemite thanks to mactabletman’s guide and reading, testing a lot and trying to understand what I was doing, I’m in a good path to share my experiences and help you to install macOS Sierra in your Companion 2 keeping your Windows installation. There are a few things that need to be solved, like sleep/wake (Cintiq goes to sleep, led blinks but display doesn’t wake up, maybe framebuffer, IOKit or PWR related) or audio using AppleHDA for codec ALC286 instead of VoodooHDA (I will add notes in each section about all this). WE HAVE GOOD NEWS, CINTIQ MODE WORKS!! (see notes at the bottom) No need to say that I’m taking zero responsibilities of what happened if you follow this guide. We are all grown people and before taking any step you better read all the info you can find about what you are trying to accomplish. This guide is done for the Cintiq Companion 2 i5-4258U 128GB model (DTHW1310L) with the last BIOS version (MB01) but can be useful as a start for other CPU/graphic models. I’m assuming you updated or reinstalled and have Windows 10 running but same procedure is required for Windows 8/8.1. WORKING: All except wake from sleep using Power Button (wake well if previously connected in Cintiq mode), PCI Realtek SD Card Reader, volume buttons and HDMI audio. So first, things you are going to need: - 2 usb drives (16GB and 32GB minimum), one for create an installer and another to install Sierra into. - 1 usb keyboard and 1 usb mouse since Clover has no support for touch devices and touch doesn't work natively in Sierra as it does in Yosemite. - 1 usb drive for Clonezilla (*optional but recommended) - 1 external hard drive to backup your whole internal SSD using Clonezilla (*optional but recommended) - An original Apple computer to create installer. - A BCM94352Z WiFi and Bluetooth 4.0 card to replace default Intel wireless card. You can check how to open your device here. * In order to create a Clonezilla Live USB, I recommend to use Yumi. You can create a multiboot installer for your Windows version, Ubuntu, Wifislax… very useful stuff. CREATING THE INSTALLER… Ok, you did a backup of your data, so let’s create a usb installer for macOS Sierra: - Download macOS Sierra from App Store, this will download the last update 10.12.1 - Open Disk Utility and format your 16GB usb to HFS+J, GUID partition and rename it to install_osx. - Copy and paste these commands in Terminal, one by one: sudo "/Applications/Install macOS Sierra.app/Contents/Resources/createinstallmedia" --volume /Volumes/install_osx --applicationpath "/Applications/Install macOS Sierra.app" --nointeraction sudo diskutil rename "Install macOS Sierra" install_osx INSTALLING CLOVER IN USB INSTALLER… Now open the Clover installer and select your Install macOS Sierra USB, click on “Customize” and use this configuration: - Check Install for UEFI booting only, Install Clover in the ESP is also automatically selected - Check embebbed theme. - Check OsxAptioFixDrv-64 from Drivers64UEFI - Check PartitionDxe-64 from Drivers64UEFI - Check EmuVariableUefi-64 from Drivers64UEFI* - Check Install RC scripts on target volume from Drivers64UEFI* - Click Install. After install Clover, a EFI partiton is mounted. Go to EFI/CLOVER, delete that config.plist and put my config_install.plist there. Rename it to config.plist. - Go to EFI/CLOVER/Drivers64UEFI and delete VboxHfs-64.efi. Put there HFSPlus.efi. - Go to EFI/CLOVER/kexts/ and leave only "10.12" and “Other” folders. Put FakeSMC.kext inside both of them. Now your installer USB is ready. *NOTES ABOUT NVRAM EmuVariableUefi-64 and Install RC scripts on target volume might be needed to make NVRAM works in a dual boot configuration since both systems read and write there (I guess). Or maybe our device has not NVRAM hardware, I don’t know. Anyway, I’ve tested it. To test NVRAM, type this in Terminal: sudo nvram MyVar=TestValue Check/show NVRAM: nvram -p You should see the following entry among others: MyVar=TestValue Reboot, check NVRAM again and if above entry persists, your NVRAM is working. Mine didn’t installing only OsxAptioFixDrv-64, so I reinstalled Clover with EmuVariableUefi-64 and Install RC scripts on target volume. BIOS CONFIGURATION… Check your BIOS. Press power button while holding volume up button to enter BIOS. - CPU Configuration: Boot performance mode: Turbo performance; EIST: enabled; Turbo Mode: enabled; Performance/Watt: Performance; Configurable TDP: TDP Nominal. - Intel Smart Connect Technology: disabled. - CSM configuration: CSM Support: enabled; Network: Do not launch; Video: Legacy. - Chipset/System Agent (SA) Configuration/Graphics Configuration: Aperture Size: 256MB; DVMT Pre-Allocated: 128MB; DVMT Total Gfx Mem: MAX. - BOOT: Fast Boot: disabled; Boot mode select: dual; all fixed boot order priorities disabled except for UEFI USB KEY. - Save & Exit. BOOTING INSTALLER… Now, to boot into Clover you just need to reboot with your installer usb plugged, so your motherboard recognize the UEFI entry in that drive. Click on power icon in Windows, and while pressing SHIFT, click on reset to go to Windows Boot Manager. Click on "Use a device" and next on "UEFI: SanDisk, Partiton 1" (if you are using SanDisk drive, if not it will be diferent but easily to discover). Click enter in your keyboard to boot "Install macOS Sierra". You will se the verbose log in order to fix any boot issue (you shouldn't need to if you follow this guide). Open Disk Utility and format your 32GB drive to HFS+J, GUID partition and give it a name, for example, SierraHD. Close Disk Utility and Select Install macOS Sierra and install it to your SierraHD drive. Wait until it reboots after creating the Recovery partition. You will need to boot again into Clover and boot this time from your new boot entry in your SierraHD drive to finish installation. INSTALLING CLOVER TO SIERRAHD USB… After install macOS Sierra you might want to install Clover to your SierraHD drive so you don’t need both usb drives to be plugged in order to boot. Follow same steps than before in INSTALLING CLOVER IN USB INSTALLER… Ok, now you’re able to boot into your macOS Sierra but you don’t have CPU PM, IGPU PM, backlight control, battery level… Some of them will be fixed installing kexts, other with DSDT patches or renames, some with Clover… ACPI FILES - DSDT & SSDT ACPI Tables Extraction using Clover Press F4 in Clover boot menu and OEM ACPI tables will be placed in EFI/CLOVER/ACPI/origin. Copy only those files named DSDT.aml and SSDT-X.aml (where X is any number) to your desktop in a new folder called ACPI that we will use to disassemble with iASL. Disassembling ACPI files Download iASL to your Downloads directory, type this in Terminal: cd ~/Downloads git clone https://github.com/RehabMan/Intel-iasl.git iasl.git cd iasl.git make sudo make install Install MaciASL.app to your Applications directory and run this command in Terminal to update iASL: sudo cp /usr/bin/iasl /Applications/MaciASL.app/Contents/MacOS/iasl61 Now we are going to disassemble the files. Type in Terminal: cd Desktop cd ACPI iasl -da -dl *.aml You can also try to disassemble them using External declarations in a text file called refs.txt. This may help to fix some unresolved externals (symbols not defined in any file). Copy the following text and create a refs.txt into ACPI folder in your Desktop: External(MDBG, MethodObj, 1) External(_GPE.MMTB, MethodObj, 0) External(_SB_.PCI0.LPCB.H_EC.ECWT, MethodObj, 2) External(_SB_.PCI0.LPCB.H_EC.ECRD, MethodObj, 1) External(_SB_.PCI0.PEG0.PEGP.SGPO, MethodObj, 2) External(_SB.PCI0.GFX0.DD02._BCM, MethodObj, 1) External(_SB.PCI0.SAT0.SDSM, MethodObj, 4) External(_SB.PCI0.SAT1.SDSM, MethodObj, 4) External(_GPE.VHOV, MethodObj, 3) Type in Terminal: iasl -da -dl -fe refs.txt *.aml Using refs.txt or not, this will create .dsl files that we will use to patch. Open them using MaciASL and click “Compile” to check for errors. Main mission here is to have them compile without errors (warnings and optimizations are ok). We only need DSDT and all non dynamic SSDT files. Clover shows dynamic SSDT files adding "x" (SSDT-4x.aml for example). Use dynamic files only to disassemble. NOTE: never open .aml files with MaciASL and compile, if you ever get lost among DSDT and SSDT files, extract and disassemble them again. POST-INSTALLATION… Ok, we can boot our Sierra installation, we have our ACPI files disassembled and with no errors, not patched yet, so it’s time to start fixing things. First thing to fix must be CPU Power Management. For that we use ssdtPRGen.sh. In my CC2_PACK.zip there is a SSDT for my CPU (i5-4258U). If you have other CPU, you need to generate a proper one (you will need internet access so install now FakePCIID and FakePCIID_Broadcom_WiFi and copy all WiFi related Clover patches from config_OK.plist to your config.plist). Open Terminal and type this command to download ssdtPRGen: curl -o ~/ssdtPRGen.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/master/ssdtPRGen.sh Now change the file mode (+x) with: chmod +x ~/ssdtPRGen.sh Default SSDT generation: sudo ~/ssdtPRGen.sh Type n and n one more time. Open Finder and go to /Library/ssdtPRGen/. You will see a SSDT.aml, this is our CPU Power Management SSDT. Copy it to your EFI/CLOVER/ACPI/patched. You will see if PM is well implemented if X86PlatformPligin is loaded under CPU0@0 in IOReg (use IORegistryExplorer to check it. You can also use AppleIntelInfo.kext) Open SSDT-HACK.dsl with MaciASL, save it as SSDT_HACK.aml and put it into EFI/CLOVER/ACPI/patched. You can check SSDT-HACK.dsl to see what I did there (Basically, emulate Windows (_OSI to XOSI), injecting IGPU properties and ig-platform, disabling EHCI, injecting XHC properties, fixing GPRW to avoid instant wake and making EXEL and ESEL do nothing). Second thing should be IGPU Power Management. For that GFX0 needs to be renamed to IGPU in our DSDT and all SSDT files that contain any GFX0 reference. We will rename it in DSDT using Clover patch and manually find/replace in SSDT files (in our case, SSDT-7 has some GFX0 code). Third, we are going to install some kexts to enable Bluetooth, WiFi (if you replaced default wireless card with BCM94352Z), all USB ports and backlight control. Just open Kext Wizard (we will always use it to install kext files), click “Install” and look for: - FakeSMC.kext - FakePCIID.kext - FakePCIID_Broadcom_WiFi.kext - IntelBacklight.kext - XHCInjectorCC2.kext - BrcmPatchRAM2.kext - BrcFirmwareRepo.kext Any time you install any kext file, you must rebuild your cache and fix permissions. You can do it with KextWizard but it is recommended to use Terminal (see TIPS AND EXTRAS) Now that you have WiFi enabled, OS X probably put it at en1 while Bluetooth PAN is at en0. To reorder them just do the following: - Go to System Preferences > Network and delete all interfaces (WiFi and Bluetooth PAN). If you are asked about bluetooth reappearing again, click no. - In Finder go to ~/Library/Preferences/SystemConfiguration and delete NetworkInterfaces.plist. - Reboot, go to System Preferences > Network and add your WiFi interface again. This will reorder your interfaces, leaving WiFi as en0 and letting you to access Apple services as Mac App Store. You still needing to create a good SMBIOS profile, with a serial, etc. in order to activate everything: FaceTime, iMessage, Mac App Store… You can follow these guides: How to enable iMessage Clover: iMessage/Facetime Fix for Yosemite With all this you will have everything working except for battery status and audio/sound. Now it's a good time to install Wacom drivers. Battery status needs ACPIBatteryManager.kext to be installed and a patched DSDT. I’ve created a patch that you can use with MaciASL and your DSDT (you extracted and disassembled before, remember?), just click “Patch” and look for Battery CC2 Patch.txt, apply and save. NOTE: Recent tests with RehabMan probes my patch matches Dell XPS 18, so that will work too. Use any of them. IMPORTANT: Until now we were booting with ACPI/SSDT/DropOEM=false because we weren't using patched OEM files. Now we are going to use a DSDT file, so we must also provide all patched SSDT files, set DropOEM=true and set SorterOrder (same order than OEM files, making SSDT.aml the first and SSDT-HACK.aml the last, so it will be: SSDT.aml, SSDT-0.aml, SSDT-1.aml, SSDT-2.aml, SSDT-3.aml, SSDT-7.aml, SSDT-HACK.aml). You can do this with PlistEdit Pro or Xcode by yourself (check Clover Wiki for how-to). Anyway, I've prepared config_OK.plist with all these changes and more patches. Paste it in EFI/CLOVER/ and rename it to config.plist to continue with post-installation. I would like to avoid adding patched ACPI files transforming my DSDT patch to the new hotpach method (thanks Rehabman!), adding code to SSDT-HACK and adding DSDT/patches to Clover if necessary but is waaaay out of my league. Any help achieving this will be appreciated. NOTE: DSDT only needs Battery CC2 Patch for now. SSDT files only need names to be balanced, so any rename we are doing with Clover in ACPI/DSDT/Patches need to be do it as well in all SSDT (GFX0 to IGPU; B0D3 to HDAU…) If you did it all well, you should have battery status working. Audio/Sound can be achieved installing VoodooHDA. You will be able to use the internal microphone and speakers, so Siri will work. Airplay audio works too. HDMI needs work. A better choice would be to patch our codec and use AppleHDA, HDMI audio seem to work better this way and might help to fix sleep/wake. I’ve attached a dump from my Realtek ALC286 and my Intel Haswell HDMI if somebody want to help with this matter. CLONING TO INTERNAL DRIVE Now that you have an almost fully working hackintosh, you probably want to clone it to your internal SSD. For that, just follow these steps: - Boot into Windows, and shrink your C: partition using Disk Management. - Format new volume to FAT32 and give it a name (you can use MacDrive to format to HFS+J) - Boot using your USB installer, open Disk Utility and format your new internal partition to HFS+J (if you didn’t do it before using MacDrive). If you are prompted with an error, try it again. If error persists, try next step. - Clone your current installation selecting as source your SierraHD drive and destination your new internal partition. After clone, you still needing to install Clover in your internal EFI partition, so boot again your Sierra installation using your USB and repeat steps in INSTALLING CLOVER IN USB INSTALLER… You also need to place proper config.plist and your ACPI patched files, SSDT.aml and SSDT-HACK.aml in EFI/CLOVER/ACPI/patched. Note that your internal EFI partition could have no name, mine in fact shows as NO NAME in Finder In order to boot your internal Clover installation, you might like to create an entry in your Windows Boot Manager. I use EasyUEFI for that. Just click on the Create a new entry icon, select Linux or other OS, and select the path to EFI/CLOVER/CLOVERX64.EFI. Give entry a name, for example macOS Sierra NOTES: I still having some doubts about this guide. For example: - Our graphics device 8086,0A2E is natively recognized but doesn’t show a name in DPCIManager, I don’t know if can be an issue. - PCI Realtek Card Reader 10EC,5229 has no support. - USB may need work to make wake from Power Button work properly. I’ve created an injector and disable EHC with SSDT-HACK.aml and it’s under 15 port limit. I did the same with a EHC injector and FakePCIID_XHCIMux.kext or USBInjectAll.kext and a SSDT-UIAC.aml. Same result, ports work, wake with Power Button doesn’t, some of them are lost when reboot after try to wake up from sleep (using Power Button) - There are some errors with methods in EC0 that probably need work (GBTT, SMB0._STA) - Good news!! Cintiq Mode works Just plug your cable to your PC or Mac, put your Companion to sleep and it should wake as a plain Cintiq and recognized by your PC or Mac. When you unplug your video cable, you Companion come back with everything working. Enjoy - I did another test and wake quite good but with black screen: go to sleep (no cable video plugged), plug video cable, this will make screen wake but remain black, unplug video cable, use screen sharing to access and change resolution or detect displays in SysPref to push the signal to your internal display. TIPS AND EXTRAS - If you want to install any software, you must enable the lost option inside Security and Privacy. Type this in Terminal: sudo spctl —master-disable - If you want to enable HiDPi resolutions, just copy DisplayVendorID-5c23 folder into ~/System/Library/Displays/Contents/Resources/Overrides and install RDM. - If you need to rebuild caches, run this in Terminal: sudo rm -r /System/Library/Caches/com.apple.kext.caches sudo touch /System/Library/Extensions && sudo kextcache -u / - Sometimes boot into safe mode is needed. Just add -x to boot flags in Clover or push spacebar in Clover boot menu (this second option is not working for me right now, I don’t know why). - To enable playing a power chime sound effect when battery charged is plugged, type this in Terminal: defaults write com.apple.PowerChime ChimeOnAllHardware -bool true; open /System/Library/CoreServices/PowerChime.app & - If you want to try the new TouchBar present in new MacBook Pro, you can give it a try! Go here and follow instructions CONCLUSIONS AND THOUGHTS The Cintiq Companion maybe is not a famous tablet because its mainly client target are professional artists than doesn’t have too much time to play with this hackintosh stuff, but it works very well in my opinion, better than Surface devices. Geekbench results is same than MacBook Pro with same CPU and LuxMark gives a result of more than 1600 for what I checked. The only thing that it would need to be perfect, in my opinion, is to sleep and wake properly. We can do that just plugin the video cable and entering Cintiq Mode, unplug and wake but it would be nice to wake it with the Power Button. For those who could help, here you have some clues you may find helpful to solve it. Sleep works, display goes off, fans go off and led starts blinking. But when wake (only with power button) display goes back but remains black for seconds and suddenly go off, fans keep running, led keep on without blinking, but can’t access using VNC or screen sharing. If you enable the power chime sound effect, you will hear it if you unplug and plug your battery charger. The only way to come back is to force a restart by holding power button and next time you boot some devices are missing (WiFi and some USB). Restarting one more time makes all devices work again. Since I have no idea of binary patching, programming or ACPI concepts, it was very hard for me to get all this together. I’m probably doing something wrong or there’s a better way to make things work, so if you have any idea or suggestion, don’t hesitate to comment or ask. I'm doing this for two reasons, to share what I learned and to keep all the information together in one post. And this is everything, folks! I hope this help you to install macOS Sierra in your Companion 2. Now that new model is out (but far away from my budget) you can find some affordable second hand units. DOWNLOAD MY CC2_PACK It contains: ACPI folder, before and after patches (for those who want to check). Battery CC2 Patch. Kexts folder. Official BIOS folder, in case you didn’t update your Companion 2 or disabled CSM support and can’t see BIOS menu. SSDT Files folder, containing SSDT-HACK.dsl and SSDT.aml for i5-4258U PM. APPS folder: Clover Configurator 2, DPCIManager, PlistEdit Pro, Kext Wizard, MaciASL, IORegistryExplorer. EXTRAS folder: Brightness app (slider control in menu bar), Intel Power Gadget, iStat Pro widget, AppleIntelInfo.kext (for checking CPU PM). HiDPi: DisplayVendorID-5c23 folder and RDM-2.2.pkg codec_dump_ALC286.txt and codec_dump_HDMI.text for someone to may help patching AppleHDA. I want to give a HUGE thanks to all the people that are involved in making this possible, from developers to testers (Piker, Rehabman, the-darkvoid, Slice, Allan... I don't know, I'm still learning who you are, people, you are a lot so don't be offended if I didn't mention you, please ). And sorry if there's some grammar mistakes or something, it's my first guide in english.
  14. Could someone tell me in detail what all these features are and what exactly they mean? I would be grateful. I mean Clover and its settings, especially the CPU and PCI Devices tabs. I will start with the CPU: Halt Enabler PLimitDict UnderVoltStep Double First State Generate PStates Generate CStates Enable C2 Enable C4 Enable C6 Enable C7 Use system IO C3 Latency Bus speed (KHz) QPI (MHz) Saving mode Patch APIC Then PCI Devices: USB Ovner Ship USB Injection Inject Clock ID Inject EFI Strings Just a short description of what it is and what it serves.
  15. All Credit's Go to Scellow Download-fritz and pjalm oh and sj without them we would be no where on 10.10 and thanks to you to slice netkas iMessage Fix How to make a bootable usb via windows using vmware https://www.youtube.com/watch?v=OK6VTiyyQKo made it as simple as i could if there are any errors please post below thanks and i will edit this post http://www.insanelymac.com/forum/topic/299309-newest-clover-release/ <newest clover v2 so new way of making a bootable 10.10 script for bootable usb https://drive.google.com/file/d/0B3y5hldpEFDYcFZSY1pEcEFDWXc/view?usp=sharing Usb Script for 10.9 os x https://www.sendspace.com/file/hqsj4f make sure your os x 10.10 is in your apps folder make sure your usb is named USB and the file is on your desktop open up term type sudo bash then drag create_usb.sh into term and hit enter and enter your password and let it run also last thing the newest image http://imgur.com/I088enI is of how to get iMessage and FaceTime and iCloud working also if you want out of the box network and sound then put your kexts in this folder http://i.imgur.com/XKTphmT.jpg and do what is shown in clover and for kicks and {censored} here is a sample of my config i use
  16. Samsung np350v5c Hardware list intel core i5 3210m hd4000 graphics (the most challenging part of the install 750gb hdd 6 gb ddr3 1600mhz dvd writer drive (although i changed to a bluray drive) i also changed the wifi card to a dell one to enable airport from the beginning mac os x 10.8.2 image/app Right so here goes this took me almost a week to get right. i tried a million methods to get qe/ci for the hd4000, a million attempts to get it fully functioning but this laptop has no complete guides/ or even anybody who has even completed a fully working install (so a first for anybody that's interested) First things first you can try find a usb loader that will work but in my experience the most sure fire way is to remove the hdd and mount the mac os x install image directly to a partition on your drive, (not only will this mean a quicker install but also another way of restoring it without a key) then install chameleon onto this drive please don't do what i did for the first few hours and use an older one as you will need the latest graphics injection method for this laptop! the following bios settings will also need changing Ahci needs to be set and enabled you need to disable secure boot (unless you can figure out a way of changing the uefi keys for uefi install) enable uefi and legacy boot save and reboot once all these things have been done you can start to run through the install process i found with the newer boot loader you will still need to use the command -x to enable a safe boot into the installer you actually don't need to change much on this installation and obviously a boot loader is already installed so just run through this installation once complete, restart and you will probably need a hdmi cable at the ready once you get to the boot loader screen insert this cable and watch the screen go to an external monitor this is normal and you will also see it goes to your external monitor! once here you will need to change you output connectors in your appleintelframebuffercapri.kext to enable the internal lvds port and thus your internal laptop screen, once you have done this restart and use the -v -f commands to remove the cache and see what kexts are loaded. if you have edited this kext correctly the screen on your laptop should light up and come to life you will also need to install voodoohda 2.7.2 package and the realtek r1000sl kext package to enable sound and network interface and output I also did some work on this laptop to get the processor power management setup using ssdtprgen and the smbios 10,1 once this is done and complete you have a fully functioning laptop even multitouch works, sleep will work as well the only thing that will not function is the memory card reader but hey i never use one anyway In fact for the money this laptop is amazing and i think one of the most compatible on the market i will write a list of the kexts needed and the actual edits needed for the appleintelframebuffercapri under this post i would like to thank artur-pt and ipoco and a few others for my relentless questioning and help wherever they can for this build
  17. This is simple guide how to change/alias location of home folders. Many of hackintosh users use SSD drives for system and apps and would prefer not to crowd them with extensive amounts of data. This guide, courtesy of Davemreed from MacRumors.com explains in most simple way how to link default home folders to any secondary internal or external hard drive. Thanks to this solution you can store downloads, pictures, music, FCP libraries etc not on your system drive. This example refers to 'Downloads' folder, but can be applied to any home folders respectively. Warning!!! - this procedure deletes home folder with whole its content, so please be careful. First copy your Download folder to target location, otherwise you lose it. Launch Terminal Type: sudo rm -rf ~/Downloads/ You will prompted by a password, preceded by a warning about being careful. Now your Downloads folder is deleted from your home location. Next, in the Terminal window, type: ln -s (with a space following the 's'). Now, open a Finder window and go to the target location of your Downloads. Drag the new Downloads folder into the Terminal window. The path to the new destination will auto fill. Hit the return key to issue the command. The new Downloads default folder has now been successfully changed. Enjoy!
  18. Acer Aspire M5-583P-XXXX using Clover This guide will remain a work in progress as long as updates are pushed out and kinks are ironed out. If you have the same laptop, feel free to share your input if something could be improved on. I will update this guide as best as I can for future updates, fixes, etc. Working: • Graphics - Intel HD 4400 via DSDT patch, FakePCIID method, and Clover injection • Touchscreen • Display Brightness - via RehabMan's SSDT patch and ACPIBacklight method • Built-in Camera • Airport • Sound - HDMI Audio, headphone, microphone, and function keys (vol +/vol -) are functional • HDMI port • Trackpad • Sleep/Wake up • Battery • All USB ports including the USB3 port in the back Let's get started! Things you will need before getting started include: • 8GB+ USB flash drive For the main installation of Clover and Yosemite • * Atheros AR5B95 WiFi card (no built-in bluetooth) The installed Intel WiFi + Bluetooth card will NOT work on OS X • A working installation of OS X (be it an actual Mac or Hackintosh) To set up all necessary files * I chose to install the Atheros AR5B95 WiFi card because I had a spare laptop that was not being used. I swapped the cards out based off of convenience. You can choose any Yosemite compatible WiFi card from this guide here: http://www.tonymacx86.com/network/104850-guide-airport-pcie-half-mini-v2.html If you choose my route and you go with the Atheros AR5B95, the process of installing is as easy as plug n’ play. There’s no unlocking the BIOS or any of that. If you choose to go another route and choose a different WiFi card, please post your results and directions here. I will try to make this the one stop solution for this laptop. Preparing the OS X Yosemite USB Installer 1. You will need to download the Yosemite image from the App Store For this installation, we will be using the 10.10.4 version of Yosemite. 2. Once the Yosemite image has downloaded, it will appear in your Applications folder. Verify to make sure it’s there and the size (5.68 GB) is correct. 3. Launch Disk Utility and select your flash drive (make sure you’re selecting the overall drive, not a selected partition). • Go to the Partition tab • In the ‘Partition Layout:’ section, click ‘Current’ and select 2 Partitions • Still in the ‘Partition Layout’ section, select partition ‘UNTITLED 1’ • Moving to the right side, in the ‘Partition Information’ section, type CLOVER for the name • For the format, leave as MS-DOS (FAT) • For the size, enter 0.3 • Click the ‘Options…’ button and select GUID Partition Table • In the ‘Partition Layout:’ section, now select the ‘UNTITLED 2’ partition • Back to the right side, in the ‘Partition Information’ section, type YOSEMITE for the name • For the format, select Mac OS Extended (Journaled) • For the size, leave as is (values will be different here because of different flash drive sizes) • Click the ‘Options…’ button and select GUID Partition Table • Click the ‘Apply’ button to begin formatting You will see the process begin and your newly formatted partitions will be mounted automatically. • You can now close Disk Utility 4. Now it's time to download and run my OS X USB FD Configurator application. Download my OS X USB FD Configurator application here: https://github.com/delioroman/OS-X-Yosemite-on-Acer-Aspire-M5-583P-XXXX-using-Clover Screenshots: --------------------------------------------------------------------------------------------------------------------------------- IMPORTANT: In order for OS X USB FD Configurator to work properly, it must be placed in your user directory (~). An easy way to locate this folder is to: • Select Finder in the Dock • On the top menu bar click ‘Go’ • Then click ‘Go to Folder…’ Type in: ~ • Press Enter You will see a new window pop up with folders such as ‘Documents’, ‘Downloads’, and ‘Music’. You’re in the right folder. Extract the .zip file to that location alongside all of those folders. --------------------------------------------------------------------------------------------------------------------------------- I created OS X USB FD Configurator to automate the process for you. It will: • Configure the Clover EFI boot loader onto the CLOVER partition All patched files will be automatically installed onto the partition as well. • Install the ‘Install OS X Yosemite’ image onto the YOSEMITE partition. Follow the directions given to you by OS X USB FD Configurator. After my application is done, you will have a ready to be booted OS X Yosemite Installer. I wrote this application specifically for the Acer Aspire M5-583P-XXXX. Don’t use this for any other laptop, it may not boot properly. Installing OS X Yosemite Now it’s time to begin the installation process! Now that our USB drive is ready to be booted, we have to set some things up in the BIOS. 1. Boot the laptop and tap F2 until you are presented with the BIOS screen. • In the ‘Main’ tab, make sure ‘F12 Boot Menu’ is Enabled and ‘SATA Mode’ is set to AHCI Mode. • In the ‘Boot’ tab, make sure ‘Secure Boot:’ is set to Disabled. This will allow Clover to launch successfully. • Now, go to the ‘Exit’ tab and select Exit Saving Changes. The laptop will now reboot. 2. When the laptop reboots, be sure to tap on the F12 button until you’re presented with the ‘Boot Manager’ screen. Select the flash drive in which you've created. 3. When you select the USB drive, you will be presented with Clover. Select the partition ‘YOSEMITE’ and press Enter to begin the boot process! Be patient during the boot process. It may seem like it got stuck, but don’t worry, you will soon be presented with the OS X installer screen. When you are greeted with the Welcome screen of OS X, be sure to select your preferred language to use during the installation process. By the way, your touchscreen should be working! Give it a test run. 4. Now you’ll be presented with the OS X logo stating “To set up installation of OS X, click Continue” We’re not going to click Continue just yet. Go to ‘Utilities’ at the top and select Disk Utility. 5. Select your laptops internal hard drive (NOT the usb drive). • Select the Partition tab. • Make sure 1 Partition is selected • Name your drive whatever you wish (ex: Macintosh HD is the default name for all Mac primary partitions). • Make sure the Format is set to Mac OS Extended (Journaled) • Click the ‘Options…’ button and select GUID Partition Table and click ‘OK’. • Click the ‘Apply’ button to begin the format process. • Once formatting is complete, you can now close Disk Utility. 6. Now, we can press the ‘Continue’ button. From here to the end of installation it should be self explanatory for you. Follow the directions and be sure to select your newly formatted hard drive as your installation destination. Installation will take a while so go ahead and grab a bite to eat! Booting Yosemite for the very first time 1. Once installation is complete you will be prompted to restart your computer. Restart and tap the F12 button upon reboot. Select the USB flash drive and you will be prompted with Clover, once again. This time, you will see a new addition which is your new installation of Yosemite. Select that drive and press enter. You will now boot Yosemite from your hard drive for the first time! 2. Once your OS X has fully booted, follow the remaining directions to set up your new ‘Mac’. After you have finished, you will then be presented with the Yosemite desktop. I’m sure you’re pretty excited at this point. We only have a couple more things to do to finalize our installation. Post Installation 1. Now it's time to format our EFI partition. Go to: Applications/Utilities/Terminal (a Spotlight search will work too) Type in: diskutil This will list ALL drives and partitions recognized by OS X. In here we will be looking for our ‘EFI’ partition. It will be located under the ‘IDENTIFIER’ section. Be absolutely sure you select the correct partition. * For example, let's say EFI was disk0s2 Now copy/paste or type in the following in Terminal: sudo newfs_msdos -v EFI -F 32 /dev/rdisk0s2 Press Enter and wait till Terminal completes. 2. It's now time to run my OS X Post Installation Configurator package to finalize the installation. Download my OS X Post Installation Configurator package here: https://github.com/delioroman/OS-X-Yosemite-on-Acer-Aspire-M5-583P-XXXX-using-Clover My package installer installs the following: • patched EFI folder • Clover Configurator • Kext Utility My post installer will install ALL necessary files to get Graphics, Network, Sound, etc, working. DSDT and SSDT patches will also be installed as well. Reconfiguring the BIOS The very last step is to set the BIOS back up. I don't believe this step is absolutely necessary. I did it just for piece of mind. If your laptop boots the main HD with Clover, with no problems, then you're good to go. If you still wish to continue, you're more than welcome. In this step we will point BIOS to the BOOTX64.efi file. This will add Clover as a trusted executable. Reboot the laptop and tap F2 Go to the 'Security' tab Select 'Set Supervisor Password' and set a password you will not forget. Keep it simple. A 4-digit password will be more than enough. Now select 'Select a UEFI file as trusted for executing' and press Enter Navigate to the BOOTX64.efi file in the EFI partition Go to the 'Exit' tab and select Exit Saving Changes Congrats! You are done!
  19. Hey there I searching a guide for inatall snow leopard in my dell latitude d620. I looked a guide but need the retail dvd,and i dont have one. I can inatall without the retail dvd? Please help me.
  20. I have just successfully set up Mountain Lion DP4 on my Asus P8P67-m Pro and decided to share what I found with the community. I used a patched version of the latest BIOS (3602) along with the DSDT and SSDT for that version. A modified BIOS is not necessary but should help with speedstep and sleep, and NullCPUPowerManagement will no longer be needed. By using this method I have gotten everything working except sleep (but its close). I found all of this information here and on other forums. I am in no way claiming any of this as my own work, I am simply bringing it all together in one place. Things you will need: A working install of OSX Lion or Snow Leopard A spare USB flash drive, USB hard drive, or internal hard drive (at least 8GB) A copy of Mountain Lion DP4 (Please don't ask me for it. I'm assuming you are a registered developer) Lnx2mac ethernet driver (get it here http://lnx2mac.blogs...osx-driver.html) A mountain lion compatible chameleon boot loader (get the pkg here) My P8P67-m Pro package (attached file) ​This pack includes (You do not need to download the following list, this is just to give credit): FakeSMC and Plugins (found it here: http://www.osx86.net...nd_plugins.html) DSDT for patched 3602 from samisnake Patched BIOS 3602 (not sure who patched it, but i found it here P8P67-M-PRO-ASUS-3602_modified.ROM) Kext Wizard by Janek202 (found it here http://www.insanelym...howtopic=253395) Installing the new BIOS (DO THIS AT YOUR OWN RISK!! I AM NOT RESPONSIBLE FOR BAD BIOS FLASHES) 1) In your existing Lion or Snow Leopard install, replace your existing DSDT with samisnake's DSDT from the download package. 2) Remove NullCPUPowerManagment.kext from S/L/E. 3) Use Kext Wizard to repair permissions. In maintenance section check "System/Library?Extensions". This should automatically check the two sub entries as well. Choose the target disk, it should be the Lion/SL install you are currently in. 4) Install the new BIOS. I did this by putting the BIOS ROM on a flash drive and booting into the flash utility. *****FLASH THE BIOS TWICE****** I'm not sure why this is necessary but according to Asus, IT IS! If you do not do this zombies will eat you. I updated from the flash utility, then rebooted. The system forced me finish the flash, then rebooted again. I then repeated the whole process. No zombies. 5) Reboot as normal into your Lion/SL install. Creating your Mountain Lion installer and installing. To do this I followed eep357's guide from right here on insanelymac: http://www.insanelym...dpost&p=1826183 "My super fast easy method requires you don't install to MBR and that you have a hard drive with chameleon on it already that is new enough revision to boot ML. first, make empty partition available for installing onto on guid only drive, hfs+ formatted. RT click install ML app, mount InstallESD.dmg, navigate to basesystem.dmg and mount it. restore basesystem.dmg from ML install app(to usb or another small partition) via diskutility. Eject basesystem.dmg so u dont get it mixed up with new restored one as it will have same name. [delete packages alias in System/Installation on the new USB drive] Fire up ye mighty terminal and go to bash shell with:sudo -s then copy packages folder from installESD.dmg to System/Installation/ on your newly restored usb like this:cp -R (drag packages folder here) (drag installation folder from usb here) give it a few minutes to finish then do the same copy technique, but this time for mach_kernel from InstallESD.dmg to / of new usb:cp -R (drag mach kernel here) (drag entire usb installer volume here) and done with terminal-yay create /Extra folder on usb and only put in your smbios and org.chameleon.boot.plist, leave your DSDT out use kext wizard to install fakesmc and nullcpupowermanagement [not needed if you used the patched BIOS] to s/l/e on your usb drive, then use kext wiz repair and rebuild cache options reboot as normal, do not change boot drive in bios. At your normal chameleon prompt, choose instead to boot to your new installer (OSX Base system) and use boot flags -v add any other bootflags you normally use that are not already in your org.chamleon.boot.plist install DP4 and reboot back to your old OSX. From there use kext wiz again to install fakesmc to your new DP4 and any other kexts you know are required to boot and copy /Extra folder from installer to your completed installation. I still didn't put my DSDT in it yet reboot, and this time from chameleon prompt choose new OSX DP4 and have fun. Should always use -v to boot until your install is rock solid (with dev preview just always use it)." Thanks, eep. Some notes: My copy of ML was a .dmg file, not an .app file. If you have this, mount the dmg. BaseSystem.dmg is a hidden file at the root directory. You will need to show hidden files. In terminal type "defaults write com.apple.finder AppleShowAllFiles TRUE". Return. Then type "killall Finder". Return. To unshow the hidden files do the same thing but use "FALSE" instead of "TRUE". The packages folder that needs to be copied is also in the root of the mounted ML installer image. I needed to use boot flag PCIRootUID=1 to boot the installer disk, and the installed ML. Installing P8P67-m drivers Once into your new Mountain lion install: Install the chameleon boot loader from the P8P67-m Pro Pack Use Kext Wizard to install all kexts in the P8P67-m Pro Drivers folder of the pack. You can drag multiple kexts into kext wizard. (IOAHCIFamaily.kext is patched for TRIM support and only needed if you use an SSD) Install the Lnx2Mac driver if you need ethernet support Copy the DSDT and SSDT to /Extra (Use the SSDT that is appropriate to your CPU). Add kernel flag PCIRootUID=1 to the boot.plist in /Extra Reboot. You should now be able to boot directly from your new ML install. If you want hardware monitoring such as CPU frequency and temps, use Kext Wizard to install the fakeSMC plugins that were included in the P8P67-m Pro Package. I used ACPISensor and IntelCPUMonitor. Others may be needed depending on what hardware you have and want to monitor. Of course you're on your own for video cards and other hardware. I use an ATI 5750. If you want to see what i did with that, check it out here: http://www.insanelym...dpost&p=1826652 P.S. This is my first guide, so please let me know if there's anything i need to fix. I hope it helps someone. P8P67-m Pro Pack.zip
  21. Installing Mountain Lion on this motherboard is a piece of cake. With this tutorial you will got a DSDT-FREE installation, with everything working. Requirements: -My package and modded bios: here -MyHack Start: First we need to flash the bios , for native speedstep. Prepare usb key with myhack and the guide present on the website. Start the hackintosh. Start and install my package. Reboot and everything should working. (If you are using a particular videocard , is up to you now to make it working) Tested on Mountain Lion 10.8 with cpu ivy bridge.
  22. xiontinsu

    Looking for DSDT General Guide

    Hello, I've seen many specific "How do I fix problem 'X' on my 'Y'?", or "Guide for getting 'X' working on 'Y'.", but nothing specific about DSDT, and the what/why/how of editing it. Hardware specific examples are fine, but I'm looking for a resource that I can use to educate myself about it in abstract so I can work on actually editing on my own. It seems necessary for going forward with this platform (I'd rather be able do to as much as I can myself.). Does anyone have a resource they can point me to, or knowledge to share? Thanks!
  23. Hallo, zusammen... it just seems that since 10.8.5 Apple's original wlan or lan kext drivers are updated, which leads to the consequence that many hackintosh network drivers don't work anymore in 10.8.5 and 10.9. But... They just works well before 10.8.4. Is there anyone knows why? Or just please write down a simple patch guide? My wlan bcm4312 just can't work well in 10.9: It can't access to the encrypt Wifi, but it can connect to a non-encrypt one. Anyone any idea? Lots of thanks!
  24. I have a [Asrock G31M-S R2.0] mainboard and i recently saw quite a number of guide ( most of them isnt really clear enough ) of how to boot mac os on the same mainboard .... Im quite new in this .... so is there anyone kind there to help me with some clear guide with uploaded file which may be use in the installation !!! In my machine : Intel core 2 duo E4500 2.24GHz - Asrock G31M-S R2.0 - 2GB DDR2 RAM - 160GB HDD - Nvidia GT 220 Someone please help me with this !!! I will appreciate it so much !! thank you in advance !!
  25. Quick compatibility chart and overview Name Type Comp Comments Device Gigabyte P34W v3 ✓ BIOS UEFI Aptio FB04 / F002 ✓ Needs OsxAptioFixDrv CPU Intel i7-4720HQ ✓ Memory 8GB (+ 4GB from old machine) ✓ Video Intel HD 4600 ✓ Needs Clover patch and FakePCIID. GTX 970M X Needs DSDT patch to disable Display built-in ✓ HDMI ✓ Audio ALC282 ✓ Works with AppleHDA-272.18.1-ALC282_v2 HDMI ? untested Ethernet RTL8111 ✓ Needs Realtek RTL8111.kext Wireless Intel 7260 X AR9287 (from old machine) ✓ BCM94352HMB (bought separately) ✓ Needs FakePCIID patch Bluetooth Intel 7260 X BCM94352HMB (bought separately) ✓ Needs BcrmPatchRam.kext ACPI Battery ✓ Needs ACPIBatteryManager and DSDT fixes Sleep ✓ Needs DSDT fixes Deep sleep X Disk 1TB HDD ✓ 256Gb mSATA SSD (installed later) ✓ Using trimforce enable USB Intel 8 / C220 XHCI ✓ Webcam UVC Camera ✓ SD card reader RTS5227 X Keyboard PS2 ✓ Needs DSDT patch for brightness controls Touchpad ELAN v3 ✓ Needs ApplePS2SmartTouchPad Resources (kexts, DSDT, patches, etc) for the installation can be found here. They might be out of date, so the guide will link to the original source for these files instead. If you want to install for El Capitan, then some of the guidelines might be wrong. Please see the link above for up to date information about installing El Capitan, especially on how to fix the USB 3.0 ports TL;DR The Gigabyte P34W v3 is a strong but lightweight 14" gaming notebook, which is almost ideal for Yosemite. Most functionality work out of the box, and the only two concerns that are hard to rectify is the ELAN touchpad (which needs the non open source SmartTouchPad kext), and the SD card reader, which is unfortunately not USB based. Also the wifi card needs replacement, and deep sleep doesn't seem to be working for now. Most of the described functionality should still work with the Schenker XMG C405 with GTX965 as well, as they are the same barebone. The P34W v2 should also be okay. The P34W v4, and the XMG C405 with GTX970 however already have Broadwell CPUs, so some of the described functionality here might not apply to them. Pre-install I have bought the P34W V3-CF2 version, which is similar to the CF1, but doesn't have an SSD (as I wanted to buy it separately). I have installed the SSD (Samsung Evo 850 250GB), and the AR9287 wifi chipset. You have to dismantle the notebook for these, here is a disassembly video you can use for reference. Also have two USB devices ready, one with the Windows installer, the other one with Yosemite. Notes: I am using clover v3259 You can use this config.plist for install, which is basically the default clover config with the KernelPM and AICPM patches enabled. The VoodooPS2Controller will not work properly with the touchpad, and sometimes it won't even load up the keyboard in case the touchpad initialisation fails, so until there is a better kext, use SmartTouchPad v4.4 Alternatively you can just connect an USB keyboard and mouse during installation. Don't forget to add the OsxAptioFixDrv driver, and to replace the VBoxHFS with the HFSPlus driver Additional kexts you'll need: FakeSMC.kext RealtekRTL8111.kext You can find all kexts to install into Clover here Since the licence key of the preinstalled Windows 8.1 is not glued on to the notebook it might be wise to use a key finder to save it for later, although it won't be needed as the key is stored in the BIOS as well. BIOS settings: For install change the following settings in the BIOS (press F2[\b] during boot to enter setup) Save&Exit -> Restore Win8.1 defaults (computer will restart after this) Security -> Delete all secure boot variables (computer will restart after this) Advanced -> 3D Graphic Acceleration -> Disabled Advanced -> USB Configuration -> XHCI Mode -> Disabled Partitioning I will be installing the two OSs on the SSD, giving 120/120GB each, so I'm going to partition the device accordingly. For now I'm skipping the HDD. I had better luck with partitioning from Windows, so I'll use that. Insert your Windows 8.1 installation media, and press F12[\b] during boot to chose it. Make sure you're selecting the line that says UEFI:, otherwise it will boot in legacy mode. After selecting install press SHIFT[\b]+F10[\b] to enter command line. On the command line please enter the following (the indented lines starting with dashes are only comments): diskpart - wait after this a while for diskpart to load list disk - check the result. disk 0 should be the SSD, you can easily check by the size of the disk select disk 0 - in case your SSD was not disk 0, use that instead clean - THIS WILL EREASE EVERYTHING ON THE DEVICE. You have been warned convert gpt create partition efi size=256 format quick fs=fat32 label="EFI" create partition msr size=128 create partition primary size=119000 - this is around half the remaining size on the disk. If you have smaller / larger SSD modify it accordingly. format fs=ntfs quick exit exit Windows 8.1 After this you should be able to install Windows 8.1 onto the newly created 119GB partition. If not please make sure you have started the installation media in UEFI mode. Once Windows 8.1 is installed you can upgrade it to Windows 10 if you want to, this guide will not describe these steps. Once Windows 8.1 is installed, and you are sure that you can reinstall it anytime without issues you might want to delete everything on the HDD, and repartition it. Note that this will delete the recovery partition on your HDD. If you can reinstall Windows 8.1 from an USB then you'll probably won't need it though. Yosemite Install Once Windows 8.1 is installed, and you're happy with it (note that USB3 and Nvidia is still disabled in the BIOS, we'll enable it after the OSX install), you can move onto the Yosemite install. Insert your OSX installation media, Press F12[\b] during start, and select it. Please make sure again that you are selecting the UEFI option, otherwise the installation will not work. During installation use Disk Utility to add a HFS+ Journaled, case insensitive partition on the free space we have left on the SSD during Windows 8.1 install, and install OSX there. If the installer does not start up, or reboots when the apple logo comes up, then make sure that: Clover has KernelPM and AICPM patches enabled (if they are not set inside the config.plist, you have to enable them every time inside the Options panel during boot) You have 3D Graphics disabled in the bios (alternatively you can also try using nv_disable=1 boot flag as well) Once installation finishes, boot Clover from the USB drive (again, make sure to use UEFI in the boot screen), and boot into your new installation. Set clover as boot manager Once booted into the new installation you can download and install Clover onto your main SSD as well. Don't forget to do the same steps as you did with the Yosemite install media (enable KernelPM patches inside config.plist and installing the necessary kexts) Unfortunately the BIOS will not pick up the clover installation, so you'll need to use the "bootmgr" trick: go to your EFI partition, Microsoft -> Boot, rename bootmgfw.efi to bootmgfw-orig.efi. Then copy Clover -> CloverX64.efi into Microsoft -> Boot. Finally rename CloverX64.efi inside Microsoft -> Boot to bootmgfw.efi Restart, go to setup, and make sure that the first boot option is Windows Boot Manager and the OS Type is set to UEFI. You can also remove all other boot options that are not related to this. Check if OSX and Windows can both be booted through Clover, and work fine. Enable TRIM on the SSD Open up a terminal, and type sudo trimforce enable Accept the changes, and the computer will restart Enable HD4600 QE/CI Install FakePCIID.kext and FakePCIID_HD4600_HD4400.kext into Clover's kext folder. Also use this config.plist inside Clover, which, compared to the original config.plist contains the proper platform-id, fake intel ids and patches to fix the garbled screen. If you can't see the EFI partition anymore you can mount it using a terminal the following way: mkdir /Volumes/efi sudo mount_msdos /dev/disk0s1 /Volumes/efi Enable AppleHDA Download and install AppleHDA-272.18.1-ALC282_v2.zip. Don't forget to fix permissions after this. The previous config.plist already includes the layout changes that need to be applied. Also Download and install CodecCommander, which will be used to make sure sound still works after the device has went to sleep. You might need to modify it's Info.plist to force reloading of the codec on ALC282 devices. Touch pad fixes If you're not using the ApplePS2SmartTouchPad from my repository, you should patch it's configs with these files. They will disable most of the functionality, and only keep the basics for a more consistent multi touch experience. They will also disable most of the keyboard magic, which is needed for the brightness keys to work (they will also require DSDT patches). At the end only these gestures will remain: Two finger multi touch scroll. Note that because of the driver's quirks this only works properly if your left finger's position is above your right finger's position on the trackpad Three finger swipes: switch desktops left/right, application windows and mission control DSDT patches These patches will fix the following problems: General sleep / wake related issues Disabling Dedicated graphics so it won't use power Enabling ACPI Battery Manager Fixing backlight keyboard buttons Restart the computer, go to setup, and enable both XHCI and 3D graphics: Advanced -> 3D Graphic Acceleration -> Enabled Advanced -> USB Configuration -> XHCI Mode -> Enabled If you are using BIOS version FB04, build 01/15/2015 10:28:02, ME FW version 9.1.2.10.10, then you MIGHT be able to use my pre patched, precompiled DSDT files, just put the compiled files onto EFI/Clover/ACPI/patched. Also use this dsdt patch config.plist in clover, which has DropSSDT enabled compared to the previous ones. If you have a different BIOS version, or the above files do not work for you, then you have to patch them manually. If you use the config.plist provided it should already have nv_disable=1, so your computer should boot up, but consume more power, as we have enabled the dedicated graphics card. We'll fix that soon. While you're still in Clover, press F4[\b], so it will save your DSDT and SSDT files onto EFI/Clover/ACPI/origin. Mount the EFI partition again, and save the following files to your desktop: DSDT.aml SSDT-0.aml SSDT-1.aml SSDT-7.aml SSDT-8.aml SSDT-9.aml SSDT-10.aml You should copy over SSDT-2 and SSDT-3 as well during decompilation, but then you'll won't need them again, as they are s CPU only. SSDT-4x,5x and 6x are loaded dynamically, and can be discarded. Note: if you don't have SSDT-9 and SSDT-10, then you probably forgot to enable NVidia in the setup. Please enable it, restart the computer and try again. Patching DSDT/SSDT files will only work with the full set of files, which you only get when Dedicated graphics is enabled. Download iasl, move it to the desktop, and use it to decompile the provided files from the terminal: cd ~/Desktop ./iasl -da -dl *.aml If everything goes okay you should get the .dsl files, which can be opened in MaciASL. Don't worry about the tons of error messages, most of the files have only slight issues with data after RETURN commands, which can be easily fixed. Let's start with getting rid of the massive Object does not exist (LNKF), Object does not exist (LNKA), etc. messages. They are caused by a huge block of Zero fields. Check for the first error message, that says unexpected PARSEOP_ZERO instead of the Object does not exist one, and just remove the block of Zeros from that position. Once this is done you should only have one error message, some value are there after a RETURN command. You can simply remove the offending line. The SSDT files will mostly compile fine, they will only have stray Arg0 and Zero commands after Returns, which can be removed without problems. Once you have manually fixed the files, and they all compile fine, let's start patching them. We should start with the basics from RehabMan's patch respository. You should go to MaciASL's properties settings and add them to the sources, so they can be easily applied to the files (check the readme on the previous link on how to do this). You should also add my repository: http://raw.github.com/sztupy/Gigabyte-P34W-v3-OSX86/master as well which contains some additional patches. You have to apply the following patches on the files. Patch name File to apply Notes Remove _DSM Methods DSDT, SSDT0,1,8,10 Does not apply cleanly on SSDT-1, you have to remove two additional lines manually Fix _WAK Arg0 v2 DSDT HPET Fix DSDT SMBUS Fix DSDT IRQ Fix DSDT RTC Fix DSDT Fix operating system check DSDT (,SSDT9) (from my respository) Applying onto SSDT9 is optional Fix Mutex with non-zero SyncLevel DSDT Fix PNOT/PPNT DSDT Add IMEI DSDT 7-series/8-series USB DSDT Rename GFX0 to IGPU DSDT, SSDT8,9,10 Disable graphics in EC DSDT (from my repository) Fix ACPI management DSDT (from my repository) Enable brightness keys DSDT (from my repository) Disable graphics in _INI SSDT9 (from my repository) (the ones that say from my repository can be obtained from here, or preferably added to MaciASL's repositories using the link mentioned above) Once the patches have been applied, use Save as on all files, and Save them into ACPI Machine Language Binary, and copy them over to Clover's EFI/Clover/ACPI/patched directory. Don't forget to enable DropSSDT inside config.plist, and restart the machine. CPU SSDT Next step is making sure the CPU's SSDT is patched for a better power management. Download ssdtPRgen, and generate an SSDT for the i7-4720HQ based on the 4710HQ, with fixed frequency and turbo boost values: cd ~/Desktop mkdir ssdt curl -o ./ssdtPRGen.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/master/ssdtPRGen.sh chmod +x ./ssdtPRGen.sh ./ssdtPRGen.sh -p 'i7-4710HQ' -f 2600 -turbo 3600 Say no when asked to copy the SSDT. It will be put into ~/Library/ssdtPRgen/SSDT.aml. Alternatively you can try to use the generated SSDT inside the DSDT_patched/CPU folder. For this to work, you should also modify config.plist to use this SSDT, and not generate P and C states on it's own. This config.plist should do the job. Disabling hibernation As hibernation does not work, it's best to disable it. The following commands should do the job: sudo pmset -a hibernatemode 0 sudo rm /var/vm/sleepimage sudo mkdir /var/vm/sleepimage BCM94352HMB If you have installed a BCM94352HMB chip separately, then install the FakePCIID_BCM94352Z_as_BCM94360CS2.kext if you need Wifi, and the BcrmPatchRam.kext if you need BT functionality into the EFI kexts store, and restart your computer. This should give you basic Wifi (2.4Ghz) and BT4 functionality. To enable 5Ghz and BT Handoff support you can use the this config.plist. Note that this will set the country code of your wifi to GB. If you would like to change this then you have to open this patch in XCode, go to KernelAndKextPatches/KextsToPatch, find the one which says 10.10-BCM94352-5GHz-GB (should be Item 3), and modify a few numbers in the Replace section. You have to modify the two numbers 47 42 in the middle of the replace section to one of the following (based on your country code): AE - 41 45 | AF - 41 46 | AR - 41 52 | AT - 41 54 | AU - 41 55 | AZ - 41 5A | BD - 42 44 | BE - 42 45 | BG - 42 47 | BN - 42 4E BR - 42 52 | BT - 42 54 | BY - 42 59 | CA - 43 41 | CH - 43 48 | CL - 43 4C | CN - 43 4E | CO - 43 4F | CR - 43 52 | CY - 43 59 CZ - 43 5A | DE - 44 45 | DK - 44 4B | DO - 44 4F | EC - 45 43 | EE - 45 45 | EG - 45 47 | ES - 45 53 | FI - 46 49 | FR - 46 52 GB - 47 42 | GR - 47 52 | GT - 47 54 | GU - 47 55 | HK - 48 4B | HN - 48 4E | HR - 48 52 | HU - 48 55 | ID - 49 44 | IE - 49 45 IL - 49 4C | IN - 49 4E | IS - 49 53 | IT - 49 54 | JM - 4A 4D | JO - 4A 4F | JP - 4A 50 | KH - 4B 48 | KZ - 4B 5A | LA - 4C 41 LI - 4C 49 | LK - 4C 4B | LT - 4C 54 | LU - 4C 55 | LV - 4C 56 | MA - 4D 41 | MM - 4D 4D | MN - 4D 4E | MO - 4D 4F | MT - 4D 54 MV - 4D 56 | MX - 4D 58 | MY - 4D 59 | NI - 4E 49 | NL - 4E 4C | NO - 4E 4F | NP - 4E 50 | NZ - 4E 5A | PA - 50 41 | PE - 50 45 PH - 50 48 | PK - 50 4B | PL - 50 4C | PR - 50 52 | PT - 50 54 | PY - 50 59 | RO - 52 4F | RS - 52 53 | RU - 52 55 | SA - 53 41 SE - 53 45 | SG - 53 47 | SI - 53 49 | SK - 53 4B | SV - 53 56 | TH - 54 48 | TR - 54 52 | TT - 54 54 | TW - 54 57 | UA - 55 41 US - 55 53 | UY - 55 59 | VE - 56 45 | VI - 56 49 | VN - 56 4E | ZA - 5A 41 So for example if you live in the USA (US) change 47 42 to 55 53. If you live in France (FR), change it to 46 52, etc. If you don't know the code for your country you can check ISO_3166-1 on Wikipedia. Note that not all country codes on the above list might be completely supported, if you experience issues it might be better to fall back to a supported version, like US. You might also want to change the patch's Name from -GB into the country of your chosing, but that's optional. Final words While the functionality is okay, some things are still not working, and I'm looking into them: ELAN touchpad driver has some quirks with two finger scrolling that is annoying. Also the driver is not open source, so fixing it won't be easy Brightness keys still generate characters while using them. Similarly to the touchpad driver, this is closed source, so no easy fix yet. SD Card reader doesn't work at all, and probably won't unless someone creates a driver from scratch. I'll try working on these issues when I have the time. I'll hope you've found the guide useful.
×