diff --git a/Scripts/compatibility_checker.py b/Scripts/compatibility_checker.py index ef306d7..673cb32 100644 --- a/Scripts/compatibility_checker.py +++ b/Scripts/compatibility_checker.py @@ -127,7 +127,9 @@ class CompatibilityChecker: max_version = min_version = None if (max_version == min_version and max_version == None) or \ - any(monitor_info.get("Connected GPU", gpu_name) != gpu_name for monitor_name, monitor_info in self.hardware_report.get("Monitor", {}).items() if monitor_info.get("Connector Type") == "Internal"): + any(monitor_info.get("Connected GPU", gpu_name) != gpu_name for monitor_name, monitor_info in self.hardware_report.get("Monitor", {}).items() if monitor_info.get("Connector Type") == "Internal") or \ + ( "Intel" in gpu_manufacturer and device_id.startswith(("01", "04", "0A", "0C", "0D")) and \ + all(monitor_info.get("Connector Type") == "VGA" and monitor_info.get("Connected GPU", gpu_name) == gpu_name for monitor_name, monitor_info in self.hardware_report.get("Monitor", {}).items())): gpu_props["Compatibility"] = (None, None) else: gpu_props["Compatibility"] = (max_version, min_version) @@ -142,7 +144,13 @@ class CompatibilityChecker: not "Intel" in gpu_manufacturer and \ not any(monitor_info.get("Connected GPU", gpu_name) == gpu_name for monitor_name, monitor_info in self.hardware_report.get("Monitor", {}).items()) else "" )) - connected_monitors = list("{} ({})".format(monitor_name, monitor_info.get("Connector Type")) for monitor_name, monitor_info in self.hardware_report.get("Monitor", {}).items() if monitor_info.get("Connected GPU") == gpu_name) + connected_monitors = [] + for monitor_name, monitor_info in self.hardware_report.get("Monitor", {}).items(): + if monitor_info.get("Connected GPU") == gpu_name: + connected_monitors.append("{} ({})".format(monitor_name, monitor_info.get("Connector Type"))) + if "Intel" in gpu_manufacturer and device_id.startswith(("01", "04", "0A", "0C", "0D")): + if monitor_info.get("Connector Type") == "VGA": + connected_monitors[-1] = "\033[0;31m{}{}\033[0m".format(connected_monitors[-1][:-1], ", unsupported)") if connected_monitors: print("{}- Connected Monitor{}: {}".format(" "*6, "s" if len(connected_monitors) > 1 else "", ", ".join(connected_monitors))) diff --git a/Scripts/config_prodigy.py b/Scripts/config_prodigy.py index ccfcb84..f63aa25 100644 --- a/Scripts/config_prodigy.py +++ b/Scripts/config_prodigy.py @@ -80,7 +80,7 @@ class ConfigProdigy: igpu_properties["device-id"] = "26010000" igpu_properties["AAPL,snb-platform-id"] = "10000300" if platform == "Desktop": - if not any(monitor_info.get("Connected GPU") == integrated_gpu[0] for monitor_name, monitor_info in monitor.items()): + if not any(monitor_info.get("Connected GPU") == integrated_gpu[0] for monitor_name, monitor_info in monitor.items() if monitor_info.get("Connector Type") != "VGA"): igpu_properties["AAPL,snb-platform-id"] = "00000500" igpu_properties["device-id"] = "02010000" elif platform == "Laptop": @@ -92,7 +92,7 @@ class ConfigProdigy: if not device_id in native_supported_ids: igpu_properties["device-id"] = "62010000" if platform == "Desktop": - if not any(monitor_info.get("Connected GPU") == integrated_gpu[0] for monitor_name, monitor_info in monitor.items()): + if not any(monitor_info.get("Connected GPU") == integrated_gpu[0] for monitor_name, monitor_info in monitor.items() if monitor_info.get("Connector Type") != "VGA"): igpu_properties["AAPL,ig-platform-id"] = "07006201" igpu_properties["AAPL,ig-platform-id"] = "0A006601" elif platform == "NUC": @@ -112,7 +112,7 @@ class ConfigProdigy: if not device_id in native_supported_ids: igpu_properties["device-id"] = "12040000" if platform == "Desktop": - if not any(monitor_info.get("Connected GPU") == integrated_gpu[0] for monitor_name, monitor_info in monitor.items()): + if not any(monitor_info.get("Connected GPU") == integrated_gpu[0] for monitor_name, monitor_info in monitor.items() if monitor_info.get("Connector Type") != "VGA"): igpu_properties["AAPL,ig-platform-id"] = "04001204" return igpu_properties igpu_properties["AAPL,ig-platform-id"] = "0300220D"