diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9f5e4219f..6fcb62d83 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,8 @@
# OpenCore Legacy Patcher changelog
## 0.5.3
+- Integrate FixPCIeLinkrate.efi v0.1.0
+ - Fixes link rate for PCIe 3.0 devices on MacPro3,1
## 0.5.2
- Ventura Specific Updates:
diff --git a/README.md b/README.md
index adeceb6b3..38629ae24 100644
--- a/README.md
+++ b/README.md
@@ -89,6 +89,8 @@ To run the project from source, see here: [Build and run from source](./SOURCE.m
* Endless hours helping architect and troubleshoot many portions of the project
* [flagers](https://github.com/flagersgit)
* Aid with Nvidia Web Driver research and development
+* [joevt](https://github.com/joevt)
+ * [FixPCIeLinkrate](https://github.com/joevt/joevtApps)
* MacRumors and Unsupported Mac Communities
* Endless testing, reporting issues
* Apple
diff --git a/payloads/Config/config.plist b/payloads/Config/config.plist
index e9a82e4ff..90059b1c3 100644
--- a/payloads/Config/config.plist
+++ b/payloads/Config/config.plist
@@ -2517,6 +2517,18 @@
LoadEarly
+
+ Comment
+
+ Path
+ FixPCIeLinkRate.efi
+ Enabled
+
+ Arguments
+
+ LoadEarly
+
+
Input
diff --git a/payloads/Drivers/FixPCIeLinkRate.efi b/payloads/Drivers/FixPCIeLinkRate.efi
new file mode 100644
index 000000000..41ff2625d
Binary files /dev/null and b/payloads/Drivers/FixPCIeLinkRate.efi differ
diff --git a/resources/build/firmware.py b/resources/build/firmware.py
index 176ce2265..4b67b0c5c 100644
--- a/resources/build/firmware.py
+++ b/resources/build/firmware.py
@@ -176,6 +176,12 @@ class build_firmware:
support.build_support(self.model, self.constants, self.config).get_efi_binary_by_path("XhciDxe.efi", "UEFI", "Drivers")["Enabled"] = True
support.build_support(self.model, self.constants, self.config).get_efi_binary_by_path("UsbBusDxe.efi", "UEFI", "Drivers")["Enabled"] = True
+ # PCIe Link Rate check
+ if self.model == "MacPro3,1":
+ print("- Adding PCIe Link Rate Patch")
+ shutil.copy(self.constants.link_rate_driver_path, self.constants.drivers_path)
+ support.build_support(self.model, self.constants, self.config).get_efi_binary_by_path("FixPCIeLinkRate.efi", "UEFI", "Drivers")["Enabled"] = True
+
def firmware_compatibility_handling(self):
self.dual_dp_handling()
diff --git a/resources/constants.py b/resources/constants.py
index 1e28cf64e..c50da637e 100644
--- a/resources/constants.py
+++ b/resources/constants.py
@@ -265,6 +265,10 @@ class Constants:
def diags_launcher_path(self):
return self.payload_path / Path("Drivers/diags.efi")
+ @property
+ def link_rate_driver_path(self):
+ return self.payload_path / Path("Drivers/FixPCIeLinkRate.efi")
+
@property
def list_txt_path(self):
return self.payload_path / Path("List.txt")