MacBook Pro: วิธีการปิดการใช้งาน GPU แยกจาก EFI อย่างถาวร?


49

ฉันต้องการปิดการใช้งาน NVidia GTX 750M GPU บน MacBook Pro 15 "ของฉัน (Retina, กลางปี ​​2014, Mac OS X 10.10 Yosemite) ฉันรู้ว่าฉันสามารถใช้ GfxCardStatus ได้ แต่ฉันอ่านฉันสามารถแก้ปัญหาอย่างถาวรได้โดยเปลี่ยน EFI ธง.

คำถามของฉันคือ:

  • ฉันจะปิดการใช้งาน GPU แยกจาก EFI ได้อย่างไร

    ฉันคิดว่านี่คงอยู่ตลอดการบู๊ตหลายครั้ง ฉันต้องการทราบวิธีการยกเลิกหากจำเป็น

ปรับปรุง:

คำถามนั้นโดยทั่วไปแล้วว่าคำสั่งที่กล่าวถึงในGfxCardStatus github ปัญหาความคิดเห็นที่นี่ถูกต้องหรือไม่และวิธีการยกเลิกถ้ามันไม่ทำงาน

.

คำตอบสำหรับสิ่งนี้เพียงอย่างเดียวคือคำตอบที่ถูกต้อง แต่มันจะยอดเยี่ยมถ้าคุณสามารถบอกฉันได้:

  • หากคุณบังคับกราฟิกแบบรวมใน GfxCardStatus, Mac OS X (สูงถึงโยเซมิตีอย่างน้อย) ไม่อนุญาตให้คุณใช้จอภาพหลายจอ (แม้ว่า Iris Pro ในตัวสามารถทำได้)

    หากฉันปิดการใช้งาน GPU แยกจาก EFI, macOS จะคิดว่า GPU ในตัวเป็นอุปกรณ์ที่ติดตั้งไว้หรือไม่และจะให้ฉันใช้จอภาพหลายจอพร้อมกันหรือไม่

  • ฉันได้ยินมาว่าการตั้งค่า EFI เดียวกันนั้นไม่รับผิดชอบแม้แต่จะแสดง GPU ในตัวให้กับระบบปฏิบัติการอื่น ๆ นอกเหนือจาก macOS และคุณต้องหลอกให้คิดว่ามันเป็น macOS

    มันเป็นเรื่องจริงเหรอ? และถ้าใช่วิธีการทำเช่นนั้น?


4
ลักษณะเช่นนี้เป็นคลาสสิกปัญหา XY คุณพยายามทำอะไรให้สำเร็จ
Tetsujin

6
ประหยัดแบตเตอรี่อย่างถาวรและลดความร้อนโดยไม่ต้องเสียค่าใช้จ่ายด้านเสียงรบกวน ฉันได้ NVidia อันหนึ่งเพราะฉันต้องการอัพเกรดซีพียูและ SSD ชั้นยอดและนี่เป็นรุ่นที่สร้างไว้ล่วงหน้า ถ้าฉันสามารถรองานสร้างที่กำหนดเองได้ฉันจะได้ GPU ในตัวมาด้วย
Meligy

3
คำตอบสำหรับคำถามนี้จะเป็นประโยชน์กับเจ้าของโมเดลปี 2011 ของ MBP ที่มี GPU แยกโดยสิ้นเชิง แน่นอนว่ามันเป็นไปได้ที่จะปิดการใช้งาน GPU แยกต่างหากเมื่อใช้ Linux, ดูคำถามของฉันที่นี่: apple.stackexchange.com/questions/168167/ …
xpereta

คำตอบ:


52

คุณสามารถปิดการใช้งานกราฟิกการ์ดแยกแบบถาวรโดยทำตามขั้นตอนต่อไปนี้:

UPDATE! ลองแก้ไขตัวแปร NVRAM จากโหมดผู้ใช้คนเดียว

ขั้นตอนที่อธิบายในขั้นตอนที่ 1-3 ใช้งานได้กับฉันจนกระทั่ง macOS Sierra แต่ด้วยการอัพเกรดเป็น High Sierra ฉันเริ่มได้รับหน้าจอสีชมพู / แดงและฉันไม่สามารถเข้าสู่โหมดการกู้คืนเพื่อทำซ้ำขั้นตอนที่ 3 ได้ การอัพเกรดก่อนหน้า ค้นหาในอินเทอร์เน็ตฉันเข้าสู่ปัญหา GitHub นี้เพื่ออธิบายว่าคุณสามารถแทนที่ขั้นตอนที่ 1 และ 2 ด้วยคำสั่งต่อไปนี้เพื่อให้คุณสามารถดำเนินการในโหมดผู้ใช้คนเดียว (boot กดcmd+ s):

sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00

1. เตรียม pendrive USB ที่บูตได้ด้วย GUI ที่ไม่ใช่ Linux

1.1 ดาวน์โหลด ArchLinux ISO

  • คุณต้องมีคอมพิวเตอร์ที่ใช้งานได้และไดรฟ์ CD / DVD / USB สำรอง
  • ดาวน์โหลดอิมเมจ Arch Linux ISOล่าสุด
  • จากนั้นคุณสามารถอย่างใดอย่างหนึ่งเพียงแค่เผา ISO นี้เพื่อซีดี / ดีวีดี (ซึ่งต่อมาอาจจะแทรกทั้ง SuperDrive MBP หรือภายนอกไดรฟ์ดีวีดีเชื่อมต่อกับ MBP สองสาย USB) หรือสร้างUSB บูต

1.2 การสร้าง USB ที่บูตได้ด้วย. iso

  • ก่อนอื่นคุณต้องระบุอุปกรณ์ USB
  • เปิด / Applications / Utilities / Terminal ใน MacOS และแสดงรายการอุปกรณ์เก็บข้อมูลทั้งหมด:

    diskutil list

    อุปกรณ์ USB /dev/disk2 (external, physical)ของคุณจะปรากฏเป็นสิ่งที่ชอบ /dev/diskXตรวจสอบว่าเป็นอุปกรณ์ที่คุณต้องการที่จะลบโดยการตรวจสอบชื่อและขนาดของมันแล้วใช้ตัวระบุสำหรับคำสั่งดังต่อไปนี้แทน

  • โดยปกติอุปกรณ์ USB นั้นจะติดตั้งอัตโนมัติใน macOS และคุณต้องยกเลิกการต่อเชื่อม (ไม่นำออก) ก่อนที่จะเขียนบล็อกด้วย dd:

    diskutil unmountDisk /dev/diskX

  • ตอนนี้คัดลอกไฟล์อิมเมจ ISO ไปยังอุปกรณ์ คำสั่ง dd คล้ายกับลินุกซ์ของมัน แต่สังเกต 'r' ก่อน 'disk' สำหรับโหมด raw ซึ่งทำให้การถ่ายโอนเร็วขึ้นมาก:

    sudo dd if=path/to/arch.iso of=/dev/rdiskX bs=1m

    หลังจากเสร็จสิ้น macOS อาจบ่นว่า "คอมพิวเตอร์ที่คุณใส่ไม่สามารถอ่านได้โดยคอมพิวเตอร์เครื่องนี้" เลือก 'Eject' อุปกรณ์ USB จะสามารถบู๊ตได้

2. ใช้ Linux เพื่อเปลี่ยน EFI vars

2.1 Boot ไปเลย

  • ใส่แผ่น CD / DVD / USB นี้ไปยัง Macbook Pro กดปุ่มตัวเลือก (alt) ค้างไว้ขณะทำการบู๊ต
  • เลือก "บูต EFI" (นั่นคือสื่อการติดตั้งที่สามารถบูตได้ของคุณ)
  • เมื่อเมนูปรากฏขึ้นให้กดปุ่ม "e" เพื่อแก้ไขตัวเลือก GRUB ของรายการเมนู Arch Linux archiso x86_64 UEFI CD ในขณะที่ถูกเลือกที่หน้าจอหลักเพิ่มnomodesetไปยังจุดสิ้นสุดของบรรทัดนี้แล้วกด Enter
  • หากทุกอย่างทำอย่างถูกต้องคุณจะพบว่าตัวเองอยู่ที่คอนโซล Linux! (ใช้เวลาสักครู่จึงอดทนรอให้พรอมต์)

2.2 ลบล้าง EFI vars ที่มีอยู่

ดูเหมือนว่าระบบไฟล์ efivarfs จะติดตั้งตามค่าเริ่มต้น! เพื่อให้คุณสามารถอยู่แล้วcd /sys/firmware/efi/efivarsและlsในการสำรวจไดเรกทอรีนี้และดูว่ามีgpu-power-prefs-...ตัวแปร (ที่ ... เป็น UUID ของตัวแปรนี้)

  • หากมีตัวแปรดังกล่าวควรลบด้วย rm

    rm gpu-power-prefs-…

  • หากคุณได้รับข้อความ "ไม่อนุญาตการดำเนินการ" ในขณะที่พยายามแสดงrmว่า efivarf ได้รับการติดตั้งเป็นแบบอ่านอย่างเดียวและคุณจำเป็นต้องติดตั้งใหม่ด้วยสิทธิ์การอ่าน - เขียนและลองอีกครั้ง:

    cd /
    umount /sys/firmware/efi/efivars/
    mount -t efivarfs rw /sys/firmware/efi/efivars/
    cd /sys/firmware/efi/efivars/
    rm gpu-power-prefs-…

  • หากสิ่งนี้ล้มเหลว (คุณยังไม่สามารถลบไฟล์ได้) ให้ใช้chattrคำสั่งเพื่อปิดการใช้งานไฟล์ที่ไม่สามารถเปลี่ยนแปลงได้แล้วจึงลบไฟล์:

    chattr -i "gpu-power-prefs-…”
    rm gpu-power-prefs-…

2.3 สร้างไฟล์ gpu-power-prefs- …ใหม่

printf "\x07\x00\x00\x00\x01\x00\x00\x00" > /sys/firmware/efi/efivars/gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9

2.4 เพิ่มการเปลี่ยนแปลงในไฟล์ gpu-power-prefs- …

นี้chattrคำสั่งควรจะล็อคไฟล์เพื่อให้สามารถเข้าถึงได้โดยเฉพาะ "superuser" - และอื่น ๆ ในขณะที่บูต EFI ของคุณจะไม่มีโอกาสที่จะกรูขึ้น GPU-พลังงานการตั้งค่าของคุณ -... ตัวแปรภายใต้สถานการณ์ใด

chattr +i "/sys/firmware/efi/efivars/gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9"

2.5 ถอนติดตั้ง efivars และรีบูต

เปลี่ยนเป็นไดเร็กทอรี root เป็น unmount efivars:

cd /
umount /sys/firmware/efi/efivars/

รับประกันว่าตัวแปร EFI ของคุณจะถูกลบทิ้งไปยังระบบไฟล์ efivarfs โปรดเลิกเมานท์อย่างปลอดภัยก่อนที่จะรีบูตเครื่อง

reboot

3 ลบ AMD / NVIDIA kexts

หมายเหตุ : คุณอาจต้องทำสิ่งนี้ทุกครั้งที่คุณอัปเดตระบบปฏิบัติการเนื่องจากปกติจะสร้าง kexts เหล่านี้ใหม่ คุณอาจต้องการคำตอบนี้สำหรับการอ้างอิงเพื่อให้สามารถเข้าถึงได้จากอุปกรณ์อื่นเมื่อคุณต้องการ

หลังจากปิดการใช้งาน dGPU โดยใช้ Arch การบู๊ตปกติจะหยุดกลางคัน แต่การบูตปลอดภัยจะทำงาน

3.1 ย้ายไฟล์ AMD / NVIDIA kext ไปยังไดเรกทอรีสำรอง

ลบไฟล์ kext ของ AMD ทั้งหมด (หรือ NVIDIA ขึ้นอยู่กับการ์ดของคุณ) ใน Terminal ใน Recovery Console การพยายามลบออกในผู้ใช้คนเดียวจะทำให้เกิดข้อผิดพลาด sandbox ดังนั้นอย่าทำในโหมดผู้ใช้คนเดียว! (อันที่คุณบู๊ตด้วยcmd+ s)

  • หากคุณมี FileVault ให้ปลดล็อคก่อน
  • บูตเข้าสู่ Recovery ( cmd+ r) โดยตรง หากล้มเหลวให้ทำซ้ำขั้นตอนที่ 2 แล้วลองอีกครั้ง (dGPU สามารถกลับมาใช้งานได้อีกครั้งหลังจากบูตเข้าสู่ระบบปฏิบัติการด้วย AMD / NVIDIA kexts)
  • Start Terminal (คำสั่งนี้ใช้สำหรับ AMD หากคุณมี NVIDIA ให้เปลี่ยนตามนั้น)

    diskutil cs list(ค้นหา Logical Volume UUID: รายการสุดท้าย)
    diskutil coreStorage unlockVolume UUID(UUID: จากคำสั่งก่อนหน้า)
    cd /Volumes/Macintosh\ HD
    mkdir AMD_Kexts
    mv System/Library/Extensions/AMD*.* AMD_Kexts/
    reboot

ฉันพบขั้นตอนในลิงค์นี้ซึ่งคุณสามารถอ่านการระบุแหล่งที่มาของส่วนต่างๆและหัวข้อการสนทนาในหัวข้อ

ฉันลองด้วยตัวเองในช่วงต้นปี 2011 MacBook Pro กับการ์ดจอแยกที่ผิดพลาดซึ่งไม่สามารถบู๊ตได้แม้จะมีเคล็ดลับความร้อนสูงเกินไปและจบลงด้วยคอมพิวเตอร์ที่ทำงานได้อย่างสมบูรณ์!


1
ใช่คุณถูกต้อง mac นี้มีการ์ด NVIDIA และไม่ใช่ AMD (ฉันเพิ่งทำตามขั้นตอนโดยไม่ทราบ) อย่างไรก็ตามฉันยังไม่สามารถใช้งานได้ แต่มีวิธีแก้ไขปัญหาอื่นสำหรับแล็ปท็อปเฉพาะนี้ที่ใช้งานได้ !! MBPMid2010_GPUFix ขอบคุณสำหรับความช่วยเหลือของคุณ.
Taco

2
ข้อมูลสำคัญบางอย่างถ้าคุณมี NVidia มากกว่าการ์ด AMD คำแนะนำนั้นถูกต้อง แต่ต้องลบ kexts ต่อไปนี้: CUDA.kext GeForce.kext GeForce7xxxGLDriver.bundle การทดสอบก่อนหน้า GeForceGA.plugin GeForceGLDriver.bundle GeForceVADriver.bundle NVDANV40Hal.kext ทำงาน 10.12.6
sporker

2
ฉันพยายาม 3 ครั้ง (ตรวจสอบให้แน่ใจว่าทำซ้ำขั้นตอนที่ 2) เพื่อเข้าสู่โหมดการกู้คืนโดยไม่ต้องแช่แข็ง แต่ในที่สุดก็ใช้งานได้กับ Macbook Retina Pro กลางปี ​​2012 (ด้วยการ์ด Nvidia) ขอบคุณมาก!
huyz

3
เห็นได้ชัดว่าปัญหานี้เกิดจากตัวเก็บประจุที่อยู่ติดกับ GPU แยกต่างหากไม่ใช่ dGPU เองyoutube.com/watch?v=DzcgT_fiVTA
cbartondock

2
สำหรับทุกคนที่มี 2013 mac pro retina พร้อม Nvidia dGPU ฉันพบว่าถ้าฉันย้ายไฟล์ NVD *. * ในระบบ / ไลบรารี / ส่วนขยาย dGPU จะไม่ถูกปิดใช้งานและถ้าฉันย้ายทั้งไฟล์เหล่านั้นและ ไฟล์ GeF *. * ตามที่แนะนำโดย @sporker ดังนั้นเครื่องจะทำงานได้ แต่) ไม่สามารถเปลี่ยนความสว่างได้และ b) ไม่ได้แสดงผลสลัวเมื่อปิด สิ่งที่ใช้ได้ผลสำหรับฉันคือการย้ายไฟล์ GeF ไม่ใช่ไฟล์ NVD วิธี nvram นั้นไม่ได้ผลสำหรับฉันและฉันต้องแทนที่ "fa4ce28d" ด้วย "000fa4ce" แต่วิธีอื่น archlinux ก็ใช้งานได้ ไม่สามารถบอกคุณได้ว่าฉันรู้สึกขอบคุณสำหรับโพสต์นี้
cbartondock

10

ภาวะที่กลืนไม่เข้าคายไม่ออกของคุณ

ฉันเห็นด้วยอย่างเต็มที่กับความต้องการของคุณ "ประหยัดแบตเตอรี่และลดความร้อนโดยไม่ต้องเสียค่าใช้จ่ายด้านเสียง" ในการใช้การ์ดกราฟิกแยกใน MacBook Pro

การเตือน

ก่อนที่คุณจะทำอะไรที่จะปิดการใช้งานจอแสดงผลของคุณโปรดตรวจสอบให้แน่ใจว่าคุณสามารถเข้าสู่ MacBook Pro ของคุณโดยใช้ SSHเพื่อที่คุณจะสามารถเลิกทำหัตถศิลป์ได้ ในขณะที่การแชร์หน้าจอกับการ์ดกราฟิกทั้งหมดที่ปิดการใช้งานอาจจะทำงานได้ที่ความละเอียดเริ่มต้นบางอย่างฉันจะไม่พนันกับคอมพิวเตอร์ของฉัน

คำตอบ

จะเกิดอะไรขึ้นถ้าฉันปิดการใช้งานการ์ดกราฟิกแยกแบบ nVidia จาก EFI อย่างถาวร Mac OS จะคิดว่า GPU ในตัวติดตั้งไว้หรือไม่และฉันจะใช้จอภาพหลายจอพร้อมกันหรือไม่

คุณจะสูญเสียความสามารถในการใช้จอภาพภายนอก (ภายใต้ระบบปฏิบัติการใด ๆ ) พอร์ตกราฟิกภายนอกเชื่อมต่อกับชิปกราฟิกแบบแยก

MacBook Pro 2011 ของฉันทำงานที่เสถียร 60 องศาแม้ภายใต้ภาระงานพร้อมเสียงรบกวนจากพัดลมเพียงเล็กน้อยเมื่อใช้กราฟิก Intel และ spikes ในตัวสำหรับแฟน ๆ เต็มรูปแบบ (ในช่วง 4000 ถึง 6000 รอบต่อนาที) เมื่อโหลดภายใต้ 6750 ปัญหา เป็นจริง ฉันก็อยากที่จะสามารถใช้กราฟิกในตัวและขับจอภาพภายนอกเท่านั้น

ไม่มีทางไม่มีเลย

เป็นเรื่องจริงหรือไม่ที่ EFI เดียวกันไม่แสดง GPU แบบรวมให้กับระบบปฏิบัติการอื่น ๆ นอกเหนือจาก Mac OSes และคุณต้องหลอกให้คิดว่าเป็น Mac OS หรือไม่?

ใช่มันเป็นความจริง. Intel GPU ได้รับการปิดโดย EFI ของ MacBook Pro 11,3 หากคุณบูตอะไรก็ได้ยกเว้น Mac OS X คุณมีตัวเลือกสี่ตัวเลือกหากคุณต้องการใช้ชิป Intel แบบรวมในระบบปฏิบัติการอื่น:

  1. rEFInd เวอร์ชั่น 0.10.0 หรือสูงกว่า (แนะนำ): http://www.rodsbooks.com/refind

rEFInd รุ่นล่าสุดมีแฮ็คในตัว "apple_set_os" คุณสามารถเปิดใช้งานได้โดยตั้งค่าตัวเลือก spoof_osx_version ใน refind.conf ของคุณ

  1. apple_set_os.efi: https://github.com/0xbb/apple_set_os.efi

  2. GRUB ที่ได้รับการแพตช์: https://lists.gnu.org/archive/html/grub-devel/2013-12/msg00442.html https://wiki.archlinux.org/index.php/MacBookPro11,x#Getting_the_integrated_int__________bsp

  3. เคอร์เนลที่ถูกแก้ไข: https://www.marc.info/?l=grub-deavel&m=141586614924917&w=2

ระวังการวางแผนล่วงหน้า หากคุณไม่ได้เตรียมตัวคุณจะพบกับการ์ดกราฟิกในตัวและหน้าจอสีดำ แน่นอนคุณสามารถย้อนกลับไปและบูต Mac OS X และเริ่มต้นได้อีกครั้ง

ตัวเลือกที่ง่ายที่สุดข้างต้นจะเป็นหมายเลขสอง - เพื่อแทนที่ Apple EFI น่าเสียดายที่มันอาจทำให้คุณไม่สามารถบู๊ตได้ในอนาคต แอปเปิ้ลไม่ได้ต้องการคนที่จะเล่นกับ EFI และขอสงวนสิทธิ์ในการก่ออิฐอุปกรณ์ของคุณสำหรับการทำเช่นนั้น หากคุณมี Apple Care และยังอยู่ในระยะเวลารับประกันคุณอาจพบว่ามีบางไหล่ที่จะร้องไห้ อาจ. เมื่อคุณเปลี่ยน EFI คุณจะเสี่ยงกับความปลอดภัยเช่นคุณอาจทำให้การแฮ็คเครื่องง่ายขึ้น คุณต้องสามารถอัพเดทเป็น EFI ล่าสุดซึ่งจะลบแพทช์ของคุณ

ตัวเลือกที่หนึ่งrEFIndทำให้ตัวเองอยู่ระหว่างการบูทและ EFI ซึ่งมีขอบเขตที่สำคัญสำหรับบางสิ่งที่จะผิดพลาดและคุณจะต้องถูกทิ้งไว้กับก้อนอิฐและเส้นทางที่ยากลำบากนาน ๆ กลับไปยังคอมพิวเตอร์ที่ใช้งานได้ ปัญหาเหล่านี้ร้ายแรงเพียงใด เจ้าของ MacBook Pro หลายคนสูญเสียฮาร์ดไดรฟ์เพื่อรับข้อมูลภายใน:

รายงานข้อผิดพลาด rEFIt จำนวนมากบ่งบอกถึงปัญหาความเสียหายของดิสก์ในดิสก์ที่มีประมาณ 500 GiB .... ฉันขอแนะนำให้คุณอย่าพิมพ์sudo bless --infoเพื่อตรวจสอบสถานะการติดตั้งของคุณหากคุณมีดิสก์ดังกล่าวหรือแม้ว่าคุณสงสัยว่าคุณอาจมีดิสก์ดังกล่าว . (ฉันเคยเห็นดิสก์รูปแบบขั้นสูงมีขนาดเล็กเพียง 320 GB)

ตัวเลือกที่สามนั้นค่อนข้างง่าย การแก้ไขด้วงเป็นกระบวนการที่เจ้าของ Hackintosh ยุคแรก ๆ ค่อนข้างคุ้นเคย Patching Grub ทำงานได้และไม่สามารถยกเลิกได้อย่างง่ายดายเนื่องจากการเปลี่ยนแปลงไม่ได้ทำในระดับเฟิร์มแวร์ หากคุณแก้ไขด้วงอย่างระมัดระวังรหัสด้วงเพิ่มเติมจะถูกเปิดใช้งานโดยถือตัวเลือก / alt เมื่อบูตเท่านั้น

ข้อสรุป

หากคุณต้องการใช้คอมพิวเตอร์ของคุณในการซ่อม Cody Krieger's gfxCardStatus ในการกำหนดค่าแบบนอกกรอบดูน่าสนใจยิ่งขึ้น หากคุณต้องการบังคับให้ gfxCardStatus ทำงานจริงๆตอนเริ่มต้น Mr. Krieger ได้เข้าร่วมในการสนทนาที่ให้แสงสว่างซึ่งนำไปสู่ ​​switchGPU switchGPUตั้งค่าล่วงหน้า gfxCardStatus ให้กับกราฟิกแบบแยกหรือแบบรวมก่อนที่คุณจะสามารถรันบนกราฟิกแบบรวมเมื่อ GPU แบบแยกของคุณอาจทำให้เกิดความร้อนสูงเกินไปและเกิดความผิดพลาด gfxCardStatus ยังคงทำงานตามปกติ (เช่นคุณสามารถเปลี่ยนกลับไปเป็น GPU แบบแยกส่วนหลังจากบู๊ตโดยใช้รายการเมนู gfxCardStatus) ไม่มีเหตุผลที่จะติดตั้ง switchGPU เว้นแต่คุณจะมีปัญหาฮาร์ดแวร์ร้ายแรง ด้วย GPU แบบแยกซึ่งหมายความว่าคุณจะต้องปิดมันตลอดเวลา

Coda

จากการไตร่ตรองสถานการณ์ของตัวเองกับ AMD 6750 ในตัวนั้นแย่มาก (ร้อนแรงและดังมากแม้จะผ่านความร้อน) ซึ่งฉันจะใช้ประโยชน์จากโปรแกรมซ่อมแซมการรับประกันเพิ่มเติมของ Apple สำหรับ MacBook Pro 2011พร้อมกราฟิก AMD มาร์โกอาร์เมนต์อาจจะเป็นสิทธิที่จะเปิดในของเขา 2011 2.2 GHz MBP กับ 6750 สำหรับรุ่น 2.0 GHz กับ 6490 ในขณะที่ฉันพิจารณาที่จะทำสิ่งเดียวกันในเวลานั้นฉันจะต้องจัดส่ง MBP ไปต่างประเทศเพื่อเปลี่ยนแปลง น่าเสียดายที่ Retina MacBook ข้อดีดูเหมือนว่าจะยังคงประสบปัญหาความร้อนและเสียงเดียวกัน แฟน MacBook Pro ของฉันที่มีกราฟิกในตัวเท่านั้นมีพฤติกรรมที่ดีขึ้นมาก

จากปัญหาเรื่องความร้อนและเสียงรบกวนด้วยเวิร์คสเตชั่ MBP แบบ quad core ฉันได้ละทิ้งและซื้อ Mac Pros สองเครื่อง (ในปี 2006 และ 2009) อัพเกรดซีพียูเป็นแปดคอร์และหกคอร์ตามลำดับ ปี 2549 ที่ติดตั้ง Apple AMD 5870 นั้นเกือบจะเงียบ (เงียบกว่าปี 2009) และมัลติทาสก์ดีกว่า MBP 15 "หอเงินสองแห่ง (บ้านและที่ทำงาน) ราคารวมกันน้อยกว่า MacBook Pro เครื่องเดียวตอนนี้ เรียกใช้ 2011 MBP 15 "บนกราฟิกแบบแยกเฉพาะสำหรับพกพา (ไม่มีจอภาพภายนอก)


8

ขั้นตอนการวางแผนของคุณเป็นไปได้ ขั้นตอนการวางแผนของคุณนั้นไม่ยาก ขั้นตอนการวางแผนของคุณไม่ใช่ตัวเลือกที่ดีที่สุด

ทำไมเส้นทางนี้ถึงไม่ดี

ผู้เชี่ยวชาญด้าน MacBook จะและจะต้องเปลี่ยนเป็น GPU แยก (dGPU) เมื่อเชื่อมต่อจอแสดงผลภายนอกแล้ว ดังนั้น dGPU ที่ติดตั้ง แต่ปิดใช้งานจะไม่ใช้ตัวเลือกในการใช้จอภาพภายนอกกับ dGPU นั้น

ตอนนี้มีตัวเลือกอื่น ๆ เช่นการใช้โซลูชัน USB หรือ GPU ภายนอก (eGPU) แต่การตั้งค่าตัวแปร EFI ที่คุณต้องการจะปิดการใช้งานเอาต์พุตโดยตรงด้วยสายเคเบิลเส้นเดียวจากพอร์ต Thunderbolt ไปยังจอภาพภายนอก

คุณจะปิดการใช้งาน GPU แยกจาก EFI ได้อย่างไร?

คำสั่งที่คุณกล่าวถึงในการอัปเดตของคุณเกือบจะถูกต้อง มันพลาดตัวระบุที่ถูกต้อง:

sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00

สิ่งนี้เขียนตัวแปร EFI ที่สอดคล้องกับ NVRAM และบังคับให้ MacBook Pro บูตตรงเข้าสู่ GPU ในตัว (iGPU) เสมอ ตัวระบุไม่เพียง แต่สำหรับ dGPU ของ AMD แต่ dGPU ทั้งหมด นี่เป็นการยืนยันว่าจะทำงานกับชิป NVidia เหมือนกัน นอกจากนี้ยังสามารถย้อนกลับได้อย่างง่ายดายด้วยการรีเซ็ต NVRAM

ข้อเสียของกลยุทธ์นี้ในสถานการณ์นี้

และตอนนี้ข้อเสีย: อาจมีปัญหาเล็กน้อยสองข้อในเรื่องนี้:

  1. หลังจากที่คุณบังคับให้ใช้การตั้งค่า NVRAM macOS เหล่านี้อาจทำให้เกิดความสับสนเล็กน้อย ชิปยังคงอยู่ที่นั่นแบบมีสายและใช้พลังงาน

  2. ในการรับสิ่งนี้เพื่อบูตคุณอาจต้องปิดการใช้งานไดรเวอร์กราฟิกสำหรับ dGPU ของคุณ หรืออย่างน้อยหนึ่ง kext ที่จัดการการสลับกราฟิกจริง การบู๊ตอาจหยุดทำงานเมื่อพยายามเริ่มต้นการสลับ GPU เป็นอย่างอื่น

ปัญหาที่เกิดขึ้นใหม่ทั้งสองสามารถจัดการได้โดยการย้าย NVidia ทั้งหมดออก/System/Library/Extensionsไปยังสถานที่สำรองที่ปลอดภัย นี่จะเป็นการบูตเครื่องที่บังคับให้เข้าสู่โหมดเร่งความเร็ว iGPU แต่การตั้งค่าตัวแปร EFI อาจไม่เพียงพอสำหรับการจัดการพลังงานที่เหมาะสม เพื่อที่คุณจะต้องย้ายกลับ NVIDIA kexts ยกเว้นผู้รับผิดชอบในการสลับกราฟิก การไม่ทำเช่นนั้นจะนำไปสู่การใช้พลังงานสูงอย่างไม่จำเป็นสำหรับ dGPU อย่างน้อยจะใช้งานที่ "กำลังเต็มที่" (แปลเป็น> ~ 60 ° C)

กำลังไฟสูงที่ไม่ได้ใช้งานนี้อาจเป็นความพ่ายแพ้อย่างยิ่งใหญ่สำหรับแผนของคุณเพื่อลดเสียงรบกวนจากพัดลมและเพิ่มแบตเตอรี่ หมายเหตุด้านข้างจากวรรณกรรม: ควรเป็นความจริงที่ได้รับการยอมรับอย่างกว้างขวางว่าการย้าย kexts ไปรอบ ๆ ยังต้องการให้คุณปิดการใช้งาน SIP บน OS X / macOS เวอร์ชันใหม่กว่าตราบใดที่คุณย้ายสิ่งต่างๆ

stratedy ทั่วไปเพื่อค้นหา kexts ที่จะทดสอบด้วย: boot โดยไม่มีตัวแปร NVRAM ในระบบหุ้น (ด้วย 'ค่าเริ่มต้น' NVidia kexts) จากนั้นรับทราบว่าส่วนขยายของระบบของคุณโหลดด้วยkextstatหรือไม่ จากนั้นรีบู๊ตด้วย NVidia / Geforce kexts ที่โหลดก่อนหน้านี้ย้ายออกไปและเปิดใช้งานการแฮ็ค รับการตรวจสอบเซ็นเซอร์แบบละเอียด (iStatMenus, TGPro, ฯลฯ …) และดูอุณหภูมิบนและรอบ ๆ GPU ตอนนี้หนึ่งโหลดหลังจากที่อื่น ๆ ของ kexts sudo kextload /path-to/NVDA***.kextที่เกี่ยวข้องกลับเข้ามาในเคอร์เนลด้วย รอหนึ่งหรือสองนาทีหลังจากกัน

เนื่องจากวิธีการโพสต์นี้ - หรือวิธีการที่ถูกต้อง แต่เท่าเทียมกัน: การจัดการ EFIvars ใน Linux - เป็น NVRAM มันจะเปลี่ยนกลับอย่างหมดจดหากคุณทำการรีเซ็ต SMC / NVRAM การแฮ็ก NVRAM นั้นจริงๆแล้วเป็นเพียงส่วนเดียวของโพสต์นี้ที่แน่นอนว่าจะไม่ทำให้คุณเดือดร้อนมากนัก

การรีเซ็ต NVRAM นี้จะคืนค่าการตั้งค่าโรงงานให้เหลือน้อยที่สุดไปยังตัวแปร EFI / NVRAM การตั้งค่าจากโรงงานนั้นจะไม่ถูกสัมผัส

สามารถทำได้บ่อยเท่าที่คุณต้องการ

ใน Linux ระบบไดรเวอร์นั้นมีเอกสารที่ดีกว่ามาก มีหลายวิธีในการบรรลุเป้าหมายนี้ด้วยหรือบูตเข้าสู่ Linux และลินุกซ์ (ไม่ว่าจะเกี่ยวกับการตั้งค่า NVRAM / EFIvars หรือวิธีการอื่น ๆ ) จะทำให้คุณมีปัญหากับไดรเวอร์น้อยลง (ใครจะไปคิด) สำหรับ OS อื่น ๆ เช่น Microsoft Windows ฉันไม่มีข้อมูล

หากต้องการทำซ้ำ: การให้ระบบปฏิบัติการไม่รู้จัก dGPU อย่างถูกต้องไม่ได้หมายความว่าจะปิดเครื่อง ที่อาจนำไปสู่ผลข้างเคียงจากความร้อนที่ไม่ต้องการ

ลองดูที่คู่มือนี้สำหรับ MacBook Pro 2011สำหรับโซลูชันที่คล้ายกันและตัวเลือกเพิ่มเติมอีกเล็กน้อย นอกจากนี้ยังสามารถยกเลิกและแฮ็ก NVRAM ได้อย่างรวดเร็วและทำซ้ำ

จอภาพหลายจอและ dGPU ที่ปิดใช้งาน

ต้องบอกว่าทั้งหมด: gfxCardStatus (หรือลองรุ่นดั้งเดิมที่แตกต่าง - พวกเขามีตัวเลือก / ความสามารถที่แตกต่างกัน ... ) เป็นตัวเลือกที่ดีที่สุดถ้าคุณไม่มีปัญหาฮาร์ดแวร์จริง ๆ ที่ต้องจัดการ มีความยืดหยุ่นมากขึ้นและคุณยังสามารถสลับกลับไปเป็น dGPU หรือจอภาพภายนอกได้อย่างง่ายดายภายในระบบที่ใช้งานอยู่

ไม่ว่าจะผ่านทาง EFI / NVRAM หรือกับ gfxCardStatus: การบังคับให้ Mac ที่มีกราฟิกสลับได้เป็นแบบรวมเท่านั้นจะปิดใช้งานโหมดการแสดงผลภายนอกโดยใช้กราฟิกเอาต์พุต DisplayPort หรือ Thunderbolt ในตัว นี่เป็นผลสืบเนื่องมาจากการออกแบบฮาร์ดแวร์ซึ่งกำหนดเส้นทางสัญญาณการแสดงผลสำหรับจอภาพภายนอกผ่าน dGPU การใช้ไม่ต่อเนื่อง แต่อะแดปเตอร์กราฟิกภายนอกอาจเป็นวิธีแก้ปัญหาสำหรับข้อ จำกัด นั้น

การตั้งค่า EFI เพื่อให้สามารถใช้งานร่วมกับระบบปฏิบัติการอื่นได้

ตามที่ควรจะชัดเจนในขณะนี้การตั้งค่า EFI เพื่ออนุญาตให้ระบบปฏิบัติการอื่นเช่น Linux "เห็น" การตั้งค่ากราฟิกแบบสลับได้นั้นแตกต่างจากด้านบนที่ปิดการใช้งาน dGPU โปรแกรมเล็ก ๆ ของ EFI สำหรับปลดล็อค Intel IGD บน Macbook Pro 11,3 สำหรับ Linux และ Windows:

โปรแกรมเล็ก ๆ ของ EFI สำหรับปลดล็อค Intel IGD บน Macbook Pro 11,3 สำหรับ Linux และ Windows มันถูกสร้างขึ้นมาเพื่อให้ chainloaded ได้อย่างง่ายดายโดย bootloader EFI ยังไม่ได้แก้ไขเช่น Grub, rEFInd ฯลฯ

EFI ของรุ่น Macbook Pro 11,3 กำลังปิด Intel GPU หากคุณบูตอะไรก็ได้ยกเว้น Mac OS X ดังนั้นต้องใช้เล่ห์เหลี่ยมเล็กน้อยโดยการแกล้งทำการระบุระบบปฏิบัติการเพื่อให้สามารถเข้าถึงฮาร์ดแวร์ทั้งหมดได้

เครดิตทั้งหมดเป็นของ Andreas Heider ซึ่ง แต่เดิมค้นพบแฮ็คนี้: https://lists.gnu.org/archive/html/grub-devel/2013-12/msg00442.html


4

คำตอบที่ล่าช้าสำหรับคำถามด้านใดด้านหนึ่งของคุณ: คุณอาจต้องเปิดใช้งาน GPU แยกต่างหากเพื่อใช้งานจอแสดงผลภายนอก เหตุผลที่ควรจะเป็นอย่างไรในการที่ GPU และเอาท์พุทวิดีโอมีสาย

(ฉันคาดเดาครึ่งหนึ่ง, คาดการณ์ครึ่งหนึ่งจากวิธีการที่เทคโนโลยีการสลับกราฟิกแล็ปท็อปพีซีไม่ได้เป็นข้อสันนิษฐานที่ไม่มีเหตุผลว่าเทคโนโลยีเหล่านั้นขึ้นอยู่กับการทำงานของผู้จำหน่าย GPU กับ Apple ยัง: ใช้สิ่งต่อไปนี้ เกลือ.)

ด้วย nVidia Optimus การตั้งค่าก็คือจอแสดงผลในตัวของแล็ปท็อปเชื่อมต่อกับ GPU ในตัวและพอร์ตจอแสดงผลภายนอกเชื่อมต่อกับ GPU แยก หากคุณต้องการแสดงผลสิ่งต่าง ๆ โดยใช้ GPU ที่แยกจากกันไปยังจอแสดงผลในตัว GPU ที่แยกต่างหากนั้นจะ "เลื่อน" ไปยังอุปกรณ์ที่ติดตั้งในตัว การเรียกการเรนเดอร์ก่อนจะไปที่ GPU ในตัวซึ่งหากเปิดใช้งาน GPU แยกไว้ข้างหน้าจะมีการส่งต่อไปที่นั่นจากนั้นจะดึงผลลัพธ์เพื่อผลักดันมันบนหน้าจอ

หากมีการเชื่อมต่อจอแสดงผลภายนอกการแสดงผลการโทรสำหรับจอภาพนั้นจะตรงไปที่ GPU แยกเพราะนั่นคือ GPU ที่สามารถส่งเอาต์พุตใด ๆ ไปยังจอแสดงผลนั้นได้ GPU ในตัวไม่สามารถส่งสัญญาณวิดีโอไปยังพอร์ตนั้นได้ด้วยตัวเอง ฉันไม่คิดว่ามันเป็นไปได้ที่จะมีการรวม GPU เป็น "slaved" ในส่วนแยกเพราะก่อนอื่นมันจะไม่มีจุดหมายจากมุมมองของการออกแบบโดยคำนึงถึงเป้าหมายของเทคโนโลยีการสลับกราฟิก; และถึงตอนนั้นมันยังต้องการการเปิดใช้งาน GPU แยกซึ่งจะไม่ช่วยคนที่ชิปของตนล้มเหลว


! ที่น่าสนใจ ฉันรู้ว่า Lenovo ThinkPad W530 อนุญาตให้ฉันตั้งค่า GPU แบบรวมจากตัวเลือก BIOS และฉันเกือบแน่ใจว่านี่ยังให้ฉันต่อจอภาพภายนอกอยู่ ไม่แน่ใจ 100% เช่นกัน
Meligy

อย่างที่ฉันบอกไปฉันไม่แน่ใจ 100% เพราะฉันไม่สามารถหาบทความต้นฉบับได้อีก เป็นไปได้ว่าการเดินสายที่ฉันอธิบายไม่ใช่การกำหนดค่าที่เป็นไปได้เท่านั้นและ W530 มี GPU ในตัวรองรับทั้งคู่ อย่างไรก็ตาม Macbook ต้องการให้คุณใช้ GPU แยกสำหรับภายนอกจะแสดงว่ามันมีสายตามที่ฉันอธิบาย
millimoose

คุณต้องใช้ GPU แยกเพื่อใช้งานจอแสดงผลภายนอก การใช้ GPU แยกเป็นประจำจะสร้างเสียงรบกวนจากพัดลมมากขึ้นและทำให้อายุการใช้งานเมนบอร์ดของคุณสั้นลง ฉันไม่ได้ใช้ GPU แบบแยกทั้งหมดอีกต่อไป ฉันใช้เดสก์ท็อปสำหรับการยกของหนัก แต่ก็ยังสนุกกับหน้าจอขนาดใหญ่ 17 นิ้วในขณะเดินทาง
Foliovision

4

หากใครยังคงมองหาวิธีการทำเช่นนี้โปรดตรวจสอบโพสต์ฟอรั่ม MacRumors นี้

ฉันทำตามขั้นตอนที่กล่าวถึงในฟอรั่มโพสต์และ 15 "MacBook Pro 2011 ของฉันทำงานได้อย่างสมบูรณ์โดยใช้ Integrated Graphic เท่านั้นการ์ดกราฟิก AMD ไร้ค่าถูกปิดใช้งานสำเร็จ

https://forums.macrumors.com/threads/force-2011-macbook-pro-8-2-with-failed-amd-gpu-to-always-use-intel-integrated-gpu-efi-variable-fix 2037591 / หน้า 5 # โพสต์ 24,511,780

https://forums.macrumors.com/threads/force-2011-macbook-pro-8-2-with-failed-amd-gpu-to-always-use-intel-integrated-gpu-efi-variable-fix 2037591 /


คุณลองใช้ OSX / macOS เวอร์ชั่นใด
huyz
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.