Optimus Olan Nvdia Ekran Kartını İptal Etmek

amadeus

APPRENTICE
17 Ocak 2017
40
2
21
32
İstanbul
GT540M ekran kartı ile HD3000 ekran kartlarım Windows ve Linux'da gayet güzel çalışıyor fakat Mac OSX bunu desteklemediği için(Switchable) kullanamıyorum ve hiç bir zamanda kullanamıyacağım doğal olarak, tamam bunda sorun yok fakat Sierra sistemim bu ekran kartını da görüyor, her ne kadar HD3000 aktif olsada buda arka planda çalıştığı için zamanla ısınma problemi oluşuyor sistemde. BIOS ayarlarında malesef disable etme seçeneği yok yabancı forumlara baktım DSTL ile çözüm üretenler var gibi ama net bir şey bulamadım. Bu konu da fikri olan yada yol gösterebilecek olan varsa memnun olurum.
 

linepower

JEDI
DENEYİMLİ ÜYE
1 Mar 2017
407
218
301
Aynı dertten muzdaribim. Bir iki video izledim. Tüm adımları yapmama rağmen başarılı olmadı kaçırdığım birkaç nokta var sanırım. Bir rehber gelse ne güzel olur değil mi :)
 
BootLoader
OC
Anakart Modeli
Asus Z370 TUF Pro Gaming
İşlemci Modeli
i5 8600K
Grafik Kartı
Intel® UHD 630
Ses Kartı Modeli
Realtek ALC887
Ağ Aygıtları
Fenvi T919 (BCM94360)
Disk ve RAM
Kingston 240 GB SSD & Gskill 8 GB Ram

amadeus

APPRENTICE
17 Ocak 2017
40
2
21
32
İstanbul
Aynı dertten muzdaribim. Bir iki video izledim. Tüm adımları yapmama rağmen başarılı olmadı kaçırdığım birkaç nokta var sanırım. Bir rehber gelse ne güzel olur değil mi :)
En azindan @montezuma bize yol gosterse cok iyi olur :) Dual boot kullaniyorum Windows'a geciyorum her sey cok iyi ama nasil Sierra'yi boot ediyosam fan devri aninda artmaya basliyor ve rahatsiz edici boyutta calismaya devam ediyor.
 

tosbaha

PADAVAN
MODERATOR
DEVELOPER
11 Mar 2017
140
118
0
47
Adımlar abartıldığı kadar zor değil. Kısaca tekrar yazayım.
1. DSDT ve SSDT dosyalarınızı çıkarın. Clover ekranında F4
2. DSDT ve SSDT dosyalarınızı rehberde belirtildiği üzere .dsl haline getirin.
3. DSDT ve grafik kartınızın geçtiği SSDT dosyalarınıza(içinde GFX0 yazan bütün dosyalar) Rename GFX0 to IGPU yaması uygulayın.
4. SSDT dosyalarınızın bir veya bir kaçında PEGP vardır. Eğer şanslıysanız bir tanesinde vardır. MaciASL ile [gfx0] Disable from _INI(SSDT) yamasını uygulayabilirsiniz.

Rehber olması açısından 2. aşamaya kadar yapan ilk arkadaşın dosyalarını yamalamaya yardım edeceğim. Buraya nasıl yaptığımı da yazacağım belki diğer arkadaşlara da yardımı olur.
 
  • Like
Tepkiler: montezuma

linepower

JEDI
DENEYİMLİ ÜYE
1 Mar 2017
407
218
301
Yandex.Disk Benim dosyalarım bunlar. Amadeus isimli arkadaş problemi benden önce dile getirmiş isterseniz onun dosyalarını düzenleyin.
 
BootLoader
OC
Anakart Modeli
Asus Z370 TUF Pro Gaming
İşlemci Modeli
i5 8600K
Grafik Kartı
Intel® UHD 630
Ses Kartı Modeli
Realtek ALC887
Ağ Aygıtları
Fenvi T919 (BCM94360)
Disk ve RAM
Kingston 240 GB SSD & Gskill 8 GB Ram

tosbaha

PADAVAN
MODERATOR
DEVELOPER
11 Mar 2017
140
118
0
47
Aşağıdaki yamalar sadece ve sadece ekran kartını kapatmak içindir. Batarya ses kartı vs için uyguladığınız yamalar varsa tekrar uygulayın.

Sil
SSDT-3x.dsl
SSDT-4x.dsl
SSDT-5x.dsl

x ile biten SSDT dosyalarının yamalanmasına gerek yoktur.

1. MaciASL indirin.
2. MaciASL/Preferences/Sources kısmına eğer ekli değilse şunu ekleyin.
Name RehabMan Laptop
URL http://raw.github.com/RehabMan/Laptop-DSDT-Patch/master

Aşağıdaki dosyaları açarak yamaları uygulayın.

Önce GFX0 geçen bütün dosyaları buluyoruz. Dosyaların olduğu klasöre gidiyoruz ve terminale şunu yazıyoruz.
Kod:
grep -l GFX0 *.dsl
Sonuç şu olacaktır.

Kod:
DSDT.dsl
SSDT-0.dsl
SSDT-1.dsl
SSDT-10.dsl
SSDT-11.dsl
SSDT-12.dsl
SSDT-2.dsl
SSDT-6.dsl
SSDT-7.dsl
SSDT-8.dsl
SSDT-9.dsl
Bütün bu dosyalara yama yapılacaktır. İlk yapacağınız yama her zaman Rename _DSM methods to XDSM olsun. Cihazların ayarlarını barındıran bu methodların silinmesi veya isminin değişmesi gerekir.Bazı dosyalarda bu yamaya gerek olmayabilir.

KISIM 1. Rename GFX0 to IGPU yaması

DSDT.dsl

- Rename _DSM methods to XDSM
- OS Check Fix (Windows 8) Buradaki amaç macOS u Windows gibi tanıtmak. Çünkü bazı cihazlar mesela sadece uygun Windows versiyonu varsa açılır. Sizin cihazınızda en yüksek Windows ne ise ona uygun yamayalabilirsiniz.
- Rename GFX0 to IGPU
Ekran kartı için bütün yamalarda ilk bunun uygulanması gerekir.
- Batarya vs için diğer yamaları uygulamayı unutmayın.

SSDT-0.dsl
- Rename _DSM methods to XDSM
- Rename GFX0 to IGPU

SSDT-1.dsl
- Rename GFX0 to IGPU
Bunu yapıp compile dediğimizde şu hatayı alıyoruz.
246, 6126, syntax error, unexpected PARSEOP_PACKAGE
Bu hatayı görünce yapacağımız yama şu
- Remove _PSS placeholders

SSDT-2.dsl
- Rename GFX0 to IGPU

SSDT-6.dsl
- Rename GFX0 to IGPU

SSDT-7.dsl
- Rename GFX0 to IGPU

SSDT-8.dsl
- Rename GFX0 to IGPU
Gördüğünüz gibi bu dosyada birden fazla isim değiştirme var. Muhtemelen bu dosyada diğer ekran kartı var aklımızda tutalım.

SSDT-9.dsl
- Rename GFX0 to IGPU

SSDT-10.dsl
- Rename B0D3 to HDAU grafik kartı ve ses ile alakalı yama. layout id 12 kullanır. Eğer ses layout için başka numara kullanıyorsanız bunu değiştirebilirsiniz.
- Rename GFX0 to IGPU
Gördüğünüz gibi bu dosyada birden fazla isim değiştirme var. Muhtemelen bu dosyada diğer ekran kartı var aklımızda tutalım.

SSDT-11.dsl
- Rename GFX0 to IGPU
Gördüğünüz gibi bu dosyada birden fazla isim değiştirme var. Muhtemelen bu dosyada diğer ekran kartı var aklımızda tutalım.

SSDT-12.dsl

