Docs / Graphics and display

Integrated GPU acceleration

graphics.integrated · graphics.discreteAutomaticHigh confidence

How it tests

Runs the egl-probe helper on each GPU's render node: an offscreen test frame with one pixel checked, the OpenGL ES version and renderer, then a 1080p compositor-like load for about 10 s, timed in one-second windows. Around it, the kernel log is read before and after, and the internal panel's vblanks are counted for about a second on the CRTC that drives it (read only: no DRM master, no modeset). 45 s limit (90 s when Mesa loads from the stick).

How it decides

Failed: software rendering (llvmpipe), no context, ES below 3.0, no driver or no render node. Partial: a wrong test frame; a slowest second under 30 fps (under 10 counts as stalled); the load didn't run; no vblanks on the panel's pipe, or vblanks under 50 % or over 150 % of the mode's refresh; or any GPU error the kernel logged during the test, quoted. Supported: none of these. On a timeout, failed if the kernel log shows a GPU lockup, otherwise uncertain.

How sure it is

Software fallback, a stall, a dead panel pipe and GPU faults during the test all stop a pass now. It still renders offscreen for seconds, so Hyprland's page flips and long use aren't tested.

On a real Mac

  • On a MacBook Air (13-inch, Mid 2012): 192.5 fps in the slowest second, 60 vblanks in 1.01 s at a 59.8 Hz mode.

What could mislead it

  • Could pass when it shouldn'tThe panel's pipe runs (vblanks counted) but page flips of GPU-rendered frames fail under Hyprland.
  • Could pass when it shouldn'tThe GPU hangs only after minutes of use; the load runs about 10 s.
  • Could pass when it shouldn'tWith two GPUs of the same kind, only the boot GPU's is judged.
  • Could fail when it shouldn'tA throttled or slow CPU drags the slowest second under 30 fps on a GPU that's fine.
  • Could end without a verdictMesa loading slowly from a USB 2 stick runs into the time limit (the reason it is 90 s).