XCPM Yüklü | XCPM Yüklü Değil |
---|---|
Soldaki görüntüden de görebileceğiniz gibi, Apple'ın CPU Güç Yönetiminden sorumlu X86PlatformPlugin registery içinde tanımlı. Eğer sağ resimdeki gibi bir sonuç çıktıysa X86PlatformPlugin yüklenmemiş demektir. Bu noktada aşağıdakileri kontrol edin.
SSDT-PLUG.aml dosyasının hem EFI / OC/ ACPI içinde, hemde Config / ACPI içinde eklenmiş olduğundan emin olun. BU SSDT dosyası işlemcinin ilk thread'ı olarak ayarlıdır ve bu yüklendikten sonra registery içinden (CP00) bunu kontrol edebilirsiniz.
Kod:
plugin-type | Number | 0x1
XCPM, Haswell-E ve Broadwell-E'yi yerel olarak desteklemez. Bu bağlamda CPU kimliğini XCPM'yi destekleyen bir modele taklit etmemiz gerekiyor. Bunun için config dosyanızı OpenCore Configurator ile açıp Kernel -> Emulate içinde şu ayarları girin.
- Haswell-E:
- Kernel -> Emulate:
- Cpuid1Data: C3060300 00000000 00000000 00000000
- Cpuid1Mask: FFFFFFFF 00000000 00000000 00000000
- Kernel -> Emulate:
- Broadwell-E:
- Kernel -> Emulate:
- Cpuid1Data: D4060300 00000000 00000000 00000000
- Cpuid1Mask: FFFFFFFF 00000000 00000000 00000000
- Kernel -> Emulate:
Başlamak için birkaç şeye ihtiyacımız olacak:
- X86PlatformPlugin yüklenmiş olması gerekiyor.
- Sandy, Ivy Bridge ve AMD CPU'lar desteklenmemekte.
- CPUFriend
- CPUFriendFriend
- Bu hem süreci basitleştirmeye, hem de daha iyi bir kontrol sağlamaya yardımcı olabilecek bazı ek özelliklere sahiptir.
Şimdi indirdiğimiz CPUFriendFriend içinden CPUFriendFriend.command dosyasını çalıştıralım. Dosyayı çift tıklayıp çalıştırdığımızda bizi aşağıdaki gibi bir ekran karşılayacak.
Bu ekranda LFM değerinizi seçmeniz için bir uyarı ile karşılaşacaksınız. Bu, CPU'nuzun taban değeri veya boşta kalacağı en düşük değerdir. Buradaki değer MacOS'in S3'ten (uyku) S0'a (uyanma) kolayca geçiş yapabilmesi gerektiğinden, bu sistemin uyku ve uyanmasında doğru şekilde çalışmasına büyük ölçüde yardımcı olabilir.
LFM değerinizi belirlemek için şunlardan birini yapabilirsiniz:
- Intel'in ARK site'inden TDP-down Frequency değerine bakabilirsiniz.
- Çoğu CPU'nun listelenen bir değeri olmadığını unutmayın, bu nedenle kendinizi belirlemeniz gerekir.
- Ya da aşağıda önerilen değerleri girebilirsiniz.
Jenerasyon | LFM Değeri | Açıklama |
---|---|---|
Broadwell+ Laptop | 08 | 800Mhz'ye eşdeğer |
Broadwell+ Masaüstü | 0A | 1000Mhz'ye eşdeğer |
Haswell/Broadwell HEDT/Server(Örnek: X99) | 0D | 1300Mhz'ye eşdeğer |
Skylake+ HEDT/Server(Örnek. X299) | 0C | 1200Mhz'ye eşdeğer |
- Not: LFM değeri sadece Broadwell ve daha yeni SMBIOS kimliklerinde mevcuttur.
- Not 2: Bu değerler kesin olarak belirlenmemiştir, dolayısıyla her makinenin farklı özellikleri olabilir ve bu nedenle donanımınız için en iyi olanı denemeniz gerekebilir
Not: LFM değerinin basit bir ifadeyle CPU'nun çarpanı olduğunu, bu nedenle bu değerin uygun şekilde ayarlanması gerektiğini unutmayın. Bunu bulmak için aşağıdaki komutu kullanabilirsiniz. Bu kullanmak istediğiniz saat hızını 100'e böler, ardından sonucu onaltılık tabana dönüştürür.
Kod:
echo "obase=16; 13" | bc
EPP: Energy Performance Preference
Bundan sonra gelecek olan seçenekte EPP ayarlamasını yapacağız. Burada İşlemcinin saat hızını belirleyeceğiz. Buradaki düzenleme ile işlemcinin turbo saat hızını ihtiyacımıza uygun olarak ayarlayabiliriz. Örnek olarak 00 olarak bir ayar seçersek işlemcinin maksimum performansta çalışmasını sağlayabilir, FF ile işlemcinin yavaş çalışmasını ancak duruma göre işlemcinin performansını yavaşça artırmasını sağlayabilirsiniz. Buradaki en önemli etmen cihazının işlemci soğutucusunun ne kadar iyi olduğu. Eğer maksimum performans seçerseniz ve iyi bir soğutucunuz yoksa işlemcinin ısınması ve performans düşüklüğü yaşama ihtimaliniz var. Aşağıdaki tablo hangi ayarı seçmeniz gerektiğine yardımcı olacaktır.
EPP | Hız |
---|---|
0x00-0x3F | Maksimum Performans |
0x40-0x7F | Dengeli Performans |
0x80-0xBF | Dengeli Güç |
0xC0-0xFF | Maksimum Güç Tasarrufu |
Not: Sadece Skylake sonrası ve daha yeni SMBIOS kimlikleri EPP destekler.
Performans BIAS
Bu son giriş, macOS' e işlemcinizden ne tür bir genel performans istediğinizi belirlemede yardımcı olmak içindir. Genel olarak buradaki ayarları sistem kullanımıza bağlı olarak değiştirebilir ve kendi cihazına en uygun düzenlemeleri bulabilirsiniz. Bütün işlemlerden sonra klasör/ Results içinde gerekli bütün dosyalar oluşturulmuş olacaktır.
Results içinde CPUFriendDataProvider.kext ve ssdt_data.aml dosyalarının oluşturulduğunu göreceksiniz. Güç yönetimi için bunlardan birini kullanabilirsiniz. Ancak benim tavsiyem Windows ve Linux ile çakışma yapmaması için kext yöntemini tercih etmeniz (OpenCore ACPI, Windows ve linux sistemlere etki eder).
Not: CPUFriend'den ile uyku /uyanma sorunları yaşarsanız sebebi yanlış frekans vektörlerinden kaynaklıdır. Zira her sistem benzersizdir, bu nedenle kararlı bir yapılandırma elde edene kadar config dosyanızda düzenlemeler yapmanız gerekebilir .
Not 2: Eğer ssdt_data.aml kullanmayı seçerseniz SSDT-PLUG.aml dosyanıza gerek yok. Ancak sadece ssdt_data kullanımı HEDT platform ailesine ait x79, x99 ve x299 sistemlerde hataya neden olabilir. Bu nedenle bu sistemlerde ssdt_data.aml yerine SSDT-PLUG ile CPUFriendDataProvider.kext kullanılması önemli.
Sandy ve Ivy Bridge Sistemler için Güç Yönetimi
Sandy ve Ivy Bridge sahip sistemlerin Apple'ın XCPM'sine bağlanma sorunları var. Bu yüzden bunu aşmak için kendi Güç Yönetim tablomuzu oluşturmamız gerekiyor.
not: Ivy Bridge-E işlemciler Resmi olarak XCPM desteklemekte. Bu bağlamda rehberin ilk konusunu inceleyin.
İhtiyacımız olan:
- CpuPm ve Cpu0Ist tablolarının düşürülmediğinden emin olun
- ssdtPRGen
Ivy Bridge kurulumunda AppleIntelCPUPowerManagement.kext ile ilgili herhangi bir sorunu önlemek için kullanırken CpuPm ve Cpu0Ist tablolarının OpenCore Config içinde kaldırılması gerekiyor. Ancak bu tabloları kaldırmak, Windows'ta turbo kullanımına olumsuz etki yaratmakta. Bu nedenle, bunu çözmek için OEM tablosuna dokunmadan, yalnızca macOS için verileri desteklemek üzere yeni bir tablo eklemeliyiz. Bundan sonra, CPU-PM tablomuzu oluşturmayı bitirdiğimizde, OEM'in CPU SSDT'lerini yeniden eklemek yeterli olacaktır.
İlk olarak ACPI-> Delete sekmesinde aşağıdaki ayarların YES olarak aktif edilmiş olduğundan emin olalım.
Key | Type | Value |
---|---|---|
All | Boolean | YES |
Comment | String | Drop CpuPm |
Enabled | Boolean | YES |
OemTableId | Data | 437075506d000000 |
TableLength | Number | 0 |
TableSignature | Data | 53534454 |
Key | Type | Value |
---|---|---|
All | Boolean | YES |
Comment | String | Drop Cpu0Ist |
Enabled | Boolean | YES |
OemTableId | Data | 4370753049737400 |
TableLength | Number | 0 |
TableSignature | Data | 53534454 |
Bundan sonra yukarıda paylaştığım ssdtPRGen çalıştıralım.
Bu işlemden sonra SSDT.aml dosyası /Users/your-name>/Library/ssdtPRGen/ssdt.dsl oluşturulmuş olacaktır. Dosyaya ulaşmak için kolay yol Cmd+Shift+G basın ve gelen klasöre git seçneğinde ~/Library/ssdtPRGen/ girin. Bundan sonra gelen pencere dosyanın oluşturuldu klasör olacaktır.
Burdaki ssdt.aml dosyasının ismini anlaşılır olması için SSDT-PM.aml olarak yeniden adlandırın EFI / ACPI içine koyun. Ayrıca Config dosyanızı açın ve aynı şekilde Config / ACPI / Add içinde bu dosyayı gösterin.
Son olarak daha önce Config / ACPI / Delete içinde YES olarak ayarladığınız ayarları NO olarak ayarlayıp config dosyanızı kaydedin.
Key | Type | Value |
---|---|---|
All | Boolean | YES |
Comment | String | Drop CpuPm |
Enabled | Boolean | NO |
OemTableId | Data | 437075506d000000 |
TableLength | Number | 0 |
TableSignature | Data | 53534454 |
Key | Type | Value |
---|---|---|
All | Boolean | YES |
Comment | String | Drop Cpu0Ist |
Enabled | Boolean | NO |
OemTableId | Data | 4370753049737400 |
TableLength | Number | 0 |
TableSignature | Data | 53534454 |
sdtPRgen Olası sorun
SsdtPRgen, OEM'inizin SSDT'si ile herhangi bir uyumsuzluk sorununu gidermeye çalışırken, OEM'inizin _INI veya _DSM gibi bölümlerde belirli aygıtları veya yöntemleri zaten bildirmiş olması nedeniyle, önyükleme sırasında çakışmalar olabilir. Eğer boot sırasında SSDT-PM ile alakalı olarak aşağıdaki gibi bir hata alırsanız bunun anlamı bahsettiğim üzere çakışmadan kaynaklı hatadır.
Kod:
ACPI Error: Method parse/execution failed [\_SB._INI] , AE_ALREADY_EXIST
Kod:
DefinitionBlock ("ssdt.aml", "SSDT", 1, "APPLE ", "CpuPm", 0x00021500)
{
External (\_PR_.CPU0, DeviceObj) // External Processor definition
External (\_PR_.CPU1, DeviceObj) // External Processor definition
Scope (\_PR_.CPU0) // Processor's scope
{
Name (APLF, Zero)
Name (APSN, 0x04)
Name (APSS, Package (0x20)
{
/* … */
})
Method (ACST, 0, NotSerialized)
{
/* … */
}
/* … */
}
- Processor object (işlemci nesnesi) External (harici) olarak taşındığından emin olun.
- Bütün metotları Processor'ün (işlemcinin) Scope'na (kapsamına) taşıyın.
AMD Güç Yönetimi
AMD bildiğiniz üzere desteklenmiyor. Ancak Hackintosh adına AMD için geliştirmeler var. AMD için kullanılması gereken kext ise SMCAMDProcessor. Unutulmaması gereken bu kextin çalışması için VirtualSMC olması ve config / Kernel içnde VirtualSMC'nin hemen altında bu kextin eklenmiş olması gerekliliği.
Kaynak:
OpenCore Guide
Moderatörün son düzenlenenleri:
- 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