Günlerdir uyutma problemini çözmeye çalışıyordum. Ne denediysem olmuyordu. Sistem bir kez uyuyor, ikinci uyutuşumda kapanıyordu. Her türlü şeyi denemiştim ve sıkıntının nereden kaynaklandığını anlamaya çalışıyordum. En sonunda sorunun kaynağını buldum.
Öncelik sistemimde Nvidia 1050M harici ekran kartı olduğunu hatırlatmak isterim ve bu harici kartı tümüyle kapatmazsanız, kesinlikle bir problem çıkarıyor. Bütün ikinci kez uyutma denemelerimde "Sleep Wake Failure in EFI" hatası aldım ve sorunu hep CPUFriendDataProvider da veya başka şeylerde aradım.
Fixing Sleep | OpenCore Post-Install buradaki her şeyi denemiş fakat tam olarak sonuca ulaşamamıştım.
Disable GPU yamaları sistem başlangıcında harici ekran kartını kapatıyordu, fakat uyutup uyandırınca Nvidia kartıma tekrar güç geliyordu ve uyanıyordu, bu yüzden de sistem bünyesinde bir çatışmaya(conflict) sebep oluyordu.
Bu sorunu da aşağıdaki yamalarla çözmüş bulunmaktayım. Gerçi ben bu yamaları DSDT.aml dosyama yapmak durumunda kaldım. Çünkü Batarya ile ilgili başka bir sorunumu çözmek için _PSR method unu düzenlemem gerekiyordu ve bu metot için hiçbir şekilde hotpatch oluşturamamıştım, bu yüzden de DSDT dosyamı düzenlemek zorunda kaldım.
İşin özüne gelicek olursak, bu bilgileri ve dosyaları paylaşayım dedim. Belki benim gibi bu problemi yaşayanlar varsa yardımcı olması açısından iyi olur.
Bu arada ZWAK dosyasında daha önce ZPTS yaması da vardı fakat bu Nvidia da ki gücü kesmek yerine güç veriyordu sanırım, bu yüzden de onu kaldırdım. Güle güle kullanın. Bir problem yaşayan olursa da her türlü yardımcı olmaya çalışırım.
SSDT-dGPU-Off.aml: Başlangıçta harici kartın gücünü keser.
SSDT-ZWAK.aml: Uykudan uyandıktan sonra harici karta güç gitmesini engeller ve harici grafik kartını uyandırmaz.
Aşağıdaki girdiyi config.plist dosyanızda bulunan ACPI -> Patch kısmının altındaki <array> </array> dizininin içerisine eklerseniz her şey tamamdır.
<dict> |
| <key>Comment</key> |
| <string>_WAK,N to ZWAK (SSDT-PTSWAK)</string> |
| <key>Count</key> |
| <integer>0</integer> |
| <key>Enabled</key> |
| <true/> |
| <key>Find</key> |
| <data>X1dBSwE=</data> |
| <key>Limit</key> |
| <integer>0</integer> |
| <key>Replace</key> |
| <data>WldBSwE=</data> |
| <key>TableSignature</key> |
| <data>RFNEVA==</data> |
| </dict> |