Skip to content

Instantly share code, notes, and snippets.

@sigmaris
Created June 4, 2019 22:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sigmaris/54bc5702dc9219bce367838e7cfac562 to your computer and use it in GitHub Desktop.
Save sigmaris/54bc5702dc9219bce367838e7cfac562 to your computer and use it in GitHub Desktop.
drm_info from Rockpro64 on mainline Linux kernel
./drm_info /dev/dri/card0
Node: /dev/dri/card0
├───Driver: rockchip (RockChip Soc DRM) version 1.0.0 (20140818)
│ ├───DRM_CLIENT_CAP_STEREO_3D supported
│ ├───DRM_CLIENT_CAP_UNIVERSAL_PLANES supported
│ ├───DRM_CLIENT_CAP_ATOMIC supported
│ ├───DRM_CLIENT_CAP_ASPECT_RATIO supported
│ ├───DRM_CLIENT_CAP_WRITEBACK_CONNECTORS supported
│ ├───DRM_CAP_DUMB_BUFFER = 1
│ ├───DRM_CAP_VBLANK_HIGH_CRTC = 1
│ ├───DRM_CAP_DUMB_PREFERRED_DEPTH = 0
│ ├───DRM_CAP_DUMB_PREFER_SHADOW = 0
│ ├───DRM_CAP_PRIME = 3
│ ├───DRM_CAP_TIMESTAMP_MONOTONIC = 1
│ ├───DRM_CAP_ASYNC_PAGE_FLIP = 0
│ ├───DRM_CAP_CURSOR_WIDTH = 64
│ ├───DRM_CAP_CURSOR_HEIGHT = 64
│ ├───DRM_CAP_ADDFB2_MODIFIERS = 0
│ ├───DRM_CAP_PAGE_FLIP_TARGET = 0
│ ├───DRM_CAP_CRTC_IN_VBLANK_EVENT = 1
│ └───DRM_CAP_SYNCOBJ = 0
├───Device: platform rockchip,display-subsystem
├───Connectors
│ └───Connector 0
│ ├───Object ID: 45
│ ├───Type: HDMI-A
│ ├───Status: connected
│ ├───Physical size: 520x320 mm
│ ├───Subpixel: unknown
│ ├───Encoders: {0}
│ ├───Modes
│ │ ├───1920x1080@60.00 driver phsync pvsync
│ │ ├───1920x1080@60.00 driver phsync pvsync 16:9
│ │ ├───1920x1080@60.00 driver phsync pvsync interlace
│ │ ├───1920x1080@60.00 driver phsync pvsync interlace 16:9
│ │ ├───1920x1080@50.00 driver phsync pvsync 16:9
│ │ ├───1920x1080@50.00 driver phsync pvsync interlace 16:9
│ │ ├───1920x1080@24.00 driver phsync pvsync 16:9
│ │ ├───1280x1024@60.02 driver phsync pvsync
│ │ ├───1152x864@75.00 driver phsync pvsync
│ │ ├───1280x720@60.00 driver phsync pvsync
│ │ ├───1280x720@60.00 driver phsync pvsync 16:9
│ │ ├───1280x720@50.00 driver phsync pvsync 16:9
│ │ ├───1024x768@60.00 driver nhsync nvsync
│ │ ├───800x600@60.32 driver phsync pvsync
│ │ ├───720x576@50.00 driver nhsync nvsync 16:9
│ │ ├───720x576@50.00 driver nhsync nvsync 4:3
│ │ ├───720x480@59.94 driver nhsync nvsync
│ │ ├───720x480@59.94 driver nhsync nvsync 16:9
│ │ └───720x480@59.94 driver nhsync nvsync 4:3
│ └───Properties
│ ├───"EDID" (immutable): blob = 46
│ ├───"DPMS": enum {On, Standby, Suspend, Off} = On
│ ├───"link-status": enum {Good, Bad} = Good
│ ├───"non-desktop" (immutable): range [0, 1] = 0
│ ├───"TILE" (immutable): blob = 0
│ └───"CRTC_ID" (atomic): object CRTC = 34
├───Encoders
│ └───Encoder 0
│ ├───Object ID: 44
│ ├───Type: TMDS
│ ├───CRTCS: {0, 1}
│ └───Clones: {}
├───CRTCs
│ ├───CRTC 0
│ │ ├───Object ID: 34
│ │ └───Properties
│ │ ├───"ACTIVE" (atomic): range [0, 1] = 1
│ │ ├───"MODE_ID" (atomic): blob = 48
│ │ │ └───1920x1080@60.00 driver phsync pvsync
│ │ ├───"OUT_FENCE_PTR" (atomic): range [0, UINT64_MAX] = 0
│ │ └───"VRR_ENABLED": range [0, 1] = 0
│ └───CRTC 1
│ ├───Object ID: 39
│ └───Properties
│ ├───"ACTIVE" (atomic): range [0, 1] = 0
│ ├───"MODE_ID" (atomic): blob = 0
│ ├───"OUT_FENCE_PTR" (atomic): range [0, UINT64_MAX] = 0
│ └───"VRR_ENABLED": range [0, 1] = 0
└───Planes
├───Plane 0
│ ├───Object ID: 30
│ ├───CRTCs: {0}
│ ├───Formats:
│ │ ├───XRGB8888 (0x34325258)
│ │ ├───ARGB8888 (0x34325241)
│ │ ├───XBGR8888 (0x34324258)
│ │ ├───ABGR8888 (0x34324241)
│ │ ├───RGB888 (0x34324752)
│ │ ├───BGR888 (0x34324742)
│ │ ├───RGB565 (0x36314752)
│ │ ├───BGR565 (0x36314742)
│ │ ├───NV12 (0x3231564e)
│ │ ├───NV16 (0x3631564e)
│ │ └───NV24 (0x3432564e)
│ └───Properties
│ ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Primary
│ ├───"FB_ID" (atomic): object framebuffer = 47
│ ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1
│ ├───"CRTC_ID" (atomic): object CRTC = 34
│ ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0
│ ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0
│ ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 1920
│ ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 1080
│ ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0
│ ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0
│ ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 1920
│ ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 1080
│ └───"rotation": bitmask {rotate-0, reflect-x, reflect-y} = (rotate-0)
├───Plane 1
│ ├───Object ID: 32
│ ├───CRTCs: {0}
│ ├───Formats:
│ │ ├───XRGB8888 (0x34325258)
│ │ ├───ARGB8888 (0x34325241)
│ │ ├───XBGR8888 (0x34324258)
│ │ ├───ABGR8888 (0x34324241)
│ │ ├───RGB888 (0x34324752)
│ │ ├───BGR888 (0x34324742)
│ │ ├───RGB565 (0x36314752)
│ │ └───BGR565 (0x36314742)
│ └───Properties
│ ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Cursor
│ ├───"FB_ID" (atomic): object framebuffer = 0
│ ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1
│ ├───"CRTC_ID" (atomic): object CRTC = 0
│ ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0
│ ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0
│ ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 0
│ ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 0
│ ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0
│ ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0
│ ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 0
│ ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 0
│ └───"rotation": bitmask {rotate-0, reflect-y} = (rotate-0)
├───Plane 2
│ ├───Object ID: 35
│ ├───CRTCs: {1}
│ ├───Formats:
│ │ ├───XRGB8888 (0x34325258)
│ │ ├───ARGB8888 (0x34325241)
│ │ ├───XBGR8888 (0x34324258)
│ │ ├───ABGR8888 (0x34324241)
│ │ ├───RGB888 (0x34324752)
│ │ ├───BGR888 (0x34324742)
│ │ ├───RGB565 (0x36314752)
│ │ ├───BGR565 (0x36314742)
│ │ ├───NV12 (0x3231564e)
│ │ ├───NV16 (0x3631564e)
│ │ └───NV24 (0x3432564e)
│ └───Properties
│ ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Primary
│ ├───"FB_ID" (atomic): object framebuffer = 0
│ ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1
│ ├───"CRTC_ID" (atomic): object CRTC = 0
│ ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0
│ ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0
│ ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 0
│ ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 0
│ ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0
│ ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0
│ ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 0
│ ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 0
│ └───"rotation": bitmask {rotate-0, reflect-x, reflect-y} = (rotate-0)
├───Plane 3
│ ├───Object ID: 37
│ ├───CRTCs: {1}
│ ├───Formats:
│ │ ├───XRGB8888 (0x34325258)
│ │ ├───ARGB8888 (0x34325241)
│ │ ├───XBGR8888 (0x34324258)
│ │ ├───ABGR8888 (0x34324241)
│ │ ├───RGB888 (0x34324752)
│ │ ├───BGR888 (0x34324742)
│ │ ├───RGB565 (0x36314752)
│ │ └───BGR565 (0x36314742)
│ └───Properties
│ ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Cursor
│ ├───"FB_ID" (atomic): object framebuffer = 0
│ ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1
│ ├───"CRTC_ID" (atomic): object CRTC = 0
│ ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0
│ ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0
│ ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 0
│ ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 0
│ ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0
│ ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0
│ ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 0
│ ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 0
│ └───"rotation": bitmask {rotate-0, reflect-y} = (rotate-0)
├───Plane 4
│ ├───Object ID: 40
│ ├───CRTCs: {1}
│ ├───Formats:
│ │ ├───XRGB8888 (0x34325258)
│ │ ├───ARGB8888 (0x34325241)
│ │ ├───XBGR8888 (0x34324258)
│ │ ├───ABGR8888 (0x34324241)
│ │ ├───RGB888 (0x34324752)
│ │ ├───BGR888 (0x34324742)
│ │ ├───RGB565 (0x36314752)
│ │ ├───BGR565 (0x36314742)
│ │ ├───NV12 (0x3231564e)
│ │ ├───NV16 (0x3631564e)
│ │ └───NV24 (0x3432564e)
│ └───Properties
│ ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Overlay
│ ├───"FB_ID" (atomic): object framebuffer = 0
│ ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1
│ ├───"CRTC_ID" (atomic): object CRTC = 0
│ ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0
│ ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0
│ ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 0
│ ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 0
│ ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0
│ ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0
│ ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 0
│ ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 0
│ └───"rotation": bitmask {rotate-0, reflect-x, reflect-y} = (rotate-0)
└───Plane 5
├───Object ID: 42
├───CRTCs: {1}
├───Formats:
│ ├───XRGB8888 (0x34325258)
│ ├───ARGB8888 (0x34325241)
│ ├───XBGR8888 (0x34324258)
│ ├───ABGR8888 (0x34324241)
│ ├───RGB888 (0x34324752)
│ ├───BGR888 (0x34324742)
│ ├───RGB565 (0x36314752)
│ └───BGR565 (0x36314742)
└───Properties
├───"type" (immutable): enum {Overlay, Primary, Cursor} = Overlay
├───"FB_ID" (atomic): object framebuffer = 0
├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1
├───"CRTC_ID" (atomic): object CRTC = 0
├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0
├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0
├───"CRTC_W" (atomic): range [0, INT32_MAX] = 0
├───"CRTC_H" (atomic): range [0, INT32_MAX] = 0
├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0
├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0
├───"SRC_W" (atomic): range [0, UINT32_MAX] = 0
├───"SRC_H" (atomic): range [0, UINT32_MAX] = 0
└───"rotation": bitmask {rotate-0, reflect-y} = (rotate-0)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment