Skip to content

Commit ab01a91

Browse files
committed
Added Universal Control unlocking
Requires macOS 12.3 Beta 1 or newer
1 parent d98a31f commit ab01a91

File tree

7 files changed

+188
-104
lines changed

7 files changed

+188
-104
lines changed

Changelog.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,12 @@ FeatureUnlock Changelog
44
- Removed AssetCache Patch
55
- Superseded by [RestrictEvents's `-revasset`](https://github.com/acidanthera/RestrictEvents)
66
- Renamed MODULE_SHORT to "fu_fix"
7-
- Lower OS requirement to macOS Sierra
7+
- Lowered OS requirement to macOS Sierra
88
- NightShift introduced in 10.12.4
99
- Improved OS performance during patching
10+
- Added Universal Control unlocking for unsupported Macs
11+
- Re-introduced by Apple with macOS 12.3
12+
- iPadOS has iPad specific blacklists, patching is ineffective
1013

1114
#### v1.0.5
1215
- Fixed AirPlay to Mac UDM patching regression

FeatureUnlock.xcodeproj/project.pbxproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,16 @@
77
objects = {
88

99
/* Begin PBXBuildFile section */
10+
AE22301427A3354F00BCB298 /* kern_usr_patch.hpp in Headers */ = {isa = PBXBuildFile; fileRef = AE22301327A3354F00BCB298 /* kern_usr_patch.hpp */; };
1011
AE9660BD273F482D00EDFBA7 /* kern_dyld_patch.hpp in Headers */ = {isa = PBXBuildFile; fileRef = AE9660BC273F482D00EDFBA7 /* kern_dyld_patch.hpp */; };
11-
AE9660C1274035C700EDFBA7 /* kern_args.hpp in Headers */ = {isa = PBXBuildFile; fileRef = AE9660C0274035C700EDFBA7 /* kern_args.hpp */; };
1212
CEDE8D7B22984F8F00C73034 /* libkmod.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CEDE8D6E22984F7700C73034 /* libkmod.a */; };
1313
CEDE8D7C22984FE600C73034 /* plugin_start.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEDE8D7822984F7700C73034 /* plugin_start.cpp */; };
1414
CEDE8D7E2298501600C73034 /* kern_start.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEDE8D7D2298501600C73034 /* kern_start.cpp */; };
1515
/* End PBXBuildFile section */
1616

1717
/* Begin PBXFileReference section */
18+
AE22301327A3354F00BCB298 /* kern_usr_patch.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = kern_usr_patch.hpp; sourceTree = "<group>"; };
1819
AE9660BC273F482D00EDFBA7 /* kern_dyld_patch.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = kern_dyld_patch.hpp; sourceTree = "<group>"; };
19-
AE9660C0274035C700EDFBA7 /* kern_args.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = kern_args.hpp; sourceTree = "<group>"; };
2020
CEB32296265A3F4B001F646A /* Changelog.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = Changelog.md; sourceTree = "<group>"; };
2121
CEB32297265A3F4B001F646A /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
2222
CEDE8CE522984C0800C73034 /* FeatureUnlock.kext */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = FeatureUnlock.kext; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -102,7 +102,7 @@
102102
CEDE8CEC22984C0800C73034 /* Info.plist */,
103103
CEDE8D7D2298501600C73034 /* kern_start.cpp */,
104104
AE9660BC273F482D00EDFBA7 /* kern_dyld_patch.hpp */,
105-
AE9660C0274035C700EDFBA7 /* kern_args.hpp */,
105+
AE22301327A3354F00BCB298 /* kern_usr_patch.hpp */,
106106
);
107107
path = FeatureUnlock;
108108
sourceTree = "<group>";
@@ -205,7 +205,7 @@
205205
buildActionMask = 2147483647;
206206
files = (
207207
AE9660BD273F482D00EDFBA7 /* kern_dyld_patch.hpp in Headers */,
208-
AE9660C1274035C700EDFBA7 /* kern_args.hpp in Headers */,
208+
AE22301427A3354F00BCB298 /* kern_usr_patch.hpp in Headers */,
209209
);
210210
runOnlyForDeploymentPostprocessing = 0;
211211
};

FeatureUnlock/kern_args.hpp

Lines changed: 0 additions & 35 deletions
This file was deleted.

FeatureUnlock/kern_dyld_patch.hpp

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
// When developing new patch sets, ensure that all patches applied are intentional
1212

1313
#include <stdint.h>
14-
#pragma mark - Sidecar/AirPlay/UniversalControl Patch Set
14+
#pragma mark - Sidecar/AirPlay Patch Set
1515

1616
// SidecarCore/AirPlaySupport share 1 large array of unsupported models.
1717
// Namely models that do not support H.265 support:
@@ -26,19 +26,6 @@
2626
// iPad4,1 iPad4,2 iPad4,3 iPad4,4 iPad4,5 iPad4,6 iPad4,7 iPad4,8 iPad4,9
2727
// iPad5,1 iPad5,2 iPad5,3 iPad5,4 iPad6,11 iPad6,12
2828

29-
// UniversalControl has an identical array however mixes the iPad models in the middle of the Mac models.
30-
// Since we patch model families individually, we're granted UniversalControl support without extra patching.
31-
32-
// iMac13,1 iMac13,2 iMac13,3 iMac14,1 iMac14,2 iMac14,3 iMac14,4 iMac15,1 iMac16,1 iMac16,2
33-
// iPad4,1 iPad4,2 iPad4,3 iPad4,4 iPad4,5 iPad4,6 iPad4,7 iPad4,8 iPad4,9
34-
// iPad5,1 iPad5,2 iPad5,3 iPad5,4 iPad6,11 iPad6,12
35-
// MacBook8,1
36-
// MacBookAir5,1 MacBookAir5,2 MacBookAir6,1 MacBookAir6,2 MacBookAir7,1 MacBookAir7,2
37-
// MacBookPro9,1 MacBookPro9,2 MacBookPro10,1 MacBookPro10,2
38-
// MacBookPro11,1 MacBookPro11,2 MacBookPro11,3 MacBookPro11,4 MacBookPro11,5 MacBookPro12,1
39-
// Macmini6,1 Macmini6,2 Macmini7,1
40-
// MacPro5,1 MacPro6,1
41-
4229
// In addition to this, AirPlaySupport has an extra array for excluding models that do not support a 'Unified Driver Model (UDM)'
4330
// AirPlaySupport "requires" all models to have UART-based Wifi, however no issues have been found on legacy devices.
4431

@@ -52,7 +39,9 @@
5239
// MacBookPro14,1 MacBookPro14,2 MacBookPro14,3
5340
// MacMini8,1
5441

55-
// Note Macmini is mistyped as MacMini, so unsure whether the blacklist sucessfully applies to said model. Macmini8,1 is a UDM-based Device
42+
// Note Macmini is mistyped as MacMini, so unsure whether the blacklist sucessfully applies to said model.
43+
// Macmini8,1 is a UDM-based Device, however it exempt from support ("Mac mini (2020 and later)"):
44+
// https://www.apple.com/macos/monterey/features/
5645

5746
static const uint8_t kSideCarAirPlayiMacOriginal[] = {
5847
// iMac13,1 iMac13,2 iMac13,3 iMac14,1 iMac14,2 iMac14,3 iMac14,4 iMac15,1 iMac16,1 iMac16,2

0 commit comments

Comments
 (0)