Skip to content

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 systeminspector as follows:

const si = require('@ambicuity/systeminspector');

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)

FunctionResult objectLinuxBSDMacWinSunComments
si.graphics(cb)XXXarrays of graphics controllers and displays
controllers\XXXgraphics controllers array
...[0].vendorXXXChip manufacturer e.g. NVIDIA
...[0].subVendorXSub-Vendor e.g. Gigabyte
...[0].modelXXXgraphics controller model
...[0].busXXXon which bus (e.g. PCIe)
...[0].vramXXXVRAM size (in MB)
...[0].vramDynamicXXXtrue if dynamically allocated ram
...[0].deviceIdX(macOS only) - device ID
...[0].vendorIdX(macOS only) - vendor ID
...[0].externalX(macOS only) - is external GPU
...[0].coresX(Apple silicon only) - GPU cores
...[0].metalVersionX(macOS only) - Metal Version
...[0].subDeviceIdXX(optional nvidia-smi) - sub device ID
...[0].driverVersionXX(optional nvidia-smi) - driver version
...[0].nameXX(optional nvidia-smi) - name
...[0].pciBusXX(optional nvidia-smi) - PCI bus ID
...[0].fanSpeedXX(optional nvidia-smi) - fan speed
...[0].memoryTotalXX(optional nvidia-smi) - memory total
...[0].memoryUsedXX(optional nvidia-smi) - memory used
...[0].memoryFreeXX(optional nvidia-smi) - memory free
...[0].utilizationGpuXX(optional nvidia-smi) - utilization GPU
...[0].utilizationMemoryXX(optional nvidia-smi) - utilization memory
...[0].temperatureGpuXX(optional nvidia-smi) - temperature GPU
...[0].temperatureMemoryXX(optional nvidia-smi) - temperature memory
...[0].powerDrawXX(optional nvidia-smi) - power draw
...[0].powerLimitXX(optional nvidia-smi) - power limit
...[0].clockCoreXX(optional nvidia-smi) - clock core
...[0].clockMemoryXX(optional nvidia-smi) - clock memory
displays\XXXmonitor/display array
...[0].vendorXmonitor/display vendor
...[0].vendorIdX(macOS only) - monitor/display vendor ID
...[0].deviceNameXe.g. \\.\DISPLAY1
...[0].modelXXXmonitor/display model
...[0].productionYearX(macOS only) - production year
...[0].serialX(macOS only) - serial number
...[0].displayIdX(macOS only) - display ID
...[0].mainXXXtrue if main monitor
...[0].builtinXXtrue if built-in monitor
...[0].connectionXXXe.g. DisplayPort, HDMI
...[0].sizeXXXsize in mm horizontal
...[0].sizeYXXsize in mm vertical
...[0].pixelDepthXXXcolor depth in bits
...[0].resolutionXXXXpixel horizontal
...[0].resolutionYXXXpixel vertical
...[0].currentResXXXXcurrent pixel horizontal
...[0].currentResYXXXcurrent pixel vertical
...[0].positionXXscreen position X
...[0].positionYXscreen position Y
...[0].currentRefreshRateXXcurrent screen refresh rate

Examples

Example
const si = require('@ambicuity/systeminspector');
si.graphics().then(data => console.log(data));
json
{
  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
    }
  ]
}
Inspector AI
SystemInspector AI initialized. How can I help you query your hardware?