📕
Basic Guide
HomeIstall GuideAdvance GuideGPU BuyerWIFI BuyeriOS
  • Install
  • Universal
    • Boot không cần USB
    • SIP và Gatekeeper
    • Patch âm thanh với AppleALC
    • Fix power management
    • Fix iServices
    • Fix sleep
      • GPRW/UPRW/LANC
      • Fix keyboard wake
      • Fix darkwake
      • Hotpatch PTS Wake TTS
    • Update macOS và Bootloader
  • Cosmetics
    • Fixing Resolution and Verbose
    • Tạo GUI
    • Scan policy
  • GPU
    • Patch IGPU
    • Disable dGPU Laptop
    • Disable dGPU Desktop
    • Fix DRM support
  • Gerneral
    • Fix Backlight
    • Control Brightness cho External Display
    • Enable Trim For SSD
    • Fake iGPU/ CPU Name
    • Patch SATA Controller
    • Control Led RGB
    • Time Machine
    • Emulated NVRAM
    • Cách inject toàn bộ thông tin phần cứng
  • USB FIX
    • Map USB
  • NetWork
    • Fix Ethernet
    • Fix WiFi và Bluetooth
  • Multiboot
    • Resize và Create Partition EFI
    • Cách thêm Boot vào BIOS
    • Hướng dẫn Dual Boot
  • Cách fake UUID windows
  • Advanced Guide
Powered by GitBook
On this page
  • Optimus Method
  • Bumblebee Method
  1. GPU

Disable dGPU Laptop

PreviousPatch IGPUNextDisable dGPU Desktop

Last updated 1 year ago

Đối với các laptop có DGPU không support thì chúng ta cần phải disable chúng đi để tránh những hậu quả như panic, chóp màn, wake,… Một cách rất đơn giản để làm điều dó chính là thêm boot-arg -wegnoegpu. nhưng nó cũng có 1 vấn đề đó chính là DGPU vẫn sẽ nhận được điệ năng tức là nó vẫn đang âm thầm làm cho máy tinh chúng ta mau hết pin. Để khắc phục điều đó chúng ta có 2 phương pháp

Optimus Method

Các làm này thực sự rất đơn giản. Những gì chúng ta cần làm là call tới method .off để disable dGPU

B1: tải

B2: Boot vào windows hoặc winpe truy cập device manager theo đường dẫn

Device Manager -> Display Adapters -> dGPU -> Properties -> Details > BIOS device name

chúng ta sẽ có thể thấy dược ACPI-path của DGPU. một số ACPI path phổ biến là

  • Nvidia dGPU: \_SB.PCI0.PEG0.PEGP

  • AMD dGPU: \_SB.PCI0.PEGP.DGFX

B3: chỉnh sửa SSDT các bạn sẽ cần đổi ACPI path của SSDT thành ACPI path vừa xác định ở trên. Cụ thể những phần cần chỉnh sửa là

External(_SB.PCI0.PEG0.PEGP._OFF, MethodObj)

If (CondRefOf(\_SB.PCI0.PEG0.PEGP._OFF)) { \_SB.PCI0.PEG0.PEGP._OFF() }

B5: Bỏ SSDT vào EFI --> OC --> ACPI

hoặc EFI --> Clover --> ACPI --> patched

Snapshot nếu là opencore

Bumblebee Method

Tuy nhiên trong 1 số trường hợp DGPU không thể bị disbale bởi cách call qua method .off đó là lý do cách Bumblebee method này ra đời. Cụ thể các này sẽ đưa dgpu tiến vào trạng thái D3. Một trạng thái mà DGPU sẽ tiêu tốn ít năng lượng nhất

B2: Boot vào windows hoặc winpe truy cập device manager theo đường dẫn

Device Manager -> Display Adapters -> dGPU -> Properties -> Details > BIOS device name

chúng ta sẽ có thể thấy dược ACPI-path của DGPU. một số ACPI path phổ biến là

  • Nvidia dGPU: \_SB.PCI0.PEG0.PEGP

  • AMD dGPU: \_SB.PCI0.PEGP.DGFX

B3: Ta cần tiến hành đổi ACPI path trong SSDT thành ACPI path vừa xác định được. Cụ thể những phần cần đổi là

External (_SB_.PCI0.PEG0.PEGP._DSM, MethodObj)    // dGPU ACPI Path
External (_SB_.PCI0.PEG0.PEGP._PS3, MethodObj)    // dGPU ACPI Path

If ((CondRefOf (\_SB.PCI0.PEG0.PEGP._DSM) && CondRefOf (\_SB.PCI0.PEG0.PEGP._PS3)))

// Card Off Request
 \_SB.PCI0.PEG0.PEGP._DSM (ToUUID ("a486d8f8-0bda-471b-a72b-6042a6b5bee0"), 0x0100, 0x1A, Buffer (0x04)

 // Card Off
\_SB.PCI0.PEG0.PEGP._PS3 ()

B5: Bỏ SSDT vào EFI --> OC --> ACPI

hoặc EFI --> Clover --> ACPI --> patched

Snapshot nếu là opencore

B4: biên dịch SSDT thành file aml theo hướng dẫn

B1: Tải

B4: biên dịch SSDT thành file aml theo hướng dẫn

Source tham khảo:

SSDT-NoHybGfx.dsl
Disabling laptop dGPUs (SSDT-dGPU-Off/NoHybGfx) | Getting Started With ACPI (dortania.github.io)
SSDT-dGPU-Off.dsl
tại đây
tại đây