Jump to content
Allan

[Guia] DSDT/SSDT - Conhecimentos Gerais

97 posts in this topic

Recommended Posts

Introdução.

 

A ACPI (Advanced Configuration and Power Interface) define um grande número de tabelas que fornecem a interface entre um sistema operacional compatível com ACPI e firmware do sistema. Estes permitem descrição do hardware do sistema, de forma independente da plataforma em ACPI Machine Language (AML). O DSDT (Descrição de Tabela do Sistema Diferenciado) é a tabela principal na parte ACPI do BIOS de um computador, define a maioria dos principais dispositivos do sistema. O SSDT (Secondary System Description Table) tem a mesma estrutura com DSDT, mas é geralmente menor e define alguns dispositivos específicos.

 

Por padrão, os bootloaders vão ter todas as tabelas OEM do BIOS/UEFI e transferi-lo para sistemas operacionais.

7MqX4ff.png

 

Por que temos de corrigir o DSDT/SSDT do hackintosh?

 

Ao contrário do Windows ou Linux, o OS X tem uma implementação ACPI incompletas que suporta apenas um subconjunto de DSDT apenas em modelos de Mac. Já nos Hackintosh, alguns dispositivos não estão definidos como compatível com OS X, sendo assim não vão funcionar corretamente.

p1XTYv5.png

 

 

Objetivo

 
Corrigindo o DSDT permite ao usuário melhor uso do seu hardware. 
Muitos bootloaders permitem que o usuário substitua a tabela OEM no BIOS/UEFI por tabelas definidas nos arquivos .aml

 

kQKKXz3.png

 

Seção 1.

Como extrair?

Se você não usa DSDT, use essas maneiras pra extrair.

 

No OS X.

 

Se usa Chameleon, digite essa flag antes do boot: DSDT=null

Pode usar esse comando no Terminal:

perl -e 'open(CMD, "ioreg -lw0 \| grep DSDT|") or die; while(<CMD>) { chomp; if($_ =~ /\"DSDT\.?\d?\"=<([^>]*)>/) { $buff = $1; open(PIP, "|xxd -r -p > dsdt.aml") or die; print PIP "$1"; } }'

Ou usar o app DSDT Editor, um app leve e facil de usar.

Vá no menu File - Extract DSDT

Screen Shot 2014-04-29 at 8.19.08 PM.png

 

Dai vai aparecer a tabela disponível para edição no painel principal.

 

Clover

Na tela inicial do Clover, aperte F4, depois inicie o OS X, todas as tebelas ACPI estarão dentro de /EFI/Clover/ACPI/origin/

 

No Windows

Como não existe mais Everest, baixe o Aida64 (pode ser Trial mesmo)

Veja as prints.

AIDA.png
AIDA2.png
AIDA3.PNG
 
Depois de salvar, copie o arquivo para um Pendrive, cole na Mesa do OS X, e renomeie para DSDT.aml.
 

No Linux (Ubuntu)

Crie um Penboot (LiveCD) e abra o Terminal, e use esse codigo:

cd ~/Desktop
sudo cat /sys/firmware/acpi/tables/DSDT > DSDT.aml

Caso não funcione, use esse:

cd ~/Desktop
sudo cat /proc/acpi/dsdt > DSDT.aml

Seção 2

 

Adicionando o DSDT/SSDT no bootloader

Depois de editar e compilar, salve o arquivo .dsl para .aml, a partir dai vamos colocar este arquivo para ser carregado pelo bootloader:

Chameleon: /Extra
Clover: /EFI/Clover/ACPI/patched

Note: Se você tem mais de um SSDT e deseja que seja carregado, renomeie os adicionais como: SSDT.aml, SSDT-1.aml, SSDT-2.aml, … etc.

O bootloader carrega a DSDT do sistema a partir do primeiro inicio. Para carregar a SSDT, você precisa adicionar estas flag nos seguinte bootloaders. DropSSDT=True (Chameleon) ou Drop OEM SSDT=True (Clover)

 

Seção 3

 

Como editar e o que usar.

 

Existem varios editores de DSDT, vou destacar alguns.

 

O app mais usado é o DSDT Editor, um app leve e facil de usar.

Screen Shot 2014-04-30 at 5.12.09 PM.png 

 

