Cihazımıza Hackintosh kurulumu yaptıktan sonra sistemimiz için uygun düzenlemeleri yaparken (Bootloader, Kext, SMBIOS vs.) ilk olarak uygulanması gereken şey güç yönetimidir. Bunun için genelde "NullCpuPowerManagement.kext"kullanıyoruz. Ancak "NullCpuPowerManagement.kext" kullanmak Laptop'larda pil ömrü, ısınma ve gürültü sorunlarında gerçekçi bir çözüm sunmuyor.
Bu rehberde size Sandy Bridge, Ivy Bridge yada Haswell CPU kullanan dizüstü cihazlar için doğal güç yönetiminin nasıl uygulanacağını anlatacağım.
ssdtPRgen.sh kullanarak SSDT.aml oluşturmak.
Bunun için aşağıdaki ssdtPRgen.sh betiğini kullanacağız.
GitHub - Piker-Alpha/ssdtPRGen.sh: Script to generate a SSDT for Power Management
Yukarıdaki bağlantıda bu betiğin nasıl kurulacağı “Read Me” dosyasında anlatılmıştır. Ancak biz yinede üyelerimiz için paylaşalım;
Adımlar:
İlk olarak SSDT.aml oluşturmak için gerekeli betiği Terminal kullanarak sistemize indirelim. Bunun için;
OS X içinde Terminal uygulamasını açın ve aşağıdaki kodları sıra ile girin:
Broadwell, Skylake ve daha sonrası güncel sistemleri için şu kodları kullanın;
Bu işlemden yaptıktan sonra betiği aşağıdaki komut ile çalıştırın:
Not: Eğer bu betik tarafından desteklenmeyen bir işlemciniz varsa , bu CPU’nun bilgilerini sizin girmeniz gerekir.
Örnek olarak i7-4720HQ için kodu şu şekilde girmeniz gerekir:
Yukarıda girdiğimiz kod ile “i7-4710HQ” kullanarak i7-4720HQ için turbo ve turbo olmayan frekanslar geçersiz kıldık ve betiğin sorunsuzca SSDT üretmesi sağladık.
İşlem sonunda betik bize çıkan sonucu "Extra" klasörüne kopyalamak isteyip istemediğinizi soracak. Burada klavyede “n” tuşuna basın.
Bundan sonra ssdt.aml içinde aynı soru gelecek. Bunun içinde gelen seçenekte “n” seçin.
Bu işlemden sonra dosyalar şurada oluşturulacak: ~/Library/ssdtPRgen/SSDT.aml.
Bundan sonra oluşturulan dosyayı /EFI/Clover/ACPI/patched/ içine kopyalayın.
Bunu Terminal kodu isterseniz ilk olarak EFI bölüntüsünü mount edin ve aşağıdaki kodu girin:
Hatırlatma; Hibernate ( Hazırda beklet) OS X tarafından desteklenmiyor. Hibernate kapatmak için aşağıdaki kodları girin;
SSDT kurulumundan sonra çalışıp çalışmadığını kontrol etmek için:
AppleInfo.kext ile:
Intel Power Gagdet ile:
Hatırlatma: Eğer Haswell veya Ivy Bridge işlemci kullanıyorsanız IORegistryExplorer programını kullanarak X86PlatformPlugin yüklendiğini doğrulayın. Bunun için IORegistryExplorer açtıktan sonra arama penceresine CPU0 yazın.
Son Denetim:
Yukarıda yaptığımız işlemlerin doğru olarak çalıştığından emin olmak için ayarlarımızı kontrol etmemiz gerekiyor.
AppleACPIPlatform ve EmbeddedControl
Not: Sandy Bridge PM için, AppleACPIPlatform.kext rollback yapmak mümkün ancak önermiyoruz. Bu yüzden geri alınmış AppleACPIPlatform.kext’e dahil olan batarya yönetimi paketlerine dikkat edin.
AppleACPIplatform.kext çalıştığında, 8 bitden büyük olan EC ( Embedded Control ) kayıtlarını manipule eden DSDT metodu çalışmayacaktır. Ve hata verecektir. Bu yüzden bu metotların yamalanması gerekiyor. Uygun yamaları şu adresten bulabilirsiniz:
GitHub - RehabMan/Laptop-DSDT-Patch: Common DSDT patches for Ivy/Sandy/Haswell laptops for running OS X
AMD Radeon Kullanıcıları:
Burada config.plist/ACPI/DropTables içinde MCFG kullanmaları gerekebilir.
Eski İşlemci Kullananlar:
Bu rehberde size Sandy Bridge, Ivy Bridge yada Haswell CPU kullanan dizüstü cihazlar için doğal güç yönetiminin nasıl uygulanacağını anlatacağım.
ssdtPRgen.sh kullanarak SSDT.aml oluşturmak.
Bunun için aşağıdaki ssdtPRgen.sh betiğini kullanacağız.
GitHub - Piker-Alpha/ssdtPRGen.sh: Script to generate a SSDT for Power Management
Yukarıdaki bağlantıda bu betiğin nasıl kurulacağı “Read Me” dosyasında anlatılmıştır. Ancak biz yinede üyelerimiz için paylaşalım;
Adımlar:
İlk olarak SSDT.aml oluşturmak için gerekeli betiği Terminal kullanarak sistemize indirelim. Bunun için;
OS X içinde Terminal uygulamasını açın ve aşağıdaki kodları sıra ile girin:
Kod:
cd ~
curl -o ./ssdtPRGen.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/master/ssdtPRGen.sh
chmod +x ./ssdtPRGen.sh
Kod:
cd ~
curl -o ./ssdtPRGen.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/Beta/ssdtPRGen.sh
chmod +x ./ssdtPRGen.sh
Kod:
./ssdtPRGen.sh
Örnek olarak i7-4720HQ için kodu şu şekilde girmeniz gerekir:
Kod:
./ssdtPRGen.sh -p 'i7-4710HQ' -f 2600 -turbo 3600
İşlem sonunda betik bize çıkan sonucu "Extra" klasörüne kopyalamak isteyip istemediğinizi soracak. Burada klavyede “n” tuşuna basın.
Bundan sonra ssdt.aml içinde aynı soru gelecek. Bunun içinde gelen seçenekte “n” seçin.
Bu işlemden sonra dosyalar şurada oluşturulacak: ~/Library/ssdtPRgen/SSDT.aml.
Bundan sonra oluşturulan dosyayı /EFI/Clover/ACPI/patched/ içine kopyalayın.
Bunu Terminal kodu isterseniz ilk olarak EFI bölüntüsünü mount edin ve aşağıdaki kodu girin:
Kod:
cd ~
cp ~/Library/ssdtPRgen/ssdt.aml /Volumes/EFI/EFI/Clover/ACPI/patched/SSDT.aml
Kod:
sudo pmset -a hibernatemode 0
sudo rm /var/vm/sleepimage
sudo mkdir /var/vm/sleepimage
AppleInfo.kext ile:
- AppleIntelCPUPowerManagementInfo.kext indirin. ( AppleIntelInfo.kext)
AppleIntelInfo.kext.zip - Ardından inen kexti desktop'a taşıyın.
- Terminal açın ve aşağıdaki kodları sıra ile girin.
Kod:sudo -s
Kod:chown -R 0:0 ~/Desktop/AppleIntelInfo.kext
Kod:chmod -R 755 ~/Desktop/AppleIntelInfo.kext
Kod:kextload ~/Desktop/AppleIntelInfo.kext
Kod:cat /tmp/AppleIntelInfo.dat
- Son koddan sonra terminal ekranında şu sonucu göreceksiniz:
- Appleinfo.kext'in çalışmasını durdurmak için şu kodu kullanın:
Kod:kextunload ~/Desktop/AppleIntelInfo.kext
Intel Power Gagdet ile:
- Aşağıdaki linkten Intel Power Gadget indirin:
Intel® Power Gadget 3.5.5 for MacOS* - İnen klasör içinden pkg dosyasını çalıştırıp kurulumunu yapın.
- Uygulamalar klasöründen Intel Power Gadget bulun ve çalıştırın.
- Aşağıdaki paylaştığım resimdeki gibi CPU'nun CPU güç durumunu değiştirdiğini doğrulayın.
Hatırlatma: Eğer Haswell veya Ivy Bridge işlemci kullanıyorsanız IORegistryExplorer programını kullanarak X86PlatformPlugin yüklendiğini doğrulayın. Bunun için IORegistryExplorer açtıktan sonra arama penceresine CPU0 yazın.
Son Denetim:
Yukarıda yaptığımız işlemlerin doğru olarak çalıştığından emin olmak için ayarlarımızı kontrol etmemiz gerekiyor.
- SSDT.aml, EFI/Clover/ACPI/patched içinde olmalı
- Config / ACPI içinde aşağıdaki resimdeki ayarların yapıldığından emin olunmalı.
- config.plist/KernelAndKextPatches/AsusAICPUPM=true (Haswell öncesi) olarak işaretli olmalı.
- config.plist/KernelAndKextPatches/KernelPm=true (Haswell+) olarak işaretli olmalı.
- config.plist/KernelAndKextPatches/KernelLapic=true olarak işaretli olmalı.
- İşlemciniz ile uygun Sistem Kimliği (SMBIOS) (config.plist/SMBIOS)
- Rollback olmamış AppleACPIPlatform.kext
AppleACPIPlatform ve EmbeddedControl
Not: Sandy Bridge PM için, AppleACPIPlatform.kext rollback yapmak mümkün ancak önermiyoruz. Bu yüzden geri alınmış AppleACPIPlatform.kext’e dahil olan batarya yönetimi paketlerine dikkat edin.
AppleACPIplatform.kext çalıştığında, 8 bitden büyük olan EC ( Embedded Control ) kayıtlarını manipule eden DSDT metodu çalışmayacaktır. Ve hata verecektir. Bu yüzden bu metotların yamalanması gerekiyor. Uygun yamaları şu adresten bulabilirsiniz:
GitHub - RehabMan/Laptop-DSDT-Patch: Common DSDT patches for Ivy/Sandy/Haswell laptops for running OS X
AMD Radeon Kullanıcıları:
Burada config.plist/ACPI/DropTables içinde MCFG kullanmaları gerekebilir.
Eski İşlemci Kullananlar:
- Sandy Bridge’den daha eski CPU’lar GeneratePStates=Y GenerateCStates=Y DropSSDT=Y kullanmalıdır. Bunlar için Custom SSDT hazırlamaya gerek yok. ( Zira bunlar için herhangi bir SSDT aracı yok )
- DropSSDT=Yes ve DropOem=true
- Eğer eski bir donanımınız varsa OEM CPU ile alakalı ssdt çıkarmanız gerekebilir. Her ne kadar bunu Config.plist/ACPI/DropTables ile yapabilirsekte, en kolay yolu config.plist/ACPI/SSDT/DropOem=true olarak ayarlamak.
- Güncel bir sisteminiz varsa DropOem=true kullanmayın. Bu sadece Sandy Bridge ve eski sistemler için gereklidir.
Son düzenleme:
- BootLoader
- OpenCore 0.6.4
- Anakart Modeli
- Asus Z170 Deluxe
- İşlemci Modeli
- Intel i7 6700K
- Grafik Kartı
- 8 GB Sapphire RX 580 & HD 530
- Ses Kartı Modeli
- ALC 1150
- Ağ Aygıtları
- Broadcom BCM43xx - I211 Gigabit Ethernet
- Disk ve RAM
- 500GB NVMe & 32 GB DDR4