macOS Kurulumda Desteklenmeyen Grafik kartını Devre Dışı Bırakmak

montezuma

MASTER YODA
Yönetici
19 Eki 2016
17,574
4,202
4,351
10329


Biliyorsunuz Mojave ile beraber artık Maxwell, Pascal ve Turing desteği yok. Bunların içinde Turing mimarisi grafik kartlarının ise ayrıca hiç bir şekilde desteği yok. Dolayısıyla kurulumda bu kartların devre dışı olması önemli. Daha açık ifadeyle; buradaki yöntemler kurulumda VESA sürücülerinin desteklenmeyen GPU ile bağlantısını keser. Bu sayede kurulumda bu kartın sorun çıkartması engellenmiş olur.
Buradaki yöntemler masaüstü sistemler içindir.

*** Buradaki rehber harici grafik kartları tamamen kapatmaz. Bu yüzden laptop kullanıcıları aşağıdaki rehberi takip ederek harici grafik kartlarını kapatabilirler.

Başlamadan önce:
Lilu.kext ve WhateverGreen.kext kurulum imajında olmalı.

BIOS Ayarları:
BIOS grafik içinde aşağıdaki ayarları yaptığınızdan emin olun.
  • iGPU Multi-Monitor: Enabled
  • Primary Display: Enabled
Not: Monitör bağlantısının anakart üzerinde bağlı olduğundan emin olun.

Seçenek 1 Boot komutu

En kolay yöntemdir. Sadece aşağıdaki boot komutunu eklemeniz yeterli.
Kod:
-wegnoegpu
Bu yöntem ile dahili GPU dışındaki bütün harici grafik kartları devre dışı bırakılır. Ancak bu komutun her zaman çalışmadığını, ve bu komut ile diğer bütün harici grafik kartlarının da devre dışı kalacağını belirtmek gerekir. (Desteklenen bir grafik kartınız varsa)

Seçenek 2: Add Properties

Bu yöntem en yaygın yöntemdir. Bu yöntemde Nvidia kartınız devre dışı bırakılırken, AMD grafik kartınız varsa bu devre dışı bırakılmaz. Bu yöntemin dezavantajı ise örnek olarak; sisteminize bağlı bir RTX 2080ti kart ve GT 710 kepler tabanlı, desteklenen bir grafik kartınız varsa bu yöntemde RTX yanında Kepler tabanlı kartınız da devre dışı bırakılır.
Bu yöntemi kullanmak için config.plist dosyanızı Clover Configrator ile açımın ve Devices-> Add Properties içine aşağıdaki düzenlemeleri ekleyin.

DevicesKeyValueDisabledValue Type
NVidianame23646973706C6179DATA
NVidiaIOName#displaySTRING
NVidiaclass-codeFFFFFFFFDATA

XML olarak eklemek isteyenler için:
Kod:
<key>AddProperties</key>
    <array>
        <dict>
            <key>Device</key>
            <string>NVidia</string>
            <key>Disabled</key>
            <false/>
            <key>Key</key>
            <string>name</string>
            <key>Value</key>
            <data>
            I2Rpc3BsYXk=
            </data>
        </dict>
        <dict>
            <key>Device</key>
            <string>NVidia</string>
            <key>Disabled</key>
            <false/>
            <key>Key</key>
            <string>IOName</string>
            <key>Value</key>
            <string>#display</string>
        </dict>
        <dict>
            <key>Device</key>
            <string>NVidia</string>
            <key>Disabled</key>
            <false/>
            <key>Key</key>
            <string>class-code</string>
            <key>Value</key>
            <data>
            /////w==
            </data>
        </dict>
    </array>
Bu yöntem ile bütün Nvidia Kartları devre dışı bırakılacaktır.

Navi ya da desteklenmeyen bir AMD grafik kartı olanlar içinde bu kartları devre dışı bırakmak için aşağıdaki düzenlemeler faydalı olabilir.

DevicesKeyValueDisabledValue Type
ATIname23646973706C6179DATA
ATIIOName#displaySTRING
ATIclass-codeFFFFFFFFDATA
ATIvendor-idFFFF0000DATA
ATIdevice-idFFFF0000DATA

XML olarak eklemek isteyenler için:
Kod:
          <key>AddProperties</key>
                    <array>
            <dict>
                <key>Device</key>
                <string>ATI</string>
                <key>Disabled</key>
                <false/>
                <key>Key</key>
                <string>name</string>
                <key>Value</key>
                <data>
                I2Rpc3BsYXkA
                </data>
            </dict>
            <dict>
                <key>Device</key>
                <string>ATI</string>
                <key>Disabled</key>
                <false/>
                <key>Key</key>
                <string>IOName</string>
                <key>Value</key>
                <string>#display</string>
            </dict>
            <dict>
                <key>Device</key>
                <string>ATI</string>
                <key>Disabled</key>
                <false/>
                <key>Key</key>
                <string>class-code</string>
                <key>Value</key>
                <data>
                /////w==
                </data>
            </dict>
            <dict>
                <key>Device</key>
                <string>ATI</string>
                <key>Disabled</key>
                <false/>
                <key>Key</key>
                <string>vendor-id</string>
                <key>Value</key>
                <data>
                //8AAA==
                </data>
            </dict>
            <dict>
                <key>Device</key>
                <string>ATI</string>
                <key>Disabled</key>
                <false/>
                <key>Key</key>
                <string>device-id</string>
                <key>Value</key>
                <data>
                //8AAA==
                </data>
            </dict>
                    </array>