Há também o DSDTSE, esse já ensina a como fazer, não vem com muitos patchs prontos, é muito bom pra quem quer aprender na marra.

Screen Shot 2014-04-30 at 5.12.02 PM.png

Mas existe também o MaciASL que é bem mais completo, e também muito fácil de usar.

Quando aberto pela primeira vez, ele de forma automática já extrai a DSDT que se chama Pre-Edited DSDT. Quando terminar as alterações, somente salve o arquivo, no menu File - Save As…

Screen Shot 2014-04-30 at 5.12.19 PM.png

[Nota] O MaciASL pode ser inserido alguns repositórios de patchs, poupa tempo em vez de baixar patch por patch. (Vou falar mais abaixo).

 

Seção 4

Verificar erros/warnings.

 

Para ver isso, com o DSDT Editor, vá em IASL - Compile.

Screen Shot 2014-04-30 at 5.16.19 PM.png

 

No MaciASL no icone Compile.

Screen Shot 2014-04-30 at 5.15.54 PM.png

 

Corrigir erros/warnings.

Vou citar aqui os erros/wangins mais comuns e como resolver.


1 - Warning ResourceTag larger than Field (Tag: 64 bits, Field: 32 bits)

 

Mude disso:

CreateDWordField (BUF0, \_SB.PCI0._Y0F._LEN, MSLN)

Para:

CreateQWordField (BUF0, \_SB.PCI0._Y0F._LEN, MSLN)

2 - Warning Result is not used, possible operator timeout will be missed

 

De

Acquire (MUT0, 0x0FFF)

Para

Acquire (MUT0, 0xFFFF)

3 - Warning Not all control paths return a value (_HID)

     Warning Reserved method must return a value (Integer/String required for _HID)

 

De:

Method (_HID, 0, NotSerialized)
{
If (TCMF) {}
Else
{
Return (0x310CD041)
}
}

Para:

Method (_HID, 0, NotSerialized)
{
If (TCMF)
{
Return (Zero)
}
Else
{
Return (0x310CD041)
}
}

4 - Error Object is not accessible from this scope (_T_0)

 

Exclua o ultimo “_” (Ex: _T_0 para T_0)

 

5 - Error Object does not exist (_VPC)

 

Exclua todos os “_” (Ex: Store (Local0, _VPC) 

Return (_VPC)

Para Store (Local0, VPC)     

Return (VPC)

 

Seção 5

Patchs

 

Talvez se assustou um pouco com a maneira que deve ser corrigido os warnings/erros, mas para facilitar o trabalho, existem varios patchs que fazem o trabalho pra você.

Há varios patchs uteis que você pode encontrar no Olarila: Patches

E vários packs para as diversas motherboards: Patches by Motherboard

 

Esses podem ser usados tanto no DSDT Editor como no MaciASL.

Há uns benefícios pra quem usa o MaciASL, que como comentado tem a possibilidade de adicionar repositórios de patchs, veja:

 

Os mais usados.

Toleda

RehabMan

PJALM

 

Como adicionar:

Screen Shot 2014-04-29 at 10.44.07 PM.png

(Créditos da imagem Pjalm)

 

Seção 6

Como aplicar os patchs?

 

DSDT Editor

Screen Shot 2014-04-30 at 5.12.09 PM.png 

Screen Shot 2014-04-29 at 10.47.06 PM.png

 

Dai você caminha até sua pasta com seus patchs.

Screen Shot 2014-04-29 at 10.47.37 PM.png

 

Escolhe o patch para sua situação e aplique.

Screen Shot 2014-04-29 at 10.47.52 PM.png

 

MaciASL

Screen Shot 2014-04-30 at 5.12.19 PM.png

 

Screen Shot 2014-04-29 at 10.46.12 PM.png

 

Legenda: Clique no icone Patch, (1) depois escolha qual patch vai usar, (2) e aplique o mesmo.


Veja que existe a opção “Open” onde você vai navegar até sua pasta de patchs.

 

[Nota] Todo o patch deve ser um documento .txt, para criar o seu, use o TextWrangler, abra, copie e cole, e salve.

 

Salvando o DSDT/SSDT

 

Caso precise salvar o DSDT/SSDT, mas tem erros presentes que não foram compilados, faça assim:

Clique em File > Save As..> File Format: Disassembled ASL File

 

Notará que se tentar salvar no modo padrão "ACPI Machine Language Binary", o MaciASL não vai permitir isto.

 

Esse recurso é legal pois, caso já tenha partes já editadas, e não quer começar tudo denovo, então poderá continuar o trabalho em outra hora.

 

Bonus:

 

Tenho uns amigos que tem videos muito funcionais para quem tem alguma duvida de como aplicar patchs e quer aprender sobre DSDT.

1 - AppleAbreast (Bruxo)

Hackintosh - DSDT erro external (\TNOT)

HDMI   INTEL HD3000

HACKINTOSH AUDIO FUNCIONAL mov

 

2 - Fábio Qliskra (fabio_qliskra)

 

Manobra no Device HDEF

Aplicando o HPET

Possible operator timeout is ignored

 

Ainda estou adicionando coisas novas.

Conselhos e dicas ou duvidas, por favor comentem abaixo.

 

Creditos: Fabio Qlistra, pokenguyen, oldnapalm, e outros...

Edited by Allan

Share this post


Link to post
Share on other sites
Advertisement

Seção 7

IORegistryExplorer

Screen Shot 2014-04-30 at 10.06.09 PM.png

 

Essa ferramenta é imprescindível para uma boa edição da DSDT.

Ele lista todos os componentes do Hackintosh, por isso em alguns foruns você percebe que muito pedem uma copia do IORegistryExplorer,

este pode indicar se o device foi corretamente ativado.

 

Como fazer uma copia do IORegistryExplorer?

 

File - Save As...

Screen Shot 2014-04-30 at 10.12.30 PM.png

 

Verifique se não está corrompido (abra), compacte e envie quando lhe é pedido.

 

Veja tudo o que falei com o video abaixo.

 

IORegistryExplorer

 

Como usar?

 

O exemplo que vou colocar agora, é como ver se o gerenciamento de energia está correto. Aqui eu uso IvyBridge, mas o gerenciamento de energia estava configurado como se fosse SandyBridge. Veja:

 

SandyBridge (errado para meu CPU)

post-1166456-0-70892100-1393262558_thumb

 

 

Agora como IvyBridge (correto).

post-1166456-0-57434600-1393262434_thumb

 

Viram que requer uma boa atenção pra perceber, e ver onde está errado. 

Por isso, com o uso do IORegistryExplorer, você conseguira ver os detalhes do seu Hack.

Edited by Allan Oliveira

Share this post


Link to post
Share on other sites

Opa, já tinha feito a um tempinho. 

 

Quanto mais descubro uns macetes sobre DSDT vou colocando aqui.

 

Vida corrida, sei o que é isso, só agora estou mais "tranquilo".

 

Abraços

Share this post


Link to post
Share on other sites

Primeiramente, excelente tutorial, Alan. :D

 

Segundamente, me tira uma dúvida: como eu faço pra verificar se algo precisar ser patcheado no DSDT, se tá faltando e etc? Basta apenas usar o IOReg? 

 

Digo com relação as tabelas "HDEF, HPET, GFX0" e etc. 

Share this post


Link to post
Share on other sites

Nem tudo precisa ser alterado, isso depende do seu uso.

 

Por ex: Se o Audio está habilitado usando a VoodooHDA, então não precisa de patch para Audio no DSDT, entende?  ;)

Share this post


Link to post
Share on other sites

Allan parabéns pelo topico

 

Segui suas instruções e estou com algumas dúvidas:

 

Se eu baixar a patcher de minha placa mãe devo inserir as patcher individuais, tipo ALC 889 HDEF, AHCI SATA orange icon, Shutdown Gigabyte?

 

Usei a ser minha placa mãe e todas descritas acima e apareceu o erro que está no print, como corrigir?

 

 

grato

 

post-1097441-0-36801700-1447123321_thumb.jpg

Share this post


Link to post
Share on other sites

Allan parabéns pelo topico

 

Segui suas instruções e estou com algumas dúvidas:

 

Se eu baixar a patcher de minha placa mãe devo inserir as patcher individuais, tipo ALC 889 HDEF, AHCI SATA orange icon, Shutdown Gigabyte?

 

Usei a ser minha placa mãe e todas descritas acima e apareceu o erro que está no print, como corrigir?

 

 

grato

 

