Skip to content

Instantly share code, notes, and snippets.

@varenc
Last active June 22, 2023 01:50
Show Gist options
  • Save varenc/15ffb3e60bb79408c830f9030b7d74ab to your computer and use it in GitHub Desktop.
Save varenc/15ffb3e60bb79408c830f9030b7d74ab to your computer and use it in GitHub Desktop.
Fix Studio Display apps freezing macOS 10.15 Catalina (Chrome, Zoom, WhatsApp, Discord, etc)

tl;dr; Run sudo launchctl stop com.apple.cmio.VDCAssistant to unfreeze your apps while using a Studio Display on macOS Catalina.


If you try to use Apple's new Studio Display on macOS Catalina 10.15.7 you end up with horrible app freezing problems. Apps like Chrome, Discord, WhatsApp, Zoom, Messenger, etc, are all freezing once a Studio Display is plugged in.

As someone pointed out on this thread, the "VDCAssistant" process seems to the source of the problems. This process is just related to managing video cameras for Apple services. And apparently disabling it fixes the app freezing issue!

So to fix the issue, just temporarily disable VDCAssistant by running this command in a Terminal:

$ launchctl stop com.apple.cmio.VDCAssistant

As soon as you do this, all your apps should stop freezing. Though this only temporarily stops the VDCAssistant process. It'll start up again if you restart, re-plug in your monitor, or open any Apple app that wants the webcam, like Photo Booth or Face Time. However, when it starts up again it doesn't seem to cause the app freezing consistently, though it's still churning CPU.

Unforunately you can't permanently disable it without disabling SIP, which I don't recommend, but you can just leave this command running in a loop so that the process gets stopped every 10 seconds like this:

$ while true ; do sudo launchctl stop com.apple.cmio.VDCAssistant ; sleep 10; done

If you have SIP disabled, you can just unload the launchd job like this:

sudo launchctl unload /System/Library/LaunchDaemons/com.apple.cmio.VDCAssistant.plist 

Someone else might have a better idea for how to more permanently disable it.

Stopping the VDCAssistant launchd job will of course have other unintended side effects. It almost certainly will prevent you from using the built-in webcam on your MacBook. There might also be other problems with running a Studio Display on Catalina I haven't encoutered yet. Let me know if you find any.

Cheers

@yochanman
Copy link

hey chris, I tried inputing the command you listed:

"$ while true ; do sudo launchctl stop com.apple.cmio.VDCAssistant ; sleep 10; done"

It then showed this here..... zsh: parse error near 'do'
Then I tried without the $ sign in front, then it asked for password. I typed in, hit enter and didnt show anything after that. Chrome and other apps still seem to crash when using the studio display.

Perhaps theres something I am doing wrong on my end. I noticed my terminal is set up for zsh instead of bash. Maybe this is why it is not working on my end. Any ideas would be much appreciated. Would really love to be able to use this display with my my mac on catalina.
Cheers,
Chan

@varenc
Copy link
Author

varenc commented Jun 22, 2023

hey @yochanman, sorry for the confusion. The '$' just indicates a command prompt but I can see how that's confusion.

Sadly I upgraded from Catalina so I can't test this anymore. Are you on Catalina still? It's possible a recent Catalina update changed things.

As a quick way to test things, try more forcefully killing the VDCAssistant process by just running:

sudo pkill VDCAssistant

That just kill it once, but see if it unfreezes apps.

Another things to check is to make sure that shell snippet is actually stopping VDCAssistant. While that snippet is running, open Activity Monitor and search for 'VDCAssistant'. You either shouldn't see it (meaning it's not running), or if you do see it, keep watching it for 10 seconds and makes sure it either disappears or that its process ID (PID) changes. The shell snippet is just supposed to be stopping that process repeatedly. You can do the same thing with sudo pkill VDCAssistant but using launchctl stop is a bit safer.

Also note: this is a VERY VERY hacky way to address a problem. There's many many other issues when using a Studio Display on Catalina. I did it for about 2 weeks and then just had to upgrade macOS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment