📘
Advanced Guide
HomeInstall GuideBasic GuideGPU BuyerWIFI BuyeriOS
  • Install
  • Basic Guide
  • Qidian-vp
  • General
    • EFI Opencore No ACPI
    • OpenCore Debug
    • Convert Bootloader
    • Cách mod bios
    • Fake CPU ID
    • Fix RTC write issues
    • HotPlug Thunderbolt 3
    • Inject USB Manual
    • Sử kext S/L/E trên bigsur
    • Disable unsupport PCIe
  • Audio
    • Patch audio với VoodooHDA
    • Patch Apple HDA
  • ACPI advance
    • Chi tiết về ACPI
    • Tìm hiểu về ASL
    • Patch DSDT Phần 1
    • Patch DSDT Phần 2
    • Patch DSDT Phần 3
    • Patch DSDT phần 4
    • Use method _STA
    • Disable Unsupported Nvme
    • Map usb via SSDT
    • Fix Shut down
  • Laptop Specifics
    • Fix trackpad
    • Patch pin
    • Disable CFG-Clock
    • Fix Hotkeys
  • Connector
    • Fix Connector
    • Fix HDMI Audio
    • Patch GMA GPU
    • Patch Card đồ họa NVIDIA
    • Patch Card đồ họa AMD
    • Fixes for slow AMD GPU
    • Patch Connect Type/ Force RGB/ Inject EDID
Powered by GitBook
On this page
  • Convert Bootloader
  • Cấu trúc EFI
  • Config
  • Boot
  • Boot Graphics
  • Devices
  • Disable Drivers
  • GUI (Menu boot)
  • Graphics
  • Kernel and Kext Patches
  • Rt Variables
  • SMBIOS
  • System Parameters
  1. General

Convert Bootloader

Convert Bootloader

Lý do có guide này: guide này hình thành là do 1 số bạn muốn chuyển bootloader Clover và OpenCore nhưng gặp số tình trạng như ko biết tính năng này ở đâu trong bootloader mới do đó mọi thứ bạn cần đề ở đây do hiện nay mọi người có xu hướng dùng opencore nhiều hơn nên ở đây mình sẽ viết theo lối convert từ Clover sang OpenCore nhưng người dùng Clover hoàn toàn có thể làm theo.

Cấu trúc EFI

  • Config

Cả hai OpenCore và Clover đều có

  • Drivers

Opencore: EFI --> OC --> Drivers

Clover: EFI –> Drivers –> UEFI

ngoài ra còn mục BIOS và OFF nhưng nó nằm ngoài phạm vi bài này

  • Tool

Cấu trúc tương đương nhau

  • Kext

    • Opencore: EFI --> OC —> Kexts

    • Clover: EFI --> Kexts --> Other

  • ACPI

Cấu trúc đường dẫn tương đương nhau

Config

ACPI

ACPI Rename:

    • XHCI to XHC

    • XHX1 to XHC

  • STA rename (OpenCore đã có)

    • SAT0 to SATA

    • SAT1 to SATA

  • IMEI rename (dùng WhateverGreen)

    • HECI to IMEI

    • HEC1 to IMEI

    • MEI to IMEI

    • IDER to MEID

  • Graphics patches (dùng WhateverGreen)

    • GFX0 to IGPU

    • PEG0 to GFX0

    • PEGP to GFX0

    • SL01 to PEGP

    • EC0 to EC

    • H_EC to EC

    • ECDV to EC

    • PGEC to EC

    • HDAS to HDEF

    • CAVS to HDEF

    • AZAL to HDEF

    • ALZA to HDEF

    • B0D3 to HDAU

    • STAS to [Blank]

    • Fix Z390 BIOS DSDT Device(RTC) bug

    • Fix 300-series RTC Bug

    • PXSX to ANS1

    • PXSX to ANS2

    • PXSX to ARPT

  • Các patch ACPI khác:

    • PC00 to PCIO

    • FPU to MATH

    • TMR to TIMR

    • PIC to IPIC

    • GBE1 to ETH0