- Rename GFX0 to IGPU
Gördüğünüz gibi bu dosyada birden fazla isim değiştirme var. Muhtemelen bu dosyada diğer ekran kartı var aklımızda tutalım.
Bu dosyayı compile etmyeye çalışınca hata alıyoruz.
Bu hataı alınca uygulayacağınız yama
[gfx0] Cleanup/Fix Errors (SSDT)

KISIM 2. Ekran Kartının Kapatılması
Şimdi yamanın ilk ayağı olan Rename GFX0 to IGPU kısmını bitirdik. Şimdi yapacağımız external kart olan SSDT yi bulup o kartın

_INI (başlangıç) kısmında _OFF metodunu çağıracağız.

Şimdi _OFF geçen dosyaları bulalım. Yine komut satırına gidiyoruz ve şunu yazıyoruz.
Kod:
grep -l Method.*_OFF *.dsl
Sonuç şu olacaktır.
SSDT-12.dsl
Demek ki ekran kapatma kısmımız bu dosyada.

Şimdide ekran kartını başlatan dosyaları bulalım.

grep -l Method.*_INI *.dsl

DSDT.dsl
SSDT-10.dsl
SSDT-11.dsl
SSDT-12.dsl

Harici ekran kartlarının ismi genelde PEGP olur. Şimdi SSDT dosyalarına tek tek bakalım ve ekran kartının _INI kısmını bulalım.


SSDT-10.dsl
_INI arıyoruz
ekran kartı yok.

SSDT-11.dsl

Kod:
  Method (_INI, 0, NotSerialized)  // _INI: Initialize
  {
  Store (Zero, \_SB.PCI0.RP05.PEGP._ADR)
  }
Gördüğünüz gibi INI methodumuz bu fakat _OFF methodumuz başka dosyada. Böyle olduğu zaman bazı şeylere dikkat etmemiz gerekiyor. Bazen _OFF kısmında EC(Embedded Controller) ye erişim sağlanır. Biz _INI den _OFF u çağırdığımız zaman bu EC aktif olmayabilir ve bu yüzden probelmler çıkar. Bu yüzden SSDT-12.dsl dosyasındaki _OFF kısmını inceleyelim

Kod:
Method (_OFF, 0, Serialized)  // _OFF: Power Off
  {
  If (LEqual (CTXT, Zero))
  {
  \_SB.PCI0.LPCB.EC0.SPIN (0x96, Zero)
  If (LNotEqual (GPRF, One))
  {
  Store (VGAR, VGAB)
  }

  Store (One, CTXT)
  }

  SGOF ()
  }
Gördüğünüz üzere \_SB.PCI0.LPCB.EC0.SPIN (0x96, Zero) ile EC ye erişim sağlanıyor. Bunu halletmemiz gerekiyor.

Biz bunu bu dosyadan silip başka dosyaya ekleyeceğiz. O satırı siliyoruz ve şu hale getiriyoruz ve compile diyoruz
Kod:
  Method (_OFF, 0, Serialized)  // _OFF: Power Off
  {
  If (LEqual (CTXT, Zero))
  {
  If (LNotEqual (GPRF, One))
  {
  Store (VGAR, VGAB)
  }

  Store (One, CTXT)
  }

  SGOF ()
  }
SSDT-11.dsl dosyasının _INI kısmını söyle yapıyoruz.

Kod:
  Method (_INI, 0, NotSerialized)  // _INI: Initialize
  {
  Store (Zero, \_SB.PCI0.RP05.PEGP._ADR)
  External(\_SB.PCI0.RP05.PEGP._OFF, MethodObj) // ekran kartinin adresi
  _OFF()
  }
Gördüğünüz gibi _OFF metodo SSDT-12.dsl de olduğundan External.. diyerek o methodu belirtiyoruz. ve _OFF() ile kapatıyoruz. Buraya dikkat edin. SSDT-12.dsl dosyasındaki grakik kartının
adres yolu neyse onu yazmanız gerek. Farklı cihazlarda bu adres farklı olabilir. Mesela SB.PCI0.PEG0.PEGP gibi.

