3

This problem has been bugging me for a while now and I'm not sure what to make of it. When AppleIntelHD5000Graphics.kext gets loaded up the display freezes wherever it was. This usually happens right after the desktop loads but sometimes it will last 2-3 minutes before locking up and sometimes it will freeze before boot up finishes (Apple logo screen).

I know it is this particular driver because I never have the issue in single user mode, recovery mode, or running Linux. It also won't freeze after a "normal boot" if I don't let it load that particular kext. Animations are very choppy and the computer will run much warmer but that is to be somewhat expected given that there is no "hardware acceleration".

Curiously enough, if I plug an external monitor into the HDMI port while its booting it will run both displays with no issue.

I can also verify that (at least part of) the OS is still running because I can SSH into it. However, I cannot get VNC to connect.

I have tried resetting both the SMC and NVRAM and that hasn't done much of anything.

At this point I have exhausted my current knowledge. Does anyone have any idea where the problem could be? Or what else I could do to debug?

PS: Diagnostics say everything is fine

7
  • 1
    What is your OS X version 10.??.?
    – Ruskes
    Oct 9, 2018 at 20:18
  • 1
    @Buscar웃 Currently on 10.13.6. I tried a few versions of 10.12 and 10.11 as well.
    – JLegendre
    Oct 9, 2018 at 20:23
  • 1
    Since the Intel graphics drivers come as part OS X package, probably you should try the Restore. And what do you mean by gets loaded ? When did that happens ?
    – Ruskes
    Oct 9, 2018 at 20:39
  • 1
    @Buscar웃 I have tried to restore multiple times. And by "gets loaded" I mean when the kernel initializes the driver
    – JLegendre
    Oct 9, 2018 at 21:32
  • Somehow your Linux has managed to change the PCI settings for the Display ,and Intel can not find it.
    – Ruskes
    Oct 9, 2018 at 22:07

1 Answer 1

0

same situation here mid-2015 MBP. finally solved.

create boot-time script (eg, /usr/local/bin/gpu.sh) to force use of GPU (vs integrated/switching):

#!/usr/bin/env bash
/usr/bin/pmset -a gpuswitch 1

make it executable

chmod 555 /usr/local/bin/gpu.sh

create a LaunchDaemon (eg, /Library/LaunchDaemons/com.gpu.plist) to call said script:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
      <dict>
        <key>EnvironmentVariables</key>
        <dict>
          <key>PATH</key>
          <string>/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:</string>
        </dict>
        <key>Label</key>
        <string>com.gpu</string>
        <key>Program</key>
        <string>/usr/local/bin/gpu.sh</string>
        <key>RunAtLoad</key>
        <true/>
        <key>KeepAlive</key>
        <false/>
        <key>LaunchOnlyOnce</key>
        <true/>
        <key>StandardOutPath</key>
        <string>/var/log/gpu.log</string>
        <key>StandardErrorPath</key>
        <string>/var/log/gpu.log</string>
        <key>UserName</key>
        <string>root</string>
        <key>GroupName</key>
        <string>wheel</string>
        <key>InitGroups</key>
        <true/>
      </dict>
    </plist>

permanently add the plist to the Launch Daemon:

sudo launchctl load -w /Library/LaunchDaemons/com.gpu.plist

reboot and enjoy GPU-only enabled MBP with internal display functional without external display attached (and still capable to driving eternal display)

1
  • As it’s currently written, your answer is unclear. Please edit to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers in the help center.
    – Community Bot
    Jan 19 at 20:36

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .