-
-
Notifications
You must be signed in to change notification settings - Fork 898
Display Detection Methods
Fastfetch supports the following display detection methods. Which one answered is reported by the Display module as platformApi.
The methods are tried in order, and the first one that reports at least one display wins:
-
wayland — via
libwayland-client. Supports the most features, including per-monitor refresh rates. It cannot detect the name of the WM / DE, which is filled in separately from environment variables and the process list.- Reported as
wayland-base,wayland-zxdg,wayland-wpcolor,wayland-zxdg+wpcolor, orwayland-kdewhen the KDE output device protocol is available.
- Reported as
-
xcb-randr — via
libxcb-randr.- Reported as
xcb-randr-modewhen the current mode was found in the mode list, andxcb-randr-crtcwhen only the CRTC size is known, in which case no refresh rate is reported. Anemuinfix (xcb-randr-emu-mode,xcb-randr-emu-crtc) means the values come from an emulated RandR, as under XWayland. -
xcb-randr-monitorandxcb-randr-screenare the fallbacks used when the per-output data is not usable.
- Reported as
-
xlib-randr — via
libXrandr. Reported asxlib-randr-crtc,xlib-randr-mode,xlib-randr-monitororxlib-randr-screen, with the sameemuinfix. -
libdrm — display server independent, tried when none of the above reported a display.
- Reported as
libdrm.
- Reported as
-
sysfs-drm —
/sys/class/drm/, used whenlibdrmis unavailable or failed.- Reported as
sysfs-drm.
- Reported as
-
kenv — FreeBSD only. Reads
screen.widthandscreen.heightfrom the kernel environment.- Reported as
kenv.
- Reported as
Use --ds-force-drm to skip wayland and X11 and go straight to DRM:
| Value | Description |
|---|---|
false |
The default. Tries wayland, then x11, then drm
|
true |
Tries libdrm first, then sysfs if libdrm fails |
sysfs-only |
Uses /sys/class/drm only |
Displays are read from the CoreGraphics framework, which is what platformApi reports. --ds-force-drm has no effect.
Displays are read through GDI, which is what platformApi reports. --ds-force-drm has no effect.
Wayland, XCB and XRandR are tried first, exactly as on Linux, which is what covers Termux with an X server. When none of them reports a display, the Android display service is queried instead:
-
cmd —
/system/bin/cmd display get-displays. Needs no permission, so it also works for an app UID. Requires Android 13 (API 33). -
dumpsys —
/system/bin/dumpsys display. The only route that answers on Android 12 and older, and only foradb shelland root. - getprop — a vendor property that only some devices set. The last resort.
platformApi reports which of the three answered: cmd, dumpsys or getprop.
Displays are read from the Haiku screen API, which is what platformApi reports as BScreen.