I recently upgraded my iMac to High Sierra, and all of a sudden once or twice a day it would lock up. The mouse would work, and if I had audio playing it kept working. But no matter what I clicked or what I typed, the screen was otherwise frozen. Eventually I’d give up and power the computer off and on.
At other times, the computer would keep working but the rendering would be glitchy, like this:
I found lots of vague, similar sounding complaints on the web, but in the end I determined that the problem was due to a driver problem with my NVIDIA GPU. Here’s how I fixed it.
First, do you really have an NVIDIA GPU?
Go to the Apple menu, and select About This Mac:
That brings up a window like this:
Do you have an NVIDIA GPU? If not, then I probably can’t help you. If you do, then you have two things you can do to try to fix this.
Disable Chrome’s use of the GPU
If you enter chrome://flags/#enable-
Change GPU Rasterization to Disabled. That seems to fix the problem, at the cost of a bit of lost performance. But it’s also a good first test — if this fixes it, then you know you’ve found the right cause.
Install NVIDIA’s own Drivers
Instead of using the drivers Apple supplies with High Sierra, you can use NVIDIA’s own drivers.
For High Sierra version 10.13.1, the driver is here (last checked 12/6/17):
Note that if you read this after this is written (
November 1, 2017 December 6, 2017), there may well be newer and better drivers. Installing this driver fixed the problem for me, and so I turned Chrome’s GPU rasterization setting back to Default. And then the problem crept back, so I’ve turned the GPU rasterization off again until NVidia reports that the drivers are no longer beta for my machine.
There are a bunch of applications that have their own, embedded version of Chrome — Slack, Atom, etc. I’m not sure if you change the flags in Chrome whether it affects them or not, but I think it does not. So if you have one of them open too, you may still get a lockup even if you’ve changed Chrome’s settings. Updating the driver seems to fix them all.