Graphics

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
const si = require('systeminformation');
si.graphics().then(data => console.log(data));
{
  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
    }
  ]
}