Rehber Legacy NVIDIA Ekran Kartı Yamalama

Durum
Mesaj gönderimine kapalı.

Legacy NVIDIA Yamalama​

  • Lütfen bu sayfanın daha çok bir bilgi dökümü olduğunu unutmayın, bu sayfayı daha fazla genişletmeyi planlasak da kurulum konusunda çok fazla ayrıntıya girmeyeceğiz.
Legacy(Eski) NVIDIA ekran kartları ile macOS, birçok eksik özellik nedeniyle donanım hızlandırmayı sağlamakta güçlük çekiyor. Bu soruna geçici bir çözüm bulmak için, macOS'un düzgün çalışabilmesi adına IOService'e özellikler enjekte edebiliriz.

Başlamak için aşağıdakileri göz önünde bulunduralım:
  • macOS halihazırda, bir şekilde kurulmuş vaziyette mevcut.
    • Belirli özellikleri belirlemek için macOS'un kurulu olmasına ihtiyacımız var.
  • Ekran kartınız Fermi veya daha eski
    • Kepler ve daha yenisinin DeviceProperties enjekte etmesine gerek yoktur.
  • Lilu ve WhateverGreen kextleri yüklenmiştir
    • kextstat | grep -E "Lilu|WhateverGreen" komutunu çalıştırarak doğrulayın.

Ekran Kartı Path(Yol)ini Bulma​

gfxutil (Yeni bir sekme açar)'ı indirdikten sonra aşağıda verilen komutu çalıştırın:
Kod:
path/to/gfxutil -f display
Bu, aşağıda verilmiş koda benzer bir çıktı verecektir:
Kod:
67:00.0 10DE:0A20 /PC02@0/BR2A@0/GFX0@0/ = PciRoot(0x2)/Pci(0x0,0x0)/Pci(0x0,0x0)
Bizim işimize yarayacak şey, ekran kartımızın bulunduğu ve özelliklerimizi enjekte edeceğimiz PciRoot bölümüdür:
Kod:
PciRoot(0x2)/Pci(0x0,0x0)/Pci(0x0,0x0)

DeviceProperties Oluşturma​

NVIDIA ekran kartları ile, açıkçası bu kurulum için çok fazla özellik gerekmiyor. Tavsiye ettiğimiz ana özellikler aşağıdadır:

Özellik/PropertyDeğer/ValueYorum/Comment
modelörn. GeForce GT 220Ekran kartınızın modeli, kozmetik...
device_typeNVDA,ParentHer zaman NVDA,Parent olarak ayarlayın
VRAM,totalsizeörn. 0000004000000000VRAM boyutunu ayarlar
rom-revisionDortaniaBu özellik kesinlikle olmalı, ancak değeri herhangi bir şey olabilir.
NVCAPörn. 0500000000000F00000000000000000F00000000macOS'ta kullanılan görüntü özelliklerini ayarlar, daha fazla bilgi aşağıdadır
@0,compatibleNVDA,NVMacHer zaman NVDA,NVMac olarak ayarlayın
@0,device_typedisplayHer zaman display olarak ayarlayın
@0,nameNVDA,Display-AHer zaman NVDA,Display-A olarak ayarlayın
@1,compatibleNVDA,NVMacHer zaman NVDA,NVMac olarak ayarlayın
@1,device_typedisplayHer zaman display olarak ayarlayın
@1,nameNVDA,Display-BHer zaman NVDA,Display-B olarak ayarlayın

Ve özellikleri hesaplayabilmek için bir diğer özellikler:
  • model
  • VRAM,totalsize
  • rom-revision
  • NVCAP

Model​

Teknik olarak görüntü/kozmetik amaçlı, ancak macOS bu girdiye ihtiyaç duyar ve bu bağlamda bunu sağlayacağız. Formatımız aşağıdaki gibidir:
Kod:
GeForce [Aygıtın Modeli]
# Örnek
GeForce GT 220

VRAM,totalsize​

hexadecimal olarak ekran kartınızın sahip olduğu VRAM boyutu.

Bu örnek için; 1024MB VRAM'i, hexadecimal'e çevirelim:
Kod:
# 1024MB Megabitlerı, Bitlere çevirelim
echo '1024 * 1024 * 1024' | bc
 1073741824

# decimal'den, hexadecimal'e çevirelim
echo 'obase=16; ibase=10; 1073741824' | bc
 40000000

# Düzgün bir şekilde enjekte olması için Hex değiştirelim
# örn. çiftler şeklinde değiştirelim
40000000 -> 40 00 00 00 -> 00 00 00 40

# Değeri 8 bitlere, sonuna 00 ekleyerek uzatalım
00 00 00 40 00 00 00 00

# Ve işlem tamamdır
VRAM,totalsize = 0000004000000000

rom-revision​

Tamamen başka bir value/değer olabilir, ancak özellik kesinlikle eklenmiş olmalıdır. Aksi takdirde bazı ekran kartları başlatmada hata verecektir(örn. GT 220'ler)
Kod:
rom-revision = Dortania

NVCAP​

NVCAP değerimizi hesaplamamız gerekeceği için burası eğlencenin başladığı yer. Şanslıyız ki 1Revenger1, bizim için işlemleri otomatikleştirecek bir araç yaptı: NVCAP Calculator(Yeni bir sekme açar)

Bu programı kullanmak için, basitçe VBIOS'unuzu buradan(TechPowerUp çoğu VBIOS'u barındırır (Yeni bir sekme açar)) alın ve Terminal'inizde NVCAP-Calculator'u çalıştırın.

Çalıştırdığınız zaman aşağıdaki ekranı görmelisiniz:
nvcap_baslatmak.jpg


