OpenCore ile AMD GPU Fake ID

KaoS

MASTER YODA
MODERATOR
DENEYİMLİ ÜYE
1 Eki 2017
13,631
3,822
4,401
AMD_Radeon_graphics_logo_2014.png



Ekran kartı belki de Hackintosh sisteminin en önemli parçasıdır ve bu konuda büyük sorunlar yaşanmakta. High Sierra öncesinde insanları Nvidia ekran kartı almaya yönelten Apple Nvidia'nın ürün politikası, yazılımını paylaşmaması ve ekran kartlarında çıkan sorunlar nedeniyle bir çıkmaza girdi ve radikal bir karar aldı. Bu doğrultuda Apple artık tüm ürünlerinde hem daha iyi hem daha ucuz hemde daha performanslı olan AMD GPU'ları kullanmaya başladı.

Her ne kadar birçok AMD GPU macOS sistemlerinde otomatik tanınsa da bazı ürünler desteklendiği halde tanıtılamayabiliyorlar. Bu kartları kullanabilmek için Fake ID dediğimiz sahte aygıt kimliği kullanamamız gerekebiliyor. İşin bu kısmında her ne kadar Clover bootloader çok basit bir çözüm sunsada sunduğu çözüm grafik kartlarında performan kaybına sebep olabiliyor. OpenCore ise bize biraz daha zor gözükebilen ama grafik performansımızı tam olarak kullanabileceğimiz kalıcı bir çözüm sunmakta.

macOS tarafından desteklenen kartları incelemek için @Seyfullah N arkadaşımızın hazırlamış olduğu rehberi inceleyebilirsiniz.


Bizim konumuz ise bu ürünlerden sadece Fake IO kullanılması gereken ürünlerin OpenCore ile nasıl tanıtılacağı. İsterseniz öncelikle bu kartların hangi kartlar olduğuna bir bakalım.

  • R9 290/390
  • R9 280/380
  • R7 270/370
  • R9 260/360
  • R7 250
  • R7 240
Görmüş olduğunuz gibi yukarıda belirtiğimiz kartlar her ne kadar macOS üzerinde çalışsa da bu kartların çalışabilmesi için Fake ID kullanılması gerekmekte. @montezuma bu konuyu daha önce aşağıdaki rehberde dile getirmiş ve birçok kartın Clover ile çalışabilmesi için Fake ID kullanımını göstermişti.


Burada ise bu kartların OpenCore bootloader ile nasıl tanıtılacağını göreceğiz, bunun için bize lazım olanlar aşağıdaki gibidir.

  • Ekran kartımızın aygıt kimliği
  • Ekran kartımızın ACPI yolu
  • SSDT-GPU-OSXINFO
Bölüm 1 : Ekran Kartımız için Uygun Aygıt Kimliği Bulma

Bunun için genellikle PCI ID Repository adresini kullanabiliriz. macOS üzerinde Hackintool uygulamasında PCIe sekmesine gelip burada görebilirsiniz.

Konu biraz daha anlaşılabilir olsun istiyorum bu yüzden bir örnek verelim. Kullandığımız kart R9 390 modeli olsun ve bu aygıta en yakın native tanınan kart R9 390X modeli şimdi biz bu R9 390X modelinin bilgilerine bakalım 0x67B01002 olarak görünmekte yani bu cihazın Vendor ID (üretici Kimliği) 1002 ve Device ID (Aygıt Kimliği) 67B0 bizim burada kullanacağımız değer sadece Device ID olacaktır.

Device ID : 67B0

SSDT dosyası içerisinde kullanılacak hali
Kod:
"device-id",
Buffer (0x04)
{
     0xB0, 0x67, 0x00, 0x00
},
Bölüm 2 : Ekran Kartımızın ACPI Yolunu Bulma

Bu bölüm sizlere biraz karışık gelebilir ama dikkatli takip ederseniz gayet basit olduğunu göreceksiniz.

Bu bölümde windows lazım olacak. Bunun için portatable bir windows bile kullansanız olabilir.