Seçenek 3: SSDT

Bu yöntem en sağlıklı yöntemdir. Buradaki yöntemle oluşturacağınız spoof SSDT ile nativr çalışan Kepler GPU'nuz etkilenmeden kapatmak istediğiniz grafik kartını PCI adresin girmek süretiyle kapatabilirsiniz.
  1. Aşağıda linkini paylaştığım rehberi takip edip DSDT & SSDT dosyalarını çıkartın ve yine rehberide anlatıldığı gibi macIASL uygulamasını indirin.
    DSDT / SSDT Düzenleme Rehberi
  2. Yine aynı rehberde anlatıldığı üzere .aml uzantılı dosyalarını .asl formatına çevirin.
  3. Şimdi SSDT dosyaları içinde GPU devredışı bırakmak için düzenleme yapmamız gereken alan olan _OFF metotunun hangi SSDT dosyaları içinde geçtiğini bulacağız. Bunun için Terminal açın ve aşağıdaki komutları kullanın.

  4. Kod:
    cd "SSDT/DSDT dosyalarınızı barındıran klasörün dosya yolu"
    grep -l Method.*_OFF *.dsl
    not: cd yazdıktan sonra boşluk bırakıp SSDT dosyalarının olduğu klasörü sürükleyip bırakmanız yeterli.
  5. Yukarıdaki komutları girdikten sonra terminal bize _OFF metotu içeren SSDT dosyalarını listeleyecek.
    Örnek:
    Kod:
    SSDT-2-PegSsdt.dsl
    SSDT-3-Ther_Rvp.dsl
  6. Ayrıca _OFF metotu ile beraber _INI dosyalarının da nerde olduğunu kontrol edelim. Zira _INI metotları bizim istediğimiz _OFF metodunu içerdikleri için bize kolaylık sağlayacaktır.
  7. Kod:
    cd "SSDT/DSDT dosyalarınızı barındıran klasörün dosya yolu"
    grep -l Method.*_INI *.dsl
    not: cd yazdıktan sonra boşluk bırakıp SSDT dosyalarının olduğu klasörü sürükleyip bırakmanız yeterli.
  8. Bu komutla Terminal bize _INI barındıran SSDT dosyasını döndürecektir.
    Örnek:
    Kod:
    SSDT-2-PegSsdt.dsl
  9. Şimdi her iki dosyayı açıp GPU'dan sorumlu dosyayı ve alakalı aygıt yolunun adresini bulmak gerekiyor. Bu örnekte GPU SSDT-2'de bulundu. Ancak bu demek değil ki her sistem de aynı dosya içinde olacak. Bu yüzden _OFF metodunun bir PowerShell makrosu içinde mi yoksa kendi başına mı olduğunu kontrol etmeniz gerekiyor.
    Bizim rehberimizde GPU'muzun aygıt yolu aşağıdaki gibi:
    Kod:
    \_SB.PCI0.PEG0.PEGP
  10. Eğer aygıt yolunu bulmakta sorun yaşarsanız Windows üzerinde Aygıt yönetimi içinde bunu öğrenebilirsiniz. Bunun içinde Properties / details altında Nvidia aygıtına girin ve "BIOS name" bulup buradan aygıt yolunu not edin.
  11. Bunu da tespit ettikten sonra şimdi yapmamız gereken Spoof SSDT oluşturmak.
  12. Bunun için macIASL açın ve Menü bar / File/ New ile yeni bir ACPI tablo penceresi açın.
  13. Aşağıdaki tabloyu kopyalayıp yapıştırın. Ardından "Metot(_...._DSM, 4) yazan yere sizin kapatmak istediğiniz GPU'nun aygıt yolunu girin.
    Bizim örnekte bu: _SB.PCI0.PEG0.PEGP

    Kod:
    DefinitionBlock ("", "SSDT", 2, "hack", "spoof", 0){
    Method(_SB.PCI0.PEG0.PEGP._DSM, 4)
    {
    If (!Arg2) { Return (Buffer() { 0x03 } ) }
    Return (Package()
    {
    "name", Buffer() { "#display" },
    "IOName", "#display",
    "class-code", Buffer() { 0xFF, 0xFF, 0xFF, 0xFF },
    "vendor-id", Buffer() { 0xFF, 0xFF, 0, 0 },
    "device-id", Buffer() { 0xFF, 0xFF, 0, 0 },
    })
    }
    }
  14. Bu işlemden sonra dosyayı ACPI Machine Language Binary isim olarak ta SSDT-DiscreteSpoof.aml olarak adlandırın ve bunu EFI/Clover/ACPI/patched/ içine koyun.
  15. Son olarak ta Config / ACPI / Sorted order içine SSDT-DiscreteSpoof.aml ismini girin ve kaydedin.
 
Son düzenleme:

Benzer konular

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