MacBook Pro: Wie deaktiviere ich die diskrete GPU dauerhaft in EFI?

49

Ich möchte die NVidia GTX 750M-GPU auf meinem MacBook Pro 15 "(Retina, Mitte 2014, Mac OS X 10.10 Yosemite) deaktivieren. Ich weiß, dass ich GfxCardStatus verwenden kann, aber ich habe gelesen, dass ich eine dauerhaftere Lösung haben könnte, indem ich EFI ändere Flagge.

Meine Frage ist:

  • Wie kann ich die diskrete GPU von EFI deaktivieren?

    Ich gehe davon aus, dass dies über mehrere Neustarts hinweg so bleibt. Ich möchte auch wissen, wie ich es bei Bedarf rückgängig machen kann.

Aktualisieren:

Die Frage ist im Grunde, ob der im GfxCardStatus-Github-Problemkommentar erwähnte Befehl korrekt ist oder nicht und wie er rückgängig gemacht werden kann, wenn er nicht funktioniert.

.

Eine Antwort darauf allein ist eine richtige Antwort, aber es ist großartig, wenn Sie mir auch sagen können:

  • Wenn Sie in GfxCardStatus integrierte Grafiken erzwingen, können Sie in Mac OS X (mindestens bis Yosemite) nicht mehrere Monitore verwenden (obwohl dies mit der integrierten Iris Pro möglich ist).

    Wenn ich die diskrete GPU in EFI deaktiviere, kann macOS dann davon ausgehen, dass die integrierte GPU installiert ist, und kann ich damit mehrere Monitore verwenden?

  • Ich habe gehört, dass die gleiche EFI-Einstellung dafür verantwortlich ist, dass die integrierte GPU nicht einmal für andere Betriebssysteme als macOS angezeigt wird, und man muss es irgendwie austricksen, um zu glauben, dass es macOS ist.

    Ist das wahr? Und wenn ja, wie geht das?

Meligy
quelle
4
Dies sieht aus wie ein klassisches XY-Problem . Was versuchst du eigentlich zu erreichen?
Tetsujin
6
Sparen Sie permanent Batterie und reduzieren Sie die Hitze, ohne die Geräuschkosten zu bezahlen. Ich habe mir die NVidia besorgt, weil ich Top-Upgrades für CPU und SSD haben wollte. Dies war die vorgefertigte. Wenn ich auf eine benutzerdefinierte Erstellung warten könnte, hätte ich die integrierte GPU.
Meligy
3
Eine Lösung für diese Frage wäre auch für Besitzer von 2011 MBP-Modellen nützlich, die eine defekte diskrete GPU haben. Es ist sicherlich möglich, die diskrete GPU unter Linux zu deaktivieren, siehe meine Frage hier: apple.stackexchange.com/questions/168167/…
xpereta

Antworten:

52

Sie können die diskrete Grafikkarte in den folgenden Schritten dauerhaft deaktivieren :

AKTUALISIEREN! Versuchen Sie, die NVRAM-Variable im Einzelbenutzermodus zu bearbeiten

Die in den Schritten 1 bis 3 beschriebene Prozedur funktionierte bis macOS Sierra, aber mit dem Upgrade auf High Sierra bekam ich einen rosafarbenen / rötlichen Bildschirm und konnte nicht in den Wiederherstellungsmodus wechseln, um Schritt 3 zu wiederholen, wie ich es tun musste frühere Upgrades. Bei der Suche im Internet bin ich auf dieses GitHub-Problem gestoßen und habe erklärt, dass Sie die Schritte 1 und 2 möglicherweise durch den folgenden Befehl ersetzen können, den Sie im Einzelbenutzermodus ausführen können (Booten durch Drücken von cmd+ s):

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

1. Bereiten Sie ein bootfähiges USB-Laufwerk mit einem Nicht-GUI-Linux vor

1.1 Laden Sie ArchLinux ISO herunter

  • Dazu benötigen Sie einen funktionierenden Computer und ein Ersatz-CD / DVD / USB-Laufwerk.
  • Laden Sie das neueste Arch Linux-ISO-Image herunter .
  • Dann können Sie entweder einfach diese ISO auf CD / DVD brennen (die später entweder über zwei USB-Kabel in das SuperDrive- oder das externe DVD-Laufwerk von MBP eingelegt werden kann) oder einen bootfähigen USB-Stick erstellen .

