Welche GPU ist aktiv?

Kaito

Kaito

Aktives Mitglied
Thread Starter
Dabei seit
31.12.2005
Beiträge
7.093
Reaktionspunkte
1.844
Ich würde gerne via dem Terminal herausfinden, welche GPU aktiv ist, ob iGPU oder dediziert. Ich mache es mir hier einfach und definiere alle Intel GPUs als interne GPUs, alle anderen sind dediziert (gibt ja noch keine APU Macs).
Es sollte via dem Terminal gehen, damit ich es in Skriptsprachen aufrufen kann, ohne eine Bibliothek/ein Modul für sie zu bauen (system()). Ein kleines Cocoa Programm schreiben, welches das abfragt und zurückgibt, würde ich ungern machen, da ich sonst auch diese Binary verteilen muss. system_profiler SPDisplaysDataType würde ich nur ungern parsen (aus Ermangelung eines MBP mit dGPU kann ich gerade auch gar nicht prüfen wie hier der Output aussieht).

Hat irgendjemand eine einfache Idee, ohne Abhängigkeiten?
 
Zuletzt bearbeitet:
Ich bin grad unterwegs aber ich mein es gab da in der Tat einen Terminal-Befehl mit dem man Rückschlüsse auf die benutzte Grafik ziehen konnte. Ich komm nur nicht mehr drauf wie der hieß, da müsste ich daheim mal schaun.
 
Ach, das hab ich total vergessen. Sorry Kaito.

Via Open GL kannst du das herausfinden. Tippe dazu

glxinfo|egrep "OpenGL vendor|OpenGL renderer"

ins Terminal ein. Nach kurzer Zeit bekommst du dann als Antwort so etwas wie:

OpenGL vendor string: Intel Inc.
OpenGL renderer string: Intel HD Graphics 3000 OpenGL Engine


womit klar sein dürfte, dass mein 15" MBP grade auf der integrierten Grafik rumeiert ;)
Du kannst auch nur

glxinfo|egrep "OpenGL"

eingeben. Das bringt nur nicht mehr Infos über die grade aktive Grafikkarte ;)
 
  • Gefällt mir
Reaktionen: Kaito und iPhill
Ah, ja das hatte ich gefunden, nur leider geht dabei ja X11 auf... :S Für ein Script (embedded in einem anderen Programm) das regelmäßig ausführt daher etwas unpraktisch. Wenn das ohne gehen würde, würde ich diese Lösung direkt verwenden.
 
müsste auch über die ioreg gehen, hab allerdings hier keinen mac zur hand, um da jetzt genau die unterschiede raus zu filtern …

notfalls die source von gfxcardstatus laden und plündern nach der funktion …
 
notfalls die source von gfxcardstatus laden und plündern nach der funktion …
Es sollte via dem Terminal gehen, damit ich es in Skriptsprachen aufrufen kann, ohne eine Bibliothek/ein Modul für sie zu bauen (system()). Ein kleines Cocoa Programm schreiben, welches das abfragt und zurückgibt, würde ich ungern machen, da ich sonst auch diese Binary verteilen muss.
Aber ich durchwühl mal ioreg, vlt. findet sich was.

Lässt sich das nicht aus dem System Profiler rausziehen ?
system_profiler SPDisplaysDataType würde ich nur ungern parsen (aus Ermangelung eines MBP mit dGPU kann ich gerade auch gar nicht prüfen wie hier der Output aussieht).
Wie schon gesagt, einen eigenen Parser dafür will ich nicht schreiben. Den XML Output kann ich nicht nehmen, da in der Skriptumgebung, für die ich es benötige, kein XML Parser dabei ist und ich dann eine Dependency hätte.
Ich habe aber auch gar nicht genug Ausgaben vom system_profiler um zu sehen wie er es in welchem Fall angibt.
 
Zuletzt bearbeitet:
Probier doch mal:

Code:
system_profiler SPDisplaysDataType | grep "Chipset Model"

Bei mir gibt das die Zeile

Chipset Model: ATI Radeon HD 5870

aus
 
Damit weisst du ja noch nicht welcher aktiv ist.
 
ioreg | grep AMD
gibt einiges aus. Wäre jetzt interessant zu wissen wie die Ausgabe für Rechner mit iGPU und dGPU aussieht. Ich vermute mal beides wird aufgeführt. Frage ist, ob das "active" hier wirklich aktiv im Sinne von "rechnet" bedeutet, oder ob das eher ein "steht bereit" ist.
 
Zurück
Oben Unten