attachicon.giferros na dsdt.jpg

se vc está usando um dsdt modificado ou o clover está aplicando patches automaticamente...o problema está aí.

 

o ideal é sempre aplicar os patches ou o patch da mobo num DSDT virgem.  :rofl:

Share this post


Link to post
Share on other sites

se vc está usando um dsdt modificado ou o clover está aplicando patches automaticamente...o problema está aí.

 

o ideal é sempre aplicar os patches ou o patch da mobo num DSDT virgem.  :rofl:

Então devo colocar a DSDT virgem extraída do Windows na pasta EFI/CLOVER/ACPI/WINDOWS

 

Outra pergunta toda vez que preciso inserir algo novo na DSDT eu tenho que pegar ela virgem e inserir todas as patches novamente?

Share this post


Link to post
Share on other sites

Então devo colocar a DSDT virgem extraída do Windows na pasta EFI/CLOVER/ACPI/WINDOWS

 

Isso não tem necessidade, afinal o Windows já usa seu DSDT (original do BIOS)

 

Outra pergunta toda vez que preciso inserir algo novo na DSDT eu tenho que pegar ela virgem e inserir todas as patches novamente?

 

 

Se for inserir um patch diferente ou até mesmo modificar o atual, não é necessário fazer tudo e novo.

Share this post


Link to post
Share on other sites

Estou com problema no repouso, no yosemite funcionava prefeito, retornava ao clico do mouse agora no el capitan ele não volta por completo alguns solução?

Share this post


Link to post
Share on other sites

Esse é o problema, nunca precisei me aprofundar tanto, quando agora na instalação do capitan pois montei a máquina mais compatível possível e esse problema não precisei corretor no yosemite, nem no Mavericks, nem no Lion e nem no snow. Eu não sei te dizer isso pq ainda não entendo disso.

Share this post


Link to post
Share on other sites

Tudo bem.

 

Vamos fazer o seguinte, acredito que você deve ter 2 OS X ai certo?

Mesmo assim, rode esse comando no Terminal e poste o resultado aqui:

pmset -g

Share this post


Link to post
Share on other sites

Saiu esses resultados:

 

Active Profiles:

AC Power -1*

Currently in use:

 hibernatemode        0

 womp                 1

 networkoversleep     0

 sleep                0 (sleep prevented by apsd, AddressBookSourceSync)

 Sleep On Power Button 1

 ttyskeepawake        1

 hibernatefile        /var/vm/sleepimage

 disksleep            10

 displaysleep         0

Share this post


Link to post
Share on other sites

Esses que estão em:

 

EFI/CLOVER/DRIVERS64UEFI/

 

FSInject-64.efi

HFSPlus-64.efi

OsxAptioFixDrv-64.efi

OsxFatBinaryDrv-64.efi

VBoxHfs-64.efi

Share this post


Link to post
Share on other sites

olá

 

essa pasta é para ser usada em uefi ..

 

esses são carregados no boot ? podes ver isso no boot.log

 

teu boot é em legacy .. os drivers deverão estar em Drivers64

 

bom hack

Share this post


Link to post
Share on other sites

Sim instalei o clover em legacy, olhando no log eles estão sendo carregados, ele criou no root do HD a pasta EFI

 

Os arquivos que estão dentro de drivers64 são:

FSInject-64.efi

GrubEXFAT-64.efi

GrubISO9660-64.efi

GrubNTFS-64.efi

GrubUDF-64.efi

NvmExpressDxe-64.efi

Ps2MouseDxe-64.efi

UsbMouseDxe-64.efi

VBoxExt2-64.efi

VBoxExt4-64.efi

VBoxHfs-64.efi

VBoxIso9600-64.efi

XhciDxe-64.efi

 

Então eu posso copiar o arquivo que o Allan comentou para essa pasta?

 

Devo ter realmente todos esses arquivos nessa pasta?

Share this post


Link to post
Share on other sites

Rapaz quanta coisa, essa é a resposta do por que não funcionar.

 

Remove tudo, não usa os drivers na pasta UEFI, mas sim na Legacy. Se estiver realmente usando em modo Legacy...

Dai coloque na pasta drivers64, esses drivers.

FSInject-64.efi
HFSPlus-64.efi
OsxAptioFixDrv-64.efi
OsxFatBinaryDrv-64.efi
OsxAptioFix2Drv-64.efi

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

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

Create an account

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

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By KristFlex
      Hello community!
      I searched everywhere, but couldn't find tables from one or both of these two macbooks, if someone here has these models, please, could you share the acpi tables with me? I really need them.
      Thanks
    • By Drovosek
      Hello.
      I extracted .aml files via F2 to Clover, then moved iasl and patchmatic to .../bin and DSDT converted.aml to DSDT.dsl
      Then I patched the DSDT.dsl patch battery_HP-G6-2221ss.txt and clicked "Compile".

      11750, 6126, syntax error, unexpected PARSEOP_ARG1
      19689, 6126, syntax error, unexpected PARSEOP_METHOD
      19735, 6126, syntax error, unexpected PARSEOP_CLOSE_PAREN
      19738, 6126, syntax error, unexpected '}', expecting $end and premature End-Of-File

      The first error disappears if you remove all the "args", the third if you remove the closing parenthesis (but I do not know how this is the correct solution to the errors)
       

      debug_9278.zip
      battery_HP-G6-2221ss.txt
      DSDT after bat patching.dsl
      DSDT primary.dsl
    • By valueimagery
      Hello Everybody,

      First Hack here, and I have a fresh vanilla install with Mojave 10.14.2 closely following this vanilla installation:
      https://hackintosh.gitbook.io/-r-ha...p-guide/config.plist-per-hardware/coffee-lake

      I was surprised how well it worked initially with the above suggested settings. Only a few minor things (USB SSDT, signing the Bluetooth Kext, and switching from VritualSMC to FakeSMC) needed to be adjusted to get were I am currently.

      I built this machine to be a video editing/photography workstation. And so far pretty happy but would really appreciate if anyone has any knowledge or solutions with the few problems I'm still experiencing:

      1) FIXED (SEE COMMENT BELOW)
      Sleep issues waking up from sleep (maybe due to the ASMEDIA USB controller)
      -FIX WAS UNRELATED TO ASMEDIA CONTROLLER BUT DUE TO PREFERENCE OF "ALLOW BLUETOOTH DEVICE TO WAKE THIS COMPUTER"/ AN EXTERNAL USB 3 to SATA Cable for Hot plugging SSD's/2.5" HDD's.  With USB to SATA adapter unplugged/ Bluetooth preference changed, Mac now sleeps uninterrupted.

      2)
      The ASMEDIA USB 3.1 Gen 2 ports ejecting after sleep

      3)
      Am I currently using the correct setup for graphic acceleration with a connector-less ID for the UHD 630 and Radeon RX580? Specifically for optimized performance with FCPX. 

      4)
      Normal Power Consumption?


      I've attached my config.plist, ioreg.zip from RUNME app, SSDT-UIAC.aml (created using Rehabman Method), and my DSDT.aml (from this post for the Maximus x code courtesy of @MaLd0n ) If anyone has the time to take a look and maybe shed some light if I've done something wrong that be awesome.

      And for anyone looking to build a similar machine, I would highly recommend it, and feel free to use these settings. If these minor last things are addressed, this is a really solid hack.

      Cheers,
      Shark

      Detailed below is What is Not Working, The Build/BIOS Setup/Install Process, and What is Working.


      NOT WORKING:
      1) Sleep:

      If I put the computer to sleep, or it falls asleep on it's own, it wakes up immediately after sleep.
       
      I’m getting these errors in terminal trying to figure this out using the following two commands:

      Command: pmset -g
      sleep 10 (sleep prevented by powerd, sharingd)

      Command: log show --style syslog | fgrep "Wake reason"
      localhost kernel[0]: (AppleACPIPlatform) AppleACPIPlatformPower Wake reason: XHC


      Here are my current settings:
      Clover:
      Boot -> Darkwake=0 (tried 1 and 2 as well)
      Energy Saver Settings: 
      Nothing Checked EXCEPT Put Hard disk to sleep when possible

      Would like Power Nap Enabled for the purpose of Time Machine, but doesn’t seem to be an option with Hackintosh?

      Using Terminal I have disabled the following:
      sudo pmset -a ttyskeepawake 0
      sudo pmset -a proximitywake 0
      sudo pmset -a standby 0
      sudo pmset -a autopoweroff 0

      2) USB 3.1 Gen 2

      For the 2.0/3.0 Intel Chipset, I’ve tried both the @headkaze Intel FB-Patcher v 1.6.8 and @RehabMan instructions on creating a SSDT. The FB-Patcher did not work completely. So I continued with @RehabMan method, created a SSDT, and sacrificed 2 x usb 2.0 ports and 1 internal RGB LED header to reach my 15 port max with 3.0 speeds on all SS ports.

      The ASMEDIA Ports work OOB with full 3.1 speeds. However the Eject issue can only be resolved by using an App like Jettison. And using that app doesn’t solve the sleep issue, computer still wakes. I’d rather figure out why the disks keep ejecting on sleep and if fixing issue #1 would resolve issue #2 or vice versa?

      Do I possibly need a power management ssdt? And how would I create one for the ASMEDIA chip?
       
      I've now tried using the attached DSDT.aml in my Patched folder.  I can now see it's working as my PCI devices in System Profiler are now populating (before it was stating no PCI devices).  However still experiencing sleep and eject issues.

      Ioreg Reads for the ASMEDIA 3.1 controller as:

      The 3.1 controllers for the back USB gen 2 ports are controlled by:
      RP05@1C,4/IOPP/PXSX@0/PXSX@01000000
      PRT1@01100000 (type C) (3.1 speeds)
      PRT2@01200000 (type A) (3.1 speeds)
      PRT3@01300000 (type C) (2.0 speeds)
      PRT4@01400000 (type A) (2.0 speeds)

      The 1 x 3.1 type C port on the front panel is controlled by:
      RP07@1C,6/IOPP/PXSX@0/PXSX@01000000
      HS01@00300000 (2.0 speed)
      SS01@00100000 (3.1 Speed) 

      There is also a SS02@0010000 under this controller, and as far as I can tell it does not have a function. Is there a way to disable, such as when creating an Intel Chipset SSDT?

      3) FINAL CUT ISSUES/ GRAPHIC ACCELERATION:
      Currently it doesn’t appear that the IGPU UHD 630 is doing much in iStats. In Apple System Profile/ Activity Monitor GPU window I only see RX580, no UHD 630. Is this how it should be? Or is that what connector-less ID should look like?

      With FCPX there is no crashing, glitchy exports, or rendering issues, however not sure if Graphic acceleration is being used to its fullest potential.
      The IGPU uses 5-8% Memory/ Processor when playing/scrubbing in timeline.
      And only 5-10% of the IGPU Memory (no processor) is used during any render or export of footage. The RX580 is still doing most of the hard work. My Bruce X times are quick 14-18 seconds, but I’m curious as to why the IGPU isn’t doing any of the lifiting. Is this expected? I'm pretty happy with how Lightroom and Final Cut are performing, I just want to make sure I've set the hardware up correctly.


      4) Power Consumption
      I have a general understanding of building computers, but not an expert especially with first time building a Hackintosh, overclocking, timings, voltages, etc…

      In HWMonitor the CPU Package Core reads blank, CPU Package Total is anywhere from 3.52w to 4.8w, the CPU Package DRAM is anywhere from 1.12 – 5.08. 

      Is this normal, or high? My temperatures seem fine and idle between 45-57 C, And Max shortly at 85 during stress tests.

      So just not sure if the CPU Power Consumption HWmonitor reporting is normal or abnormal. I've attached two HWmonitor screenshots 1 normal idle cpu, one while FCP rendering.
       
      THE INSTALL…
      Kexts Used:
      AirportBrcmFixup.kext
      AppleALC.kext
      BRCMFirmwareData.kext
      BrcmNonPatchRAM2.kext
      BrcmPatchRAM2.kext
      FakeSMC_ACPISensors.kext
      FakeSMC_CPUSensors.kext
      FakeSMC_GPUSensors.kext
      FakeSMC_LPCSensors.kext
      FakeSMC_SMMSensors.kext
      FakeSMC.kext
      IntelMausiEthernet.kext
      Lilu.kext
      USBInjectAll.kext 
      WhateverGreen.kext
      XHCI-unsupported.kext

      BUILD:
      ASUS ROG Maximus X CODE
      i7 8700k OC’d to 4800
      2 x 16gb Corsair Vegeance LPX DDR4 2400mhz C16 OC’d to 2666mhz
      Sapphire RX 580 NITRO+ 8Gb Graphics Card
      BCM94352Z Dell DW1560 (Wifi and Bluetooth Both Natively Working with Rehabman Kexts)
      BeQuiet! Darkrock Pro 4 
      EVGA 650w g1+
      Phanteks Enthoo Evolv X
      Samsung 28” E590DS (DP), Samsung 24” D300 (HDMI), Samsung 22” Syncmaster (DVI), Sony Bravia 48” (HDMI)

      Pre Install BIOS Settings:
      Updated Bios to Version 1704
      Loaded Optimized Defaults 
      AI Overclocker Tuner > Manual
      Extreme Tweeking > Enable
      Advanced \ System Agent(SA) Configuration →IGPU Multi-Monitor : Enabled
      Advanced \ System Agent (SA) Configuration →Vt-d: Disabled
      System Agent (SA) Configuration > Graphics Configuration > Primary Display > PEG
      USB Configuration > Legacy USB Support > AUTO
      USB Configuration > Keyboard and Mouse Simulation > Disabled
      APM Configuration > Power on by PCI - E/PCI > Disabled
      CSM: Disabled 
      Fast Boot > Disabled
      Boot Logo Display > Disabled
      Secure Boot > OS Type > Other OS
      DVMT Pre-Allocated > 128M

      WORKING:
      ICLOUD, iMessages, Handoff, etc

      Nitro+ 8GB GPU:
      4 Displays (DVI, DP, HDMI 1&2) from RX580 with Audio
      Currently set to 1920 resolution, but have option to use up to 4k resolution (3840x2160)
      Audio over DP and HDMI
      *Not sure if Airplay works as I don’t have an Apple TV, but registers in System Bar and say's looking...

      IGPU:
      Set in Connectorless State (AAPL,ig-platform-id: 0300923E)
      *If in a Connected State, slows down Bruce 5k Exports to well over a minute, with glitches, and does not send display signal to DP or HDMI (just green screen), even with connector type patch to correct type. So keeping it connectorless.
      *Not sure if Graphic acceleration is really working as FCPX is struggling with Multicam original media. This could just be the GH5 4k file encoding that FCPX struggles with. Was just hoping to remove creating proxy media from my workflow.

      Audio Front/ Back
      All working:
      Digital Optical Out 
      Back Green - Internal Speakers
      Front Headphones - Internal Speakers automatically changes to Headphones when plugged in
      Back Mic (Internal Microphone, not Line In)
      Front Mic (Internal Microphone, changes to a 2nd Line In)

      Bluetooth
      After initial install Bluetooth was seen by Mac System but not recognising any devices
      Thanks to @RehabMan Entered following code in terminal and bluetooth now works:
      sudo nvram boot-args="kext-dev-mode=1"

      I've now enabled this in my config.plist as well.
      https://github.com/RehabMan/OS-X-BrcmPatchRAM/blob/master/README-Mac.md
      (unsigned kernel extensions need to be enabled. Take the following steps in the Terminal)

      FANS/ TEMPS
      Temps or Fans were not registering with TG Pro using VirtualSMC.kext
      Fixed by switching from VIRTUALSMC.kext with older FAKESMC.kext with sensor gauges kexts. All working now.
      Computer Idles between 46 and 52 Celcius. Hits 81-87 when stress testing.

      USB 2.0/3.0 
      It appears that are physically too many USB ports on the Asus Maximus Code X to ever work with the 15 port limit safely. I created a custom SSDT that disabled USB 2.0 hs07(L),HS08(ML),12(aura led controller) to get usb 3.0 speeds on ss04,ss05, and ss06
      Be curious if anyone ever found a workaround for this...
       
       
      Overclocking:
      RAM:
      2400mhz to 2666mhz with Manual DRAM frequency change in BIOS. Did not change Latency or Timing and no crashing or panics so far. The 2666mhz speed is recognised in About this Mac and the Novabench RAM score increased.
      *Please advise if this method of overclocking the RAM is unadvisable.
       
      CPU:
      4.8ghz @ 75F @ 50% (Prime 95 test)
      Followed these BIOS steps:
       


       
      config_ValuesImac.plist
      DSDT.aml
      Send me Values-iMac.zip
      SSDT-UIAC.aml


×