Patches:

  • TgtBridge patches:

    • ACPI -> Patch -> ... -> Base

  • DisableASPM:

    • DeviceProperties -> Add -> PciRoot... -> pci-aspm-default | Data | <00>

  • HaltEnabler:

    • ACPI -> Quirks -> FadtEnableReset -> YES

Fixes:

  • FixIPIC:

  • FixSBUS:

  • FixShutdown:

  • FixDisplay:

  • FixHDA:

  • FixHPET:

  • FixSATA:

    • Kernel -> Quirks -> ExternalDiskIcons -> YES

  • FixRTC:

  • FixTMR:

  • AddPNLF:

  • AddMCHC:

  • AddIMEI:

    • Cũng có thế dùng whatevergreen

  • FakeLPC:

    • DeviceProperties -> Add -> PciRoot... -> device-id

    • fake device id để dử dụng bộ điều khiển LPC trong Apple LPC.

  • FixIntelGfx:

  • AddHDMI:

DropTables:

  • ACPI -> Delete

SSDT:

  • PluginType:

Boot

Boot Argument:

  • NVRAM -> Add -> 7C436110-AB2A-4BBB-A880-FE41995C9F82 -> boot-args

NeverHibernate:

  • Misc -> Boot -> HibernateMode -> None

Default Boot Volume:

  • Misc -> Security -> AllowSetDefault -> True

    • Ấn Ctrl+Enter ở màn hình gui opencore để chọn boot mặc định.

  • Hoặc bạn có thể dùng như RealMac ở trong Setting.

Boot Graphics

DefaultBackgroundColor:

  • NVRAM -> Add -> 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14 -> DefaultBackgroundColor

    • 00000000: Syrah Black

    • BFBFBF00: Light Gray

    • Bạn có thể tùy chọn màu bằng các convert mã màu RGB của bạn sang hex bằng hackintool hoặc bất kì trình chuyển đổi hex nào mà bạn muốn.

EFILoginHiDPI:

  • OpenCore sử dụng UI scaling UEFI -> Output

flagstate:

  • NVRAM -> Add -> 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14 -> flagstate | Data | <>

    • 0 -> <00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000>

UIScale:

  • NVRAM -> Add -> 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14 -> UIScale | Data | <>

    • 1 -> <01>

    • 2 -> <02>

Devices

USB:

  • FixOwnership: UEFI -> Quirk -> ReleaseUsbOwnership

  • ClockID: DeviceProperties -> Add -> PciRoot... -> AAPL,clock-id

  • HighCurrent: DeviceProperties -> Add -> PciRoot... -> AAPL, HighCurrent

    • Từ for OS X 10.11 and mới hơn.

    • Đối với phiên bản mới hơn được xác định ở IOUSBHostFamily.kext -> AppleUSBHostPlatformProperties hoặc được add vào SSDT-EC-USBX cho Skylake SMBios mới hơn (gen 6 +)

Audio:

// mở terminal
path/to/gfxutil -f HDEF
  • Inject: DeviceProperties -> Add -> PciRoot... -> layout-id

  • AFGLowPowerState: DeviceProperties -> Add -> PciRoot... -> AFGLowPowerState -> <01000000>

  • ResetHDA: UEFI -> Audio -> ResetTrafficClass

    • hoặc bạn có thể add vào boot-arg alctsel=1 cho apple alc

Add Properties:

  • Bạn cần xác định đường dẫn của PciRoot

