Durum
Mesaj gönderimine kapalı.

Bilgilendirme​

Hackintosh ile ilgilenen kullanıcıların sık sık denk geldiği SPOOF işleminin, direkt olarak desteği olmayıp, destek kazandırabilecek ekran kartları için nasıl yapılacağını sizler için Dortania'yı baz alarak çevirdim.

Ekran kartlarını yeniden adlandırma (SSDT-GPU-SPOOF)​

İsimlendirmeleri sebebiyle kutudan çıktığı gibi macOS'ta desteğe sahip olmayan ekran kartları için gerekir. Bu kartlar genellikle:
  • R9 290/390
  • R9 280/380
  • R7 270/370
  • R9 260/360
  • R7 250
  • R7 240
Bunun yerine bu kartlar, kendisine en yakın isimlendirmeye sahip kart olarak spooflanması gerekir. Bu model genellikle aynı modelin "X" varyantı olur. Belirsiz bir sebepten Apple, bu kartların ekran kartı çekirdeği destekleniyor olsa bile kartların PCI ID'lerini eklemeyi tenezzül etmedi.

Ekran kartını spooflamak için birkaç şeye ihtiyacımız var:
  • Ekran kartı için uygun PCI ID
  • Ekran kartının ACPI Path'i
  • SSDT-GPU-SPOOF

Ekran kartı için uygun PCI ID'yi bulma​

İnternet​

Uygun bir PCI ID'yi bulmak için AMD ekran kartlarının tüm veritabanına sahip bu siteyi kullanacağız: PCI ID Repository. Desteklenen ekran kartlarının tam bir listesine ulaşmak için: Hackintosh uyumlu ekran kartları. Bu örneğimizde R9 390 ekran kartı için SPOOF SSDT'sini oluşturacağız. Bu ekran kartına en yakın model R9 390X olacaktır, buna göre Repository sitesine baktığımız zaman:
Kod:
Vendor 1002 -> Device 1002:67b0
Kullanacağımız device ID'ye ulaşmak için bunu çözümleyelim:
  • 1002: vendor ID, tüm AMD aygıtları bu ID'ye sahiptir
  • 67B0: device ID, bizim işimize yarayacak olan kısım
Peki bunu nasıl fake ID'ye çevireceğiz? Fake ID'nin formatı bu şekildedir:
Kod:
"device-id",
Buffer (0x04)
{
     0xB0, 0x67, 0x00, 0x00
},
Görebileceğiniz üzere byte değerleri çift/eş şekilde swaplanmış. Kendi SSDT dosyamızı oluştururken bunu aklımızda bulunduralım. Meraklısına bu konu hakkında ayrıntı için Endianness.

Linux​

Eğer Linux kullanıyorsanız bu komutu kullanın: lspci -vmmnnD -d 1002::0300
Kod:
$ lspci -vmmnnD -d 1002::0300
Slot: 0000:01:00.0
Class: VGA compatible controller [0300]
Vendor: Advanced Micro Devices, Inc. [AMD/ATI] [1002]
Device: Oland [Radeon HD 8570 / R7 240/340 / Radeon 520 OEM] [6611]
SVendor: Micro-Star International Co., Ltd. [MSI] [1462]
SDevice: Device [3740]
Rev: 87
Bunları basit bir şekilde elde edebilirsiniz:
  • Slot ID 0000:01:00.0, buna sonra ihtiyacımız olacak
  • Vendor ID 1002, biraz yukarıda belirttiğim üzere tüm AMD aygıtları bu ID'ye sahiptir
  • Device ID 6611, işimize yarayacak olan kısım
  • Device name Radeon HD 8570 / R7 240/340 / Radeon 520 OEM, genellikle kozmetik/görüntü

Ekran kartının ACPI Path'ini bulma​

Windows​

Eğer Windows kullanıyorsanız ekran kartınızın ACPI Path'ini bulmak oldukça basit:
  • Aygıt Yöneticisi'ni açın,
  • Ekteki görüntü rehber baz alındığı için İngilizce fakat Görüntü bağdaştırıcılarını seçin. Ardından ekran kartınıza sağ tıklayıp Özellikler deyin,
  • Ayrıntılar kısmına gelin ve BIOS aygıt adı seçeneğini bulun.
spoof1.webp


spoof2.webp


Bizim odaklanmamız gereken yer ikinci ACPI:
Kod:
ACPI(_SB_)#ACPI(PC02)#ACPI(BR2A)#ACPI(PEGP)#PCI(0000)#PCI(0000)
Şimdi bunu bir ACPI Path'ine çevirmek çok basit. #ACPI ve #PCI(0000)'ı kaldırın:
Kod:
\_SB_.PC02.BR2A.PEGP

Linux​

Yukarıda sonra ihtiyaç duyacağız diye belirttiğim SLOTID'yi, bu koddaki SLOTID ile değiştirin: cat /sys/bus/pci/devices/SLOTID/firmware_node/path, cat üzerinden ACPI Path'i elde etmiş olacağız:
Kod:
$ cat /sys/bus/pci/devices/0000:01:00.0/firmware_node/path
\_SB_.PC02.BR2A.PEGP