1.2 Erstellen des bootfähigen USB mit der .iso

  • Zunächst müssen Sie das USB-Gerät identifizieren.
  • Öffnen Sie / Programme / Dienstprogramme / Terminal in MacOS und listen Sie alle Speichergeräte auf:

    diskutil list

    Ihr USB-Gerät wird ungefähr so ​​aussehen /dev/disk2 (external, physical). Vergewissern Sie sich, dass dies das Gerät ist, das Sie löschen möchten, indem Sie seinen Namen und seine Größe überprüfen, und verwenden Sie dann die Kennung für die folgenden Befehle anstelle von /dev/diskX.

  • Ein USB-Gerät wird in macOS normalerweise automatisch eingehängt, und Sie müssen es aushängen (nicht auswerfen), bevor Sie mit dd darauf schreiben können:

    diskutil unmountDisk /dev/diskX

  • Kopieren Sie nun die ISO-Image-Datei auf das Gerät. Der Befehl dd ähnelt seinem Linux-Gegenstück, beachtet jedoch das 'r' vor 'disk' für den Raw-Modus, wodurch die Übertragung viel schneller wird:

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

    Nach der Fertigstellung kann macOS beschweren, dass die eingelegte Disk von diesem Computer nicht gelesen werden kann. Wählen Sie "Auswerfen". Das USB-Gerät ist bootfähig.

2. Verwenden Sie Linux, um EFI-Versionen zu ändern

2.1 Starten Sie es

  • Legen Sie diese CD / DVD / USB in das Macbook Pro ein und halten Sie beim Booten die Wahltaste (Alt) gedrückt.
  • Wählen Sie "EFI boot" (das ist Ihr bootfähiges Installationsmedium).
  • Wenn das Menü angezeigt wird, drücken Sie die Taste "e", um die GRUB-Optionen des Menüeintrags "Arch Linux archiso x86_64 UEFI CD" zu bearbeiten, während dieser im Hauptbildschirm ausgewählt ist. Fügen Sie ihn am nomodesetEnde dieser Zeile hinzu und drücken Sie die Eingabetaste.
  • Wenn alles richtig gemacht ist, befinden Sie sich an der Linux-Konsole! (Es dauert einige Zeit, also haben Sie etwas Geduld und warten Sie auf die Eingabeaufforderung.)

2.2 Löschen Sie vorhandene EFI-Versionen

Sieht aus wie efivarfs Dateisystem standardmäßig gemountet ist! So können Sie bereits cd /sys/firmware/efi/efivarsund lsdieses Verzeichnis zu erkunden und sehen , ob es eine ist gpu-power-prefs-...variabel (wo ... ist UUID diesen Variablen).

  • Wenn es eine solche Variable gibt, ist es besser, sie mit rm zu entfernen.

    rm gpu-power-prefs-…

  • Wenn Sie beim Versuch die Meldung "Vorgang nicht zulässig" erhalten rm, bedeutet dies, dass efivarfs als schreibgeschützt bereitgestellt wurde und Sie müssen es mit Lese- / Schreibberechtigungen erneut bereitstellen und es erneut versuchen:

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

  • Wenn dies ebenfalls fehlschlägt (Sie können die Datei immer noch nicht löschen), chattrdeaktivieren Sie die Unveränderlichkeit der Datei mit dem Befehl und löschen Sie die Datei:

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

2.3 Erstellen Sie eine neue gpu-power-prefs-… Datei

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

2.4 Fügen Sie der Datei gpu-power-prefs-… Unveränderlichkeit hinzu

Dieser chattrBefehl soll eine Datei sperren, um sie nur für "Superuser" zugänglich zu machen - und damit Ihr EFI beim Booten unter keinen Umständen die Möglichkeit hat, Ihre gpu-power-prefs -... -Variable zu vermasseln

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

2.5 efivars aushängen und neu starten

Wechseln Sie in das Stammverzeichnis, um die Bereitstellung von Efivars aufzuheben:

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

Gewährleistet, dass Ihre EFI-Variablen in das Dateisystem von efivarf geschrieben werden. Bitte hängen Sie es vor dem Neustart sicher aus.

reboot

3 Entfernen Sie AMD / NVIDIA-Kontexte

Hinweis : Möglicherweise müssen Sie dies jedes Mal tun, wenn Sie Ihr Betriebssystem aktualisieren, da diese Kontexte normalerweise neu generiert werden. Sie können diese Antwort als Referenz als Favorit speichern, damit Sie bei Bedarf von einem anderen Gerät aus darauf zugreifen können.

Nach dem Deaktivieren der dGPU mithilfe von Arch blieb der normale Systemstart zur Hälfte hängen, aber der sichere Systemstart funktioniert.

3.1 Verschieben Sie AMD / NVIDIA-Textdateien in ein Sicherungsverzeichnis

Entfernen Sie alle AMD- (oder NVIDIA-, abhängig von Ihrer Karte) Kext-Dateien im Terminal in der Wiederherstellungskonsole. Der Versuch, sie im Einzelbenutzermodus zu entfernen, führt nur zu Sandbox-Fehlern. Tun Sie dies also nicht im Einzelbenutzermodus! (die, die Sie mit cmd+ booten s).

  • Wenn Sie FileVault haben, entsperren Sie es zuerst.
  • Starten Sie Recovery ( cmd+ r) direkt. Wenn dies fehlschlägt, wiederholen Sie Schritt 2 und wiederholen Sie den Vorgang (dGPU könnte nach dem Booten des Betriebssystems mit AMD / NVIDIA-Kexts wieder aktiv werden).
  • Terminal starten (Diese Befehle gelten für AMD. Wenn Sie NVIDIA haben, ändern Sie sie entsprechend.)

    diskutil cs list(Logical Volume UUID suchen: letztes Element)
    diskutil coreStorage unlockVolume UUID(UUID: vom vorherigen Befehl)
    cd /Volumes/Macintosh\ HD
    mkdir AMD_Kexts
    mv System/Library/Extensions/AMD*.* AMD_Kexts/
    reboot

Ich habe das Verfahren in diesem Link gefunden , wo Sie die Zuordnung der verschiedenen Abschnitte und einen Diskussionsthread zum Thema lesen können.

Ich habe es selbst auf einem MacBook Pro von Anfang 2011 mit einer fehlerhaften diskreten Grafikkarte versucht, die trotz des Überhitzungstricks nicht gestartet werden konnte, und bin zu einem voll funktionsfähigen Computer gekommen!

fnieto - Fernando Nieto
quelle
1
Ja, Sie haben recht, dieser Mac hat eine NVIDIA-Karte und keine AMD (ich habe die Schritte nur befolgt, ohne es zu merken). Ich konnte es jedoch immer noch nicht zum Laufen bringen, aber mit einer anderen für diesen speziellen Laptop vorgeschlagenen Lösung funktionierte es !! MBPMid2010_GPUFix . Danke für Ihre Hilfe.
Taco
2
Einige wichtige Informationen, wenn Sie eine NVidia-Karte anstelle einer AMD-Karte haben. Die Anweisungen sind korrekt, aber die folgenden Zusammenhänge müssen entfernt werden: CUDA.kext GeForce.kext GeForce7xxxGLDriver.bundle GeForceGA.plugin GeForceGLDriver.bundle GeForceVADriver.bundle NVDANV40Hal.kext NVDANV50Hal.kext NVDANV50Hal.kext Laufen 10.12.6.
Sporker
2
Es dauerte 3 Versuche (stellen Sie sicher, dass Sie Schritt 2 wiederholen), um in den Wiederherstellungsmodus zu wechseln, ohne dass es einfriert, aber es funktionierte Mitte 2012 schließlich für mein Macbook Retina Pro (mit Nvidia-Karte). So danke!
Huyz
3
Anscheinend wird dieses Problem auch durch den Kondensator neben der diskreten GPU verursacht, nicht durch die GPU selbst. Youtube.com/watch?v=DzcgT_fiVTA
cbartondock
2
Für alle, die 2013 einen Mac pro Retina mit einer Nvidia-dGPU haben, stellte ich fest, dass die dGPU nicht deaktiviert war, wenn ich nur die NVD *. * -Dateien in System / Library / Extensions verschoben habe GeF *. * -Dateien wie von @sporker vorgeschlagen, dann funktionierte die Maschine, aber a) konnte die Helligkeit nicht ändern und b) verdunkelte das Display beim Schließen nicht. Was für mich funktioniert hat, war das Verschieben der GeF-Dateien und nicht der NVD-Dateien. Die NVRAM-Methode hat auch bei mir nicht funktioniert und ich musste "fa4ce28d" durch "000fa4ce" ersetzen, aber ansonsten hat die Archlinux-Methode funktioniert. Ich kann dir nicht sagen, wie dankbar ich für diesen Beitrag bin.
Cbartondock
10

