Disable Chrome Hardware Acceleration

Ricky
Contributor

Hello everyone,

We are a K12 school district that is utilizing Google Meet for allow interaction between teachers and students during a statewide mandated lockdown. Unfortunately, we are using 2015 MacBook Pros with Intel 6100 Graphics that have a driver that was messed up by Apple back in March across some 400 devices that are being used by teachers. As a result, we are having horrible stuttering and complete crashes of the OS. This is visible when we look at the generated logs of

/Library/Logs/DiagnosticReports/gpuRestart2020-04-13-091516.tailspin

That being said, the issue doesn't appear to occur when hardware acceleration is disabled on our computers. Has anybody found a way to either execute a Terminal command or (even better) push a configuration payload that turns off hardware acceleration?

7 REPLIES 7

larry_barrett
Valued Contributor

I don't have the same problem but here's how I'm dealing with Meet and OS crashes:

Disable all Chrome extensions (Google Keep grid view could be an exception)
In Activity Monitor, force quit Google Chrome Helper (GPU)

If the macs are on Catalina, you could try to turn off automatic graphics switching. System Preferences -> Energy Saver ->Automatic Graphics Switching.

I know this doesn't answer your question, but I feel like hardware acceleration is a red herring. I've had similar crashes (The Green Screen of Meet Death). What nobody wants to hear is reboots often will fix the Green Screen problem.

defaults write com.google.chrome HardwareAccelerationModeEnabled -integer n

Where n is 1 or 0. 1 will enable Hardware Acceleration. 0 will disabled it.

In theory you could have JAMF push the command, it would work real nice in Self Service if you have an outward facing JAMF instance .

Ricky
Contributor

I will go ahead and try this on a handful of machines; we will see what happens.

tech2020
New Contributor II

Struggled with verifying the change works using chrome://gpu and ensuring hardware acceleration was disabled. Finally sorted it out that it's a boolean value it wants.

Disable
defaults write ~/Library/Preferences/com.google.chrome HardwareAccelerationModeEnabled -bool false
Enable
defaults write ~/Library/Preferences/com.google.chrome HardwareAccelerationModeEnabled -bool true

Ref
https://cloud.google.com/docs/chrome-enterprise/policies/?policy=HardwareAccelerationModeEnabled

Edit: A reboot was necessary after this change to ensure it took effect, otherwise the result was inconsistent, plist caching maybe? Yet, If a user just makes the change in chrome settings it takes effect right away. Kind of makes this pointless cause forcing a restart takes so much more time and I always like to educate a user rather than have things be changed for them in the background if there is something that could be learned that could be helpful in the future. @echave

uafifi
New Contributor II

Hi @Ricky , did any of those scripts work for you? I couldn't get it to work in my environment, any troubleshooting tips? I ran it and then gave my machine a reboot. After that, it was still enabled.

Thanks

echave
New Contributor III

For what it's worth @ndtech while those commands work without error, launching Chrome reveals no change in the Advanced settings -> system -> hardware acceleration or chrome://gpu.

Tlehr
New Contributor II

Any updates to this situation @Ricky ? I have been manually testing this in chrome with users by showing them how to turn off Hardware Acceleration in Chrome. Each person I have tested with this have reported no more ongoing issues with Google Meets.

VeV
New Contributor II

We ran into the very same problem with the same model Macs last year. This year, we have a similar problem with cameras not working in Google Meetings when hardware acceleration is turned on. In an effort to address both cases, we would like to provide policy in Self Service that simply toggles this setting but have run into problems. Here is what we have:

#!/bin/bash
# Created by Vasean Everett
#
# This script determines the current setting of
# "Enable Hardware Acceleration" in Google Chrome and toggles it.
#
# * Caches and Chrome data are cleared in order to reflect the change in the GUI
#
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

loggedInUser=`python -c 'from SystemConfiguration import SCDynamicStoreCopyConsoleUser; import sys; username = (SCDynamicStoreCopyConsoleUser(None, None, None) or [None])[0]; username = [username,""][username in [u"loginwindow", None, u""]]; sys.stdout.write(username + "
");'`

pkill Chrome
# Clear Caches
rm -rf /Users/$loggedInUser/Library/Caches/Google/Chrome/Default/Cache/
rm -rf /Users/$loggedInUser/Library/Caches/Google/Chrome/Default/Media Cache/

# Clear other Chrome data
rm -rf /Users/$loggedInUser/Library/Application Support/Google/Chrome/

if [[ $(sudo -u $loggedInUser defaults read com.google.Chrome HardwareAccelerationModeEnabled) == 1 ]]; then
    sudo -u $loggedInUser defaults write com.google.Chrome HardwareAccelerationModeEnabled -bool false
    echo Disabled
else
    sudo -u $loggedInUser defaults write com.google.Chrome HardwareAccelerationModeEnabled -bool true
    echo Enabled
fi

sleep 2

Open '/Applications/Google Chrome.app'

exit 0