diff --git a/Resources/Build.py b/Resources/Build.py index 9e1fe8736..e20cb6aa5 100644 --- a/Resources/Build.py +++ b/Resources/Build.py @@ -539,7 +539,7 @@ class BuildOpenCore: print(f"- Found dGPU ({i + 1}): {Utilities.friendly_hex(device.vendor_id)}:{Utilities.friendly_hex(device.device_id)}") self.config["#Revision"][f"Hardware-MacPro-dGPU-{i + 1}"] = f"{Utilities.friendly_hex(device.vendor_id)}:{Utilities.friendly_hex(device.device_id)}" - if device.pci_path: + if device.pci_path and device.acpi_path: print(f"- Found dGPU ({i + 1}) at {device.pci_path}") if isinstance(device, device_probe.AMD): print("- Adding Mac Pro, Xserve DRM patches") diff --git a/Resources/device_probe.py b/Resources/device_probe.py index 693fa4b54..54f98dcf2 100644 --- a/Resources/device_probe.py +++ b/Resources/device_probe.py @@ -30,6 +30,7 @@ class PCIDevice: # ioregistryentry: Optional[ioreg.IORegistryEntry] = None name: Optional[str] = None # Name of IORegistryEntry model: Optional[str] = None # model property + acpi_path: Optional[str] = None pci_path: Optional[str] = None # def __getstate__(self): @@ -48,6 +49,8 @@ class PCIDevice: device = cls(vendor_id, device_id, int.from_bytes(properties["class-code"][:6], byteorder="little"), name=ioreg.io_name_t_to_str(ioreg.IORegistryEntryGetName(entry, None)[1])) if "model" in properties: device.model = properties["model"].strip(b"\0").decode() + if "acpi_path" in properties: + device.acpi_path = properties["acpi-path"].strip(b"\0").decode() device.populate_pci_path(entry) return device