Properties:

  • DeviceProperties -> Add

  • USB

    • device-id

    • device_type

    • device_type

  • IMEI

    • device-id

    • vendor-id

  • WIFI

    • name

    • compatible

  • LAN

    • device-id

    • compatible

    • vendor-id

  • XHCI

    • device-id

    • device_type: UHCI

    • device_type: OHCI

  • device_type: EHCI

    • device-id

    • AAPL,current-available

    • AAPL,current-extra

    • AAPL,current-available

    • AAPL,current-extra

    • AAPL,current-in-sleep

    • built-in

  • device_type: XHCI

    • device-id

    • AAPL,current-available

    • AAPL,current-extra

    • AAPL,current-available

    • AAPL,current-in-sleep

    • built-in

ForceHPET:

  • UEFI -> Quirks -> ActivateHpetSupport

Disable Drivers

Bạn có thể ko thêm vào UEFI -> Drivers, hoặc thêm dấu # vào trước driver trong config để OpenCore bỏ qua nó.

GUI (Menu boot)

Graphics

InjectIntel:

InjectAti:

  • DeviceProperties -> Add -> PciRoot... -> device-id

    • ví dụ: <B0670000> cho R9 390X

  • DeviceProperties -> Add -> PciRoot... -> @0,connector-type

LVDS                    <02 00 00 00>
DVI (Dual Link)         <04 00 00 00>
DVI (Single Link)       <00 02 00 00>
VGA                     <10 00 00 00>
S-Video                 <80 00 00 00>
DP                      <00 04 00 00>
HDMI                    <00 08 00 00>
DUMMY                   <01 00 00 00>

InjectNvidia:

FakeIntel:

  • DeviceProperties -> Add -> PciRoot(0x0)/Pci(0x2,0x0) -> device-id

    • ví dụ. 66010003 cho the HD 4000

  • DeviceProperties -> Add -> PciRoot(0x0)/Pci(0x2,0x0) -> vendor-id -> <86800000>

FakeAti:

  • DeviceProperties -> Add -> PciRoot... -> device-id

    • ie: <B0670000> for the R9 390X

  • DeviceProperties -> Add -> PciRoot... -> ATY,DeviceID

    • ie: <B067> for the R9 390X

  • DeviceProperties -> Add -> PciRoot... -> @0,compatible

    • ie. ATY,Elodea for HD 6970M

  • DeviceProperties -> Add -> PciRoot... -> vendor-id-> <02100000>

  • DeviceProperties -> Add -> PciRoot... -> ATY,VendorID -> <0210>

Custom EDID

Dual Link:

  • DeviceProperties -> Add -> PciRoot... -> AAPL00,DualLink

    • 1 -> <01000000>

    • 0 -> <00000000>

NVCAP

display-cfg:

  • DeviceProperties -> Add -> PciRoot... -> @0,display-cfg

LoadVBios:

Tạo 1 cấu trúc ssdt tương tự như sau

External (SB.PCI0.GFX0, DeviceObj)
External (SB.PCI0.PEG0, DeviceObj)
External (SB.PCI0.PEG0.PEGP, DeviceObj)
External ( DTGP , MethodObj)

Scope (\_SB.PCI0)
{
    Scope (PEG0)
    {
        Scope (PEGP)
        {
            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                Store (Package ()
                {
                    Buffer (0x00010000)
                    {
                        // Put your VBIOS here (you could extract it with Linux or Windows)
                    }

                }, Local0)
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }
        }
     }
  }
}   

NvidiaGeneric:

  • DeviceProperties -> Add -> PciRoot... -> model | string | Add the GPU name

NvidiaSingle:

NvidiaNoEFI:

  • DeviceProperties -> Add -> PciRoot... -> NVDA,noEFI | Boolean | True

ig-platform-id:

  • DeviceProperties -> Add -> PciRoot(0x0)/Pci(0x2,0x0) -> APPL,ig-platform-id

BootDisplay:

  • DeviceProperties -> Add -> PciRoot... -> @0,AAPL,boot-display

RadeonDeInit:

  • Tính năng này hầu như ko cần nếu bạn có sử dụng WhateverGreen

Kernel and Kext Patches

KernelPm:

  • Kernel -> Quirks -> AppleXcpmCfgLock -> YES

AppleIntelCPUPM:

  • Kernel -> Quirks -> AppleCpuPmCfgLock -> YES

DellSMBIOSPatch:

sử dụng cho các hệ thống dell cũ sử dụng APTIO V

  • Kernel -> Quirks -> CustomSMBIOSGuid -> YES

  • PlatformInfo -> UpdateSMBIOSMode -> Custom

KextsToPatch:

  • Kernel -> Patch

  • 1 số quy tắc đổi

comment : sử dụng cho cả opencore và clover

Disabled : tương ứng với mục enable ben opencore

MatchBuild : được thay thế bằng minkernel và maxkernel 

MatchOS : được thay thế bằng minkernel và maxkernel

Find : có ở opencore và clover

Replace : có cả ở opencore và clover

MaskFind : opencore sử dụng mask để thay thế

Mask replace : có cả ở opencore và clover

count ,limit, skip thường được đặt thành 0

Identifier thường được đặt thành kernel ( trông 1 số trường hợp khi bạn patch kext nào thì sẽ để đường dẫn theo kext đó vd như com.apple.iokit.IOGraphicsFamily )

KernelToPatch:

  • Kernel -> Patch

ForceKextsToLoad:

  • Kernel -> Force

Kernel LAPIC:

  • Kernel -> Quirks -> LapicKernelPanic -> YES

KernelXCPM:

  • Kernel -> Quirks -> AppleXcpmExtraMsrs -> YES

Base: _xcpm_bootstrap
Comment: _xcpm_bootstrap (Ivy Bridge) 10.15
Count: 1
Enabled: YES
Find: 8D43C43C22
Identifier: kernel
Limit: 0
Mask: FFFF00FFFF
MinKernel: 19.
MaxKernel: 19.99.99
Replace: 8D43C63C22
ReplaceMask: 0000FF0000
Skip: 0

cho low-end haswell+ pentium Celerons

USB Port Limit Patches:

  • Kernel -> Quirks -> XhciPortLimit -> YES

External Icons Patch:

  • Kernel -> Quirks -> ExternalDiskIcons -> YES

  • được sử dụng để cho ổ đĩa trong ở macos đc xem như ổ đĩa ngoài

AppleRTC

1 số lỗi về rtc

  • config.plist -> Kernel -> Quirks -> DisableRtcChecksum -> true

Bạn có thể ađ vào boot-arg để qua khỏi lỗi sau đó patch lại.

rtcfx_exclude=00-FF

FakeCPUID:

  • Kernel -> Emulate:

Cpuid1mask:  

//remove 0x và tách thành từng cặp

0x0306A9 ==> 03 06 A9

// đảo ngược thứ tự các cặp

03 06 A9 ==> A9 06 03

//thêm các số 0 vào sau dãy sô vừa đổi sao cho đủ 4 cặp mỗi cặp gồm 8 chữ số

A9 06 03 ==> A9060300 00000000 00000000 00000000

Cpuid1Data:

FFFFFFFF 00000000 00000000 00000000

Rt Variables

ROM:

MLB:

  • PlatformInfo -> Generic -> MLB

BooterConfig:

  • NVRAM -> Add -> 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14-> UIScale:

    • 0x28: Data | <01>

    • 0x2A: Data | <02>

CsrActiveConfig:

  • NVRAM -> Add -> 7C436110-AB2A-4BBB-A880-FE41995C9F82 -> csr-active-config:

    • 0x0: 00000000

    • 0x3: 03000000

    • 0x67: 67000000

    • 0x3E7: E7030000

SMBIOS

Product Name:

  • PlatformInfo -> Generic -> SystemProductName

Serial Number:

  • PlatformInfo -> Generic -> SystemSerialNumber

Board Serial Number:

  • PlatformInfo -> Generic -> MLB

SmUUID:

  • PlatformInfo -> Generic -> SystemUUID