İşimiz hala bitmedi. Sildiğimiz \_SB.PCI0.LPCB.EC0.SPIN (0x96, Zero) satırını eklememiz gerekiyor. DSDT dosyası ile EC başlatılıyor.

Biz de bu satırı DSDT dosyasına ekleyeceğiz.

DSDT.dsl dosyasını açıyoruz.
EC0 nın reg methodu şöyle bir şekilde
Kod:
  Method (_REG, 2, NotSerialized)  // _REG: Region Availability
  {
  If (LEqual (Arg0, 0x03))
  {
  Store (Arg1, ECFL)
  }
  }
Bunu şu şekide değiştiriyoruz

Kod:
  Method (_REG, 2, NotSerialized)  // _REG: Region Availability
  {
  If (LEqual (Arg0, 0x03))
  {
  Store (Arg1, ECFL)
  }
  // EC0 kodunu ekliyoruz.
  If (LAnd(LEqual(Arg0,3),LEqual(Arg1,1)))
  {
  \_SB.PCI0.LPCB.EC0.SPIN (0x96, Zero)
  }
  }
Bu yamalar ile diğer ekran kartı kapanacaktır. Fakat bazı durumlarda bu yamalar yüzünde uykuya geçme problemi olabilir. Bu yüzden aşağıdaki yamaları da yapıyoruz. Aşağıdaki yamalar ile uykuya geçmeden önce ekran kartı açılıyor ve uyandıktan sonra tekrar kapatılıyor. Bu yamaları MaciASL nin patch yazan text kutusuna yazıp patch diyorsunuz.


DSDT.dsl

Kod:
 into method label _PTS code_regex ([\s\S]*) replace_matched
begin
External(\\_SB.PCI0.RP05.PEGP._ON, MethodObj)\n
If (CondRefOf(\\_SB.PCI0.RP05.PEGP._ON)) { \\_SB.PCI0.RP05.PEGP._ON() }\n
%1
end;