Dein Dilemma

Ich bin voll und ganz mit Ihrem Wunsch einverstanden, mit der diskreten Grafikkarte in einem MacBook Pro "Batterie zu sparen und Wärme zu sparen, ohne die Geräuschkosten zu bezahlen".

Warnung

Vergewissern Sie sich, dass Sie sich mit SSH bei Ihrem MacBook Pro anmelden können, damit Sie Ihre Handarbeit rückgängig machen können, bevor Sie Maßnahmen ergreifen, die Ihre Anzeige deaktivieren . Während die Bildschirmfreigabe mit deaktivierten Grafikkarten wahrscheinlich bei einer bestimmten Standardauflösung funktioniert, würde ich meinen Computer nicht darauf wetten.

Antworten

Was passiert, wenn ich die diskrete nVidia-Grafikkarte von EFI dauerhaft deaktiviere? Wird Mac OS glauben, dass die integrierte GPU installiert ist, und ich kann mehrere Monitore damit verwenden?

Sie verlieren die Fähigkeit, einen externen Monitor (unter einem beliebigen Betriebssystem) zu verwenden. Die externen Grafikports sind mit dem diskreten Grafikchip verbunden.

Mein eigenes MacBook Pro 2011 läuft selbst unter Last mit minimalem Lüftergeräusch bei stabilen 60 Grad, wenn die integrierte Intel-Grafik verwendet wird, und erreicht unter Last mit dem diskreten 6750 volle Lüfter (im Bereich von 4000 bis 6000 U / min). Das Problem ist echt. Auch ich wollte nur die eingebaute Grafik verwenden und einen externen Monitor ansteuern können.

Auf keinen Fall, nicht wie.

Stimmt es, dass derselbe EFI die integrierte GPU nicht einmal für andere Betriebssysteme als Mac OS anzeigt und Sie es irgendwie austricksen müssen, um zu glauben, dass es sich um Mac OS handelt?

Ja, es ist wahr. Die Intel-GPU wird vom EFI des MacBook Pro 11,3 ausgeschaltet, wenn Sie etwas anderes als Mac OS X starten. Sie haben vier Möglichkeiten, wenn Sie den integrierten Intel-Chip unter einem alternativen Betriebssystem verwenden möchten:

  1. RefInd Version 0.10.0 oder höher (empfohlen): http://www.rodsbooks.com/refind

In neueren Versionen von rEFInd ist der Hack "apple_set_os" integriert. Sie können es aktivieren, indem Sie die Option spoof_osx_version in Ihrer refind.conf setzen.

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

  2. ein gepatchtes GRUB: https://lists.gnu.org/archive/html/grub-devel/2013-12/msg00442.html https://wiki.archlinux.org/index.php/MacBookPro11,x#Getting_the_integrated_intel_card_to_work_on_11.2C3

  3. ein gepatchter Kernel: https://www.marc.info/?l=grub-deavel&m=141586614924917&w=2

Seien Sie vorsichtig im Voraus zu planen. Wenn Sie sich nicht vorbereiten, sehen Sie eine heruntergefahrene integrierte Grafikkarte und einen schwarzen Bildschirm. Natürlich können Sie jederzeit Mac OS X neu starten.

Die einfachste der oben genannten Möglichkeiten wäre die Nummer zwei - als Ersatz für das Apple EFI. Leider ist dies der Fall, bei dem Sie zu einem späteren Zeitpunkt möglicherweise überhaupt nicht mehr booten können. Apple mag es nicht, wenn Leute mit EFI spielen, und behält sich das Recht vor, Ihr Gerät dafür zu blockieren. Wenn Sie Apple Care hatten und sich noch in der Garantiezeit befanden, könnten Sie irgendwo eine Schulter zum Weinen finden. Könnte. Wenn Sie EFI ändern, gehen Sie auch Sicherheitsrisiken ein , dh Sie können das Hacken Ihres Computers erleichtern. Sie müssen in der Lage sein, auf das neueste EFI zu aktualisieren, um Ihren Patch zu entfernen.

Option eins, REFInd, stellt sich zwischen Boot und EFI, wodurch ein beträchtlicher Spielraum für Fehlfunktionen bleibt und Sie einen Stein und eine lange, harte Spur zurück zu einem funktionierenden Computer haben. Wie ernst sind diese Probleme? Viele MacBook Pro-Besitzer haben ihre Festplatte durch REFInd verloren:

Zahlreiche rEFIt-Fehlerberichte weisen auf Festplattenbeschädigungsprobleme bei Festplatten über 500 GiB hin. Ich empfehle dringend, keine Eingaben sudo bless --infozu machen, um den Status Ihrer Installation zu überprüfen, wenn Sie über eine solche Festplatte verfügen oder wenn Sie den Verdacht haben, über eine solche Festplatte zu verfügen . (Ich habe Advanced Format-Datenträger mit einer Größe von 320 GB gesehen.)

Option drei ist relativ einfach. Das Patchen von Grub ist ein Prozess, mit dem jeder frühe Hackintosh-Besitzer vertraut ist. Das Patchen von Grub funktioniert und ist leicht rückgängig zu machen, da die Änderungen nicht auf Firmware-Ebene vorgenommen werden. Wenn Sie grub konservativ patchen, wird der zusätzliche Grub-Code nur aktiviert, indem Sie beim Booten die Option / alt gedrückt halten .

Fazit

Wenn Sie es vorziehen, Ihren Computer zu reparieren, wird der gfxCardStatus von Cody Krieger in seiner werkseitigen Konfiguration immer attraktiver. Wenn Sie wirklich die Ausführung von gfxCardStatus erzwingen möchten, hat Herr Krieger an einem aufschlussreichen Gespräch teilgenommen , das zu einem Wechsel der GPU geführt hat. switchGPU setzt gfxCardStatus so früh auf diskrete oder integrierte Grafiken, dass Sie auf integrierten Grafiken ausgeführt werden können, wenn Ihre diskrete GPU ansonsten überhitzt und abstürzt. gfxCardStatus funktioniert weiterhin normal (dh Sie können nach dem Start über den Menüpunkt gfxCardStatus wieder auf die diskrete GPU umschalten). Es gibt keinen Grund, switchGPU zu installieren, es sei denn, Sie haben ernsthafte Hardwareprobleme mit Ihrer diskreten GPU, was bedeutet, dass Sie sie die ganze Zeit ausgeschaltet lassen müssen.

Koda