SSDT'yi oluşturma​

Oluşturmaya başlamak için eğer halihazırda makalenin başındaki linkten indirmediyseniz buradan indirin SSDT-GPU-SPOOF ve açın. İşte değiştireceğimiz birkaç şey:
Kod:
External (_SB_.PCI0, DeviceObj)
External (_SB_.PCI0.PEG0.PEGP, DeviceObj)
Bu makaledeki örnek için aşağıdaki değerlerin değişikliklerini yapıyoruz:
  • tüm PCI0 değerleri -> PC02 olarak
  • tüm PEG0 değerleri -> BR2A olarak
Not: Eğer ACPI Path'iniz örnektekinden daha kısa ise bu durum oldukça normal. Sadece ACPI Path değerlerinin, aygıtınız ile doğru olduğundan emin olun.

ACPI Path kısmını değiştirip düzelttiğimize göre sıradaki adımda device ID'ye geçiyoruz. Bu iki bölümü düzenleyip değiştireceğiz:
device ID:
Kod:
"device-id",
Buffer (0x04)
{
    0xB0, 0x67, 0x00, 0x00
},
Model:
Kod:
"model",
Buffer ()
{
    "AMD Radeon R9 390"
}
"device-id" değeri, uygun PCI ID bulma kısmında bulduğumuz PCI ID değeri olarak ayarlanacak ve "model" kısmı genellikle kozmetik/görüntü amaçlı. Bu aşamayı bitirdikten sonra SSDT'yi compile yapıp kullanabilirsiniz.

Kaynakça​

 

Bilgilendirme​

Hackintosh ile ilgilenen kullanıcıların sık sık denk geldiği SPOOF işleminin, direkt olarak desteği olmayıp, destek kazandırabilecek ekran kartları için nasıl yapılacağını sizler için Dortania'yı baz alarak çevirdim.

Ekran kartlarını yeniden adlandırma (SSDT-GPU-SPOOF)​

İsimlendirmeleri sebebiyle kutudan çıktığı gibi macOS'ta desteğe sahip olmayan ekran kartları için gerekir. Bu kartlar genellikle:
  • R9 290/390
  • R9 280/380
  • R7 270/370
  • R9 260/360
  • R7 250
  • R7 240
Bunun yerine bu kartlar, kendisine en yakın isimlendirmeye sahip kart olarak spooflanması gerekir. Bu model genellikle aynı modelin "X" varyantı olur. Belirsiz bir sebepten Apple, bu kartların ekran kartı çekirdeği destekleniyor olsa bile kartların PCI ID'lerini eklemeyi tenezzül etmedi.

Ekran kartını spooflamak için birkaç şeye ihtiyacımız var:
  • Ekran kartı için uygun PCI ID
  • Ekran kartının ACPI Path'i
  • SSDT-GPU-SPOOF

Ekran kartı için uygun PCI ID'yi bulma​

İnternet​

Uygun bir PCI ID'yi bulmak için AMD ekran kartlarının tüm veritabanına sahip bu siteyi kullanacağız: PCI ID Repository. Desteklenen ekran kartlarının tam bir listesine ulaşmak için: Hackintosh uyumlu ekran kartları. Bu örneğimizde R9 390 ekran kartı için SPOOF SSDT'sini oluşturacağız. Bu ekran kartına en yakın model R9 390X olacaktır, buna göre Repository sitesine baktığımız zaman:
Kod:
Vendor 1002 -> Device 1002:67b0
Kullanacağımız device ID'ye ulaşmak için bunu çözümleyelim:
  • 1002: vendor ID, tüm AMD aygıtları bu ID'ye sahiptir
  • 67B0: device ID, bizim işimize yarayacak olan kısım
Peki bunu nasıl fake ID'ye çevireceğiz? Fake ID'nin formatı bu şekildedir:
Kod:
"device-id",
Buffer (0x04)
{
     0xB0, 0x67, 0x00, 0x00
},
Görebileceğiniz üzere byte değerleri çift/eş şekilde swaplanmış. Kendi SSDT dosyamızı oluştururken bunu aklımızda bulunduralım. Meraklısına bu konu hakkında ayrıntı için Endianness.

Linux​

Eğer Linux kullanıyorsanız bu komutu kullanın: lspci -vmmnnD -d 1002::0300
Kod:
$ lspci -vmmnnD -d 1002::0300
Slot: 0000:01:00.0
Class: VGA compatible controller [0300]
Vendor: Advanced Micro Devices, Inc. [AMD/ATI] [1002]
Device: Oland [Radeon HD 8570 / R7 240/340 / Radeon 520 OEM] [6611]
SVendor: Micro-Star International Co., Ltd. [MSI] [1462]
SDevice: Device [3740]
Rev: 87
Bunları basit bir şekilde elde edebilirsiniz:
  • Slot ID 0000:01:00.0, buna sonra ihtiyacımız olacak
  • Vendor ID 1002, biraz yukarıda belirttiğim üzere tüm AMD aygıtları bu ID'ye sahiptir
  • Device ID 6611, işimize yarayacak olan kısım
  • Device name Radeon HD 8570 / R7 240/340 / Radeon 520 OEM, genellikle kozmetik/görüntü

