From eaebcf638391071172d504568d661931f7e3c740 Mon Sep 17 00:00:00 2001 From: DaniAndTheWeb <57776841+DaniAndTheWeb@users.noreply.github.com> Date: Fri, 13 Jan 2023 19:20:18 +0100 Subject: GPU detection script This commit adds a script that detects which GPU is currently used in Windows and Linux --- detection.py | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 detection.py (limited to 'detection.py') diff --git a/detection.py b/detection.py new file mode 100644 index 00000000..eb4db0df --- /dev/null +++ b/detection.py @@ -0,0 +1,45 @@ +# This script detects which GPU is currently used in Windows and Linux +import os +import sys + +def check_gpu(): + # First, check if the `lspci` command is available + if not os.system("which lspci > /dev/null") == 0: + # If the `lspci` command is not available, try the `dxdiag` command on Windows + if os.name == "nt": + # On Windows, run the `dxdiag` command and check the output for the "Card name" field + # Create the dxdiag.txt file + os.system("dxdiag /t dxdiag.txt") + + # Read the dxdiag.txt file + with open("dxdiag.txt", "r") as f: + output = f.read() + + if "Card name" in output: + card_name_start = output.index("Card name: ") + len("Card name: ") + card_name_end = output.index("\n", card_name_start) + card_name = output[card_name_start:card_name_end] + else: + card_name = "Unknown" + print(f"Card name: {card_name}") + os.remove("dxdiag.txt") + if "AMD" in card_name: + return "AMD" + elif "Intel" in card_name: + return "Intel" + elif "NVIDIA" in card_name: + return "NVIDIA" + else: + return "Unknown" + else: + # If the `lspci` command is available, use it to get the GPU vendor and model information + output = os.popen("lspci | grep -i vga").read() + if "AMD" in output: + return "AMD" + elif "Intel" in output: + return "Intel" + elif "NVIDIA" in output: + return "NVIDIA" + else: + return "Unknown" + -- cgit v1.2.1