diff --git a/CHANGELOG.md b/CHANGELOG.md index c6e780567..197654c39 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## 0.3.4 - Resolves Install USB Creation using incorrect installer +- Resolves `installer` failing to extract InstallAssistant in older OSes +- Resolves certain Samsung NVMe drives appearing as external on Mac Pros ## 0.3.3 - Disable Asset Caching support with spoofless approach diff --git a/resources/build.py b/resources/build.py index 408548987..395a341c4 100644 --- a/resources/build.py +++ b/resources/build.py @@ -234,8 +234,14 @@ class BuildOpenCore: print("- Falling back to -nvmefaspm") self.config["NVRAM"]["Add"]["7C436110-AB2A-4BBB-A880-FE41995C9F82"]["boot-args"] += " -nvmefaspm" - if self.get_kext_by_bundle_path("NVMeFix.kext")["Enabled"] is False: - self.enable_kext("NVMeFix.kext", self.constants.nvmefix_version, self.constants.nvmefix_path) + if (controller.vendor_id != 0x144D and controller.device_id != 0xA804 and self.model not in ["MacBookPro13,3", "MacBookPro14,3"]): + # Avoid injecting NVMeFix when a native Apple NVMe drive is present + # Note on 2016-2017 MacBook Pros, 15" devices used a stock Samsung SSD with IONVMeController + # Technically this should be patched based on NVMeFix.kext logic, + # however Apple deemed the SSD unsupported for enhanced performance + # https://github.com/acidanthera/NVMeFix/blob/1.0.9/NVMeFix/NVMeFix.cpp#L220-L225 + if self.get_kext_by_bundle_path("NVMeFix.kext")["Enabled"] is False: + self.enable_kext("NVMeFix.kext", self.constants.nvmefix_version, self.constants.nvmefix_path) if not nvme_devices: print("- No 3rd Party NVMe drives found") diff --git a/resources/device_probe.py b/resources/device_probe.py index c14dd9060..452f5ed78 100644 --- a/resources/device_probe.py +++ b/resources/device_probe.py @@ -453,19 +453,8 @@ class Computer: controller = NVMeController.from_ioregistry(parent) controller.aspm = aspm - if ( + if controller.vendor_id != 0x106B: # Handle Apple Vendor ID - controller.vendor_id != 0x106B - and ( - # Handle soldered Samsung SSDs - controller.vendor_id != 0x144D and controller.device_id != 0xA804 - ) - ): - # Avoid patching when a native Apple NVMe drive is present - # Note on 2016-2017 MacBook Pros, 15" devices used a stock Samsung SSD with IONVMeController - # Technically this should be patched based on NVMeFix.kext logic, - # however Apple deemed the SSD unsupported for usage with AppleNVMeController class - # https://github.com/acidanthera/NVMeFix/blob/1.0.9/NVMeFix/NVMeFix.cpp#L220-L225 self.storage.append(controller) ioreg.IOObjectRelease(parent)