Jump to content
fantomas

OS X El Capitan DP's builds!

934 posts in this topic

Recommended Posts

Advertisement

The program starts and it looks fine (installed it via Pacifist) so i think this is a bug. I am talking about iLok License Manager App + iLok2 USB-Stick, the error-message is :

"Error communicating with an iLok. A USB failure has been detected." This is an rare already known issue but i think its related to PACE/iLok. so..offtopic.

I try to install another app from a .pkg because im wondering about that "Failed Installation"-Error.. just tried Kext Drop but it didnt changed anything. All other USB-Devices on all ports are running fine now so its not USB-related.

Share this post


Link to post
Share on other sites

The program starts and it looks fine (installed it via Pacifist) so i think this is a bug. I am talking about iLok License Manager App + iLok2 USB-Stick, the error-message is :

"Error communicating with an iLok. A USB failure has been detected." This is an rare already known issue but i think its related to PACE/iLok. so..offtopic.

I try to install another app from a .pkg because im wondering about that "Failed Installation"-Error.. just tried Kext Drop but it didnt changed anything. All other USB-Devices on all ports are running fine now so its not USB-related.

Look at the package log in the top bar

Share this post


Link to post
Share on other sites

PackageKit: Install Failed: Error Domain=PKInstallErrorDomain Code=121 "An error occurred while updating system extension information." UserInfo={NSUnderlyingError=0x7fb2243c1bc0 {Error Domain=kextcache Code=71 "(null)"}, NSLocalizedDescription=An error occurred while updating system extension information., arguments=("-update-volume", "/","-Installer" )} { NSLocalizedDescription = "An error occurred while updating system extension information."; NSUnderlyingError = "Error Domain=kextcache Code=71 \"(null)\""; arguments =("-update-volume","/","-Installer");}

 

so..what means kextcache Code=71?
 

Share this post


Link to post
Share on other sites

It's the postinstall script secrete? :D  or we can take a look?

the error comes from a call to kextcache command for a null argument!

Or maibe InsanelyRepairPermission Secrete?  :lol:

Share this post


Link to post
Share on other sites

InsanelyRepairPermission has a lot of code inside, contain also an entire framenwork that manage disks (here just determine file system) that normally I sell ;) ..you want to buy it? :hysterical: 


anyway:

 \"(null)\""; arguments =("-update-volume","/","-Installer");}

 

the missing arg is "/usr/sbin/kextcache"

 

Is not a script..is obj-c code, the NSString var (launchpath) is nil B) and you are using NSTask (or the tool you are using)

Share this post


Link to post
Share on other sites

isn't just 0x03 enough?

I don't think recovery is necessary.

0x01 Is sufficient to load third party kexts with the right permissions. 

 

 

Reading this topic, i don't get what the whole permission issue is here, but that might just be me.

I copied my kexts to /L/E, and even installed some to /S/L/E, always repaired permissions with the following commands: 

sudo touch /System/Library/Extensions
sudo touch /Library/Extensions
sudo kextcache -u /

I don't even think all are needed. Kext Utility does a great job also. 

 

After the kernel cache is rebuild, SIP can fully be enabled untill the next update, mine is currently set at 0x00.

 

Also, if an installer failes, the installer probably is corrupt. Download it again and install it. 

If it fails because of a permission issue, just don't install it! There is a reason why it is blocked.

 

Anyway, i just scrolled over the posts quickly like most people do, and the above came up. My laptop is in repair once again, so my information might be incorrect since i can not check/test it atm. 

Share this post


Link to post
Share on other sites

I dont have any problems installing other software/kexts etc. But maybe i should install a fresh version of 10.11 instead of upgrading from my old system / yosemite.                                          Is there a solution to fix this: http://pastebin.com/Kdc8qGtU ?

 

If it fails because of a permission issue, just don't install it   

 

I wish i could skip this ilok F**k but i need this dongle for using some really good plugins.

Share this post


Link to post
Share on other sites

ndx2014.. sag mal hast du das Ding hier ?

 

http://www.amazon.de/Digidesign-ProTools-Pace-iLok-Smart/dp/B0006AZLT4

 

Dann schmeiss doch weg das Ding wenn es nicht unter Mac funktioniert oder geh wieder zum blöden Windoof.

 

Du machst dich hier fix und fertig über zig Seiten, wegen so einen blöden USB Stick.

Edited by fantomas1
auf Englisch bitte !!! :)

Share this post


Link to post
Share on other sites

ndx2014.. sag mal hast du das Ding hier ?

 

http://www.amazon.de/Digidesign-ProTools-Pace-iLok-Smart/dp/B0006AZLT4

 

Dann schmeiss doch weg das Ding wenn es nicht unter Mac funktioniert oder geh wieder zum blöden Windoof.

 

Du machst dich hier fix und fertig über zig Seiten, wegen so einen blöden USB Stick.

Ich habe mal gelacht, danke.

 

@ Action you can buy a USB wifi dongle for €6,99. The delivered software for osx is useless, but a new installer can be downloaded from their site. Realtek chipset. Works great for my Acer, and for that price i can't complane.

 

Action is a store in the Netherlands and Germany that sells cheap stuff, perhaps other countrys also.

Share this post


Link to post
Share on other sites

Ja habe ich, aber mit Lizenzen im Wert von ca. 600 Euro drauf. Und da ich Logic und andere Programme nutze (und mir außerdem Windows zu unzuverlässig ist + lausige Perfomance) bin ich auf Mac OSX angewiesen. Is auch egal, ich installier grad ne saubere neue 10.11 Version auf eine 2. Partition. ^^

Share this post


Link to post
Share on other sites

Ok thanks so far, im away holiday!

send me your ilok Installer.pkg I  check whats wrong with the package

and I  repack for make it work

Share this post


Link to post
Share on other sites

Anyone have any luck with HDMI audio with HD4600? Using Toleda's CloverALC command. Kext patches show up, realtekALC inserted in kext folder on EFI partition, and AppleHDA.kext edited. Other sound outputs work, just not HDMI.

Share this post


Link to post
Share on other sites

Anyone have any luck with HDMI audio with HD4600? Using Toleda's CloverALC command. Kext patches show up, realtekALC inserted in kext folder on EFI partition, and AppleHDA.kext edited. Other sound outputs work, just not HDMI.

I'm not using HDMI audio. But I do remember toleda's script asking about fixing HDMI or something, when running the script. So make sure you agree to that.