Programa VBIOS'unuzu sürükleyin ve sonra enter'a basın. Sizi ana menüye götürdüğü zaman, NVCAP hesaplama sayfasına gitmek için 2.seçeneği seçin.
nvcap_birinci_kisim.jpg


Burada NVCAP-Calculator'un bulabildiği connector'leri(DVI/DP vb.) görebilirsiniz. Her ekran, DVI (normalde iki giriş olarak görünür) veya çoklu DCB girişleri gibi birden fazla DCB girişini gösterebilir. Buradaki amaç, her ekranı bir kaynağa atamak. Her kaynak aynı anda yalnızca bir ekrana çıkış verebilir. Örneğin, 2 DVI portu kullanıyorsanız, düzgün çift monitör desteğine sahip olmak için her birinin kendi kaynağı olması gerekir.

Bazı ekranların otomatik olarak atanabileceğini unutmayın. Bir LVDS ekranı otomatik olarak kendi kaynağına yerleştirilir ve ayrıca TV ekranları otomatik olarak TV kaynağına yerleştirilir.

Ekranları atamaya başlamak için 1'e basın. Bir ekranı, bir kaynağa atamak için; ekranın numarasını ve ardından kaynağın numarasını yazın. Örneğin 1 1 yazmak böyle bir sonuç verecektir:
nvcap-girdi-atama.jpg


Ekranı, kaynaktan kaldırmak için tekrar 1 1 yazabilirsiniz. Ekranları atamak ile işiniz bittiğinde, bunun gibi görünmeli:
nvcap-ekranlar-tamamlanmis.jpg


Ekranları ayarlamayı bitirdikten sonra q'ye basarak diğer NVCAP ayarlarına dönün. Diğer NVCAP ayarlarını aşağıdaki gibi ayarlamalısınız:
NVCAP Değeri/ValueDetaylarÖrnek Komutlar
Version7 serisi ve daha eskisi için 04, 8 serisi ve daha yenisi için 053, sonrasında 4
CompositeS-Video için 01, aksi takdirde 00geçiş yapmak için 4
Script based Power/Backlight00, sadece gerçek MacBook Pro'lar için kullanışlıdırgeçiş yapmak için 3
Field F (Unknown)300 serisi veya daha yenisi için 0F, aksi takdirde 076, sonrasında 0x0f

Tamamladığınız zaman, NVCAP değerini hesaplamak için c'ye girin:
nvcap-hesaplandi.jpg


Artık NVCAP değeriniz var!
Kod:
NVCAP:
05000000 00000300 0c000000 0000000f 00000000


NVCAP değerinin nasıl hesaplandığına dair döküm isteyenleriniz için:
Bilgi WhateverGreen'in NVCAP.bt (Yeni bir sekme açar) dosyasından elde edilmiştir.

NVCAP BitName/İsimComment/Yorum
Byte 1NVCAP Version7 serisi ve daha eskisi için 04, 8 serisi ve daha yenisi için 05
Byte 2Laptop with Lidtrue değeri için 01, aksi takdirde 00 | Lid içeren/sahip olan Laptoplar
Byte 3CompositeS-Video için 01, aksi takdirde 00
Byte 4BacklightBacklight'i olan Tesla V1 için 01, aksi takdirde ekran tipine bakmaksızın yeni ekran kartları için 00
Bytes 5+6TVDCBMask00 00, DCB'nin 5 girişi ile ilgilidir
Bytes 7+8Head0DCBMask00 00, aşağıya bakın
Bytes 9+10Head1DCBMask00 00, aşağıya bakın
Bytes 11+12Head2DCBMask00 00, Fermi ve daha eskisine uygulanamaz
Bytes 13+14Head3DCBMask00 00, Fermi ve daha eskisine uygulanamaz
Byte 15ScriptBasedPowerAndBacklight00, sadece gerçek MacBook Pro'lar için uygundur
Byte 16Unknown300 serisi ve daha yenisi için 0F, aksi takdirde 07
Byte 17EDID00
Byte 18Reserved00
Byte 19Reserved00
Byte 20Reserved00

Son Rötüşlar​

Tüm özelliklerimizi aldığımıza göre artık bunları config.plist'imize ekleyebiliriz:
Kod:
PciRoot(0x2)/Pci(0x0,0x0)/Pci(0x0,0x0)

model          | String | GeForce GT 220
device_type    | String | NVDA,Parent
VRAM,totalsize |  Data  | 0000004000000000
rom-revision   | String | Dortania
NVCAP          |  Data  | 05000000 00000300 0c000000 0000000f 00000000
@0,compatible  | String | NVDA,NVMac
@0,device_type | String | display
@0,name        | String | NVDA,Display-A
@1,compatible  | String | NVDA,NVMac
@1,device_type | String | display
@1,name        | String | NVDA,Display-B

config.plist'i açın ve DeviceProperties -> Add kısmına girin, ardından new child olarak girdi açın ve adını gfxutil ile bulduğunuz ekran kartı yolunuzu yapın. Sonra, özellikleri children girdisi olarak PciRoot'a ekleyin. Bitirdiğiniz zaman buna benzer görünmeli:
config.plist-deviceproperties.png



Kaynakça: Legacy Nvidia Patching | OpenCore Post-Install
Notlar:
  1. Legacy > Eski
  2. Head > Kaynak
  3. Display > Ekran
  4. Device > Aygıt
  5. GPU Path > Ekran Kartı Yolu
  6. Config.plist'teki DeviceProperties > Aygıt Özellikleri denilebilir fakat çevirilmemesi daha mantıklı.
  7. Properties > Özellikler
  8. Property > Özellik, Comment > Yorum, Value > Değer, Name > İsim
Gibi gibi çevirilmiştir...
 
Son düzenleme:
Durum
Mesaj gönderimine kapalı.

Yeni konular

Geri
Yukarı