into method label _WAK code_regex (Return\s+\(.*) replace_matched
begin
External(\\_SB.PCI0.RP05.PEGP._OFF, MethodObj)\n
If (CondRefOf(\\_SB.PCI0.RP05.PEGP._OFF)) { \\_SB.PCI0.RP05.PEGP._OFF() }\n
%1
end;
Burada önemli olan nokta _SB.PCI0.RP05.PEGP kısmı her ekran kartında farklı olabilir. Bazılarında mesela SB.PCI0.PEG0.PEGP Bu rehberi okuyanlar ona dikkat etsinler.

Gördüğünüz gibi rehber uzun olduğu için herkese birebir yardım etmem olanaksız. Umarım bana anlayış göstrebilirsiniz.
 

linepower

JEDI
DENEYİMLİ ÜYE
1 Mar 2017
407
218
301
Elinize sağlık
 
BootLoader
OC
Anakart Modeli
Asus Z370 TUF Pro Gaming
İşlemci Modeli
i5 8600K
Grafik Kartı
Intel® UHD 630
Ses Kartı Modeli
Realtek ALC887
Ağ Aygıtları
Fenvi T919 (BCM94360)
Disk ve RAM
Kingston 240 GB SSD & Gskill 8 GB Ram

amadeus

APPRENTICE
17 Ocak 2017
40
2
21
32
İstanbul
@tosbaha Çok teşekkürler, elinize sağlık.

@tosbaha @montezuma
İlk sorum benim ACPI origin içerinde ki dosyalarım da DSDT.aml nin dışında SSDT olarak eğer "x" ile bitenleri de silersek eğer sadece SSDT-0, SSDT-1 ve SSDT-5.aml dosyaları kalmış oluyor bu normal mi ? Çünkü rehberde 1-12 ye kadar SSDT dosyaları olmuş oluyor genellikle. Kısaca şöyle görünüyor : origin ss.png - Google Drive

İkinci sorum ise "grep -l GFX0 *.dsl" filtremesini yaptığımda sadece DSDT dosyam için sonuç veriyor, yani geriye kalan 3 tane SSDT dosyası içinde herhangi bir sonuca erişemiyor, bu normal mi ?
 

asd.u

JEDI
16 Nis 2017
269
19
221
34
2.ekran karti icin arkadaslar devre disi birakma yamasi yapmadan once ioregistry explorer ile arama kismina nvda yazin sonuc cikmiyorsa zaten devre disi demektir. sonradan tekrar bosuna ugrasmayin zaten devre disi olan bir seyi kapatmak icin.
 

asd.u

JEDI
16 Nis 2017
269
19
221
34
Peki bir üst gönderimde yazdığım şeyler normal mi ? SSDT sayısı, sadece DSDT'de görünmesi GFX0 filtresinin.
dtds 12 tane olmasi normal bende de oyle x olanlari silin zaten onlar kullanilmiyo gfx0 filtresi dediginiz yama heralde o degisiklik gosterbilir hocam bence bazi dosyalarda gerek olur bazilarinda olmaz bence tam emin edigilim
 

amadeus

APPRENTICE
17 Ocak 2017
40
2
21
32
İstanbul
dtds 12 tane olmasi normal bende de oyle x olanlari silin zaten onlar kullanilmiyo gfx0 filtresi dediginiz yama heralde o degisiklik gosterbilir hocam bence bazi dosyalarda gerek olur bazilarinda olmaz bence tam emin edigilim
12 tane değil diye zaten söylüyorum normal mi diye bende 3 tane.
gfx0 entegre grafik kartı ile alakalı bir durum.
 

asd.u

JEDI
16 Nis 2017
269
19
221
34
12 tane değil diye zaten söylüyorum normal mi diye bende 3 tane.
gfx0 entegre grafik kartı ile alakalı bir durum.
refs.txt ile sokerken terminalde cikan sonucta gez abi eger hata yoksa bence normaldir ama hata olmus da olabilir o yuzden eksik sokmustur belki clover dayken f4 ile dsl leri soktugunde orda da 3tane varsa kesin normal bence
 
S

Silinen Üye 2131

Guest
Ben clover ekranında f4 tuşuna bastığım halde sistem açılınca klasöre herhangi bir dosya gelmiyor. fn+f4 yapıyorum yine gelmiyor. Bir yolu yok mu?
Adımlar abartıldığı kadar zor değil. Kısaca tekrar yazayım.
1. DSDT ve SSDT dosyalarınızı çıkarın. Clover ekranında F4
2. DSDT ve SSDT dosyalarınızı rehberde belirtildiği üzere .dsl haline getirin.
3. DSDT ve grafik kartınızın geçtiği SSDT dosyalarınıza(içinde GFX0 yazan bütün dosyalar) Rename GFX0 to IGPU yaması uygulayın.
4. SSDT dosyalarınızın bir veya bir kaçında PEGP vardır. Eğer şanslıysanız bir tanesinde vardır. MaciASL ile [gfx0] Disable from _INI(SSDT) yamasını uygulayabilirsiniz.

Rehber olması açısından 2. aşamaya kadar yapan ilk arkadaşın dosyalarını yamalamaya yardım edeceğim. Buraya nasıl yaptığımı da yazacağım belki diğer arkadaşlara da yardımı olur.
 

montezuma

MASTER YODA
Yönetici
19 Eki 2016
29,790
7,584
4,401
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
AD Engelleyici Tespit Edildi

Anlıyoruz, reklamlar can sıkıcı!

Elbette, reklam engelleme yazılımı reklamları engelleme konusunda harika bir iş çıkarsa da, web sitemizin faydalı özelliklerini de engeller. En iyi site deneyimi ve bize destek olmak için lütfen AdBlocker’ınızı devre dışı bırakın.

AD Reklam Engelleyiciyi Devre Dışı Bıraktım    Hayır teşekkürler