Anyway, if you don't have it already, I suggest you get the latest version of toleda's script (I used version d, not sure if there's anything newer than that). Worst case scenario, you can ask toleda himself. He's a nice guy.

Share this post


Link to post
Share on other sites

Anyone have any luck with HDMI audio with HD4600? Using Toleda's CloverALC command. Kext patches show up, realtekALC inserted in kext folder on EFI partition, and AppleHDA.kext edited. Other sound outputs work, just not HDMI.

I remember CloverALC does not patch HDMI Audio. There is another toleda's repo that do this.

Share this post


Link to post
Share on other sites

I remember CloverALC does not patch HDMI Audio. There is another toleda's repo that do this.

The command asks if you want to enable hdmi audio for 4600 and I said yes. I think I need to make dsdt edits as well. That's my next thing to try.

Share this post


Link to post
Share on other sites

The command asks if you want to enable hdmi audio for 4600 and I said yes. I think I need to make dsdt edits as well. That's my next thing to try.

Before doing that, I would ask toleda about this issue. Get his opinion on it. DSDT edits might not be necessary. But before you dive into it and maybe break something, I say you talk to him. You've got nothing to lose.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By fusion71au
      Clover r5101 ISO compiled with GCC and minimal config.plist compatible for use in VMWare Workstation.
       
      Tested with unlocked Workstation 15 running OSX 10.9 -->10.15 guest in Windows X64 host.
       
      Installation
      1. Download and unzip "EFI_Clover_r5101 for VMware.zip". Mount Clover-v2.5k-5101-X64.iso by double clicking on it.
      2. Mount your VM's EFI System Partition eg in terminal
      sudo diskutil mount disk0s1   3. Copy EFI folder from step 1 into the EFI partition
      4. Shutdown the VM, add bios.bootDelay = "3000" to your VM's vmx file
      5. Reboot your VM, press <F2> to access the VMware Boot Manager and add CLOVERX64.efi to the boot menu.
       
      Substitute your own unique and valid MLB and ROM variables in the /EFI/CLOVER/config.plist (Rt Variables section) to activate iMessage/Facetime on your VM.
    • By liljboi2
      Trying To Boot Mac OS X El Capitan On Surface Book 1 i5 128GB 
      Ive tried everything under the sun to try to get this to even load the installer
      ive had mixed experiences trying many different options and “combos” 
      i Can Offer Someone That Can Help A “Software Pack” Which Includes
      My EFI
      Kexts
      DSDT
      Readmes
       
      Pretty Much Everything I HaveTried And Researched
      Hopefully That Will Help As I’m Confident I Should Have All Required Files But Not So Confident On How They Should Be Coupled 
      There Is A Guide On This Platform That Goes Over Installing This But What Is Demoed Is MacOS Sierra 10.12 When My Target Is 10.11 El Capitan  Everyone In The Comments That Tried El Capitan Either Have Out Of The Gate Sucess Or Gave Up And Went To Sierra The Problem Is Besides The Guide Author Correcting A Few Mistakes There Is No Actual Diagnosis And Help Given 
       
      For A While I Was Getting Nothing But A Black Screen After Moving Files I Finally Got An Apple Logo Great!..Not Really Because that’s all it would do.
       
      i Tried EFI Folder From Guy Who Did Surface Pro 4 “Port” And after I While I Will Get Cross Where The Apple Logo Would Be So There’s Something Happening When Using His EFI ; Mines Will Just Hang At Apple Logo For As Long As I Let It 
       
      With Verbose Boot Or Boot Flag -v 
       
      I Get Errors Concerning OSXAptioFixDrv They Are Usually Different 
      If I Try OSXAptioFix2Drv I Get
       
      ...........................................
       
      if i try OSXAptioFixDrv I get 1 of 3 errors Typically Saying Similiar Things 
      About Relocating Memory 
       
      Will Try To Add Photos 
       
      This Is Not My First Hackintosh More Like 5th or 6th But Besides On HP Elitebook Revolve Where I Had Similar Issues Due To BIOS Settings 
      I simply CAN NOT Get It To Boot No Matter What I Do Or Edit Please Help Or Provide EFI Folder That Will Work For Me 
      For Now Looking To Upgrade BIOS as I think it has something to do with firmware being to old as this PC Is usually never connected to Wi-Fi unless I need to download something and I cannot stress I have done everything under the sun to get this to even boot the installer 
    • By ludufre
      Novo guia para o macOS Catalina 10.15 (versões i3 e i5)!
      Obs.: Somente em inglês :/
       
       
       
      Instalando OS X El Capitan 10.11.5 no ASUS VivoBook S400C (também conhecido como S400CA)
      Especificamente no modelo S400CA-CA178H, provavelmente os outros modelos serão compatíveis
       
        
       
      Atualização 26/06/16 #1:
      - Adicionado correção para a logo no segundo estágio de boot em <KextsToPatch> no config.plist do Clover. (não está nos anexos)
       
       
      O que funciona e o que não funciona
       
      - Processador ->  Funciona. i5-3317U @ 1.7Ghz/2.6Ghz.  SpeedStep 8 a 26 estágios. AsusAICPUPM <true/> no Clover config.plist.  - Placa de vídeo ->  Funciona. HD4000. QE/CI completo. - Chipset ->  Funciona. - HDMI ->  Funciona. - VGA ->  Não funciona. - Som ->  Funciona. VoodooHDA 2.8.8 (use o arquivo PKG). - WiFi ->  Funciona. Substituída pela Athero 9285 Wifi/Bluetooth (http://lista.mercadolivre.com.br/atheros-9285#D[A:atheros-9285]). - Rede ->  Funciona. AtherosE2200Ethernet 2.1.0. - Teclado e touchpad ->  Funciona. ELAN, FocalTech and Synaptics (Smart Touchpad) Driver (Mac OS X) (versão 4.6). - Teclas FN do teclado ->  Funciona. Alterado "FN keys layout" na kext ELAN acima. - Controle do brilho ->  Funciona. DSDT patch (abaixo). - Repouso/Sleep ->  Não funciona. A tela desliga mas não entra em standby. - Bateria ->  Funciona. ACPIBatteryManager by RehabMan (versão 2016-0531) e DSDT patch (abaixo). - Leitor de cartão ->  Não funciona. - Câmera integrada ->  Funciona. AnyiSightCam. - Bluetooth ->  Funciona. Bluetooth Firmware Uploader (versão 3.1). - Segundo estágio da logo no boot ->  Funciona. Correção para adicionar em <KextsToPatch> abaixo.    
      O que você precisa para instalar
       
      - Instalação do El Capitan funcionando no VMware -> Baixei a versão 10.11 por torrent (busque torrent por "10.11 vmware"). Você pode usar um Mac real de um amigo. Meu método só funciona no Mavericks (10.9) e acima.
      - Um pendrive de 8GB ou maior.
      - App de instalação do OS X El Capitan -> Baixe na App Store por dentro da máquina virtual. Baixei a versão 10.11.5.
      - CloverEFI -> Também baixe por dentro da máquina virtual. Eu usei a compilação 3577.
      - Habilidade em DSDT patch-> Necessário para a bateria funcionar. [Guia] DSDT/SSDT - Conhecimentos Gerais. Ou você pode baixar o meu DSDT abaixo, mas eu não recomendo.
       
       
      Como criar o pendrive
       
      Criando a instalação:
       
      Formate o pendrive com partição GUID e nomeie como "Install"
       
      Abra o terminal e execute o comando:
       
       
      Isso vai levar 30 minutos.

      Instalando o bootloader:
       
      Baixe o CloverEFI (usei 3577) e instale com essas opções em "Install OS X El Capitan":

      Opções:
       
      - Install for UEFI booting only
      - Install Clover in the ESP
      - Drivers64UEFI - CsmVideoDxe-64
      - Drivers64UEFI - OsxAptioFixDrv-64
       
      Vai ser criado uma partição com nome EFI. Edite o arquivo /EFI/CLOVER/config.plist e altere os seguintes valores:
        - Graphics - Inject - ATI - <false/> - Graphics - Inject - Intel - <true/> - Graphics - ig-platform-id - 0x01660003 - KernelAndKextPatches - AsusAICPUPM - <true/>   Importante: Renomeie "#Inject" para "Inject" e "#ig-platform-id" para "ig-platform-id".   Obs.: Vou deixar em anexo meu config.plist.   Agora você vai precisar dessas duas Kexts:
       
      - Baixar a kext Smart Touchpad. Eu usei a versão 4.6.
      - Baixar o dmg do HWSensors e utilizar a FakeSMC.kext de dentro. Eu usei a versão 6.20.1410. Isso é muito importante. Não dá pra dar boot sem ele.
      - Coloque essas Kexts dentro de /EFI/CLOVER/kexts/10.11/
      - Coloque o instalador do Clover dentro do pendrive também.
       
      Agora você pode iniciar a inalação sem problema (eu acho).
       
       
      Configuração do Setup da BIOS e Instalação
       
      - Desligue o ultrabook e insira o pendrive.
      - Ligue com a tecla F2 apertada para entrar no Setup da BIOS.
      - Vá para "Save & Exit" e selecione "Restore Defaults".
      - Vá para aba "Advanced" e altere esses valores:
      - Intel Virtualization Technology: Disabled
      - VT-d: Disabled
      - USB Configuration - XHCI Pre-Boot Mode: Disabled
      - Vá para "Save & Exit" novamente e selecione "Save Changes".
      - Agora na seção "Boot Override" selecione o pendrive que vai estar com onome começando com UEFI. No meu caso "UEFI: KingstonDataTraveler 2.0PMAP".
      - O menu do Clover vai aparecer. Use as setas do teclado para selecionar o pendrive. Vai até a opção com o nome de "Boot OS X Install from Install OS X El Capitan", então aperter Enter.
      - Se você fez tudo corretamente, sua instalação vai inciar. Lembre-se: Formatar o HDD ou SSD com partição GUID.
      - Isso vai levar cerca de 20 minutos.
      - Depois da instalação da primeira parte o sistema vai reiniciar. Você precisa segurar o botão ESC para entrar no menu de Boot quando aparecer a logo da Asus.
      - Selecione o pendrive novamente.
      - No menu do Clover, aperte Enter em "Boot OS X Install from Install OS X El Capitan" mais uma vez.
      - A segunda parte da instalação vai começar. Isso leva cerca de 16 minutos.
       
      Pós instalação
       
      - Quando a segunda parte da instalação acabar, o sistema vai reiniciar novamente.
      - Após realizar a configuração inicial de usuário e ir para a área de trabalho, você precisará instalar o Clover no disco interno.
      - Abra o instalador do Clover dentro do pendrive que você copiou anteriormente.
      - Use as mesmas opções acima mas dessa vez escolha o a partição do sistema.
      - Agora você precisa substituir a pasta EFI de dentro da partição EFI do disco interno com a pasta EFI da partição EFI do pendrive.
      - A partição EFI do pendrive não vai estar montada. Monde com "diskutil mount /dev/rdiskXs1". Para saber qual é o X, use "diskutil list", mas provavelmente será 1.
      - Agora reinicie o sistema. Você vai precisar apertar ESC para entrar no menu de Boot quando aparecer a logo da Asus.
      - Selecione o pendrive novamente.
      - No menu do Clove, use as setas do teclado e vá para a última opção com nome "Clover Boot Options" e aperte Espaço. - Selecione a opção "Add Clover boot options for all entries".
      - Desligue, remova o pendrive e ligue.
      - Se você fez tudo corretamente, o sistema vai iniciar normalmente.
       
      Outras Kexts:
       
      Baixe as kexts nos links abaixo. Eu recomendo fortemente sempre usar versões mais novas. Se você estiver com preguiça, eu anexei no final desse post.
       
      Rede: AtherosE2200Ethernet 2.1.0
      Som: VoodooHDA 2.8.8 (use o arquivo PKG). Você precisa selecionar a saída nas Preferências do Sistemas após reiniciar.
      Bateria: ACPIBatteryManager by RehabMan (versão 2016-0531). Você precisa do path DSDT (abaixo).
      Bluetooth: Bluetooth Firmware Uploader (versão 3.1).
      Câmera integrada: AnyiSightCam
       
      Todas as kexts devem ser colocadas em /EFI/CLOVER/kexts/10.11/, monde essa partição novamente (diskutil mount /dev/rdiskXs1) pra isso.
       
      Teclas FN:
      Abra "ApplePS2SmartTouchPad.kext/Contents/Plugins/ApplePS2Keyboard.kext/Contents/Info.plist" e altere:
      <key>Fn keys Layout</key> <string>NONE</string> <key>Fn keys Mode</key> <integer>2</integer> Para:
      <key>Fn keys Layout</key> <string>ASUS</string> <key>Fn keys Mode</key> <integer>3</integer>   Correção do segundo estágio de boot:
      Adicionar em /EFI/CLOVER/config.plist dentro de KextsToPatch
      <dict> <key>Comment</key> <string>HD 4000 Logo Fix</string> <key>Find</key> <data> AQAAdRc= </data> <key>Name</key> <string>IOGraphicsFamily</string> <key>Replace</key> <data> AQAA6xc= </data> </dict> Path DSDT da bateria:
      #Maintained by: RehabMan for: Laptop Patches #battery_ASUS-N55SL.txt # created by RehabMan 8/12/2013 # created originally for jesselid # works for: # ASUS N55SL, BIOS rev. 204 # ASUS VivoBook series # ASUS Zenbook UX31A # ASUS UX301LA # ASUS X553E-SX399V # ASUS F501A # ASUS K55VM # ASUS U46SV, BIOS rev. 2.04 # ASUS N43 # ASUS PU500CA (90NB00F1-M01120) # ASUS N73SV # ASUS X401A-WX108 # ASUS F551CA Bios rev. 207 # ASUS S551LB VivoBook # ASUS ZenBook UX32VD # ASUS F550L-X455H # ASUS X53S # ASUS K550JD-XX003H # ASUS G53SX # ASUS K56CB # ASUS UX305 into method label B1B2 remove_entry; into definitionblock code_regex . insert begin Method (B1B2, 2, NotSerialized) { Return (Or (Arg0, ShiftLeft (Arg1, 8))) }\n end; # not really for battery, but might come in handy to read fan speed(s) into device label EC0 code_regex TAH0,\s+16 replace_matched begin TH00,8,TH01,8 end; into device label EC0 code_regex TAH1,\s+16 replace_matched begin TH10,8,TH11,8 end; into method label TACH code_regex \(TAH0, replace_matched begin (B1B2(TH00,TH01), end; into method label TACH code_regex \(TAH1, replace_matched begin (B1B2(TH10,TH11), end; into method label GFAN code_regex \(\\_SB\.PCI0\.LPCB\.EC0\.TAH0, replace_matched begin (B1B2(\\_SB.PCI0.LPCB.EC0.TH00,\\_SB.PCI0.LPCB.EC0.TH01), end; # battery EC into device label EC0 code_regex B0SN,\s+16 replace_matched begin B0S0,8,B0S1,8 end; into device label EC0 code_regex B1SN,\s+16 replace_matched begin B1S0,8,B1S1,8 end; into method label BIFA code_regex \(B0SN, replace_matched begin (B1B2(B0S0,B0S1), end; into method label BIFA code_regex \(B1SN, replace_matched begin (B1B2(B1S0,B1S1), end; into device label EC0 code_regex DT2B,\s+16 replace_matched begin T2B0,8,T2B1,8 end; into method label SMBR code_regex \(DT2B, replace_matched begin (B1B2(T2B0,T2B1), end; into method label SMBW code_regex Store\s+\(([^,]*),\s+DT2B\) replace_matched begin Store(%1,T2B0) Store(ShiftRight(%1,8),T2B1) end; into device label EC0 insert begin Method (RDBA, 0, Serialized)\n {\n Name (TEMP, Buffer(0x20) { })\n Store (BA00, Index(TEMP, 0x00))\n Store (BA01, Index(TEMP, 0x01))\n Store (BA02, Index(TEMP, 0x02))\n Store (BA03, Index(TEMP, 0x03))\n Store (BA04, Index(TEMP, 0x04))\n Store (BA05, Index(TEMP, 0x05))\n Store (BA06, Index(TEMP, 0x06))\n Store (BA07, Index(TEMP, 0x07))\n Store (BA08, Index(TEMP, 0x08))\n Store (BA09, Index(TEMP, 0x09))\n Store (BA0A, Index(TEMP, 0x0A))\n Store (BA0B, Index(TEMP, 0x0B))\n Store (BA0C, Index(TEMP, 0x0C))\n Store (BA0D, Index(TEMP, 0x0D))\n Store (BA0E, Index(TEMP, 0x0E))\n Store (BA0F, Index(TEMP, 0x0F))\n Store (BA10, Index(TEMP, 0x10))\n Store (BA11, Index(TEMP, 0x11))\n Store (BA12, Index(TEMP, 0x12))\n Store (BA13, Index(TEMP, 0x13))\n Store (BA14, Index(TEMP, 0x14))\n Store (BA15, Index(TEMP, 0x15))\n Store (BA16, Index(TEMP, 0x16))\n Store (BA17, Index(TEMP, 0x17))\n Store (BA18, Index(TEMP, 0x18))\n Store (BA19, Index(TEMP, 0x19))\n Store (BA1A, Index(TEMP, 0x1A))\n Store (BA1B, Index(TEMP, 0x1B))\n Store (BA1C, Index(TEMP, 0x1C))\n Store (BA1D, Index(TEMP, 0x1D))\n Store (BA1E, Index(TEMP, 0x1E))\n Store (BA1F, Index(TEMP, 0x1F))\n Return (TEMP)\n }\n end; into device label EC0 insert begin Method (WRBA, 1, Serialized)\n {\n Name (TEMP, Buffer(0x20) { })\n Store (Arg0, TEMP)\n Store (DerefOf(Index(TEMP, 0x00)), BA00)\n Store (DerefOf(Index(TEMP, 0x01)), BA01)\n Store (DerefOf(Index(TEMP, 0x02)), BA02)\n Store (DerefOf(Index(TEMP, 0x03)), BA03)\n Store (DerefOf(Index(TEMP, 0x04)), BA04)\n Store (DerefOf(Index(TEMP, 0x05)), BA05)\n Store (DerefOf(Index(TEMP, 0x06)), BA06)\n Store (DerefOf(Index(TEMP, 0x07)), BA07)\n Store (DerefOf(Index(TEMP, 0x08)), BA08)\n Store (DerefOf(Index(TEMP, 0x09)), BA09)\n Store (DerefOf(Index(TEMP, 0x0A)), BA0A)\n Store (DerefOf(Index(TEMP, 0x0B)), BA0B)\n Store (DerefOf(Index(TEMP, 0x0C)), BA0C)\n Store (DerefOf(Index(TEMP, 0x0D)), BA0D)\n Store (DerefOf(Index(TEMP, 0x0E)), BA0E)\n Store (DerefOf(Index(TEMP, 0x0F)), BA0F)\n Store (DerefOf(Index(TEMP, 0x10)), BA10)\n Store (DerefOf(Index(TEMP, 0x11)), BA11)\n Store (DerefOf(Index(TEMP, 0x12)), BA12)\n Store (DerefOf(Index(TEMP, 0x13)), BA13)\n Store (DerefOf(Index(TEMP, 0x14)), BA14)\n Store (DerefOf(Index(TEMP, 0x15)), BA15)\n Store (DerefOf(Index(TEMP, 0x16)), BA16)\n Store (DerefOf(Index(TEMP, 0x17)), BA17)\n Store (DerefOf(Index(TEMP, 0x18)), BA18)\n Store (DerefOf(Index(TEMP, 0x19)), BA19)\n Store (DerefOf(Index(TEMP, 0x1A)), BA1A)\n Store (DerefOf(Index(TEMP, 0x1B)), BA1B)\n Store (DerefOf(Index(TEMP, 0x1C)), BA1C)\n Store (DerefOf(Index(TEMP, 0x1D)), BA1D)\n Store (DerefOf(Index(TEMP, 0x1E)), BA1E)\n Store (DerefOf(Index(TEMP, 0x1F)), BA1F)\n }\n end; into device label EC0 code_regex BDAT,\s+256 replace_matched begin //BDAT, 256,\n BA00,8,BA01,8,BA02,8,BA03,8,\n BA04,8,BA05,8,BA06,8,BA07,8,\n BA08,8,BA09,8,BA0A,8,BA0B,8,\n BA0C,8,BA0D,8,BA0E,8,BA0F,8,\n BA10,8,BA11,8,BA12,8,BA13,8,\n BA14,8,BA15,8,BA16,8,BA17,8,\n BA18,8,BA19,8,BA1A,8,BA1B,8,\n BA1C,8,BA1D,8,BA1E,8,BA1F,8\n end; into method label SMBR code_regex \(BDAT, replaceall_matched begin (RDBA(), end; into method label SMBR code_regex Store\s\((.*),\sBDAT\) replaceall_matched begin WRBA(%1) end; into method label SMBW code_regex Store\s\((.*),\sBDAT\) replaceall_matched begin WRBA(%1) end; into method label ECSB code_regex Store\s\((.*),\sBDAT\) replaceall_matched begin WRBA(%1) end; into method label ECSB code_regex \(BDAT, replaceall_matched begin (RDBA(), end; into device label EC0 insert begin Method (RDBB, 0, Serialized)\n {\n Name (TEMP, Buffer(0x20) { })\n Store (BB00, Index(TEMP, 0x00))\n Store (BB01, Index(TEMP, 0x01))\n Store (BB02, Index(TEMP, 0x02))\n Store (BB03, Index(TEMP, 0x03))\n Store (BB04, Index(TEMP, 0x04))\n Store (BB05, Index(TEMP, 0x05))\n Store (BB06, Index(TEMP, 0x06))\n Store (BB07, Index(TEMP, 0x07))\n Store (BB08, Index(TEMP, 0x08))\n Store (BB09, Index(TEMP, 0x09))\n Store (BB0A, Index(TEMP, 0x0A))\n Store (BB0B, Index(TEMP, 0x0B))\n Store (BB0C, Index(TEMP, 0x0C))\n Store (BB0D, Index(TEMP, 0x0D))\n Store (BB0E, Index(TEMP, 0x0E))\n Store (BB0F, Index(TEMP, 0x0F))\n Store (BB10, Index(TEMP, 0x10))\n Store (BB11, Index(TEMP, 0x11))\n Store (BB12, Index(TEMP, 0x12))\n Store (BB13, Index(TEMP, 0x13))\n Store (BB14, Index(TEMP, 0x14))\n Store (BB15, Index(TEMP, 0x15))\n Store (BB16, Index(TEMP, 0x16))\n Store (BB17, Index(TEMP, 0x17))\n Store (BB18, Index(TEMP, 0x18))\n Store (BB19, Index(TEMP, 0x19))\n Store (BB1A, Index(TEMP, 0x1A))\n Store (BB1B, Index(TEMP, 0x1B))\n Store (BB1C, Index(TEMP, 0x1C))\n Store (BB1D, Index(TEMP, 0x1D))\n Store (BB1E, Index(TEMP, 0x1E))\n Store (BB1F, Index(TEMP, 0x1F))\n Return (TEMP)\n }\n end; into device label EC0 insert begin Method (WRBB, 1, Serialized)\n {\n Name (TEMP, Buffer(0x20) { })\n Store (Arg0, TEMP)\n Store (DerefOf(Index(TEMP, 0x00)), BB00)\n Store (DerefOf(Index(TEMP, 0x01)), BB01)\n Store (DerefOf(Index(TEMP, 0x02)), BB02)\n Store (DerefOf(Index(TEMP, 0x03)), BB03)\n Store (DerefOf(Index(TEMP, 0x04)), BB04)\n Store (DerefOf(Index(TEMP, 0x05)), BB05)\n Store (DerefOf(Index(TEMP, 0x06)), BB06)\n Store (DerefOf(Index(TEMP, 0x07)), BB07)\n Store (DerefOf(Index(TEMP, 0x08)), BB08)\n Store (DerefOf(Index(TEMP, 0x09)), BB09)\n Store (DerefOf(Index(TEMP, 0x0A)), BB0A)\n Store (DerefOf(Index(TEMP, 0x0B)), BB0B)\n Store (DerefOf(Index(TEMP, 0x0C)), BB0C)\n Store (DerefOf(Index(TEMP, 0x0D)), BB0D)\n Store (DerefOf(Index(TEMP, 0x0E)), BB0E)\n Store (DerefOf(Index(TEMP, 0x0F)), BB0F)\n Store (DerefOf(Index(TEMP, 0x10)), BB10)\n Store (DerefOf(Index(TEMP, 0x11)), BB11)\n Store (DerefOf(Index(TEMP, 0x12)), BB12)\n Store (DerefOf(Index(TEMP, 0x13)), BB13)\n Store (DerefOf(Index(TEMP, 0x14)), BB14)\n Store (DerefOf(Index(TEMP, 0x15)), BB15)\n Store (DerefOf(Index(TEMP, 0x16)), BB16)\n Store (DerefOf(Index(TEMP, 0x17)), BB17)\n Store (DerefOf(Index(TEMP, 0x18)), BB18)\n Store (DerefOf(Index(TEMP, 0x19)), BB19)\n Store (DerefOf(Index(TEMP, 0x1A)), BB1A)\n Store (DerefOf(Index(TEMP, 0x1B)), BB1B)\n Store (DerefOf(Index(TEMP, 0x1C)), BB1C)\n Store (DerefOf(Index(TEMP, 0x1D)), BB1D)\n Store (DerefOf(Index(TEMP, 0x1E)), BB1E)\n Store (DerefOf(Index(TEMP, 0x1F)), BB1F)\n }\n end; into device label EC0 code_regex BDA2,\s+256 replace_matched begin //BDA2, 256,\n BB00,8,BB01,8,BB02,8,BB03,8,\n BB04,8,BB05,8,BB06,8,BB07,8,\n BB08,8,BB09,8,BB0A,8,BB0B,8,\n BB0C,8,BB0D,8,BB0E,8,BB0F,8,\n BB10,8,BB11,8,BB12,8,BB13,8,\n BB14,8,BB15,8,BB16,8,BB17,8,\n BB18,8,BB19,8,BB1A,8,BB1B,8,\n BB1C,8,BB1D,8,BB1E,8,BB1F,8\n end; into method label SMBR code_regex \(BDA2, replaceall_matched begin (RDBB(), end; into method label SMBR code_regex Store\s\((.*),\sBDA2\) replaceall_matched begin WRBB(%1) end; into method label SMBW code_regex Store\s\((.*),\sBDA2\) replaceall_matched begin WRBB(%1) end; into method label ECSB code_regex Store\s\((.*),\sBDA2\) replaceall_matched begin WRBB(%1) end; into method label ECSB code_regex \(BDA2, replaceall_matched begin (RDBB(), end; # additional work for _BIX method present in some ASUS laptops into device label EC0 code_regex B0C3,\s+16 replace_matched begin XC30,8,XC31,8 end; into device label EC0 code_regex B1C3,\s+16 replace_matched begin YC30,8,YC31,8 end; into_all method label _BIX code_regex \(\^\^LPCB\.EC0\.B0C3, replaceall_matched begin (B1B2(^^LPCB.EC0.XC30,^^LPCB.EC0.XC31), end; into_all method label _BIX code_regex \(\^\^LPCB\.EC0\.B1C3, replaceall_matched begin (B1B2(^^LPCB.EC0.YC30,^^LPCB.EC0.YC31), end; # or could remove the _BIX method if it turns out not to work #into_all method label _BIX remove_entry; Path do brilho
      #Maintained by: RehabMan for: Laptop Patches #graphics_PNLF_ivy_sandy.txt # This patch enables the brightness slider in SysPrefs->Displays # and will also enable activation of sleep mode by closing # the laptop lid. # # This particular version is intended to be used with ACPIBacklight.kext # although it can also be used with AppleBacklight.kext, # provided AppleBacklight.kext is patched to recognize your # display or an injector is used to set brightness levels. # # See this thread for more information: # http://www.tonymacx86.com/hp-probook-mavericks/121031-native-brightness-working-without-blinkscreen-using-patched-applebacklight-kext.html # (also read any linked threads) # # # Note: This patch should be applied to the DSDT or SSDT that defines # your integrated graphics device (always at _ADR 0x00020000) # into_all device label PNLF remove_entry; into_all device name_adr 0x00020000 code_regex (OperationRegion\s\(RMPC,\sPCI_Config[^\}]*\}) remove_matched; into device name_adr 0x00020000 insert begin OperationRegion (RMPC, PCI_Config, 0x10, 4)\n Field (RMPC, AnyAcc, NoLock, Preserve)\n {\n BAR1,32,\n }\n Device (PNLF)\n {\n // normal PNLF declares (note some of this probably not necessary)\n Name (_ADR, Zero)\n Name (_HID, EisaId ("APP0002"))\n Name (_CID, "backlight")\n Name (_UID, 10)\n Name (_STA, 0x0B)\n //define hardware register access for brightness\n // lower nibble of BAR1 is status bits and not part of the address\n OperationRegion (BRIT, SystemMemory, And(^BAR1, Not(0xF)), 0xe1184)\n Field (BRIT, AnyAcc, Lock, Preserve)\n {\n Offset(0x48250),\n LEV2, 32,\n LEVL, 32,\n Offset(0x70040),\n P0BL, 32,\n Offset(0xc8250),\n LEVW, 32,\n LEVX, 32,\n Offset(0xe1180),\n PCHL, 32,\n }\n // DEB1 special for setting KLVX at runtime...\n //Method (DEB1, 1, NotSerialized)\n //{\n // Store(Arg0, KLVX)\n //}\n // LMAX: use 0x710 to force OS X value\n // or use any arbitrary value\n // or use 0 to capture BIOS setting\n Name (LMAX, 0x710)\n // KMAX: defines the unscaled range in the _BCL table below\n Name (KMAX, 0x710)\n // KPCH: saved value for PCHL\n Name(KPCH, 0)\n // _INI deals with differences between native setting and desired\n Method (_INI, 0, NotSerialized)\n {\n // save value of PCHL for later\n Store(PCHL, KPCH)\n // determine LMAX to use\n If (LNot(LMAX)) { Store(ShiftRight(LEVX,16), LMAX) }\n If (LNot(LMAX)) { Store(KMAX, LMAX) }\n Store(ShiftLeft(LMAX,16), KLVX)\n If (LNotEqual(LMAX, KMAX))\n {\n // Scale all the values in _BCL to the PWM max in use\n Store(0, Local0)\n While (LLess(Local0, SizeOf(_BCL)))\n {\n Store(DerefOf(Index(_BCL,Local0)), Local1)\n Divide(Multiply(Local1,LMAX), KMAX,, Local1)\n Store(Local1, Index(_BCL,Local0))\n Increment(Local0)\n }\n // Also scale XRGL and XRGH values\n Divide(Multiply(XRGL,LMAX), KMAX,, XRGL)\n Divide(Multiply(XRGH,LMAX), KMAX,, XRGH)\n }\n // adjust values to desired LMAX\n Store(ShiftRight(LEVX,16), Local1)\n If (LNotEqual(Local1, LMAX))\n {\n Store(LEVL, Local0)\n If (LOr(LNot(Local0),LNot(Local1))) { Store(LMAX, Local0) Store(LMAX, Local1) }\n Divide(Multiply(Local0,LMAX), Local1,, Local0)\n //REVIEW: wait for vblank before setting new PWM config\n //Store(P0BL, Local7)\n //While (LEqual (P0BL, Local7)) {}\n If (LGreater(LEVL, LMAX))\n { Store(KLVX, LEVX) Store(Local0, LEVL) }\n Else\n { Store(Local0, LEVL) Store(KLVX, LEVX) }\n }\n }\n // _BCM/_BQC: set/get for brightness level\n Method (_BCM, 1, NotSerialized)\n {\n // initialize for consistent backlight level before/after sleep\n If (LNotEqual(PCHL, KPCH)) { Store(KPCH, PCHL) }\n If (LNotEqual(LEVW, 0x80000000)) { Store (0x80000000, LEVW) }\n If (LNotEqual(LEVX, KLVX)) { Store (KLVX, LEVX) }\n // store new backlight level\n Store(Match(_BCL, MGE, Arg0, MTR, 0, 2), Local0)\n If (LEqual(Local0, Ones)) { Subtract(SizeOf(_BCL), 1, Local0) }\n If (LNotEqual(LEV2, 0x80000000)) { Store(0x80000000, LEV2) }\n Store(DerefOf(Index(_BCL, Local0)), LEVL)\n }\n Method (_BQC, 0, NotSerialized)\n {\n Store(Match(_BCL, MGE, LEVL, MTR, 0, 2), Local0)\n If (LEqual(Local0, Ones)) { Subtract(SizeOf(_BCL), 1, Local0) }\n Return(DerefOf(Index(_BCL, Local0)))\n }\n Method (_DOS, 1, NotSerialized)\n {\n // Note: Some systems have this defined in DSDT, so uncomment\n // the next line if that is the case.\n //External(^^_DOS, MethodObj)\n ^^_DOS(Arg0)\n }\n // extended _BCM/_BQC for setting "in between" levels\n Method (XBCM, 1, NotSerialized)\n {\n // initialize for consistent backlight level before/after sleep\n If (LNotEqual(PCHL, KPCH)) { Store(KPCH, PCHL) }\n If (LNotEqual(LEVW, 0x80000000)) { Store (0x80000000, LEVW) }\n If (LNotEqual(LEVX, KLVX)) { Store (KLVX, LEVX) }\n // store new backlight level\n If (LGreater(Arg0, XRGH)) { Store(XRGH, Arg0) }\n If (LAnd(Arg0, LLess(Arg0, XRGL))) { Store(XRGL, Arg0) }\n If (LNotEqual(LEV2, 0x80000000)) { Store(0x80000000, LEV2) } \n Store(Arg0, LEVL)\n }\n Method (XBQC, 0, NotSerialized)\n {\n Store(LEVL, Local0)\n If (LGreater(Local0, XRGH)) { Store(XRGH, Local0) }\n If (LAnd(Local0, LLess(Local0, XRGL))) { Store(XRGL, Local0) }\n Return(Local0)\n }\n // Use XOPT=1 to disable smooth transitions\n Name (XOPT, Zero)\n // XRGL/XRGH: defines the valid range\n Name (XRGL, 40)\n Name (XRGH, 1808)\n // KLVX is initialization value for LEVX\n Name (KLVX, 0x7100000)\n // _BCL: returns list of valid brightness levels\n // first two entries describe ac/battery power levels\n Name (_BCL, Package()\n {\n 1808,\n 479,\n 0,\n 53, 55, 57, 59,\n 62, 66, 71, 77,\n 83, 91, 99, 108,\n 119, 130, 142, 154,\n 168, 183, 198, 214,\n 232, 250, 269, 289,\n 309, 331, 354, 377,\n 401, 426, 453, 479,\n 507, 536, 566, 596,\n 627, 660, 693, 727,\n 762, 797, 834, 872,\n 910, 949, 990, 1031,\n 1073, 1115, 1159, 1204,\n 1249, 1296, 1343, 1391,\n 1440, 1490, 1541, 1592,\n 1645, 1698, 1753, 1808,\n })\n }\n end; Está pronto!
       
       
      Em anexo arquivos utilizados na instalação. Pelo amor de deus, sempre use versões mais novas.
       
       
      E por último mas não menos importante
       
      Eu gostaria de agradecer os seguintes membros da comunidade, por tornar esse sonho possível:
      @crushers, @snatch, @apianti, @blackosx, @blusseau, @dmazar, @slice2009, @autumnrain, @phpdev32, @EMlyDinEsH, @RehabMan, @Scellow, @mitch_de, @Shailua, @Andy Vandijck, @maxfierke, @ArturXXX, @LexHimself, @brumas e todos os outros membros envolvidos direta ou indiretamente.
      EFI antes instalação.zip
      EFI após instalação.zip
    • By ludufre
      New guide available for macOS Catalina 10.15 (i3 and i5 versions)!
       
       
       
      Installing OS X El Capitan 10.11.5 on ASUS VivoBook S400C (also know as S400CA)
      Specifically in S400CA-CA178H model, most likely all other models are compatible
       
        
       

      Updated 22/11/17 #1:
       
      - High Sierra 10.13.1 on ASUS Vivobook S400C (S400CA-CA178H).
       
       
      Updated 27/06/16 #1:
       
      - Altered Brightness to fix with Clover <KextsToPatch> method.
       
      - Added Kexts to fix USB port injection (FakePCIID.kext, FakePCIID_XHCIMux.kext and USB.kext).
      - Touch Screen was missing from the list. Added and now works.
      - Sleep now works after DSDT patch
      - Card Reader now works too
      - Created section about DSDT and Todo list
      - Added missing patchs
      - Updated BIOS config list before install.
       
      Updated 26/06/16 #1:
       
      - Added patch in <KextsToPatch> in Clover config.plist to fix 2nd Stage Boot logo. (not in attachments)
       
       
      What works and what does not work
       
      - Processor ->  Work. i5-3317U @ 1.7Ghz/2.6Ghz.  SpeedStep 8 to 26 stages. AsusAICPUPM <true/> in Clover config.plist. 
      - Video Card ->  Work. HD4000. Full QE/CI.
      - Chipset ->  Work.
      - HDMI ->  Work.
      - VGA ->  Not work.
      - Audio ->  Work. VoodooHDA 2.8.8 (use PKG file).
      - WiFi ->  Work. Replaced by Athero 9285 Wifi/Bluetooth (https://www.amazon.com/s/ref=nb_sb_noss_2?url=search-alias%3Daps&field-keywords=atheros+9285).
      - Ethernet ->  Work. AtherosE2200Ethernet 2.1.0.
      - Keyboard and touchpad ->  Work. ELAN, FocalTech and Synaptics (Smart Touchpad) Driver (Mac OS X) (version 4.6).
      - FN keyboards keys ->  Work. Changed FN keys layout inside ELAN kext above.
      - Brightness control ->  Work. Clover <KextsToPatch> below.
      - Touchscreen ->  Work. USB port inject kext in attachment.
      - Sleep ->  Work. DSDT patch (below) and <HighCurrent> set to <true/> in Clover.
      - Battery ->  Work. ACPIBatteryManager by RehabMan (version 2016-0531) and DSDT patch (below).
      - Card Reader ->  Work. USB port inject kext in attachment.
      - Integrated Camera ->  Work. AnyiSightCam.
      - Bluetooth ->  Work. Bluetooth Firmware Uploader (version 3.1).
      - 2nd stage boot logo ->  Work. Clover <KextsToPatch> below.

       
       
      What you need to install
       


      - Running install of El Capitan on VMware -> Downloaded version 10.11 via torrent (search by "10.11 vmware" torrent). You can use a real Mac of an friend. My method only works on Mavericks (10.9) and above.
      - One USB flash drive of 8GB or bigger.
      - OS X El Capitan install app -> Downloaded via App Store inside the virtual machine. Downloaded version 10.11.5.
      - CloverEFI -> Also download inside the virtual machine. I used build 3577.
      - DSDT patch skills -> Needed to battery works. How to patch DSDT. Or you can download mine DSDT below, but would not recommend.

       
       
      How create the flash drive
       
      Creating the install:
       
      Format the flash drive with GUID partition mapping and name it "Install"
       
      Open terminal and run this command:
       
       
       
       
      This will take about 30 minutes.

      Installing bootloader:
       
      Download the CloverEFI (used 3577) and install with this options on "Install OS X El Capitan":

      Options:
       
      - Install for UEFI booting only
      - Install Clover in the ESP
      - Drivers64UEFI - CsmVideoDxe-64
      - Drivers64UEFI - OsxAptioFixDrv-64
       
      Will be created a partition named EFI. Edit the /EFI/CLOVER/config.plist and change those values:
       
      - Graphics - Inject - ATI - <false/>
      - Graphics - Inject - Intel - <true/>
      - Graphics - ig-platform-id - 0x01660003
      - KernelAndKextPatches - AsusAICPUPM - <true/>
       
      Important: Rename "#Inject" to "Inject" and "#ig-platform-id" to "ig-platform-id".
       
      P.s.: I will provide below my config.plist as attachment.
       

      Now you will need two Kexts:
       
      - Download the Smart Touchpad kext from here. I used the version 4.6.
      - Download the HWSensors dmg and use the FakeSMC.kext from inside. I used the version 6.20.1410. This is very important. Can't boot without it.
      - Put these Kexts inside /EFI/CLOVER/kexts/10.11/
      - Put the Clover installer on the flash drive too.

       
      Now you can start the instalation without problem (I guess).
       
       
      BIOS Setup Configuration and Installation
       
      - Shutdown the ultrabook and insert the flash drive.
      - Power on with F2 pressed to enter BIOS setup.
      - Go to "Save & Exit" and press "Restore Defaults".
      - Go to "Advanced" tab and change these values:
       
      - VT-d: Disabled
      - Go to "Save & Exit" again and select "Save Changes".
      - Now in "Boot Override" section select the flash drive named with UEFI prefix. In my case "UEFI: KingstonDataTraveler 2.0PMAP".
      - The clover menu will show. Use the arrow keys to mark the flash drive. The option name is "Boot OS X Install from Install OS X El Capitan", then press Enter.
      - If you did everything correctly, you can start the installation. Remember: Format the HDD or SSD with GUID partition mapping.
      - This will take about 20 minutes.
      - After first part install the system will reboot. You need to press ESC to enter Boot menu when Asus logo appear.
      - Select the flash drive again.
      - In Clover main menu, press enter in "Boot OS X Install from Install OS X El Capitan" once again.
      - The second part of the installation will begin. This will take 16 minutes.
       
       
      Post installation
       
      - When the second part of install finish, the system will reboot again.
      - After performing the user initial setup and go to the desktop, you need to install Clover on internal disk.
      - Open the Clover installer inside flash drive that you copied before.
      - Use same options above but choose the system partition this time.
      - Now you need to replace the EFI folder inside your internal disk EFI parittion with EFI folder inside flash card EFI partition.
      - The flash drive EFI partition is unmounted. Mount with "diskutil mount /dev/rdiskXs1". To know what X is, use "diskutil list", most likely is 1.
      - Now restart the system. You need to press ESC to enter Boot menu when Asus logo appear.
      - Select the flash drive again.
      - In Clover menu, use arrows and go to the last option with name "Clover Boot Options" and press Space.
      - Select the option "Add Clover boot options for all entries".
      - Shutdown, remove the flash drive and power on.
      - If you do everything wright, the system will start normally.
       
      Others Kexts:
       
      Download the kexts from the links below. I strongly recommend always use newest versions. If you are too lazy, I attach on end of the post.
       
      Ethernet: AtherosE2200Ethernet 2.1.0
      Sound: VoodooHDA 2.8.8 (use PKG file). You need to select the output there in System Preferences after reboot.
      Battery: ACPIBatteryManager by RehabMan (version 2016-0531). You need to path DSDT (below).
      Bluetooth: Bluetooth Firmware Uploader (version 3.1).
      Integrated Camera: AnyiSightCam
      USB Port Injector: FakePCIID and FakePCIID_XHCIMux (version 2016-0512) and USB.kext attached below.
       
      All kexts will placed inside /EFI/CLOVER/kexts/10.11/, mount again this partition (diskutil mount /dev/rdiskXs1) for it.
       
       
      Fine Adjustiment
       
      Prevent eject when sleep
      Open "/EFI/CLOVER/config.plist" and change:
       
       
      <key>HighCurrent</key> <false/> To:
       
      <key>HighCurrent</key> <true/>  Enable FN keys
      Open "ApplePS2SmartTouchPad.kext/Contents/Plugins/ApplePS2Keyboard.kext/Contents/Info.plist" and change:
       
      <key>Fn keys Layout</key> <string>NONE</string> <key>Fn keys Mode</key> <integer>2</integer> To:
       
      <key>Fn keys Layout</key> <string>ASUS</string> <key>Fn keys Mode</key> <integer>3</integer>  Second stage boot logo fix
      Add in /EFI/CLOVER/config.plist inside KextsToPatch.
       
      <dict> <key>Comment</key> <string>HD 4000 Logo Fix</string> <key>Find</key> <data> AQAAdRc= </data> <key>Name</key> <string>IOGraphicsFamily</string> <key>Replace</key> <data> AQAA6xc= </data> </dict> Brightness fix
      Add in /EFI/CLOVER/config.plist inside KextsToPatch.
       
      <dict> <key>Comment</key> <string>HD 4000 brightness fix</string> <key>Find</key> <data> EAcAABAHAAA= </data> <key>Name</key> <string>AppleIntelFramebufferCapri</string> <key>Replace</key> <data> EhMAABITAAA= </data> </dict> DSDT Patchs
       
      First of all, extract your system DSDT.aml pressioning F4 on Clover boot menu. Will be stored in /EFI/CLOVER/ACPI/origin.
      Copy to /EFI/CLOVER/ACPI/patched and apply following patchs using MaciASL:
       
      Fix *pnp/pnp lower case Error
       
      #Maintained by: RehabMan for: Laptop Patches #fix_HID_pnp.txt # To fix Name(_HID, "*pnpXXXX") and Name(_HID, "pnpXXXX") into_all all code_regex (Name\s+\(_HID,\s+\")\*pnp(.*\") replaceall_matched begin %1PNP%2 end; into_all all code_regex (Name\s+\(_HID,\s+\")pnp(.*\") replaceall_matched begin %1PNP%2 end; Rename GFX0 to IGPU
       
      #Maintained by: RehabMan for: Laptop Patches #graphics_Rename-GFX0.txt # Note: Most DSDT/SSDTs use GFX0 for the integrated graphics device, # but there are few renegades that use VID or AGP1. # If your DSDT uses VID or AGP1 instead of GFX0, see the # alternate patch "Rename VID/AGP1 to IGPU" # sometimes there is already IGPU used for other things into_all all code_regex IGPU, replaceall_matched begin IGFX, end; # rename GFX0 -> IGPU for better power management into_all all code_regex GFX0\. replaceall_matched begin IGPU. end; into_all all code_regex \.GFX0 replaceall_matched begin .IGPU end; into_all all code_regex \sGFX0, replaceall_matched begin IGPU, end; into_all all code_regex \(GFX0 replaceall_matched begin (IGPU end; into_all all label GFX0 set_label begin IGPU end; into_all all label _SB.PCI0.GFX0 set_label begin _SB.PCI0.IGPU end; into_all all label \_SB.PCI0.GFX0 set_label begin \_SB.PCI0.IGPU end; into_all all label _SB.PCI0.GFX0.DD02 set_label begin _SB.PCI0.IGPU.DD02 end; into_all all label \_SB.PCI0.GFX0.DD02 set_label begin \_SB.PCI0.IGPU.DD02 end; into_all all label ^^^GFX0 set_label begin ^^^IGPU end; into_all all label ^^GFX0 set_label begin ^^IGPU end; into_all all label ^GFX0 set_label begin ^IGPU end; Battery (ASUS N55LS/Vivobook)
       
      #Maintained by: RehabMan for: Laptop Patches #battery_ASUS-N55SL.txt # created by RehabMan 8/12/2013 # created originally for jesselid # works for: # ASUS N55SL, BIOS rev. 204 # ASUS VivoBook series # ASUS Zenbook UX31A # ASUS UX301LA # ASUS X553E-SX399V # ASUS F501A # ASUS K55VM # ASUS U46SV, BIOS rev. 2.04 # ASUS N43 # ASUS PU500CA (90NB00F1-M01120) # ASUS N73SV # ASUS X401A-WX108 # ASUS F551CA Bios rev. 207 # ASUS S551LB VivoBook # ASUS ZenBook UX32VD # ASUS F550L-X455H # ASUS X53S # ASUS K550JD-XX003H # ASUS G53SX # ASUS K56CB # ASUS UX305 into method label B1B2 remove_entry; into definitionblock code_regex . insert begin Method (B1B2, 2, NotSerialized) { Return (Or (Arg0, ShiftLeft (Arg1, 8))) }\n end; # not really for battery, but might come in handy to read fan speed(s) into device label EC0 code_regex TAH0,\s+16 replace_matched begin TH00,8,TH01,8 end; into device label EC0 code_regex TAH1,\s+16 replace_matched begin TH10,8,TH11,8 end; into method label TACH code_regex \(TAH0, replace_matched begin (B1B2(TH00,TH01), end; into method label TACH code_regex \(TAH1, replace_matched begin (B1B2(TH10,TH11), end; into method label GFAN code_regex \(\\_SB\.PCI0\.LPCB\.EC0\.TAH0, replace_matched begin (B1B2(\\_SB.PCI0.LPCB.EC0.TH00,\\_SB.PCI0.LPCB.EC0.TH01), end; # battery EC into device label EC0 code_regex B0SN,\s+16 replace_matched begin B0S0,8,B0S1,8 end; into device label EC0 code_regex B1SN,\s+16 replace_matched begin B1S0,8,B1S1,8 end; into method label BIFA code_regex \(B0SN, replace_matched begin (B1B2(B0S0,B0S1), end; into method label BIFA code_regex \(B1SN, replace_matched begin (B1B2(B1S0,B1S1), end; into device label EC0 code_regex DT2B,\s+16 replace_matched begin T2B0,8,T2B1,8 end; into method label SMBR code_regex \(DT2B, replace_matched begin (B1B2(T2B0,T2B1), end; into method label SMBW code_regex Store\s+\(([^,]*),\s+DT2B\) replace_matched begin Store(%1,T2B0) Store(ShiftRight(%1,8),T2B1) end; into device label EC0 insert begin Method (RDBA, 0, Serialized)\n {\n Name (TEMP, Buffer(0x20) { })\n Store (BA00, Index(TEMP, 0x00))\n Store (BA01, Index(TEMP, 0x01))\n Store (BA02, Index(TEMP, 0x02))\n Store (BA03, Index(TEMP, 0x03))\n Store (BA04, Index(TEMP, 0x04))\n Store (BA05, Index(TEMP, 0x05))\n Store (BA06, Index(TEMP, 0x06))\n Store (BA07, Index(TEMP, 0x07))\n Store (BA08, Index(TEMP, 0x08))\n Store (BA09, Index(TEMP, 0x09))\n Store (BA0A, Index(TEMP, 0x0A))\n Store (BA0B, Index(TEMP, 0x0B))\n Store (BA0C, Index(TEMP, 0x0C))\n Store (BA0D, Index(TEMP, 0x0D))\n Store (BA0E, Index(TEMP, 0x0E))\n Store (BA0F, Index(TEMP, 0x0F))\n Store (BA10, Index(TEMP, 0x10))\n Store (BA11, Index(TEMP, 0x11))\n Store (BA12, Index(TEMP, 0x12))\n Store (BA13, Index(TEMP, 0x13))\n Store (BA14, Index(TEMP, 0x14))\n Store (BA15, Index(TEMP, 0x15))\n Store (BA16, Index(TEMP, 0x16))\n Store (BA17, Index(TEMP, 0x17))\n Store (BA18, Index(TEMP, 0x18))\n Store (BA19, Index(TEMP, 0x19))\n Store (BA1A, Index(TEMP, 0x1A))\n Store (BA1B, Index(TEMP, 0x1B))\n Store (BA1C, Index(TEMP, 0x1C))\n Store (BA1D, Index(TEMP, 0x1D))\n Store (BA1E, Index(TEMP, 0x1E))\n Store (BA1F, Index(TEMP, 0x1F))\n Return (TEMP)\n }\n end; into device label EC0 insert begin Method (WRBA, 1, Serialized)\n {\n Name (TEMP, Buffer(0x20) { })\n Store (Arg0, TEMP)\n Store (DerefOf(Index(TEMP, 0x00)), BA00)\n Store (DerefOf(Index(TEMP, 0x01)), BA01)\n Store (DerefOf(Index(TEMP, 0x02)), BA02)\n Store (DerefOf(Index(TEMP, 0x03)), BA03)\n Store (DerefOf(Index(TEMP, 0x04)), BA04)\n Store (DerefOf(Index(TEMP, 0x05)), BA05)\n Store (DerefOf(Index(TEMP, 0x06)), BA06)\n Store (DerefOf(Index(TEMP, 0x07)), BA07)\n Store (DerefOf(Index(TEMP, 0x08)), BA08)\n Store (DerefOf(Index(TEMP, 0x09)), BA09)\n Store (DerefOf(Index(TEMP, 0x0A)), BA0A)\n Store (DerefOf(Index(TEMP, 0x0B)), BA0B)\n Store (DerefOf(Index(TEMP, 0x0C)), BA0C)\n Store (DerefOf(Index(TEMP, 0x0D)), BA0D)\n Store (DerefOf(Index(TEMP, 0x0E)), BA0E)\n Store (DerefOf(Index(TEMP, 0x0F)), BA0F)\n Store (DerefOf(Index(TEMP, 0x10)), BA10)\n Store (DerefOf(Index(TEMP, 0x11)), BA11)\n Store (DerefOf(Index(TEMP, 0x12)), BA12)\n Store (DerefOf(Index(TEMP, 0x13)), BA13)\n Store (DerefOf(Index(TEMP, 0x14)), BA14)\n Store (DerefOf(Index(TEMP, 0x15)), BA15)\n Store (DerefOf(Index(TEMP, 0x16)), BA16)\n Store (DerefOf(Index(TEMP, 0x17)), BA17)\n Store (DerefOf(Index(TEMP, 0x18)), BA18)\n Store (DerefOf(Index(TEMP, 0x19)), BA19)\n Store (DerefOf(Index(TEMP, 0x1A)), BA1A)\n Store (DerefOf(Index(TEMP, 0x1B)), BA1B)\n Store (DerefOf(Index(TEMP, 0x1C)), BA1C)\n Store (DerefOf(Index(TEMP, 0x1D)), BA1D)\n Store (DerefOf(Index(TEMP, 0x1E)), BA1E)\n Store (DerefOf(Index(TEMP, 0x1F)), BA1F)\n }\n end; into device label EC0 code_regex BDAT,\s+256 replace_matched begin //BDAT, 256,\n BA00,8,BA01,8,BA02,8,BA03,8,\n BA04,8,BA05,8,BA06,8,BA07,8,\n BA08,8,BA09,8,BA0A,8,BA0B,8,\n BA0C,8,BA0D,8,BA0E,8,BA0F,8,\n BA10,8,BA11,8,BA12,8,BA13,8,\n BA14,8,BA15,8,BA16,8,BA17,8,\n BA18,8,BA19,8,BA1A,8,BA1B,8,\n BA1C,8,BA1D,8,BA1E,8,BA1F,8\n end; into method label SMBR code_regex \(BDAT, replaceall_matched begin (RDBA(), end; into method label SMBR code_regex Store\s\((.*),\sBDAT\) replaceall_matched begin WRBA(%1) end; into method label SMBW code_regex Store\s\((.*),\sBDAT\) replaceall_matched begin WRBA(%1) end; into method label ECSB code_regex Store\s\((.*),\sBDAT\) replaceall_matched begin WRBA(%1) end; into method label ECSB code_regex \(BDAT, replaceall_matched begin (RDBA(), end; into device label EC0 insert begin Method (RDBB, 0, Serialized)\n {\n Name (TEMP, Buffer(0x20) { })\n Store (BB00, Index(TEMP, 0x00))\n Store (BB01, Index(TEMP, 0x01))\n Store (BB02, Index(TEMP, 0x02))\n Store (BB03, Index(TEMP, 0x03))\n Store (BB04, Index(TEMP, 0x04))\n Store (BB05, Index(TEMP, 0x05))\n Store (BB06, Index(TEMP, 0x06))\n Store (BB07, Index(TEMP, 0x07))\n Store (BB08, Index(TEMP, 0x08))\n Store (BB09, Index(TEMP, 0x09))\n Store (BB0A, Index(TEMP, 0x0A))\n Store (BB0B, Index(TEMP, 0x0B))\n Store (BB0C, Index(TEMP, 0x0C))\n Store (BB0D, Index(TEMP, 0x0D))\n Store (BB0E, Index(TEMP, 0x0E))\n Store (BB0F, Index(TEMP, 0x0F))\n Store (BB10, Index(TEMP, 0x10))\n Store (BB11, Index(TEMP, 0x11))\n Store (BB12, Index(TEMP, 0x12))\n Store (BB13, Index(TEMP, 0x13))\n Store (BB14, Index(TEMP, 0x14))\n Store (BB15, Index(TEMP, 0x15))\n Store (BB16, Index(TEMP, 0x16))\n Store (BB17, Index(TEMP, 0x17))\n Store (BB18, Index(TEMP, 0x18))\n Store (BB19, Index(TEMP, 0x19))\n Store (BB1A, Index(TEMP, 0x1A))\n Store (BB1B, Index(TEMP, 0x1B))\n Store (BB1C, Index(TEMP, 0x1C))\n Store (BB1D, Index(TEMP, 0x1D))\n Store (BB1E, Index(TEMP, 0x1E))\n Store (BB1F, Index(TEMP, 0x1F))\n Return (TEMP)\n }\n end; into device label EC0 insert begin Method (WRBB, 1, Serialized)\n {\n Name (TEMP, Buffer(0x20) { })\n Store (Arg0, TEMP)\n Store (DerefOf(Index(TEMP, 0x00)), BB00)\n Store (DerefOf(Index(TEMP, 0x01)), BB01)\n Store (DerefOf(Index(TEMP, 0x02)), BB02)\n Store (DerefOf(Index(TEMP, 0x03)), BB03)\n Store (DerefOf(Index(TEMP, 0x04)), BB04)\n Store (DerefOf(Index(TEMP, 0x05)), BB05)\n Store (DerefOf(Index(TEMP, 0x06)), BB06)\n Store (DerefOf(Index(TEMP, 0x07)), BB07)\n Store (DerefOf(Index(TEMP, 0x08)), BB08)\n Store (DerefOf(Index(TEMP, 0x09)), BB09)\n Store (DerefOf(Index(TEMP, 0x0A)), BB0A)\n Store (DerefOf(Index(TEMP, 0x0B)), BB0B)\n Store (DerefOf(Index(TEMP, 0x0C)), BB0C)\n Store (DerefOf(Index(TEMP, 0x0D)), BB0D)\n Store (DerefOf(Index(TEMP, 0x0E)), BB0E)\n Store (DerefOf(Index(TEMP, 0x0F)), BB0F)\n Store (DerefOf(Index(TEMP, 0x10)), BB10)\n Store (DerefOf(Index(TEMP, 0x11)), BB11)\n Store (DerefOf(Index(TEMP, 0x12)), BB12)\n Store (DerefOf(Index(TEMP, 0x13)), BB13)\n Store (DerefOf(Index(TEMP, 0x14)), BB14)\n Store (DerefOf(Index(TEMP, 0x15)), BB15)\n Store (DerefOf(Index(TEMP, 0x16)), BB16)\n Store (DerefOf(Index(TEMP, 0x17)), BB17)\n Store (DerefOf(Index(TEMP, 0x18)), BB18)\n Store (DerefOf(Index(TEMP, 0x19)), BB19)\n Store (DerefOf(Index(TEMP, 0x1A)), BB1A)\n Store (DerefOf(Index(TEMP, 0x1B)), BB1B)\n Store (DerefOf(Index(TEMP, 0x1C)), BB1C)\n Store (DerefOf(Index(TEMP, 0x1D)), BB1D)\n Store (DerefOf(Index(TEMP, 0x1E)), BB1E)\n Store (DerefOf(Index(TEMP, 0x1F)), BB1F)\n }\n end; into device label EC0 code_regex BDA2,\s+256 replace_matched begin //BDA2, 256,\n BB00,8,BB01,8,BB02,8,BB03,8,\n BB04,8,BB05,8,BB06,8,BB07,8,\n BB08,8,BB09,8,BB0A,8,BB0B,8,\n BB0C,8,BB0D,8,BB0E,8,BB0F,8,\n BB10,8,BB11,8,BB12,8,BB13,8,\n BB14,8,BB15,8,BB16,8,BB17,8,\n BB18,8,BB19,8,BB1A,8,BB1B,8,\n BB1C,8,BB1D,8,BB1E,8,BB1F,8\n end; into method label SMBR code_regex \(BDA2, replaceall_matched begin (RDBB(), end; into method label SMBR code_regex Store\s\((.*),\sBDA2\) replaceall_matched begin WRBB(%1) end; into method label SMBW code_regex Store\s\((.*),\sBDA2\) replaceall_matched begin WRBB(%1) end; into method label ECSB code_regex Store\s\((.*),\sBDA2\) replaceall_matched begin WRBB(%1) end; into method label ECSB code_regex \(BDA2, replaceall_matched begin (RDBB(), end; # additional work for _BIX method present in some ASUS laptops into device label EC0 code_regex B0C3,\s+16 replace_matched begin XC30,8,XC31,8 end; into device label EC0 code_regex B1C3,\s+16 replace_matched begin YC30,8,YC31,8 end; into_all method label _BIX code_regex \(\^\^LPCB\.EC0\.B0C3, replaceall_matched begin (B1B2(^^LPCB.EC0.XC30,^^LPCB.EC0.XC31), end; into_all method label _BIX code_regex \(\^\^LPCB\.EC0\.B1C3, replaceall_matched begin (B1B2(^^LPCB.EC0.YC30,^^LPCB.EC0.YC31), end; # or could remove the _BIX method if it turns out not to work #into_all method label _BIX remove_entry; Fix Sleep issues caused by USBs
       
      #Maintained by: RehabMan for: Laptop Patches #Changed by Luan (ludufre) Eduardo #usb_prw_0x0d_xhc.txt # remove _PRW methods to prevent instant wake # delete any existing XHC1 device into device label XHC1 name_adr 0x00140000 remove_entry; # delete any existing USB2 device into device label USB2 name_adr 0x001D0000 remove_entry; # if _PRW objects are methods into method label _PRW parent_adr 0x001D0000 remove_entry; into method label _PRW parent_adr 0x001A0000 remove_entry; into method label _PRW parent_adr 0x00140000 remove_entry; into method label _PRW parent_adr 0x001B0000 remove_entry; # some other LAN cards use 0x00190000 into method label _PRW parent_adr 0x00190000 remove_entry; # if _PRW methods are stuffed into a separate scope into method label _PRW parent_label _SB.PCI0.EHC1 remove_entry; into method label _PRW parent_label _SB.PCI0.EHC2 remove_entry; into method label _PRW parent_label _SB.PCI0.XHC remove_entry; into method label _PRW parent_label \_SB.PCI0.EHC1 remove_entry; into method label _PRW parent_label \_SB.PCI0.EHC2 remove_entry; into method label _PRW parent_label \_SB.PCI0.XHC remove_entry; # if _PRW objects are names into device name_adr 0x001D0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched; into device name_adr 0x001A0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched; into device name_adr 0x00140000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched; into device name_adr 0x001B0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched; into device name_adr 0x00190000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched; # some _PRW have three entries in the Package into device name_adr 0x001D0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched; into device name_adr 0x001A0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched; into device name_adr 0x00140000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched; into device name_adr 0x001B0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched; into device name_adr 0x00190000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched; # seems to work better if _PRW is present, but returns 0 (original was 3) for sleep state into device name_adr 0x001D0000 insert begin Name(_PRW, Package() { 0x0D, 0 }) end; into device name_adr 0x001A0000 insert begin Name(_PRW, Package() { 0x0D, 0 }) end; into device name_adr 0x00140000 insert begin Name(_PRW, Package() { 0x0D, 0 }) end; into device name_adr 0x001B0000 insert begin Name(_PRW, Package() { 0x0D, 0 }) end; into device name_adr 0x00190000 insert begin Name(_PRW, Package() { 0x0D, 0 }) end; into device label XHC set_label begin XHC1 end; into_all all code_regex XHC(?=\W) replaceall_matched begin XHC1 end; into method label _WAK code_regex \_SB.PCI0.XHC1.XWAK replace_matched begin _SB.PCI0.XHC1._INI end; It's done!
       
       
       
      To do list
       
      - Replace VoodooHDA by aDummyHDA (AppleHDA Patcher).
       
      Can't make mic/output jack work. I don't know how fix the layout.
       
      - Sleep and Hibernate
       
       
      Entering to sleep have a delay ~30 seconds, and wake to blackscreen, making necessary to press any key to power on the display.
       
      Hibernate not work. The system never wake up. (temporarily disabled with "pmset -a hibernatemode 0")
       
      - Brightness adjustment by FN keys
      Need time to search DSDT patch.
       
       
       
       
       
       
      Attached files used in the installation. For God's sake, always use the newest versions.
       
       
      And last but not least
       
      I would like to thank the following community members, by making these dream possible:
      @crushers, @snatch, @apianti, @blackosx, @blusseau, @dmazar, @slice2009, @autumnrain, @phpdev32, @EMlyDinEsH, @RehabMan, @Scellow, @mitch_de, @Shailua, @Andy Vandijck, @maxfierke, @ArturXXX, @LexHimself, @brumas and all others members involved directly or indirectly.
      EFI before install.zip
      EFI after install v2.zip
      USB.kext.zi
    • By soumaxetuirk
      This forum is vastly popular among all Hackintosh users. There are many topics covered here and there. 
      Most of the important topics pinned section wise.But for a newbie its not easy to decide which guide they should follow. 
       
      Note : First search about your system in this forum, Other may have updated guide suitable for exact same system as you.If not follow this guide. I will try to try to point every important topics here in one. All original posts are linked, Go to original posts for detailed guide on that specific subject.
       
      BIOS SETTING
      While it is beneficial to have a unlocked BIOS (Mostly for Laptop Users) but it is not mandatory to install OS X. There are some basic things you should check in your BIOS before installing.
      Disable VT-d (Virtualization). Or if you want to use virtualisation then use clover boot argument "dart=0" Set SATA mode to "AHCI" Set DVMT memory to 128 / 64 MB. If setting not present then you may need DVMT-prealloc patch in clover.(Checkout graphics section) Disable secure boot.  Disable fastboot. (There are few laptops which works with first boot too.But you should turn off during installation ) you may use MBR or UEFI mode. But it is recommended to use UEFI due to it's many advantages over MBR. ( EX- faster device initialisation, Native support of Mac OS)  MBR users need to apple MBR patch to their USB Installer media. [Catalina MBR Patch]  
      POINTs TO REMEMBER
      1. SMBIOS
      you need select SMBIOS of a similar Mac model as per your hardware.  With unique and unused (Not Invalid) serial number.
      Use CloverConfigurator and select a Mac model which has similar CPU and GPU as your system. (Exact same CPU ID not required) Then Keep changing serial numbers. Check newly generated Serial Number in [Apple Support Coverage page.] If warranty details are available then change again.(You must not use serial numbers which are already registered) Continue till you get a serial number which either says "Invalid". It means you have now a official serial number but No Mac has been produced with that serial number. Use that serial number. Once you log in to Apple Account, You should not change your serial number.  
      2. KEXT Installation
      There are three locations for Kext
      \System\Library\Extensions : Exclusive for Apple System Kexts \Library\Extensions : For third party Kexts \Clover\Kexte\Other : Kext Injection during Boot  
      You can install any kext to either EFI\Clover\Kext\Other or else \Library\Extensions
      During installation you can keep essential kexts in Clover\Kext\Other folder. But after Installation you should move kexts to L\E. As kext in L\E are loaded in to kernel Cache and monitored by kernel.It will make your system more stable and less boot time.
      [Detailed Information]
       
      USB MEDIA CREATION
       
      1. USB Installer Media Creation
       To create a USB Installer media you need to device with Mac OS installed. 
       (If you don't have a Mac then use the this guide to make a installation drive from windows.) 
      Most recommended process is to use a Mac as follows,
      Download Installer App from Apple store. Open "Disk Utility" and format USB Flash Drive to "Mac OS Journaled Extended" format.  Then run the following command on terminal The command is an example for "Mojave". Other can be found in Apple support page. sudo /Applications/Install\ macOS\ Mojave.app/Contents/Resources/createinstallmedia --volume /Volumes/USBNAME --applicationpath /Applications/Install\ macOS\ Mojave.app --nointeraction      5.  Then install Bootloader to the USB Device.
       
      2. Boot Loader :
      First thing to build a Hackintosh is emulation of a real Mac so that you can boot in to a OSX Installer.As your system can't directly boot a Mac OS, You need to boot either Clover , Chameleon or OpenCore. After booting in to these boot loader, you can boot in to OSX as well as your other OS like windows and linux.
      After many years,these boot loaders not only help to boot but also handles a big part to make your system more compatible to OSX. 
      So choose wisely
       
      2.1 Chameleon/Enoch 
      Chameleon was a oldest bootloader which was first developed to support MBR boot devices. Later they adopted to UEFI also. I still remember using it during the era of snow leopard, lion
      Support page
      Download
      2.2 Clover :
      Clover is most popular boot loader today.
      It supports UEFI and MBR. It has features like on fly DSDT, SSDT and kext patching. Device properties injection, fake properties injection.
      You can natively update OSX, Use Recovery option.Most popular and highest support.
      Support Page
      Download
      2.3 OpenCore :
      it was mostly meant for  advance user due to its feature to install directly to system BIOS.Where Clover and Chameleon can be used from hard disk or USB storage device.If you have knowledge of BIOS moving then you can go for it.It also can be used from hard disk too.
      Support Page
      Download
       
      First download and install Any one of them to Installer USB. Configure it, Once you get it to work, then copy the same to your hard disk to make it permanent. Download Clover configurator to edit clover configuration. if you are new then download a nearest system spec prebuilt config file from rehabman's repo or else you may search in this forum too. then fine tune it.
      Clover Configurator
      Clover Config Repo
       
      3. SMC Emulation:
      You need SMC Emulation to feed the OSX with a machitosh firmware.Also to translate your device basic firmware output to Macintosh support.(Ex : your system sensor data, )
      There are 2 major options for you.
       
      3.1 FakeSMC
      Stability wise, would it be better to use FakeSMC for its long development period and a large amount of documentation around it.It is more stable and if you have old hardware then batter is to go with FakeSMC.
      Download
      3.2 VirtualSMC
      It is new but filled with features like (MMIO Implementation, 2nd gen firmware support). Many are shifting to VirtualSMC these days.
      Also I personally like it's new way to manage battery,No more need of battery patch to most of the devices.
      Download
       
      Download the latest release, then copy the kext to EFI\Clover\Kext\Other
       
      4.CPU Compatibility:
      Intel: All CPUs starting from Intel Core 2 Duo upto newer CPUs are supported.
      AMD: Most AMD CPU are supported but its required modified kernel. Support Page
      Sometimes latest release CPU does not get support unless Apple releases systems of same CPU generations. So you may not get support for all Mac OS version's support to all CPUs.In few cases you may use compatible CPU ids using clover's Fake CPU ID option.
       
      5.Graphics :
      While all intel integrated Graphics are supported natively, DualGPU are not supported. So first thing you need is to disable switchable graphics (AMD,nVidia) and use only Intel graphics only.
      If you have discrete GPU which is not tied to Intel HD then you can use it. (Mostly desktop, few laptop which comes without IntelHD, discrete switching capability in BIOS)
       
      Installation of WhateverGreen
      So the first thing you need is WhateverGreen. It is a kext which works to fix most common graphics problems.(Ex- Sleep Issue, Brightness Control, Graphics Injection)
      Nvidia & AMD mixup kext are also integrated to WhateverGreen. So it is recommended to install WhateverGreen irrespective of your graphics card.
      Download the kext and copy to EFI\Clover\kexts\Other
      Support Page
      Download
       
      Disable discrete GPU (For Dual Graphics Laptop)
      As I mentioned above, you need to disable dualGPU first. There are few different techniques you can adopt to (Use any one)
      Disable in BIOS Setting (If such setting available) Use boot argument "-wegnoegpu" with WhateverGreen Disabling GPU using DSDT   
       
      5.1 Intel HD
      To use Intel HD properly, Only one thing you need is "Whatevergreen". It will help, native Apple framebuffer to load. 
      If your BIOS does not have DVMT Setting,Then add "DVMT-prealloc Patch" in Hackintool's Advanced patch option.Also use proper framebuffer patch according to your system.
       
      A detailed guide of IntelHD frame buffer patching is available here by Headkaze
       
      5.2 Nvidia GPU
      Nvidia Web Driver Support Page
      5.3 AMD GPU
       
       
      6. PS2 Input devices:
      All most all laptop keyboard and touchpad uses PS2 port.Also Many desktop users still using PS2 devices.As Mac OS does not support PS2 devices, you need a PS2 driver called VodooPS2 first.
      When it comes to VoodooPS2, There is two major options. 
       
      5.1 Rehabman's Voodoo-PS2-Controller
      This is oldest built.So it is more stable and supports a long range of devices.
      Download
      5.2 Acidanthera's VoodooPS2
      It is new and supports native trackpad gestures. While writing, it has limited number of hardware support.
      But with time this will involve.
      Download
       
      Just download and copy the kext to EFI\Clover\Kext\Other. Or if you can not get it to work then use USB Mouse and A USB Keyboard.
       
      7.NVMe Drives
      From Os X 10.13, NMVE Drives are natively supported, So no need of any patches anymore.
       
      At beginning Apple only allowed few specific NVMe drives (Up to OsX 10.12). So if your motherboard supports NVMe drive booting then You can use NVMe patches in clover to get NVMe support.
      thanks to Pike R. Alpha's Bin patches for NVMEFamily.kext .
      Support Page
      Download
       
      POST INSTALLATION
       
      1. CPU Power Management 
      Once you made proper adjustment to graphics, You need to look in to power management. While power management is mostly important for laptops,Desktop users also should look in to this so that their CPU can run optimal and smoothly.Power management is highly dependent on CPU and IGPU.
       
      There are few different methods to get it working.The basic method is to use a SSDT.aml file generated "Pike R Alpha's Script".It is recommended and most stable.
      Alternatively if your system is intel 4th gen or higher then you may use XCPM method. Also HWP mode if you have 6th gen or higher CPU.
       
      1.1. Using auto generate states
      This process is only applies to first generation intel processor or older. Only enable "GeneratePStates" & "Generate CStates" in config. No need to SSDT.aml
      Sandybridge or higher CPU must not use this method.It will result kernel to Panic.
       
      1.2 Using Custom SSDT
      As I already mentioned,It is the most stable option and results optimised power consumption.
      Download. Piker R alpha's ssdtPTGen.sh from here. Run this file and create SSDT.aml for your CPU. Copy to EFI\Clover\ACPI\Patched . Uncheck all options like generate pState,Plugin type in SSDT section of clover config. Drop CPU related SSDT table 'CpuPm' and 'Cpu0Ist'.   
      1.3. XCPM Method
      XCPM (Intel Speedstep Technology) was introduced on 4th gen Intel processors. This allow to handle CPU usage and power consumption dynamically according to load.Also it is integrated with Intel HD.
      Graphics(GFX0)  should be renamed to IGPU by clover or in DSDT. Remove SSDT.aml from Clover\ACPI\Patched folder. Disable all SSDT generation methods. Enable "PluginType=YES" in clover config or else use this (download and compile) clover hot patch. 4th gen and 5th gen users should apply LPC patch into method label _DSM parent_label LPCB remove_entry; into device label LPCB insert begin Method (_DSM, 4, NotSerialized)\n {\n Store (Package (0x02) {\n "compatible", Buffer () {"pci8086,8c44"}\n }, Local0)\n DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n Return (Local0)\n } end;  
      1.4 XCPM + HWP Method
      HWP was introduced during Skylake CPUs.The new tech is supposed to make the processor respond much quicker to performance burst requests as well as improving the effectiveness and efficiency of the performance bursts themselves. It does this by handing some extent of the frequency control back to the processor – which, in conjunction with the OS (which needs to allow it to take over control of P-States) can perform much better. 
       
      Detailed guide to HWP
       
      As you can now see your CPU performance using Intel Power Gadget or HWMoniter (Istat Menu for VirtualSMC Users) . While you are using SMBios of a nearest CPU, It may very a little bit in case of frquency,Turbo frequency and idling speed(LFM). (for example I am using MacBook Pro 14,1 SMBios,So my system is idling as 1.30GHZ which is a bit higher for me.Almost half speed of my CPU)
      So you need to adjust your CPU frequency, Turbo Frequency and Idling speed(Keep it to minimum as 400MHz or 800MHz )as per your SMBIOS.
      Download FrequencyVector Editor By Pike R Alpha
      Choose your SMBios. It will Automatically Patch your LFM to minimum. You just change CPU max frequency and turbo frequency.
      Once you are done your system will have a optimised CPU Power management . 
       
      2. USB port Management 
      From OS X 10.11, Apple changed the way USB ports work.(thanks to Rehabman for this info) As Mac OS uses ACPI to detect USB ports in a system, it often gets wrong value for a Hackintosh. So to solver the issue, you need a "USB port injector kext" to inject all your ports.
       
      Also OSx has 15 port limit, you need to apply a port limit patch in clover.
      Port limit patches for different versions (Thanks to PMHeart)
      Catalina 10.15.0 (2 Patches) Patch #1: Name*: com.apple.iokit.IOUSBHostFamily Find* [HEX]: 83FB0F0F Replace* [HEX]: 83FB3F0F Comment: USB Port Limit Patch 1 PMHeart/DalianSky MatchOS: 10.15.x Patch #2: Name*: com.apple.driver.usb.AppleUSBXHCI Find* [HEX]: 83F90F0F Replace* [HEX]: 83F93F0F Comment: USB Port Limit Patch 2 PMHeart/DalianSky MatchOS: 10.15.x Mojave 10.14.6: (4 Patches) Patch #1: Name*: com.apple.iokit.IOUSBHostFamily Find* [HEX]: 83FB0F0F Replace* [HEX]: 83FB3F0F Comment: USB Port Limit Patch 1 PMHeart/DalianSky MatchOS: 10.14.x Patch #2: Name*: com.apple.iokit.IOUSBHostFamily Find* [HEX]: 83E30FD3 Replace* [HEX]: 83E33FD3 Comment: USB Port Limit Patch 2 PMHeart/DalianSky MatchOS: 10.14.x Patch #3: Name*: com.apple.driver.usb.AppleUSBXHCI Find* [HEX]: 83FB0F0F Replace* [HEX]: 83FB3F0F Comment: USB Port Limit Patch 3 PMHeart/DalianSky MatchOS: 10.14.x Patch #4: Name*: com.apple.driver.usb.AppleUSBXHCI Find* [HEX]: 83FF0F0F Replace* [HEX]: 83FF3F0F Comment: USB Port Limit Patch 4 PMHeart/DalianSky MatchOS: 10.14.x Mojave 10.14.5: (4 Patches) Patch #1: Name*: com.apple.iokit.IOUSBHostFamily Find* [HEX]: 83FB0F0F Replace* [HEX]: 83FB3F0F Comment: USB Port Limit Patch 1 PMHeart/DalianSky MatchOS: 10.14.x Patch #2: Name*: com.apple.iokit.IOUSBHostFamily Find* [HEX]: 83E30FD3 Replace* [HEX]: 83E33FD3 Comment: USB Port Limit Patch 2 PMHeart/DalianSky MatchOS: 10.14.x Patch #3: Name*: com.apple.driver.usb.AppleUSBXHCI Find* [HEX]: 83FB0F0F Replace* [HEX]: 83FB3F0F Comment: USB Port Limit Patch 3 PMHeart/DalianSky MatchOS: 10.14.x Patch #4: Name*: com.apple.driver.usb.AppleUSBXHCI Find* [HEX]: 83FF0F0F Replace* [HEX]: 83FF3F0F Comment: USB Port Limit Patch 4 PMHeart/DalianSky MatchOS: 10.14.x Mojave 10.14.4: (3 Patches) Patch #1: Name*: com.apple.iokit.IOUSBHostFamily Find* [Hex]: 83FB0F0F 870B0400 00 Replace* [Hex] : 83FB3F0F 870B0400 00 Comment: USB Port Limit Patch 1 ©PMHeart MatchOS: 10.14.4 Patch #2: Name*: com.apple.driver.usb.AppleUSBXHCI Find* [Hex]: 4183FF0F 0F839404 0000 Replace* [Hex] : 4183FF3F 0F839404 0000 Comment: USB Port Limit Patch 2 ©PMHeart MatchOS: 10.14.4 Patch #3: Name*: com.apple.iokit.IOUSBHostFamily Find* [Hex]: 83E30FD3 E34109DF Replace* [Hex] : 83E33FD3 E34109DF Comment: USB Port Limit Patch 3 ©PMHeart MatchOS: 10.14.4 Mojave 10.14.3: Name*: com.apple.driver.usb.AppleUSBXHCI Find* [HEX]:83FB0F0F 83030400 00 Replace* [HEX]: 83FB0F90 90909090 90 Comment: USB 10.14.1+ by PMHeart MatchOS: 10.14.x Mojave 10.14.2: Name*: com.apple.driver.usb.AppleUSBXHCI Find* [Hex]: 83FB0F0F 838F0400 00 Replace* [Hex] : 83FB0F90 90909090 90 Comment: USB 10.14.1+ by PMHeart MatchOS: 10.14.x Mojave 10.14.1: Name*: com.apple.driver.usb.AppleUSBXHCI Find* [Hex]: 83FB0F0F 838F0400 00 Replace* [Hex] : 83FB0F90 90909090 90 Comment: USB 10.14.1+ by PMHeart MatchOS: 10.14.x Mojave 10.14.0: Name*: com.apple.driver.usb.AppleUSBXHCI Find* [Hex]: 83FB0F0F 83030500 00 Replace* [Hex] : 83FB0F90 90909090 90 Comment: USB 10.14+ by PMHeart MatchOS: 10.14.0 High Sierra 10.13.6: Name*: com.apple.driver.usb.AppleUSBXHCI Find* [HEX]: 837D880F 0F83A704 0000 Replace* [HEX]: 837D880F 90909090 9090 Comment: USB 10.13.6+ by PMHeart MatchOS: 10.13.x High Sierra 10.13.5: Name*: com.apple.driver.usb.AppleUSBXHCI Find* [HEX]: 837d940f 0f839704 0000 Replace* [HEX]: 837d940f 90909090 9090 Comment: USB 10.13.4+ by PMHeart MatchOS: 10.13.x High Sierra 10.13.4: Name*: com.apple.driver.usb.AppleUSBXHCI Find* [HEX]: 837d940f 0f839704 0000 Replace* [HEX]: 837d940f 90909090 9090 Comment: USB 10.13.4+ by PMHeart MatchOS: 10.13.x High Sierra 10.13.3: Name*: AppleUSBXHCIPCI Find* [Hex]: 837d8c10 Replace* [Hex] : 837d8c1b Comment: change 15 port limit to 24 MatchOS: 10.13.x High Sierra 10.13.2: Name*: AppleUSBXHCIPCI Find* [Hex]: 837d8c10 Replace* [Hex] : 837d8c1b Comment: change 15 port limit to 24 MatchOS: 10.13.x High Sierra 10.13.1: Name*: AppleUSBXHCIPCI Find* [Hex]: 837d8c10 Replace* [Hex] : 837d8c1b Comment: change 15 port limit to 24 MatchOS: 10.13.x High Sierra 10.13.0: Name*: AppleUSBXHCIPCI Find* [Hex]: 837d8c10 Replace* [Hex] : 837d8c1b Comment: change 15 port limit to 24 MatchOS: 10.13.x Sierra 10.12.x: Name*: AppleUSBXHCIPCI Find* [Hex]: 83bd74ff ffff10 Replace* [Hex] : 83bd74ff ffff1b Comment: change 15 port limit to 26 MatchOS: 10.12.x El Capitan 10.11.x: Name*: AppleUSBXHCIPCI Find* [Hex]: 83bd8cfe ffff10 Replace* [Hex] : 83bd8cfe ffff1b Comment: change 15 port limit to 26 MatchOS: 10.11.x Note: while this solves the issue, some times it may causes system instability . So you should disable mostly unused ports using DSDT hot patches (SSDT-UIAC.aml) ,Then remove port limit patch.
       
      To do that download Hackintool and go to to USB tab. Now insert USB3.0 and USB 2.0 devices to every port, And rectify the details (Connector Type) accordingly. Once you finished checking all port, remove all the listed USBPorts which are not turned green(ports are not usable). Then Export SSDT-UIAC.aml ,install to clover/ACPI/Patched . 
       
      USB Power Management:
      Most of the laptop has EC device named mostly as EC0 or H_EC . Rename the device to EC by Clover DSDT patch to load ApplePowerBusController under EC. (You can confirm in IoReg)
      If you don't have a EC device then add a Fake EC Device.
       
      Newer Mac device use device named USBX.So People who are using SMBIOS higher then iMac 7,1 or MacBook 13,1 should add an device named USBX under scope _SB . If you used Hackintool to eliminate unused USB ports then you must have gotten SSDT-USBX.aml if needed for your system.
      DefinitionBlock ("", "SSDT", 2, "hack", "USBX", 0x00000000) { Device (_SB.USBX) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (!Arg2) { Return (Buffer (One) { 0x03 // . }) } Return (Package (0x08) { "kUSBSleepPortCurrentLimit", 0x0834, "kUSBSleepPowerSupply", 0x13EC, "kUSBWakePortCurrentLimit", 0x0834, "kUSBWakePowerSupply", 0x13EC }) } } } 3. Audio
      Audio is almost common issue due large range of audio Codecs and controllers . There are three major options for Audio fix. All have different way to enable sound so installation guides are also different. Must 'rename HDAS to HDEF' By DSDT edit or Clover. 
      3.1 VoodooHDA 
      It is the oldest kext built to fix audio devices. This works as a alternative option to Apple's native AppleHDA.
      While VoodooHDA supports large number of devices, It provides a lower sound quality for few cases.
      download
      3.2 AppleHDA
      This was developed by mir0ne and it is able to use native AppleHDA.
      It involves patching of AppleHDA kext present in S\L\E
      Download
      3.3 AppleALC
      An open source kernel extension enabling native macOS HD audio for not officially supported codecs without any filesystem modifications.
      So this is the most recommended option.
      Download
      Support Page
       
      4. Battery 
      While battery is handled by firmware only. Proper kext is needed to notify system regarding battery status.
      To enable Battery icon in notification bar. Also you can use the features present in "Power Saver ' Section in setting.
      There is two major option, with completely different approach. 
       
      4.1 ACPI-Battery-Manager
      This kext uses ACPI methods to notify battery status.So you need to patch your DSDT first. Then install the kext.
      BatteryManager kext should be loaded under device BAT0 in IOReg.
      Download
      Battery patches (By Rehabman)
      4.2 VirtualSMC Battery plugin
      If you are using VirtualSMC then you have already got a SMCBattery plugin.
      It uses a different to approach. So you don't need any DSDT patch.It works out of the box in most of the cases.
      If not then check you IOReg first.AppleACPIACAdapter kext should be loaded under device ADP1. If no ADP1 device is present,Then rename your AC Adapter device (Something like  AC, ACAD) to ADP1 . [Original Post]
      Download link is present in SMC Section.

       
      5.Connectivity
      Connectivity is a major part Hackintosh. Properly installation of ethernet is required to iMessage activation. Also bluetooth and Wifi need to be configured properly to continuity and Handoff feature to work.
       
      Ethernet
      Just follow the support page for your Ethernet card.
      Intel Ethernet : [Support]  [Download]
      Realtek Ethernet : [Download]
       
      Atheros Wifi
      Supported Cards : AR9285/AR9280
      Atheros wifi cards are supported up to 10.12 . While it can be used further using older kext but you may get random system crashes. 
      You can use various method like custom injector Kext  or using DSDT patches. It is recommended to change with supported Broadcom card.
       
      Broadcom Wifi 
      Supported Cards : 
      As apple uses Broadcom WLAN cards for their Mac.Cards like 94360 are natively supported , Others few (Like popular 94352Z) are compatible with OS X with Wifi AC (5.0 ghz) support. In few cases you may need to edit country code for Wifi AC to work.
      Broadcom Wifi Guide
      Broadcom Bluetooth
      Note: With 10.15 Bluetooth Injection method has been changed.( Discussion topic ) Use this fork Broadcom-Ram patch for bluetooth by Acidanthera.
       
      A deprecated guide by Toleda, It contains a lot of information for Wifi & Bluetooth.Must check out
      Brdcm Wifi + Bluetooth Guide
       
      Bluetooth Continuity
      Continuity is feature to enable features like handoff, Instant Hotspot features . Only for iPhone users though ... (Apple Continuity)
      Just download the kext and install it. It will take care of rest.
      Download

       
      (.....Continues)
      When it comes to Hackintosh, There are a lot to talk about. I will keep updating this post for next few days....
×