Battling Stubborn System Extensions: Adventure with OBS Virtual Camera

As a Mac enthusiast, I've always prided myself on keeping my system clean and running smoothly. However, my recent battle with the OBS Virtual Camera left me frustrated and disillusioned with software that doesn't uninstall completely. This ordeal disrupted my daily operations and highlighted a broader issue with other programs, primarily VPNs like TunnelBear, NordVPN, Little Snitch, and SurfShark.

The Unwanted Guest: OBS Virtual Camera

My journey began when I started looking for a video/audio capture program that would be straightforward to use, without compromising on recording quality.

Of course, the first thing I tried was OBS since I used to use this on Windows years ago, and OBS itself was a fantastic tool. However, at present time, it provides too many settings that would need to be constantly adjusted, so I settled on Screenflow, which also many Youtubers use, prominently MKBDH.

Problems started, once I decided to move on from OBS. Despite following the official uninstallation process, and even some "forceful" removal commands via the sudo terminal, the OBS Virtual Camera refused to leave. Whenever I joined a Zoom call or used any application requiring a camera, the ghost of OBS Virtual Camera reappeared, creating confusion and frustration, because nothing was visible/streamed to the output.

The Frustration with Incomplete Uninstallations

This isn't just an OBS issue. Later when I discovered a way to remove systems extensions & I kinda blame Apple here for making it so inconvenient too, I uncovered that many programs, especially VPNs, leave behind stubborn system extensions even after being completely uninstalled. While these extensions might get disabled, they still clutter my system. I value software that respects my space and uninstalls completely when I no longer need it. The presence of these remnants not only consumes resources but also poses potential security risks.

Finding a Solution: Reddit to the Rescue

Desperate for a solution, I turned to the MacOS community on Reddit and stumbled upon a helpful thread. Here’s how I managed to remove the stubborn OBS Virtual Camera. For a complete guide, please visit this Redditor and upvote the post if it helped you :)

  1. Reboot into recovery and initiate a sudo privileged terminal.
  2. Next by running csrutil disable you need to temporarily disable "System Integrity Protection (SIP)". After you can reboot into normal macOS. You may notice that your computer will reboot several times. I observed the same, thus assuming it's expected behavior.
  3. You may now open Terminal through macOS and locate the extensions by running systemextensionsctl list. You need to copy the teamID and the bundleID.
  4. Now you can run sudo systemextensionsctl uninstall <teamID> <bundleID> to remove the extension you previously collected the data for.
  5. Lastly, through Finder, navigate to /Library/SystemExtensions and delete all folders belonging to the extension you uninstalled through the terminal, to ensure they don't come back and that you have cleaned all remains.
  6. Lastly, boot back into the recovery and reverse step 2 to re-enable SIP. You can do so by running: csrutil enable.
  7. Reboot for one last time! Hooray, the stubborn extensions are done.

Reflecting on the Experience

This experience was a stark reminder of how important it is for developers to ensure their software uninstalls completely. Leaving behind system extensions is not only sloppy but also disrespectful to users who value a clean and efficient system. These remnants can interfere with daily tasks and cause unnecessary frustration.

A Call to Developers

To all developers out there: please, prioritize a thorough uninstallation process. Whether it’s a streaming tool like OBS or a VPN service, ensure your software either removes itself completely or at least disables extensions properly (I assume these VPN software do that but are unable to remove extensions themselves). Users should not have to dive into Terminal commands or hunt through system directories to clean up after their programs.

Conclusion

In the end, managing to remove the OBS Virtual Camera was a relief, but it should never have been such a hassle. As users, we deserve software that respects our systems and our time. By advocating for better uninstallation processes, we can hope for a future where our Macs remain pristine, free from the ghosts of software past.