Enabling DAL plugins on macOS
How to enable DAL (Device Abstraction Layer) plugins on macOS for webcams and other devices.
Sep 21, 2021
Updated Mar 03, 2022
After macOS 10.15 (Catalina), ‘Device Abstraction Layer’ (DAL) plugins are disabled by default. DAL plugins are used across many applications including software defined webcams, device printers, and more. This guide was created after failing to setup Canon EOS Webcam Utility which may not work in some system apps on macOS Catalina. Third-party apps can specifically enable DAL plugins with the com.apple.security.cs.disable-library-validation key in their Info.plist. Modifying third party applications to add this key and re-codesign the app may be an option, however this is not possible for certain system applications such as FaceTime.
⚠️ Warning
Though this workaround is very useful, it can have some serious security implications so be aware when preforming this workaround. The method below requires disabling a feature of macOS ‘System Integrity Protection’ (SIP) which is specifically designed to protect macOS system functions and applications from being altered or modified. Keep in mind that the following will boot the system without complete file system protection.
How To Enable/Disable DAL plugins:
The primary method to enable DAL plugins requires disabling file system protection in macOS SIP. This does not completely disable SIP, just some file system protection however this could still be quite dangerous security wise.
Enabling DAL plugins (disabling a SIP feature) can be done with the following steps:
- Boot your Mac into Recovery Mode (hold Command + R during startup)
- Choose Language
- Click the ‘Utilities’ tab on the top bar
- Select ‘Terminal’ to open the Terminal application
- Type
csrutil enable --without fs
and press enter - Reboot your Mac
Disabling DAL plugins (enabling all SIP features) can be done with the following steps:
- Boot your Mac into Recovery Mode (hold Command + R during startup)
- Choose Language
- Click the ‘Utilities’ tab on the top bar
- Select ‘Terminal’ to open the Terminal application
- Type
csrutil enable
and press enter - Reboot your Mac
Note:
You can also check the status of SIP using the csrutil status
command in Terminal.