From 7358dc5a03b0652132ca9debba2aeb43f3610f2b Mon Sep 17 00:00:00 2001 From: Anton Hvornum Date: Mon, 25 Jan 2021 10:42:02 +0100 Subject: Added some basic/crude graphics checks in hardware.py --- .gitignore | 1 + archinstall/lib/hardware.py | 28 +++++++++++++++++++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index aebb999d..dc75bed8 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,4 @@ SAFETY_LOCK **/**.network **/**.target **/**.qcow2 +**/test.py diff --git a/archinstall/lib/hardware.py b/archinstall/lib/hardware.py index c9483919..93eb560f 100644 --- a/archinstall/lib/hardware.py +++ b/archinstall/lib/hardware.py @@ -1,4 +1,5 @@ import os +from .general import sys_command from .networking import list_interfaces, enrichIfaceTypes def hasWifi(): @@ -7,4 +8,29 @@ def hasWifi(): return False def hasUEFI(): - return os.path.isdir('/sys/firmware/efi') \ No newline at end of file + return os.path.isdir('/sys/firmware/efi') + +def graphicsDevices(): + cards = {} + for line in sys_command(f"lspci"): + if b' VGA ' in line: + _, identifier = line.split(b': ',1) + cards[identifier.strip().lower().decode('UTF-8')] = line + return cards + +def hasNvidiaGraphics(): + if [x for x in graphicsDevices() if 'nvidia' in x]: + return True + return False + +def hasAmdGraphics(): + if [x for x in graphicsDevices() if 'amd' in x]: + return True + return False + +def hasIntelGraphics(): + if [x for x in graphicsDevices() if 'intel' in x]: + return True + return False + +# TODO: Add more identifiers \ No newline at end of file -- cgit v1.2.3-54-g00ecf