Aygıt yöneticisini açıyoruz.
Görüntü Bağdaştırıcıları sekmesini genişletiyoruz ve Grafik Kartımıza sağ tuşla tıklayıp Özellikleri seçiyoruz.
Ayrıntılar sekmesini açıyoruz ve burada Özellik içerisinden "Komum Yolları" seçeceğini seçiyoruz.
Bazı sistemlerde "Konum Yolları" yerine "Bios Aygıt İsmi" diye bir değer olabilir.

Eğer cihazınızda "Bios Aygıt İsmi" görünmekte ise şöyle bir değeri olacaktır.

Örnek
\_SB_.PC02.BR2A.PEGP

Eğer cihazınızda "Komum Yolları" var ise iki farklı değer karşınıza çıkacaktır bunlardan ilk sırada olan PCIRoot ile başlayanla işimiz yok işimiz ikinci değer ile.

Örnek
ACPI(_SB_)#ACPI(PC02)#ACPI(BR2A)#ACPI(PEGP)#PCI(0000)#PCI(0000)

Şimdi bu değeri bizim kullanacağımız değere dönüştürelim. Bunun için ACPI ve #PCI(0000) değerlerini siliyoruz.
(_SB_)#(PC02)#(BR2A)#(PEGP)

Şimdi değerimizi biraz daha sadeleştiriyoruz.
"(" ve ")" ifadelerini siliyoruz.
"#" ifadesini ise "." ile değiştiriyoruz.
_SB_.PC02.BR2A.PEGP

Görmüş olduğunuz gibi "Bios Aygıt İsmi" ile görünen değer ile sadeleştirmiş olduğumu "Konum Yolları" içerisindeki değer birebir aynı.

Şimdi geldi SSDT içerisinde kullanmaya

SSDT dosyamızı açtığımızda açtığınızda aşağıdaki kodu bulalım.
Kod:
External (_SB_.PCI0, DeviceObj)
External (_SB_.PCI0.PEG0.PEGP, DeviceObj)
Burada yapacağımız örneğimize göre şu şekilde olacak.
  • PCI0 değeri PC02
  • PEG0 değeri BR2A
Sonuç olarak SSDT dosyamızda kod aşağıdaki şekilde değişecek.

Kod:
External (_SB_.PC02, DeviceObj)
External (_SB_.PC02.BR2A.PEGP, DeviceObj)
Ayrıca SSDT içerisinde aşağıdaki iki ayrı kodu da aynı şekilde değiştirmemiz gerekiyor.

Orijinal Kod
Kod:
    Scope (\_SB_.PCI0.PEG0.PEGP)
Örneğimize Göre Değiştirilecek Kod
Kod:
    Scope (\_SB_.PC02.BR2A.PEGP)
Orijinal Kod
Kod:
    Scope (\_SB.PCI0)
Örneğimize Göre Değiştirilecek Kod
Kod:
    Scope (\_SB.PC02)
Bu işlemlere ek olarak cihaz adımızı ayarlayabiliriz.

Kod:
   "model",
                    Buffer ()
                    {
                        "Cihazınızın Adını Buraya Girin"
                    }
Bu işlemlerden sonra SSDT dosyamızı Compile edip aml olarak kaydedebiliriz.
 

Ekli dosyalar

Son düzenleme:

nesetsozen

APPRENTICE
30 Ocak 2021
2
1
21
KaoS master yoda ya selam R7 240 denen ekran kartından bendede var herkes gibi bende yardımınıza ihtiyacım var zaman ayırıpda ilgilenirsen duacın olurum.
yaptıgım hazırlıkları sana anlatayım kartın konum yolu parametrelerini ve device id sini bir txt e yazdım .Clover Boot Menu f4 ile ACPI dosyalarını Çıkardım ve iasl dosyasınıda BIG SUR da usr bin e kopyalamaya çalışırken terminal izin vermiyor.güvenlik ayarlarından terminale izin versemde yinede izin vermiyor yanibir türlü ACPI Dosyalarını sökemedim.burda tıkanıp kaldım.Ayrıca bu sayfada senın verdigin SSDT dosyasını MACİASL de açtım ve konum yolu parametresini bu dosyaya işleyip compile yapayım dedim ama compile yapmıyor en başta yazan satırda hata gösteriyor.benim yapmam gerekenleri açıklarmısın yada yardım edermisin.
Ayrıca bu kartın BIOS Rom dosyası var elimde OPEN CORE da bunuda deneyebilirmiyim.
allah kolaylık versin.
 