Memory:

  • PlatformInfo -> CustomMemory -> True

  • PlatformInfo -> Memory

Slots AAPL Injection:

  • DeviceProperties -> Add -> PciRoot... -> APPL,slot-name | string | Add slot

System Parameters

CustomUUID:

  • Tính năng này dường như ko cần thiết

InjectSystemID:

  • gần như vô dụng

BacklightLevel:

  • set tính năng này trong nvram

  • NVRAM -> Add -> 7C436110-AB2A-4BBB-A880-FE41995C9F82 -> backlight-level | Data | <Insert value>

    • 0x0101 -> <0101>

InjectKexts:

  • thật sự ko cần thiết

NoCaches:

  • được sử dụng cho macos 10.7 và opencore yêu cầu macos phải từ 10.7+ nên ko có bản tương đương

ExposeSysVariables:

  • chỉ cần thêm nó và dưới platformInfo

NvidiaWeb:

  • Điều này có nghĩa là bạn đang áp dụng dòng vào terminal sudo nvram nvda_drv=1 mỗi lần khởi động có thể áp dụng nó vào opencore theo đường dẫn sau:

  • NVRAM -> Add -> 7C436110-AB2A-4BBB-A880-FE41995C9F82 -> nvda_drv: <31>

PreviousOpenCore DebugNextCách mod bios

Last updated 10 months ago

XHCI patch (bạn có thể để thay thế)

EC patches (bạn có thể dùng )

Audio rename (dùng )

Fix RTC (sử dụng SSDT-AWAC hoặc )

Fix NVMe (dùng để thay thế)

AirPort/WiFi patches bcrm (dùng )

LPC0 to LPCB (dùng )

là phương pháp thay thế.

là phương pháp thay thế.

Patch framebuffer xem chi tiết .

sử dụng.

.

dùng SSDTTime patch hpet để thay thế.

dùng SSDTTime để patch HPET.

dùng SSDT-PNLF

dùng SSDT này để thay thế.

1 số Sandy Bridge hoặc Ivy Bridge cần sử dụng .

Bạn có thể sử dụng

Bạn có thể sử dụng

P States: (nếu Sandy Bridge và Ivy Bridge)

C States: (nếu Sandy Bridge và Ivy Bridge)

Bạn sẽ cần biết âm thanh đc đièu khiên qua device, sử dụng để tìm ra chúng:

FakeID: bạn sẽ cần tìm đường dẫn tới PciRoot và cho nó vào DeviceProperties -> Add, tìm đường dẫn PciRoot bằng .

Cả 2 đều có GUI, xem chi tiết

bạn có thể cần patch connector theo bản sau chi

xem chi tiết

xem chi tiết

xem chi tiết

tham khảo tại

xem chi tiết tại đây

Nếu là Desktop thì xem link

tham khảo tại đây:

patch xcpm theo bảng dưới xem chi tiết

Xem chi tiết .

xem chi tiết

Xem chi tiết

Source tham khảo:

patch RTC
NVMeFix
airport bcrm fixup
SSDT-SBUS-MCHC
SSDTTime
SSDT-SBUS-MCHC
FixShutdown-USB-SSDT
_PTS to ZPTS Patch
tại đây
SSDTTime
SSDTTime
SSDT-PNLF
SSDT-SBUS-MCHC
SSDT-SBUS-MCHC
SSDT-IMEI
WhateverGreen
WhateverGreen
ssdtPRGen.sh
ssdtPRGen.sh
gfxutil
gfxutil
GMA Patching
ở đây
Patch nvcap
tại đây
tại đây
tại đây
Nvidia injection
GT 640 scramble
tại đây
tại đây
Converting common properties from Clover to OpenCore | OpenCore Install Guide (dortania.github.io)
SSDT-EC
SSDT-PLUG
map usb
AppleALC
AppleALC
Fix HPET
tại đây
disable dgpu
tại đây
tại đây
tại đây