ENUM DRM_MODE_STATUS(9)
πΈ enum drm_mode_status β the vibe check for your modes πΈ
okay so this is enum drm_mode_status from the Kernel API Manual, and honestly bestie, it's giving "the most useful little enum you'll ever meet." It tells you the hardware support status of a mode β like, is this display mode actually gonna slay on your hardware, or is it gonna flop? π
β¨ SYNOPSIS β¨
enum drm_mode_status {
MODE_OK ,
MODE_HSYNC ,
MODE_VSYNC ,
MODE_H_ILLEGAL ,
MODE_V_ILLEGAL ,
MODE_BAD_WIDTH ,
MODE_NOMODE ,
MODE_NO_INTERLACE ,
MODE_NO_DBLESCAN ,
MODE_NO_VSCAN ,
MODE_MEM ,
MODE_VIRTUAL_X ,
MODE_VIRTUAL_Y ,
MODE_MEM_VIRT ,
MODE_NOCLOCK ,
MODE_CLOCK_HIGH ,
MODE_CLOCK_LOW ,
MODE_CLOCK_RANGE ,
MODE_BAD_HVALUE ,
MODE_BAD_VVALUE ,
MODE_BAD_VSCAN ,
MODE_HSYNC_NARROW ,
MODE_HSYNC_WIDE ,
MODE_HBLANK_NARROW ,
MODE_HBLANK_WIDE ,
MODE_VSYNC_NARROW ,
MODE_VSYNC_WIDE ,
MODE_VBLANK_NARROW ,
MODE_VBLANK_WIDE ,
MODE_PANEL ,
MODE_INTERLACE_WIDTH ,
MODE_ONE_WIDTH ,
MODE_ONE_HEIGHT ,
MODE_ONE_SIZE ,
MODE_NO_REDUCED ,
MODE_NO_STEREO ,
MODE_NO_420 ,
MODE_STALE ,
MODE_BAD ,
MODE_ERROR
};
That's a whole lotta constants, and every single one is a different flavor of "nope" (except MODE_OK, which is the main character π«Ά). Here's the full roster, no skips:
π Constants π
MODE_OKβ Mode OK. literally the only one that's good news, we stan πMODE_HSYNCβ hsync out of rangeMODE_VSYNCβ vsync out of rangeMODE_H_ILLEGALβ mode has illegal horizontal timings πMODE_V_ILLEGALβ mode has illegal vertical timingsMODE_BAD_WIDTHβ requires an unsupported linepitchMODE_NOMODEβ no mode with a matching name (bestie... it's not here π)MODE_NO_INTERLACEβ interlaced mode not supportedMODE_NO_DBLESCANβ doublescan mode not supportedMODE_NO_VSCANβ multiscan mode not supportedMODE_MEMβ insufficient video memoryMODE_VIRTUAL_Xβ mode width too large for specified virtual sizeMODE_VIRTUAL_Yβ mode height too large for specified virtual sizeMODE_MEM_VIRTβ insufficient video memory given virtual sizeMODE_NOCLOCKβ no fixed clock availableMODE_CLOCK_HIGHβ clock required is too high π₯ (in a bad way)MODE_CLOCK_LOWβ clock required is too lowMODE_CLOCK_RANGEβ clock/mode isn't in aClockRangeMODE_BAD_HVALUEβ horizontal timing was out of rangeMODE_BAD_VVALUEβ vertical timing was out of rangeMODE_BAD_VSCANβVScanvalue out of rangeMODE_HSYNC_NARROWβ horizontal sync too narrowMODE_HSYNC_WIDEβ horizontal sync too wideMODE_HBLANK_NARROWβ horizontal blanking too narrowMODE_HBLANK_WIDEβ horizontal blanking too wideMODE_VSYNC_NARROWβ vertical sync too narrowMODE_VSYNC_WIDEβ vertical sync too wideMODE_VBLANK_NARROWβ vertical blanking too narrowMODE_VBLANK_WIDEβ vertical blanking too wideMODE_PANELβ exceeds panel dimensionsMODE_INTERLACE_WIDTHβ width too large for interlaced modeMODE_ONE_WIDTHβ only one width is supportedMODE_ONE_HEIGHTβ only one height is supportedMODE_ONE_SIZEβ only one resolution is supportedMODE_NO_REDUCEDβ monitor doesn't accept reduced blankingMODE_NO_STEREOβ stereo modes not supportedMODE_NO_420β ycbcr 420 modes not supportedMODE_STALEβ mode has become stale π (it's giving expired)MODE_BADβ unspecified reasonMODE_ERRORβ error condition π
π¦ Description π¦
So like, what's this enum for? It's the filter. This enum is used to filter out modes not supported by the driver/hardware combination. That's it, that's the whole gig β it's the bouncer at the club checking IDs, except the ID is a display mode and the club is your GPU. ngl it's iconic π
π SEE ALSO π
Go read these next, iykyk β Kernel file ./include/drm/drm_modes.h, DRM_MODE_RES_MM(9), DRM_MODE_INIT(9), DRM_SIMPLE_MODE(9), struct drm_display_mode(9), DRM_MODE_FMT(9), DRM_MODE_ARG(9), drm_mode_is_stereo(9) β¨
fr fr, keep this enum close β it's your mode's vibe check and it does not miss π
okay bye bestie, this came from ./include/drm, dated October 2026, and it's the enum drm_mode_status(9) page β mwah π π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms