Chciałbym wyłączyć procesor graficzny NVidia GTX 750M na moim MacBooku Pro 15 "(Retina, połowa 2014 r., Mac OS X 10.10 Yosemite). Wiem, że mogę używać GfxCardStatus, ale przeczytałem, że mogę mieć bardziej trwałe rozwiązanie, zmieniając niektóre EFI flaga.
Moje pytanie brzmi:
Jak mogę wyłączyć dyskretny GPU z EFI?
Zakładam, że jest to trwałe podczas wielu restartów. Chciałbym również wiedzieć, jak to cofnąć w razie potrzeby.
Aktualizacja:
Pytanie polega w zasadzie na tym, czy polecenie wymienione w komentarzu do wydania GfxCardStatus github jest poprawne, czy nie, i jak je cofnąć, jeśli nie działa.
.
Sama odpowiedź na to pytanie jest poprawna, ale będzie niesamowita, jeśli możesz mi powiedzieć:
Jeśli wymusisz zintegrowaną grafikę w GfxCardStatus, Mac OS X (przynajmniej Yosemite) nie pozwala na używanie wielu monitorów (nawet jeśli wbudowana Iris Pro to potrafi).
Jeśli wyłączę dyskretny GPU z EFI, czy macOS pomyśli, że zintegrowany GPU jest zainstalowany i czy pozwoli mi używać z nim wielu monitorów?
Słyszałem, że to samo ustawienie EFI jest odpowiedzialne za to, że nie pokazuje zintegrowanego procesora graficznego innym systemom operacyjnym niż macOS i musisz go oszukać, żeby pomyśleć, że to macOS.
Czy to prawda? A jeśli tak, jak to zrobić?
Odpowiedzi:
Możesz trwale wyłączyć dyskretną kartę graficzną, wykonując następujące kroki:
AKTUALIZACJA! Spróbuj edytować zmienną NVRAM w trybie pojedynczego użytkownika
Procedura opisana w krokach 1-3 działała dla mnie do momentu macOS Sierra, ale wraz z aktualizacją do High Sierra zacząłem wyświetlać różowy / czerwonawy ekran i nie mogłem przejść do trybu odzyskiwania, aby powtórzyć krok 3, jak musiałem to zrobić w poprzednie aktualizacje. Przeszukując Internet, wkroczyłem w ten problem GitHub, wyjaśniając, że możesz zastąpić kroki 1 i 2 następującym poleceniem, które możesz wykonać w trybie pojedynczego użytkownika (naciśnięcie klawisza cmd+ s):
1. Przygotuj bootowalny pendrive USB z Linuksem innym niż GUI
1.1 Pobierz ArchLinux ISO
1.2 Tworzenie bootowalnego USB za pomocą .iso
Otwórz / Aplikacje / Narzędzia / Terminal w MacOS i wyświetl listę wszystkich urządzeń pamięci masowej:
diskutil list
Twoje urządzenie USB pojawi się jako coś w rodzaju
/dev/disk2 (external, physical)
. Sprawdź, czy to urządzenie chcesz wymazać, sprawdzając jego nazwę i rozmiar, a następnie użyj jego identyfikatora dla poniższych poleceń zamiast/dev/diskX
.Urządzenie USB jest zwykle montowane automatycznie w systemie macOS i musisz je odmontować (nie wysunąć) przed zapisaniem bloków za pomocą dd:
diskutil unmountDisk /dev/diskX
Teraz skopiuj plik obrazu ISO na urządzenie. Polecenie dd jest podobne do polecenia Linuksa, ale zwróć uwagę na „r” przed „dyskiem” dla trybu raw, który znacznie przyspiesza transfer:
sudo dd if=path/to/arch.iso of=/dev/rdiskX bs=1m
Po zakończeniu macOS może narzekać, że „Włożony dysk nie został odczytany przez ten komputer”. Wybierz „Wysuń”. Urządzenie USB będzie rozruchowe.
2. Użyj Linuksa, aby zmienić zmienne EFI
2.1 Uruchom go
nomodeset
na końcu tego wiersza i naciśnij Enter.2.2 Wyczyść istniejące warianty EFI
Wygląda na to, że system plików efivarfs jest montowany domyślnie! Możesz już
cd /sys/firmware/efi/efivars
ils
zbadać ten katalog i sprawdzić, czy istniejegpu-power-prefs-...
zmienna (gdzie ... to UUID tej zmiennej).Jeśli istnieje taka zmienna, lepiej ją usunąć za pomocą rm.
rm gpu-power-prefs-…
Jeśli otrzymujesz komunikat „Operacja niedozwolona” podczas próby
rm
, oznacza to, że efivarfs został zamontowany jako tylko do odczytu i musisz ponownie zamontować go z uprawnieniami do odczytu i zapisu i spróbuj ponownie:cd /
umount /sys/firmware/efi/efivars/
mount -t efivarfs rw /sys/firmware/efi/efivars/
cd /sys/firmware/efi/efivars/
rm gpu-power-prefs-…
Jeśli to również się nie powiedzie (nadal nie można usunąć pliku), użyj
chattr
polecenia, aby wyłączyć niezmienność pliku, a następnie usuń plik:chattr -i "gpu-power-prefs-…”
rm gpu-power-prefs-…
2.3 Utwórz nowy plik GPU-power-prefs-…
2.4 Dodaj niezmienność do pliku gpu-power-prefs-…
To
chattr
polecenie ma zablokować plik, aby był dostępny tylko dla „superużytkownika” - i tak, że podczas uruchamiania EFI nie będzie miał szansy zepsuć zmiennej gpu-power-prefs -... pod żadnym pozorem2.5 Odmontuj efivary i uruchom ponownie
Przejdź do katalogu głównego, aby odmontować efivars:
Gwarantuje, że twoje zmienne EFI są opróżniane do systemu plików efivarfs. Przed ponownym uruchomieniem odłącz go bezpiecznie.
3 Usuń kexts AMD / NVIDIA
Uwaga : Może zaistnieć taka konieczność przy każdej aktualizacji systemu operacyjnego, ponieważ zwykle regeneruje on te kexts. Możesz wybrać tę odpowiedź jako referencję, aby była dostępna z innego urządzenia, gdy jej potrzebujesz.
Po wyłączeniu dGPU przy użyciu Arch, normalny rozruch zawiesiłby się w połowie, ale bezpieczny rozruch będzie działał.
3.1 Przenieś pliki kext AMD / NVIDIA do katalogu kopii zapasowej
Usuń wszystkie pliki kext AMD (lub NVIDIA, w zależności od karty) z Terminala w Konsoli odzyskiwania. Próba usunięcia ich w trybie pojedynczego użytkownika powoduje tylko błędy piaskownicy, więc nie rób tego w trybie pojedynczego użytkownika! (ten, który uruchamiasz za pomocą cmd+ s).
Uruchom terminal (te polecenia dotyczą AMD. Jeśli masz NVIDIA, zmień odpowiednio)
diskutil cs list
(znajdź UUID woluminu logicznego: ostatni element)diskutil coreStorage unlockVolume UUID
(UUID: z poprzedniego polecenia)cd /Volumes/Macintosh\ HD
mkdir AMD_Kexts
mv System/Library/Extensions/AMD*.* AMD_Kexts/
reboot
Znalazłem procedurę w tym linku , w której można przeczytać informacje o przypisaniu różnych sekcji i wątek dyskusyjny na ten temat.
Próbowałem sam na MacBooku Pro z początku 2011 r. Z wadliwą dyskretną kartą graficzną, której nie udało się uruchomić nawet przy przegrzaniu, i uzyskałem w pełni funkcjonalny komputer!
źródło
Twój dylemat
W pełni popieram twoje życzenie „oszczędzania baterii i zmniejszania ciepła, bez ponoszenia kosztów hałasu” korzystania z oddzielnej karty graficznej wewnątrz MacBooka Pro.
Ostrzeżenie
Zanim zrobisz cokolwiek, co wyłączy ekran, upewnij się, że możesz zalogować się do MacBooka Pro za pomocą SSH , abyś mógł cofnąć swoje dzieło. Podczas gdy udostępnianie ekranu przy wyłączonych wszystkich kartach graficznych prawdopodobnie będzie działać w jakiejś domyślnej rozdzielczości, nie postawiłbym na to mojego komputera.
Odpowiedzi
Utracisz możliwość korzystania z zewnętrznego monitora (w dowolnym systemie operacyjnym). Zewnętrzne porty graficzne są podłączone do dyskretnego układu graficznego.
Mój własny MacBook Pro 2011 działa w stabilnym 60 stopniach, nawet pod obciążeniem, przy minimalnym hałasie wentylatora podczas korzystania z wbudowanej grafiki Intel i skokach do pełnych wentylatorów (w zakresie 4000 do 6000 obr./min), gdy jest obciążony dyskretnym 6750. Problem jest realne. Ja też chciałem móc korzystać tylko z wbudowanej grafiki i prowadzić zewnętrzny monitor.
Nie ma mowy, nie jak.
Tak, to prawda. Procesor graficzny GPU Intel zostaje wyłączony przez EFI MacBooka Pro 11,3, jeśli uruchomisz cokolwiek poza Mac OS X. Masz cztery możliwości, jeśli chcesz użyć zintegrowanego układu Intel w alternatywnym systemie operacyjnym:
Uważaj, aby planować z wyprzedzeniem. Jeśli się nie przygotujesz, napotkasz wyłączoną zintegrowaną kartę graficzną i czarny ekran. Oczywiście zawsze możesz wrócić i uruchomić Mac OS X i zacząć od nowa.
Najprostszym z powyższych wyborów byłby numer dwa - zastąpienie EFI firmy Apple. Niestety jest to ten, który może uniemożliwić uruchomienie komputera w przyszłości. Apple nie lubi, gdy ludzie bawią się EFI, i zastrzega sobie prawo do zablokowania twojego urządzenia . Jeśli korzystałeś z usługi Apple Care i nadal byłeś w okresie gwarancyjnym, możesz znaleźć miejsce do płaczu. Moc. Zmieniając EFI, również podejmujesz ryzyko związane z bezpieczeństwem , tzn. Możesz ułatwić hakowanie komputera. Musisz mieć możliwość aktualizacji do najnowszego EFI, który usunąłby twoją łatkę.
Opcja pierwsza, rEFInd stawia się między bootem a EFI, co pozostawia spore pole do popełniania błędu i pozostawia ci cegiełkę i długą trudną drogę do działającego komputera. Jak poważne są te problemy? Wielu właścicieli komputerów MacBook Pro straciło dysk twardy w celu uzyskania poprawki:
Opcja trzecia jest stosunkowo łatwa. Patchowanie gruba jest procesem, z którym każdy wczesny właściciel Hackintosha jest dość dobrze zaznajomiony. Patchowanie Grub działa i jest łatwe do cofnięcia, ponieważ zmiany nie są wprowadzane na poziomie oprogramowania układowego. Jeśli łatasz grub grubo zachowawczo, dodatkowy kod grub jest włączany tylko przez przytrzymanie opcji / alt podczas uruchamiania .
Wniosek
Jeśli wolisz korzystać z komputera niż go naprawić, gfxCardStatus Cody'ego Kriegera w jego gotowej konfiguracji wygląda coraz bardziej atrakcyjnie. Jeśli naprawdę chcesz zmusić gfxCardStatus do uruchomienia na początku, Pan Krieger uczestniczył w pouczającej rozmowie , która doprowadziła do zmiany GPU. switchGPU wstępnie ustawia gfxCardStatus na dyskretną lub zintegrowaną grafikę wystarczająco wcześnie, aby można było uruchomić zintegrowaną grafikę, gdy dyskretny procesor graficzny przegrzałby się i zawiesił. gfxCardStatus nadal działa normalnie (tzn. możesz przełączyć się z powrotem na dyskretną kartę graficzną po uruchomieniu za pomocą elementu menu gfxCardStatus). Nie ma powodu, aby instalować switchGPU, chyba że masz poważne problemy ze sprzętem dzięki dyskretnemu układowi GPU, co oznacza, że musisz go cały czas wyłączać.
Coda
Po zastanowieniu moja własna sytuacja ze zintegrowanym AMD 6750 jest wystarczająco zła (tak gorąca i głośna nawet po ponownym termicznym remastowaniu), że skorzystam z programu naprawy rozszerzonej gwarancji Apple na 2011 MacBook Pro z grafiką AMD. Marco Arment prawdopodobnie miał rację, zmieniając swój MBP 2,2 GHz 2011 z 6750 dla wersji 2,0 GHz z 6490 . W tym czasie zastanawiałem się nad zrobieniem tego samego, musiałbym jednak wysłać MBP za granicę, aby go zmienić. Niestety, wydaje się, że profesjonaliści MacBooka Retina nadal odczuwają te same problemy z ciepłem i hałasem . MacBook Pro mojej dziewczyny z 2013 roku z tylko zintegrowaną grafiką zachowuje się znacznie lepiej.
W związku z problemami związanymi z ciepłem i hałasem na czterordzeniowych stacjach roboczych MBP zrezygnowałem i kupiłem dwa komputery Mac Pro (2006 i 2009), uaktualniłem procesory odpowiednio do ośmiu rdzeni i sześciu rdzeni. Rok 2006 z zainstalowanym Apple AMD 5870 jest prawie cichy (znacznie cichszy niż w 2009 roku) i wielozadaniowy lepszy niż MBP 15 ". Dwie srebrne wieże (w domu i biurze) kosztują mniej razem niż jeden nowy MacBook Pro. Na razie jestem uruchamianie 2011 MBP 15 "na dyskretnej grafice tylko jako nośnik (bez zewnętrznego monitora).
źródło
Twoja planowana procedura jest możliwa. Twoja planowana procedura nie jest taka trudna. Twoja planowana procedura nie jest najlepszą opcją.
Dlaczego ta trasa jest nieoptymalna
MacBook Pro będzie musiał przejść na dyskretną kartę graficzną (dGPU) po podłączeniu zewnętrznego wyświetlacza. Dlatego zainstalowany, ale wyłączony dGPU odbiera opcję korzystania z zewnętrznego monitora z tym dGPU.
Istnieją teraz inne opcje, takie jak korzystanie z rozwiązań USB lub zewnętrznych układów GPU (eGPU). Ale ustawienie zmiennej EFI, której szukasz, na pewno wyłączy bezpośrednie wyjście za pomocą jednego kabla od portu Thunderbolt do zewnętrznego monitora.
Jak możesz wyłączyć dyskretny procesor graficzny z EFI?
Polecenie wymienione w aktualizacji jest prawie prawidłowe. Po prostu brakuje prawidłowego identyfikatora:
sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
Spowoduje to zapisanie odpowiedniej zmiennej EFI w pamięci NVRAM i zmusza komputer MacBook Pro do uruchamiania zawsze bezpośrednio w zintegrowanym procesorze graficznym (iGPU). Identyfikator dotyczy nie tylko AMD dGPU, ale wszystkich dGPU. Potwierdzono, że działa to zarówno z układami NVidia. Można go również łatwo odwrócić po zresetowaniu pamięci NVRAM.
Wady tej strategii w tej sytuacji
A teraz wadą: są z tym potencjalnie dwa małe problemy:
Po wymuszeniu tych ustawień NVRAM macOS może się „trochę pomylić”. Chip nadal tam jest, podłączony i zasilany.
Aby to uruchomić, konieczne może być wyłączenie sterowników karty graficznej dla twojego dGPU. Lub przynajmniej jeden kext, który zarządza faktycznym przełączaniem grafiki. Boot może się zawiesić podczas próby zainicjowania przełączania GPU w inny sposób.
Oba nowo powstałe problemy można rozwiązać poprzez przeniesienie wszystkich tekstów NVidii
/System/Library/Extensions
do bezpiecznego miejsca kopii zapasowej. Spowoduje to uruchomienie komputera w trybie przyspieszonym iGPU. Ale ustawienie zmiennej EFI może nie wystarczyć, aby uzyskać rozsądne zarządzanie energią. W tym celu prawdopodobnie będziesz musiał cofnąć kexts NVidia oprócz tych odpowiedzialnych za przełączanie grafiki. W przeciwnym razie dGPU doprowadzi do niepotrzebnie wysokiej mocy. Będzie przynajmniej pracował bezczynnie przy „pełnej mocy” (przetłumaczonej na> ~ 60 ° C).Ten bezczynność o dużej mocy potencjalnie może być wielką porażką dla twojego planu ograniczenia hałasu wentylatora i zwiększenia baterii. Dodatkowa uwaga z literatury: Powszechnie wiadomo, że przenoszenie kextów wymaga również wyłączenia SIP w nowszych wersjach OS X / macOS, o ile poruszasz takimi rzeczami.
Ogólne było znalezienie kextów do eksperymentowania: rozruch bez zmiennej NVRAM w systemie podstawowym (z „domyślnymi” tekstami NVidia). Następnie zanotuj, jakie rozszerzenia faktycznie ładuje twój system
kextstat
. Następnie uruchom ponownie komputer z poprzednio załadowanymi kextami NVidia / Geforce i odsuń hack. Uzyskaj szczegółowy monitor czujnika (iStatMenus, TGPro itp.) I obserwuj temperaturę na GPU i wokół niego. Teraz załaduj jeden po drugim odpowiednich tekstów z powrotem do jądra za pomocąsudo kextload /path-to/NVDA***.kext
. Poczekaj jedną lub dwie minuty po każdej.Ponieważ metodą tego postu - lub równie prawidłową, ale dłuższą drogą: manipulowanie EFIvars w Linuksie - jest NVRAM, przywróci się ona czysto, jeśli wykonasz reset SMC / NVRAM. To, że hakowanie NVRAM jest w rzeczywistości jedyną częścią tego postu, która na pewno nie sprawi ci większych problemów.
Wykonanie tego resetu NVRAM przywraca minimalny zestaw ustawień fabrycznych do zmiennych EFI / NVRAM. To ustawienie fabryczne nie zostanie zmienione.
Można to zrobić tak często, jak chcesz.
W Linuksie system sterowników jest znacznie lepiej udokumentowany, a imho zaimplementowane czystsze. Istnieje wiele sposobów na osiągnięcie tego celu lub uruchomienie systemu Linux. A Linux (niezależnie od tego, czy przestrzega tego ustawienia NVRAM / EFIvars, czy innych metod) sprawi ci znacznie mniej problemów ze sterownikami (kto by pomyślał). W przypadku innych systemów operacyjnych, takich jak Microsoft Windows, nie mam danych.
Powtarzając: Brak rozpoznania dGPU przez system operacyjny nie oznacza, że jest on wyłączony. Które może prowadzić do niepożądanych skutków ubocznych termicznych.
Spójrz na ten przewodnik dla Pro MacBook 2011, aby znaleźć podobne rozwiązanie i trochę więcej opcji; także w celu szybkiego cofnięcia i ponownego włamania do pamięci NVRAM.
Wiele monitorów i wyłączony dGPU
Powiedziawszy to wszystko: gfxCardStatus (lub wypróbuj różne wersje oryginału - mają różne opcje / możliwości…) jest najlepszą opcją, jeśli nie masz prawdziwych problemów sprzętowych. Jest o wiele bardziej elastyczny i nadal możesz łatwo wrócić do dGPU lub monitorów zewnętrznych w działającym systemie.
Czy to przez EFI / NVRAM, czy za pomocą gfxCardStatus: wymuszenie komputera Mac z przełączalną grafiką na opcję tylko zintegrowaną wyłączy zewnętrzne tryby wyświetlania za pomocą wbudowanego wyjścia graficznego DisplayPort lub Thunderbolt. Jest to konsekwencja projektu sprzętowego, który kieruje sygnał wyświetlacza dla monitorów zewnętrznych przez dGPU. Użycie nie dyskretnych, ale zewnętrznych kart graficznych może być obejściem tego ograniczenia.
Ustawienie EFI umożliwiające włączenie w innych systemach operacyjnych
Jak powinno być teraz jasne, ustawienie EFI umożliwiające innym systemom operacyjnym, takim jak Linux, „zobaczenie” przełączalnej konfiguracji graficznej różni się od powyższej, która wyłącza dGPU. Mały program EFI do odblokowywania Intel IGD na Macbooku Pro 11,3 dla systemów Linux i Windows:
źródło
Spóźniona odpowiedź na jedno z twoich pytań pobocznych: Prawdopodobnie potrzebujesz osobnego procesora graficznego, aby móc korzystać z zewnętrznego wyświetlacza. Powodem tego powinien być sposób połączenia GPU i wyjść wideo.
(W połowie zgaduję, w połowie ekstrapoluję, jak działa technologia przełączania grafiki laptopów na PC. Nie jest to nieuzasadnione założenie, że te technologie są oparte na współpracy dostawców Apple z Apple. Mimo to: Sól.)
W przypadku nVidia Optimus konfiguracja polega na tym, że wbudowany wyświetlacz laptopa jest podłączony do zintegrowanego procesora graficznego, a zewnętrzny port wyświetlacza jest podłączony do oddzielnego procesora graficznego. Jeśli konieczne jest renderowanie elementów za pomocą dyskretnego procesora graficznego na wbudowanym wyświetlaczu, dyskretny procesor GPU jest „podrzędny” na zintegrowanym. Wywołanie renderujące najpierw trafia do zintegrowanego procesora graficznego, który, jeśli włączony jest dyskretny procesor GPU, przesyła go tam, a następnie pobiera wynik i wypycha go na wyświetlacz.
Jeśli podłączony jest wyświetlacz zewnętrzny, renderowanie wywołań dla tego wyświetlacza jest kierowane bezpośrednio do osobnego procesora graficznego, ponieważ jest to procesor graficzny, który i tak może wysłać dowolne wyjście na ten ekran. Zintegrowany procesor graficzny po prostu nie może wcale wysyłać wyjścia wideo do tego portu samodzielnie. Nie sądzę, aby możliwe było, aby zintegrowany procesor graficzny był „podporządkowany” dyskretnemu, ponieważ po pierwsze byłoby to bezcelowe z punktu widzenia projektowania w odniesieniu do celów technologii przełączania grafiki; i nawet wtedy wymagałoby włączenia osobnego procesora graficznego, co nie pomogłoby ludziom, których układ się nie udaje.
źródło
Jeśli ktoś nadal szuka sposobów, aby to zrobić, sprawdź ten post na forum MacRumors.
Postępowałem zgodnie z instrukcjami wymienionymi w tym poście na forum, a mój 15-calowy MacBook Pro 2011 działa doskonale, używając tylko zintegrowanej grafiki. Bezwartościowa karta graficzna AMD została pomyślnie wyłączona.
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 / page-5 # post-24511780
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 /
źródło