Ekli dosyalar

Son düzenleme:
  • Like
Tepkiler: shiden

mehmetyuksel

MASTER YODA
MODERATOR
DENEYİMLİ ÜYE
22 Ocak 2020
7,431
2,677
4,401
KaoS master yoda ya selam R7 240 denen ekran kartından bendede var herkes gibi bende yardımınıza ihtiyacım var zaman ayırıpda ilgilenirsen duacın olurum.
yaptıgım hazırlıkları sana anlatayım kartın konum yolu parametrelerini ve device id sini bir txt e yazdım .Clover Boot Menu f4 ile ACPI dosyalarını Çıkardım ve iasl dosyasınıda BIG SUR da usr bin e kopyalamaya çalışırken terminal izin vermiyor.güvenlik ayarlarından terminale izin versemde yinede izin vermiyor yanibir türlü ACPI Dosyalarını sökemedim.burda tıkanıp kaldım.Ayrıca bu sayfada senın verdigin SSDT dosyasını MACİASL de açtım ve konum yolu parametresini bu dosyaya işleyip compile yapayım dedim ama compile yapmıyor en başta yazan satırda hata gösteriyor.benim yapmam gerekenleri açıklarmısın yada yardım edermisin.
Ayrıca bu kartın BIOS Rom dosyası var elimde OPEN CORE da bunuda deneyebilirmiyim.
allah kolaylık versin.
ACPI dosyalarını sökmek için Hackintool kullanın ciğerini bile söküyor :)
 

nesetsozen

APPRENTICE
30 Ocak 2021
2
1
21
acpı den hackıngtool ıle sökülen dosya dsl olarak ekleyemedim buraya ama maciasl ile açtığımda yukarıda bahsedilen kodlara benzerlerini saece bu dosyada buldum ama grafik kartı ilişkisi görünmüyor gibi yüzlerce satır yazı var onların hepsini eldenmi geçiriceğim _sb_ ile başlayanlar veya scope yazan yerleri.bir incelermisiniz verdiğiniz cevaplar için teşekkürler
 

Ekli dosyalar

montezuma

MASTER YODA
Yönetici
19 Eki 2016
28,211
7,016
4,401
Rehberi doğru takip etmiyorsun. İlk mesajda verilen SSDT dosyasında düzenleme yapacaksın. Kartının DeV & VEN ID'sini ve aygıt yolunu Win üzerinden öğrenip gerekli düzenlemeleri bu SSDT içine gireceksin.
 

sinanyolci

APPRENTICE
5 Mar 2019
73
21
21
hocam selamlar bunları ati hd 5700 için yapmak istiyorum ama yapamıyorum yardımcı olabilir misiniz?
 

insomniac

APPRENTICE
8 Eki 2020
21
5
21
Merhabalar,

Yukarıdaki rehberden faydalanarak R9 270 gpu için fake yapmaya çalıştım. Bütün adımları eksiksiz ve doğru şekilde yapmama rağmen son adımda compile edecekken " INVAILD OEM ID (invalid oem id (length cannot exceed 6 characters) " hatasını alıyorum.

Üstteki mesajlarda da aynı soru sorulmuş ancak cevabını göremediğim için sormak istedim.

Teşekkürler...
Ekleme:
Sorun çözüldü:
 

sinanyolci

APPRENTICE
5 Mar 2019
73
21
21
merhaba hocam bütün rehberi doğru yaptım fakat cihaz kimliğimde dev id 68C0 bunu dosya üzerinde nereye gireceğim bunu anlayamadım yardımcı olabilir misiniz?
 

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