next |
---|
/Getting-Started-With-ACPI/ |
Questa pagina è una raccolta di vari file necessari per l'avvio di macOS, ci aspettiamo che tu, prima di iniziare, conosca bene il tuo hardware e ci auguriamo che tu abbia fatto già un Hackintosh in passato, perchè non andremo così nel dettaglio in questa pagina.
Qual'è il miglior modo per capire se il mio hardware è supportato?
Vedi la Pagina delle limitazioni hardware per capire meglio ciò che MacOs richiede avviarsi, Clover e OpenCore hanno un supporto hardware abbastanza simile.
Come posso capire che hardware ho?
Vedi la pagina precedente: Scoprire il tuo hardware
I Firmware drivers sono dei drivers utilizzati da OpenCore negli ambienti UEFI. Servono principalmente per avviare una computer, estendendo la capacità di patch di OpenCore oppure mostrandoti le diverse unità nel selettore(ovvero le unità HFS).
- Nota sul posizionamento: Questi file devono essere posizionati sotto
EFI/OC/Drivers/
::: tip Driver richiesti
Per la maggior parte dei sistemi ti serviranno solo 2 driver .efi
per l'avvio:
- (Richiesto) HfsPlus.efi
- Necessario per vedere i volumi HFS (es. Gli installer di MacOS e le partizioni/immagini recovery). Non mischiare altri HFS drivers
- Per i processori Sandy Bridge e più vecchi(come come gli Ivy Bridge di fascia bassa(i3 e Celerons), vedi la sezione legacy qui sotto
- (Richiesto) OpenRuntime.efi
- Sostituzione di AptioMemoryFix.efi, usato come estensione per Opencore come aiuto per la patch di boot.efi per correggere l'NVRAM e per una migliore gestione della batteria
- Ricorda che questo era incluso in Opencorepkg che abbiamo scaricato in precedenza
:::
Oltre a ciò che abbiamo detto in precedenza, se il tuo hardware non supporta l'UEFI (macchine del 2011 e meno recenti) avrai bisogno di quanto segue. Presta atenzione a tutte le voci qui sotto perchè potresti avere bisogno di tutte e 4
- OpenUsbKbDxe.efi
- Utilizzato per il selettore Opencore su sistemi legacy che eseguono DuetPkg, non raccomandato ed addirittura dannoso su UEFI(Ivy Bridge e processori piú recenti)
- HfsPlusLegacy.efi
- Variante legacy di HfsPlus, usato per sistemi che non hanno il supporto delle istruzioni RDRAND. Questo generalmente accade su processori Sandy Bridge e piu vecchi (ma anche su processori Ivy Bridge di fascia bassa (i3 e Celerons))
- Non usarlo con HfsPlus.efi, scegline quello corretto in base al tuo hardware
- OpenPartitionDxe
- Necessario per avviare la recovery da OS X 10.7 fino al 10.9
- Questo file è incluso con OpenCorePkg sotto EFI/OC/Drivers
- Nota: gli utenti OpenDuet(cioè senza UEFI) avranno gia questo driver integrato, non gli servirà
- Non necessario per OS X 10.10, Yosemite e successivi
- Necessario per avviare la recovery da OS X 10.7 fino al 10.9
Questi file andranno nella cartella "drivers" della tua EFI
::: details Driver specifici per le cpu 32-Bit
Per coloro che hanno cpu a 32 bit, consigliamo di inserire questo driver
- HfsPlus32
- Alternativa a HfsPlusLegacy per le cpu a 32-bit, non mischiare questo con altri drivers HFS.
:::
Un kext è un kernel extension (estensione kernel), li possiammo immaginare come una sorta di drivers per MacOs, questi file andranno nella cartella kext della tua EFI.
- Nota per Windows e Linux: I kext saranno visti come normali cartelle dal vostro sistema, controlla più volte che la cartella che stai installando abbia un'estensione .kext visibile(e non aggiungere manulamente l'estensione se non è presente).
- Se qualche kext dovesse includere un file
.dSYM
, lo puoi semplicemente cancellare. Sono utili solamente per il debug.
- Se qualche kext dovesse includere un file
- Nota sul posizionamento: Questi files devono essere posizionati sotto
EFI/OC/Kexts/
.
Tutti i kext elencati in precedenza possono essere trovati pre-compilati nella Kext Repo. I kext qui indicati vengono compilati ogni volta che c'è un nuovo aggiornamento.
::: tip Kext richiesti
Senza i due qua sotto nessun sistema è avviabile:
- (Richiesto) VirtualSMC
- Emula il chip SMC che si trova sui veri Mac, senza questo MacOs non si avvierà.
- Un'alternativa è FackeSMC, che può avere un supporto migliore o peggiore, comunemente è usato sui sitemi legacy
- Necessita OS X 10.6 o superiori
- (Richiesto) Lilu
- Un kext per patchare molti processi necessario per AppleALC, WhateverGreen, VirtualSMC e molti altri kexts. Senza lilu non funzioneranno.
- Nota bene che Lilu ed i plugins per funzionare richiedono OS X 10.8 o superiori
:::
::: details FakeSMC per gli utenti legacy
Coloro che volgliono avviare OS X 10.7 e inferiori su hardware 32 bit, devono usare il kext qui sotto al posto di VirtualSMC:
Ricorda che se non hai in programma di avviare vecchie versioni di MacOs puoi ignorare tranquillamente questo kext.
- Nota per OS X 10.4 e 10.5: Anche su CPU a 64 bit, lo spazio del kernel di OS X è ancora a 32 bit. Quindi consigliamo di utilizzare FakeSMC-32 in coppia con VirtualSMC, specificatamente impostando la voce
Arch
di FakeSMC-32 sui386
e VirtualSMC sux86_64
. Questo è discusso più avanti nella guida.
:::
I plug-in seguenti non sono necessari per l'avvio e aggiungono semplicemente funzionalità extra al sistema come il monitoraggio dell'hardware(Nota mentre VirtualSMC supporta 10.6, i plugins potrebbero richiedere 10.8+):
- SMCProcessor.kext
- Utilizzato per monitorare la temperatura della CPU, non funziona su sistemi basati su CPU AMD
- SMCSuperIO.kext
- Utilizzato per monitorare la velocità della ventola, non funziona su sistemi basati su CPU AMD
- SMCLightSensor.kext
- Utilizzato per il sensore di luminosità sui laptop, i desktop possono ignorare
- Non utilizzare se non si ha un sensore di luminosità, può causare problemi in caso contrario
- SMCBatteryManager.kext
- Utilizzato per misurare la batteria sui laptop, i desktop possono ignorare
- SMCDellSensors.kext
- Consente un monitoraggio e un controllo più accurato delle ventole sulle macchine Dell che supportano il System Management Mode (SMM)
- Non utilizzare se non si dispone di una macchina Dell supportata, principalmente i laptop Dell possono trarre vantaggio da questo kext
- WhateverGreen
- Utilizzato per la patch grafica di DRM, controllo del board ID, correzioni di framebuffer...
- Tutte le GPU beneficiano di questo kext.
- Necessita di OS X 10.8 o superiori
- AppleALC
- Utilizzato per patch di AppleHDA, consentendo il supporto per la maggior parte dei controller audio integrati
- I processori AMD 15°/16° potrebbero avere problemi con questo kext e i sistemi Ryzen/Threadripper raramente supportano il microfono
- Necessita di OS X 10.8 o superiori
::: details Kext audio per i sistemi legacy
Per coloro che intendono avviare 10.7 e versioni precedenti, è preferibile optare per questi kext:
-
- Necessita OS X 10.6 o superiori
-
- Simile al kext sopra, tuttavia supporta i kernel a 32 e 64 bit, quindi perfetto per l'avvio di OS X 10.4-5 e CPU a 32 bit
:::
Qui supponiamo che tu sappia quale scheda ethernet ha il tuo sistema, ricorda che le pagine delle specifiche del prodotto molto probabilmente elencheranno il tipo di scheda di rete.
- IntelMausi
- Necessario per la maggior parte delle schede di rete Intel, i chipset basati su I211 avranno bisogno di SmallTreeIntel82576 kext
- I NIC Intel 82578, 82579, I217, I218 e I219 sono ufficialmente supportati
- Necessita OS X 10.9 o successive, gli utenti 10.6-10.8 possono utilizzare IntelSnowMausi
- SmallTreeIntel82576 kext
- Richiesto per i211 NIC, basato sul kext SmallTree ma patchato per supportare I211
- Richiesto per la maggior parte delle schede AMD che eseguono NIC Intel
- Richiede OS X 10.9-12 (v1.0.6), macOS 10.13-14 (v1.2.5), macOS 10.15+ (v1.3.0)
- AtherosE2200Ethernet
- Richiesto per Atheros e i NIC Killer
- Richiede OS X 10.8 o successivo
- Nota: i modelli Atheros Killer E2500 sono in realtà basati su Realtek, per questi sistemi si consiglia di utilizzare RealtekRTL8111
- RealtekRTL8111
- Per i Gigabit Ethernet di Realtek
- Richiede OS X 10.8 e meno recenti per la versione 2.2.0 e inferiori, macOS 10.12 e sucessivi per le versioni 2.2.2 e 2.3.0 (incluse), macOS 10.14 e sucessivi per la versione 2.4.0 e sucessive
- NOTA: a volte i Gigabit Ethernet di Realtek potrebbe non funzionare correttamente se si utilizza l'ultima versione del kext. Se hai qualche problema, prova ad usare vecchie versioni.
- LucyRTL8125Ethernet
- Per i 2,5 Gb Ethernet di Realtek
- Richiede macOS 10.15 o successivo
- Per i NIC I225-V di Intel, le patch sono menzionate nella sezione desktop Comet Lake DeviceProperties. Non è richiesto nessun kext.
- Richiede macOS 10.15 o successivo
- For Intel's I350 NICs, patches are mentioned in the HEDT Sandy and Ivy Bridge-E DeviceProperties section. No kext is required.
- Requires OS X 10.10 or newer
::: details Kext Ethernet per sistemi Legacy
Rilevante per le installazioni di macOS legacy o per vecchi computer.
- AppleIntele1000e
- Principalmente rilevante per i controller Ethernet Intel basati su 10/100MBe
- Richiede 10.6 o successive
- RealtekRTL8100
- Principalmente rilevante per i controller Ethernet Realtek Ethernet basati su 10/100MBe
- Richiede macOS 10.12 o versione successiva con v2.0.0 +
- BCM5722D
- Principalmente rilevante per i controller Broadcom Ethernet basati su BCM5722
- Richiede OS X 10.6 o successivi
:::
Inoltre, tieni presente che alcune schede NIC sono effettivamente supportate in modo nativo in macOS:
::: details Controller Ethernet Nativamente Supportati
# AppleEthernetAquantiaAqtion.kext
pci1d6a,1 = Aquantia AQC107
pci1d6a,d107 = Aquantia AQC107
pci1d6a,7b1 = Aquantia AQC107
pci1d6a,80b1 = Aquantia AQC107
pci1d6a,87b1 = Aquantia AQC107
pci1d6a,88b1 = Aquantia AQC107
pci1d6a,89b1 = Aquantia AQC107
pci1d6a,91b1 = Aquantia AQC107
pci1d6a,92b1 = Aquantia AQC107
pci1d6a,c0 = Aquantia AQC113
pci1d6a,4c0 = Aquantia AQC113
Nota bene: A causa di alcuni firmware obsoleti forniti su molti NIC Aquantia, potrebbe essere necessario aggiornare il firmware da Linux/Windows per assicurarsi che sia compatibile con macOS.
# AppleIntel8254XEthernet.kext
pci8086,1096 = Intel 80003ES2LAN
pci8086,100f = Intel 82545EM
pci8086,105e = Intel 82571EB/82571GB
# AppleIntelI210Ethernet.kext
pci8086,1533 = Intel I210
pci8086,15f2 = Intel I225LM (Added in macOS 10.15)
# Intel82574L.kext
pci8086,104b = Intel 82566DC
pci8086,10f6 = Intel 82574L
# AppleBCM5701Ethernet.kext
pci14e4,1684 = Broadcom BCM5764M
pci14e4,16b0 = Broadcom BCM57761
pci14e4,16b4 = Broadcom BCM57765
pci14e4,1682 = Broadcom BCM57762
pci14e4,1686 = Broadcom BCM57766
:::
-
- Utilizzato per iniettare i contreller USB Intel su sistemi senza porte USB definite in ACPI
- Non dovrebbe essere necessario su Desktop Skylake e versioni successive
- Su AsRock questo kext è invece sempre necessario
- Si consiglia tuttavia di utilizzare questo kext anche con processori Coffee Lake e laptop meno recenti
- Non funziona su nessuna CPU AMD
- Necessita di OS X 10.11 o superiori
-
- Necessario per i controller USB non nativi
- CPU basate su sistemi AMD non lo necessitano questo kext
- Schede madri che solitamente richiedono questo kext:
- H370
- B360
- H310
- Z390(Non necessario su Mojave e versioni successive)
- X79
- X99
- Schede AsRock (Necessario sulle schede madri Intel, non necessario tuttavia sulle schede B460/Z490+)
- AirportItlwm
- Aggiunge il supporto per un'ampia varietà di schede wireless Intel e funziona in modo nativo nella recovery grazie all'integrazione della famiglia IO80211
- Richiede macOS 10.13 o più recente e Apple Secure Boot per funzionare correttamente
- IntelBluetoothFirmware
- Aggiunge il supporto Bluetooth a macOS se associato a una scheda wireless Intel
- Richiede MacOs 10.13 o successive
::: details Ulteriori informazioni sull'attivazione di AirportItlwm
Per abilitare il supporto di AirportItlwm con OpenCore, dovrai:
- Abilita
Misc -> Security -> SecureBootModel
impostandolo comeDefault
o qualche altro valore valido- Questo è discusso successivamente più avanti in questa guida ma anche nella guida post-installazione: Apple Secure Boot
- Se non puoi abilitare SecureBootModel, puoi comunque forzare l'inserimento di IO80211Family (Altamente sconsigliato)
- Imposta quanto segue in
Kernel -> Force
nel tuo config.plist (discusso più avanti in questa guida):
- Imposta quanto segue in
:::
- AirportBrcmFixup
- Utilizzato per patchare schede Broadcom non Apple/non Fenvi, Non funzionerà su schede Intel, Killer, Realtek, ecc
- Richiede OS X 10.10 o versioni successive
- Per Big Sur vedi Big Sur problemi conosciuti per procedimenti aggiuntivi riguardo i driver AirPortBrcm4360.
- BrcmPatchRAM
- Utilizzato per caricare il firmware sul chipset Broadcom Bluetooth, richiesto per tutte le schede non Apple/non Fenvi Airport.
- Da associare a BrcmFirmwareData.kext
- BrcmPatchRAM3 per 10.15+ ( deve essere asscociato con BrcmBluetoothInjector)
- BrcmPatchRAM2 per 10.11-10.14
- BrcmPatchRAM per 10.8-10.10
::: details BrcmPatchRAM ordine di caricamento
L'ordine in Kernel -> Add
dovrebbe essere:
- BrcmBluetoothInjector
- BrcmFirmwareData
- BrcmPatchRAM3
ProperTree lo gestirà automaticamente, quindi non te ne devi preoccupare
:::
- AppleMCEReporterDisabler
- Utile a partire da Catalina per disabilitare il kext AppleMCEReporter che causerebbe kernel panic su CPU AMD e sistemi dual-socket
- SMBIOS interessati:
- MacPro6,1
- MacPro7,1
- iMacPro1,1
- Richiede macOS 10.15 o versioni successive
- CpuTscSync
- Necessario per la sincronizzazione del TSC su alcune schede madri Intel HEDT e server, senza questo macOS potrebbe essere estremamente lento o non avviabile.
- Non funziona su CPU AMD
- Richiede OS X 10.8 o versioni successive
- NVMeFix
- Utilizzato per correggere la gestione dell'alimentazione e l'inizializzazione di NVMe non Apple
- Richiede macOS 10.14 o versioni successive
- SATA-Unsupported
- Aggiunge il supporto per un'ampia varietà di controller SATA, principalmente utile per i laptop che hanno problemi nel vedere l'unità SATA in macOS. Si consiglia prima di provare senza questo.
- Nota per MacOs Big Sur: CtlnaAHCIPort dovrà essere utilizzato invece perché numerosi controller sono stati eliminati dal binario stesso
- Coloro che utilizzano Catalina e versioni precedenti non ne sono coinvolti
::: details Kext SATA per sistemi Legacy
- AHCIPortInjector
- Iniettore Legacy SATA/AHCI, principalmente utile per le macchine più vecchie dell'era Penryn
- ATAPortInjector
- Iniettore Legacy ATA, utile principalmente per i dispositivi IDE e ATA (cioè quando non è presente alcuna opzione AHCI nel BIOS)
:::
- XLNCUSBFIX
- Fix USB per sistemi AMD FX, non consigliata per Ryzen
- Richiede macOS 10.13 o versioni successive
- VoodooHDA
- Audio per sistemi FX e supporto Microfono + Audio sul pannello frontale per i sistemi Ryzen, non usare con AppleALC. La qualità audio è notevolmente peggiore di AppleALC sulle CPU Zen
- Richiede OS X 10.6 o successivo
Per capire che tipo di tastiera e trackpad hai, controlla Gestione dispositivi in Windows o dmesg | grep -i input
in Linux
- VoodooPS2
- Per sistemi con tastiere, mouse e trackpad PS2
- Richiede macOS 10.11 o versioni successive per le funzioni MT2 (Magic Trackpad 2)
- RehabMan VoodooPS2
- Per i sistemi meno recenti con tastiere, mouse e trackpad PS2 o quando non si vuole utilizzare VoodooInput
- Supporta macos 10.6 e successive
- VoodooRMI
- Per sistemi con dispositivi basati su Synaptics SMBus, principalmente per trackpad e puntataori.
- Richiede macOS 10.11 o successive per le funzioni MT2
- VoodooSMBus
- Per sistemi con dispositivi basati su ELAN SMBus, principalmente per trackpad e trackpoint.
- Attualmente supporta macOS 10.14 o versioni successive
- VoodooI2C
- Usato per il fix dei dispostitivi I2C, utile con alucni touchpad e touchreeen più particolari
- Richiede macOS 10.11 o versioni successive per le funzioni MT2 ::: details Plugin di VoodooI2C | Tipo di connessione | Plugin | Note | | :--- | :--- | :--- | | Microsoft HID | VoodooI2CHID | Può essere utilizzato anche per supportare alcuni touchscreen USB | | Proprietà ELAN | VoodooI2CElan | ELAN1200+ richiede invece VoodooI2CHID | | Proprietà di Synaptics | VoodooI2CSynaptics | Il protocollo Synaptics F12 richiede invece VoodooI2CHID | | ^^ | VoodooRMI | Supporta i protocolli Synaptics F12/F3A - Questi generalmente supportano lo standard HID di Microsoft, quindi dovresti prima provare a utilizzare VoodooI2CHID | | Touchpad FTE1001 | VoodooI2CFTE | | | Protocollo Atmel Multitouch | VoodooI2CAtmelMXT | | :::
- ECEnabler
- Risolve le letture della batteria in molti dispositivi (Permette le letture dei field EC lunghi 8 bit)
- BrightnessKeys
- Risolve i tasti di luminosità automaticamente
Fare riferimento a Kexts.md per un elenco completo dei kext supportati
Quando vedi tutti quegli SSDT nella cartella AcpiSamples ti potresti chiedere se ne hai bisogno. Esamineremo gli SSDT di cui hai bisogno nella guida Iniziamo con ACPI, la quale ha una sezione estesa sugli SSDT inclusa la loro compilazione sulle diverse piattaforme.