GPU detection script
This commit adds a script that detects which GPU is currently used in Windows and Linux
This commit is contained in:
parent
cbf4b3472b
commit
eaebcf6383
1 changed files with 45 additions and 0 deletions
45
detection.py
Normal file
45
detection.py
Normal file
|
@ -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"
|
||||
|
Loading…
Reference in a new issue