In this section you will learn how to get information about installed graphics conrollers and connected displays:
For function reference and examples we assume, that we imported systeminformation as follows:
const si = require('systeminformation');
Graphics Controllers, Displays
All functions in this section return a promise or can be called with a callback function (parameter cb in the function reference)
Function | Result object | Linux | BSD | Mac | Win | Sun | Comments |
---|---|---|---|---|---|---|---|
si.graphics(cb) | {...} | X | X | X | arrays of graphics controllers and displays | ||
controllers[] | X | X | X | graphics controllers array | |||
...[0].vendor | X | X | X | Chip manufacturer e.g. NVIDIA | |||
...[0].subVendor | X | Sub-Vendor e.g. Gigabyte | |||||
...[0].model | X | X | X | graphics controller model | |||
...[0].bus | X | X | X | on which bus (e.g. PCIe) | |||
...[0].vram | X | X | X | VRAM size (in MB) | |||
...[0].vramDynamic | X | X | X | true if dynamically allocated ram | |||
...[0].deviceId | X | (macOS only) - device ID | |||||
...[0].vendorId | X | (macOS only) - vendor ID | |||||
...[0].external | X | (macOS only) - is external GPU | |||||
...[0].cores | X | (Apple silicon only) - GPU cores | |||||
...[0].metalVersion | X | (macOS only) - Metal Version | |||||
...[0].subDeviceId | X | X | (optional nvidia-smi) - sub device ID | ||||
...[0].driverVersion | X | X | (optional nvidia-smi) - driver version | ||||
...[0].name | X | X | (optional nvidia-smi) - name | ||||
...[0].pciBus | X | X | (optional nvidia-smi) - PCI bus ID | ||||
...[0].fanSpeed | X | X | (optional nvidia-smi) - fan speed | ||||
...[0].memoryTotal | X | X | (optional nvidia-smi) - memory total | ||||
...[0].memoryUsed | X | X | (optional nvidia-smi) - memory used | ||||
...[0].memoryFree | X | X | (optional nvidia-smi) - memory free | ||||
...[0].utilizationGpu | X | X | (optional nvidia-smi) - utilization GPU | ||||
...[0].utilizationMemory | X | X | (optional nvidia-smi) - utilization memory | ||||
...[0].temperatureGpu | X | X | (optional nvidia-smi) - temperature GPU | ||||
...[0].temperatureMemory | X | X | (optional nvidia-smi) - temperature memory | ||||
...[0].powerDraw | X | X | (optional nvidia-smi) - power draw | ||||
...[0].powerLimit | X | X | (optional nvidia-smi) - power limit | ||||
...[0].clockCore | X | X | (optional nvidia-smi) - clock core | ||||
...[0].clockMemory | X | X | (optional nvidia-smi) - clock memory | ||||
displays[] | X | X | X | monitor/display array | |||
...[0].vendor | X | monitor/display vendor | |||||
...[0].vendorId | X | (macOS only) - monitor/display vendor ID | |||||
...[0].deviceName | X | e.g. \\.\DISPLAY1 | |||||
...[0].model | X | X | X | monitor/display model | |||
...[0].productionYear | X | (macOS only) - production year | |||||
...[0].serial | X | (macOS only) - serial number | |||||
...[0].displayId | X | (macOS only) - display ID | |||||
...[0].main | X | X | X | true if main monitor | |||
...[0].builtin | X | X | true if built-in monitor | ||||
...[0].connection | X | X | X | e.g. DisplayPort, HDMI | |||
...[0].sizeX | X | X | size in mm horizontal | ||||
...[0].sizeY | X | X | size in mm vertical | ||||
...[0].pixelDepth | X | X | X | color depth in bits | |||
...[0].resolutionX | X | X | X | pixel horizontal | |||
...[0].resolutionY | X | X | X | pixel vertical | |||
...[0].currentResX | X | X | X | current pixel horizontal | |||
...[0].currentResY | X | X | X | current pixel vertical | |||
...[0].positionX | X | screen position X | |||||
...[0].positionY | X | screen position Y | |||||
...[0].currentRefreshRate | X | X | current screen refresh rate | ||||
Example
{ controllers: [ { vendor: 'Intel Corporation', subVendor: 'ASRock Incorporation', model: 'AlderLake-S GT1', bus: 'Onboard', busAddress: '00:02.0', vram: 256, vramDynamic: false, pciID: '' } ], displays: [ { vendor: '', model: 'Color LCD', main: true, builtin: false, connection: 'Internal', sizeX: null, sizeY: null, pixelDepth: 24, resolutionX: 2560, resolutionY: 1600, currentResX: 2560, currentResY: 1600, positionX: 0, positionY: 0, currentRefreshRate: null } ] } |