Mon ordinateur portable Lenovo Y700 est équipé d'un double GPU : NVIDIA GeForce GTX 960M et Intel(R) HD Graphics 530. J'utilise Ubuntu 20.04 avec les pilotes NVIDIA propriétaires. Dans les paramètres du serveur NVIDIA X, j'ai défini le profil PRIME de NVIDIA On-Demand. Maintenant, je me demande comment vérifier quel GPU un programme spécifique utilise. Je sais que je peux utiliser glxinfo | grep OpenGL
pour vérifier quel GPU le terminal utilise (cela change si j'ouvre le terminal avec une option de menu contextuel appropriée) mais comment puis-je dire si un jeu Steam ou tout autre programme s'est ouvert avec un GPU NVIDIA ou Intel ?
Réponse
Trop de publicités?Voici une réponse de bas niveau. Elle devra peut-être être affinée si elle ne correspond pas exactement à ce que vous recherchez, mais je ne peux guère vous aider davantage étant donné que je n'ai qu'un seul GPU sur mon ordinateur portable.
Identifiez d'abord le PID (process ID) de votre programme OpenGL.
/proc/PID/fd
est un répertoire qui répertorie les fichiers que votre programme a ouverts. Si vous ls -l
ce répertoire, vous verrez des fichiers comme /dev/dri/card0
, /dev/dri/card1
, etc. Le fichier dépend du GPU utilisé par votre programme OpenGL.
L'exécution est un autre moyen similaire :
lsof -p PID | fgrep /dev/dri
Vous pouvez avoir une vue d'ensemble de tous vos programmes en même temps avec :
fuser -v /dev/dri/*