Ekran kartının ACPI Path'ini bulma​

Windows​

Eğer Windows kullanıyorsanız ekran kartınızın ACPI Path'ini bulmak oldukça basit:
  • Aygıt Yöneticisi'ni açın,
  • Ekteki görüntü rehber baz alındığı için İngilizce fakat Görüntü bağdaştırıcılarını seçin. Ardından ekran kartınıza sağ tıklayıp Özellikler deyin,
  • Ayrıntılar kısmına gelin ve BIOS aygıt adı seçeneğini bulun.
Eki Görüntüle 176887

Eki Görüntüle 176888

Bizim odaklanmamız gereken yer ikinci ACPI:
Kod:
ACPI(_SB_)#ACPI(PC02)#ACPI(BR2A)#ACPI(PEGP)#PCI(0000)#PCI(0000)
Şimdi bunu bir ACPI Path'ine çevirmek çok basit. #ACPI ve #PCI(0000)'ı kaldırın:
Kod:
\_SB_.PC02.BR2A.PEGP

Linux​

Yukarıda sonra ihtiyaç duyacağız diye belirttiğim SLOTID'yi, bu koddaki SLOTID ile değiştirin: cat /sys/bus/pci/devices/SLOTID/firmware_node/path, cat üzerinden ACPI Path'i elde etmiş olacağız:
Kod:
$ cat /sys/bus/pci/devices/0000:01:00.0/firmware_node/path
\_SB_.PC02.BR2A.PEGP

SSDT'yi oluşturma​

Oluşturmaya başlamak için eğer halihazırda makalenin başındaki linkten indirmediyseniz buradan indirin SSDT-GPU-SPOOF ve açın. İşte değiştireceğimiz birkaç şey:
Kod:
External (_SB_.PCI0, DeviceObj)
External (_SB_.PCI0.PEG0.PEGP, DeviceObj)
Bu makaledeki örnek için aşağıdaki değerlerin değişikliklerini yapıyoruz:
  • tüm PCI0 değerleri -> PC02 olarak
  • tüm PEG0 değerleri -> BR2A olarak
Not: Eğer ACPI Path'iniz örnektekinden daha kısa ise bu durum oldukça normal. Sadece ACPI Path değerlerinin, aygıtınız ile doğru olduğundan emin olun.

ACPI Path kısmını değiştirip düzelttiğimize göre sıradaki adımda device ID'ye geçiyoruz. Bu iki bölümü düzenleyip değiştireceğiz:
device ID:
Kod:
"device-id",
Buffer (0x04)
{
    0xB0, 0x67, 0x00, 0x00
},
Model:
Kod:
"model",
Buffer ()
{
    "AMD Radeon R9 390"
}
"device-id" değeri, uygun PCI ID bulma kısmında bulduğumuz PCI ID değeri olarak ayarlanacak ve "model" kısmı genellikle kozmetik/görüntü amaçlı. Bu aşamayı bitirdikten sonra SSDT'yi compile yapıp kullanabilirsiniz.

Kaynakça​

Ekran Kartını Yeniden Adlandırma (SSDT-GPU-SPOOF) Adımları​


# 1. Gerekli Malzemeler:​




# 2. Uygun PCI ID'yi Bulma​


İnternet Kullanarak:
  • PCI ID Repository adresine gidin.
  • İlgili ekran kartının en yakın modelinin PCI ID'sini not alın. Örneğin, R9 390 için:
- Vendor ID: 1002
- Device ID: 67B0

Linux Kullanarak:
- Aşağıdaki komutu çalıştırın:
Kod:
bash
  lspci -vmmnnD -d 1002::0300
- İlgili bilgileri alın. (Slot ID, Vendor ID, Device ID)



# 3. ACPI Path'ini Bulma​


Windows:
  • Aygıt Yöneticisi'ni açın.
  • Görüntü bağdaştırıcısına sağ tıklayın ve Özellikler'i seçin.
  • Ayrıntılar kısmında BIOS aygıt adı seçeneğini bulun.

Linux:
- Slot ID'yi kullanarak aşağıdaki komutu çalıştırın:
Kod:
bash
  cat /sys/bus/pci/devices/SLOTID/firmware_node/path



# 4. SSDT'yi Oluşturma​

  • SSDT-GPU-SPOOF dosyasını indirin ve açın.
  • Aşağıdaki değerleri güncelleyin:
- PCI0 Değerleri: Tüm PCI0 değerlerini PC02 ile değiştirin.
- PEG0 Değerleri: Tüm PEG0 değerlerini BR2A ile değiştirin.

Device ID:
- device-id bölümünde, uygun PCI ID'yi ayarlayın.

Model:
- Model bölümünü, ekran kartının adını içerecek şekilde düzenleyin. (Örnek: "AMD Radeon R9 390")



# 5. SSDT'yi Compile Yapma​

- Düzenlemeleri tamamladıktan sonra SSDT dosyasını compile edin ve kullanıma hazır hale getirin.



Kaynakça​

- Dortania SSDT-GPU-SPOOF
 
Durum
Mesaj gönderimine kapalı.