eaebcf6383
This commit adds a script that detects which GPU is currently used in Windows and Linux
45 lines
1.6 KiB
Python
45 lines
1.6 KiB
Python
# 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"
|
|
|