Nachdenken über meine eigene Situation mit dem integrierten AMD 6750 ist schon schlimm genug (so heiß und laut, dass ich auch nach dem thermischen Umgießen auf das erweiterte Garantie-Reparaturprogramm von Apple für das MacBook Pro 2011 mit AMD-Grafik zugreifen werde . Marco Arment hatte wahrscheinlich Recht, seinen 2,2-GHz-MBP mit 6750 für die 2,0-GHz-Version mit 6490 zu liefern . Während ich damals überlegte, das Gleiche zu tun, hätte ich mein MBP nach Übersee schicken müssen, um es zu ändern. Leider scheinen die MacBook-Profis von Retina weiterhin die gleichen Probleme mit Hitze und Lärm zu haben . Das 2013 MacBook Pro meiner Freundin mit nur integrierten Grafiken verhält sich viel besser.

Aufgrund von Hitze- und Geräuschproblemen mit Quad-Core-MBP-Workstations habe ich zwei Mac-Pros (einen 2006er und einen 2009er) aufgegeben und die CPUs auf acht Core- bzw. sechs Core-Prozessoren aufgerüstet. Das 2006 mit Apple AMD 5870 ist fast geräuschlos (viel leiser als das 2009) und Multitasks besser als das MBP 15 ". Die beiden silbernen Türme (Heim und Büro) kosten weniger zusammen als ein einziges neues MacBook Pro. Im Moment bin ich Ausführen des 2011 MBP 15 "auf diskreten Grafiken nur zum Mitnehmen (kein externer Monitor).

Foliovision
quelle
8

Ihr geplanter Eingriff ist möglich. Ihr geplantes Verfahren ist nicht so schwierig. Ihr geplanter Eingriff ist nicht die beste Option.

Warum diese Route nicht optimal ist

MacBook Pros müssen nach dem Anschließen eines externen Bildschirms auf die diskrete GPU (dGPU) umschalten. Eine installierte, aber deaktivierte dGPU entfernt daher die Option, einen externen Monitor mit dieser dGPU zu verwenden.

Es gibt jetzt andere Optionen, wie die Verwendung von USB-Lösungen oder externen GPUs (eGPU). Wenn Sie jedoch die gewünschte EFI-Variable festlegen, wird die direkte Ausgabe mit einem Kabel vom Thunderbolt-Port zu einem externen Monitor definitiv deaktiviert.

Wie können Sie die diskrete GPU von EFI deaktivieren?

Der Befehl, den Sie in Ihrem Update erwähnt haben, ist fast korrekt. Es fehlt nur die richtige Kennung:

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

Dadurch wird die entsprechende EFI-Variable in den NVRAM geschrieben und das MacBook Pro gezwungen, immer direkt in die integrierte GPU (iGPU) zu booten. Der Bezeichner gilt nicht nur für AMD-dGPUs, sondern für alle dGPUs. Es wurde bestätigt, dass dies mit NVidia-Chips gleichermaßen funktioniert. Es ist auch mit einem NVRAM-Reset leicht umkehrbar.

Nachteile dieser Strategie in dieser Situation

Und jetzt der Nachteil: Es gibt möglicherweise zwei kleine Probleme:

  1. Nachdem Sie diese NVRAM-Einstellungen erzwungen haben, wird macOS möglicherweise "ein wenig verwirrt". Der Chip ist immer noch da, verdrahtet und mit Strom versorgt.

  2. Um dies zu starten, müssen Sie möglicherweise die Grafiktreiber für Ihre dGPU deaktivieren. Oder zumindest der eine Text, der die eigentliche Grafikumschaltung verwaltet. Der Start kann hängen bleiben, wenn Sie versuchen, die GPU-Umschaltung zu starten.

Beide neu aufgetretenen Probleme können behoben werden, indem entweder alle NVidia-Kexts /System/Library/Extensionsan einen sicheren Sicherungsort verschoben werden . Dadurch wird der Computer gestartet und in den beschleunigten iGPU-Modus versetzt. Das Festlegen einer EFI-Variablen reicht jedoch möglicherweise nicht aus, um eine sinnvolle Energieverwaltung zu erzielen. Zu diesem Zweck müssen Sie wahrscheinlich die NVidia-Kexts zurücksetzen, mit Ausnahme derjenigen, die für die Grafikumschaltung verantwortlich sind. Andernfalls wird die dGPU unnötig stark beansprucht. Bei "voller Leistung" (umgerechnet auf> ~ 60 ° C) läuft es zumindest im Leerlauf.

Dieser Hochleistungsleerlauf ist möglicherweise die große Niederlage für Ihren Plan, das Lüftergeräusch zu reduzieren und die Batterie zu erhöhen. Anmerkung aus der Literatur: Es sollte allgemein anerkannt sein, dass das Verschieben von Kexts auch das Deaktivieren von SIP auf neueren Versionen von OS X / macOS erfordert, solange Sie solche Dinge verschieben.

Allgemeine Strategie zum Finden der zu experimentierenden Kexts: Booten ohne NVRAM-Variable in einem Aktiensystem (mit 'Standard'-NVidia-Kexts). Notieren Sie sich dann, mit welchen Erweiterungen Ihr System tatsächlich lädt kextstat. Starten Sie dann neu, wobei zuvor geladene NVidia / Geforce-Kexts entfernt und der Hack aktiviert wurden. Holen Sie sich einen detaillierten Sensor-Monitor (iStatMenus, TGPro usw.) und beobachten Sie die Temperatur auf und um die GPU. Laden Sie nun nacheinander die relevanten Kexts zurück in den Kernel mit sudo kextload /path-to/NVDA***.kext. Warten Sie jeweils ein bis zwei Minuten.

Da die Methode dieses Beitrags - oder die ebenso gültige, aber langwierige Methode: Manipulieren von EFIvars unter Linux - NVRAM ist, wird es sauber zurückgesetzt, wenn Sie einen SMC / NVRAM-Reset durchführen. Dieses NVRAM-Hacken ist der einzige Teil dieses Beitrags, der Ihnen mit Sicherheit nicht viel Ärger bereiten wird.

Durch das Zurücksetzen des NVRAM werden nur minimale Werkseinstellungen der EFI-Variablen / des NVRAM wiederhergestellt. Diese Werkseinstellung wird nicht berührt.

Dies kann so oft gemacht werden, wie Sie möchten.

Unter Linux ist das Treibersystem wesentlich besser dokumentiert und imho sauberer implementiert. Es gibt viele Möglichkeiten, dies mit Linux zu erreichen oder es zu booten. Und ein Linux (egal, ob Sie diese NVRAM / EFIvars-Einstellung respektieren oder andere Methoden anwenden) wird Ihnen viel weniger Probleme mit Treibern bereiten (wer hätte das gedacht). Für andere Betriebssysteme wie Microsoft Windows liegen mir keine Daten vor.

Um es zu wiederholen: Wenn das Betriebssystem die dGPU nicht richtig erkennt, heißt das nicht, dass sie ausgeschaltet ist. Dies kann zu unerwünschten thermischen Nebenwirkungen führen.

In diesem Handbuch für MacBook Pro 2011 finden Sie eine ähnliche Lösung und ein bisschen mehr Optionen. auch, um den NVRAM-Hack schnell rückgängig zu machen und zu wiederholen.

Mehrere Monitore und eine deaktivierte dGPU

Abgesehen davon , dass alle: gfxCardStatus (oder versuchen Sie verschiedene Versionen des Originals - sie haben verschiedene Optionen / Fähigkeiten ...) ist imho die beste Option, wenn Sie keine echten Hardwareprobleme haben, mit denen Sie sich befassen müssen. Es ist viel flexibler und Sie können in einem laufenden System ganz einfach auf dGPU oder externe Monitore zurückgreifen.

Ob über EFI / NVRAM oder mit gfxCardStatus: Wenn Sie einen Mac mit umschaltbarer Grafik auf "Nur integriert" schalten, werden die externen Anzeigemodi über den integrierten DisplayPort- oder Thunderbolt-Grafikausgang deaktiviert . Dies ist eine Folge des Hardware-Designs, das das Anzeigesignal für externe Monitore durch die dGPU leitet. Die Verwendung von nicht diskreten, sondern externen Grafikadaptern kann diese Einschränkung umgehen.

Die EFI-Einstellung, die auf anderen Betriebssystemen integriert werden soll

Wie bereits klar sein sollte, unterscheidet sich die EFI-Einstellung, mit der andere Betriebssysteme wie Linux eine umschaltbare Grafikkonfiguration "sehen" können, von der oben genannten Einstellung, mit der die dGPU deaktiviert wird. Winziges EFI-Programm zum Entsperren der Intel IGD auf dem Macbook Pro 11.3 für Linux und Windows:

Winziges EFI-Programm zum Entsperren der Intel IGD auf dem Macbook Pro 11.3 für Linux und Windows. Es wurde so konzipiert, dass es mit unveränderten EFI-Bootloadern wie Grub, RefInd usw. problemlos per Chainloading geladen werden kann.

Das EFI des Macbook Pro 11.3-Modells schaltet die Intel-GPU aus, wenn Sie etwas anderes als Mac OS X booten. Ein kleiner Trick, bei dem die Betriebssystemidentifikation gefälscht wird, ist erforderlich, um die gesamte Hardware zugänglich zu machen.

Alle Credits gehören Andreas Heider, der diesen Hack ursprünglich entdeckt hat: https://lists.gnu.org/archive/html/grub-devel/2013-12/msg00442.html

LаngLаngС
quelle
4

Verspätete Antwort auf eine Ihrer Nebenfragen: Möglicherweise muss die diskrete GPU aktiviert sein, um ein externes Display verwenden zu können. Der Grund dafür sollte sein, wie die GPUs und die Videoausgänge verdrahtet sind.

(Ich vermute, extrapoliere halb, wie die Grafikumschalttechnologie für PCs und Laptops funktioniert. Es ist keine unangemessene Annahme, dass diese Technologien auf der Arbeit der GPU-Hersteller mit Apple basieren. Dennoch: Nehmen Sie Folgendes mit einer großen Körnung von Salz.)

Bei nVidia Optimus ist das eingebaute Display eines Laptops an die integrierte GPU und der externe Display-Port an die separate GPU angeschlossen. Wenn Sie Inhalte mit der diskreten GPU auf dem eingebauten Display rendern müssen, wird die diskrete GPU der integrierten "untergeordnet". Ein Rendering-Aufruf geht zuerst an die integrierte GPU, die, sofern die diskrete GPU aktiviert ist, sie dort weiterleitet und das Ergebnis abruft, um es auf dem Display anzuzeigen.

Wenn ein externes Display angeschlossen ist, werden Rendering-Aufrufe für dieses Display direkt an die diskrete GPU weitergeleitet, da diese GPU ohnehin jede Ausgabe an dieses Display senden kann. Die integrierte GPU kann einfach überhaupt keine Videoausgabe an diesen Port senden. Ich denke nicht, dass es überhaupt möglich ist, die integrierte GPU für die diskrete GPU "untergeordnet" zu lassen, da dies aus gestalterischer Sicht in Bezug auf die Ziele der Grafik-Switching-Technologie zuallererst sinnlos wäre. und selbst dann müsste die diskrete GPU noch aktiviert sein, was Menschen, deren Chip ausfällt, nicht helfen würde.

millimoose
quelle
Interessant! Ich weiß, dass ich mit dem Lenovo ThinkPad W530 die integrierte GPU über die BIOS-Optionen einstellen konnte, und ich bin mir fast sicher, dass ich damit immer noch externe Monitore anschließen kann. Nicht 100% sicher.
Meligy
Wie gesagt, da ich die Originalartikel nicht wieder finde, bin ich mir nicht 100% sicher. Möglicherweise ist die von mir beschriebene Verkabelung nicht die einzige mögliche Konfiguration, und das W530 verfügt über die integrierte GPU, die beide Funktionen übernimmt. Das Macbook, für das Sie die diskrete GPU für ein externes Gerät ausführen müssen, weist jedoch darauf hin, dass es in der Tat so verkabelt ist, wie ich es beschrieben habe.
Millimoose
Sie benötigen die diskrete GPU, um ein externes Display zu verwenden. Die regelmäßige Verwendung der diskreten GPU erzeugt mehr Lüftergeräusche und verkürzt die Lebensdauer Ihres Motherboards. Ich benutze die diskrete GPU überhaupt nicht mehr. Ich benutze einen Desktop für schweres Heben, genieße aber immer noch den großen eingebauten 17-Zoll-Bildschirm, wenn ich unterwegs bin.
Foliovision
4

Wenn noch jemand nach Möglichkeiten sucht, dies zu tun, schau bitte in diesem MacRumors-Forum nach.

Ich habe die in diesem Forumbeitrag genannten Schritte befolgt und mein 15 "MacBook Pro 2011 funktioniert nur mit seiner integrierten Grafik einwandfrei. Die wertlose AMD-Grafikkarte wurde erfolgreich deaktiviert.

https://forums.macrumors.com/threads/force-2011-macbook-pro-8-2-with-failed-amd-gpu-to-ways-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-ways-use-intel-integrated-gpu-efi-variable-fix. 2037591 /

Phyo
quelle
Auf welcher OSX / macOS-Version haben Sie das ausprobiert?
Huyz