For enabling Universal Control on older Macs, there are three ways.
(All of these requires you to enable the feature flag and disable SIP)
- Use khronokernel's kext: https://twitter.com/khronokernel/status/1428407216931999749
(I haven't tried this but it looks like it'd work)
- use DYLD_INSERT_LIBRARIES:
clang -o liboverride_model.dylib override_model.c -framework IOKit -framework CoreFoundation -shared
sudo launchctl debug gui/$UID/com.apple.ensemble --environment DYLD_INSERT_LIBRARIES="/Users/zhuowei/liboverride_model.dylib"
launchctl stop com.apple.ensemble
launchctl start com.apple.ensemble
- use lldb:
sudo launchctl debug gui/$UID/com.apple.ensemble --start-suspended
launchctl stop com.apple.ensemble
launchctl start com.apple.ensemble
lldb -n UniversalControl
b PlatformModelIsSupported
c
thread return 1
c
thread return 1
c
@exrector Khronokernel made a kext to patch out the AirPlay check: https://twitter.com/khronokernel/status/1407442546025013248