Ich habe von jemanden von dem Programm drm_info erfahren. Das spuckt bis zu einem halben Megabyte Informationen über das aus, welche Eigenschaften der Grafiktreiber, Connector (z. B. HDMI) und der Compositor haben. Die können alle einen anderen Farbmodus(?) fahren.
Wegen der exzessiven Menge der Daten empfehle ich, die Ausgabe in eine Datei umzuleiten.
Da drin kann man dann z. B. sehen:
Aktuell gehe ich davon aus, dass er wirklich HDR10 @120 Hz mit 4:4:4 in Richtung Monitor schiebt, weil ARGB2101010 äquivalent zu 4:4:4 sind. Sicher bin ich mir bei der ganzen Sache aber nicht. 🤷♂️
drm_info /dev/dri/card1 > card1.txtWegen der exzessiven Menge der Daten empfehle ich, die Ausgabe in eine Datei umzuleiten.
Da drin kann man dann z. B. sehen:
- Der Connector 2 ist bei mir der aktive HDMI-Ausgang.
"max bpc": range [8, 16] = 10sagt aus, dass 10 Bits/Farbe am Ausgang verwendet werden (bpc = bit per color)"CRTC_ID" (atomic): object CRTC = 417 CRTCÜber diese ID findet man weiter unten mehr Informationen
- CRTCs →CRTC 0 →Object ID: 417 zeigt mehr Informationen über den aktuellen Modus(?)
- Planes → Plane 3
- → Properties →
CRTC_ID" (atomic): object CRTC = 417noch mehr Informationen - → Legacy info →
FB ID: 478→Format: ARGB2101010 (0x30335241)der Modus vom Compositor(?). In meinem Fall sind das 2 Bits für den Alpha-Kanal und 10 Bits je Farbkanal.
- → Properties →
Code:
Node: /dev/dri/card1
(...)
├───Connectors
(...)
│ ├───Connector 2
│ │ ├───Object ID: 448
│ │ ├───Type: HDMI-A
│ │ ├───Status: connected
│ │ ├───Physical size: 1210×680 mm
│ │ ├───Subpixel: unknown
│ │ ├───Encoders: {2}
│ │ ├───Modes
│ │ │ ├───3840×2160@60.00 preferred driver phsync pvsync
│ │ │ ├───4096×2160@60.00 driver phsync pvsync 256:135
│ │ │ ├───4096×2160@59.94 driver phsync pvsync 256:135
│ │ │ ├───4096×2160@50.00 driver phsync pvsync 256:135
│ │ │ ├───4096×2160@24.00 driver phsync pvsync 256:135
│ │ │ ├───4096×2160@23.98 driver phsync pvsync 256:135
│ │ │ ├───3840×2160@120.00 driver phsync pvsync 16:9
│ │ │ ├───3840×2160@119.88 driver phsync pvsync 16:9
│ │ │ ├───3840×2160@60.00 driver phsync pvsync 16:9
│ │ │ ├───3840×2160@59.94 driver phsync pvsync 16:9
│ │ │ ├───3840×2160@50.00 driver phsync pvsync 16:9
│ │ │ ├───3840×2160@30.00 driver phsync pvsync 16:9
│ │ │ ├───3840×2160@29.97 driver phsync pvsync 16:9
│ │ │ ├───3840×2160@25.00 driver phsync pvsync 16:9
│ │ │ ├───3840×2160@24.00 driver phsync pvsync 16:9
│ │ │ ├───3840×2160@23.98 driver phsync pvsync 16:9
│ │ │ ├───2560×1440@120.00 driver phsync pvsync
│ │ │ ├───1920×1080@120.00 driver phsync pvsync 16:9
│ │ │ ├───1920×1080@119.88 driver phsync pvsync 16:9
│ │ │ ├───1920×1080@60.00 driver phsync pvsync 16:9
│ │ │ ├───1920×1080@59.94 driver phsync pvsync 16:9
│ │ │ ├───1920×1080@50.00 driver phsync pvsync 16:9
│ │ │ ├───1920×1080@30.00 driver phsync pvsync 16:9
│ │ │ ├───1920×1080@29.97 driver phsync pvsync 16:9
│ │ │ ├───1920×1080@24.00 driver phsync pvsync 16:9
│ │ │ ├───1920×1080@23.98 driver phsync pvsync 16:9
│ │ │ ├───1600×1280@59.99 nhsync pvsync
│ │ │ ├───1600×1200@60.00 driver phsync pvsync
│ │ │ ├───1600×900@60.00 driver phsync pvsync
│ │ │ ├───1280×1024@60.02 driver phsync pvsync
│ │ │ ├───1280×960@60.00 driver phsync pvsync
│ │ │ ├───1280×720@60.00 driver phsync pvsync
│ │ │ ├───1280×720@60.00 driver phsync pvsync 16:9
│ │ │ ├───1280×720@59.94 driver phsync pvsync 16:9
│ │ │ ├───1280×720@50.00 driver phsync pvsync 16:9
│ │ │ ├───1024×768@60.00 driver nhsync nvsync
│ │ │ ├───800×600@60.32 driver phsync pvsync
│ │ │ ├───720×480@60.00 driver nhsync nvsync 16:9
│ │ │ ├───720×480@59.94 driver nhsync nvsync 16:9
│ │ │ ├───640×480@60.00 driver nhsync nvsync 4:3
│ │ │ └───640×480@59.94 driver nhsync nvsync
│ │ └───Properties
│ │ ├───"EDID" (immutable): blob = 480
│ │ │ ├───Manufacturer: TCL Corporation
│ │ │ ├───Model: Beyond TV
│ │ │ └───Serial: 0x00010000
│ │ ├───"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 = 417
│ │ ├───"scaling mode": enum {None, Full, Center, Full aspect} = None
│ │ ├───"Broadcast RGB": enum {Automatic, Full, Limited 16:235} = Full
│ │ ├───"underscan": enum {off, on, auto} = off
│ │ ├───"underscan hborder": range [0, 128] = 0
│ │ ├───"underscan vborder": range [0, 128] = 0
│ │ ├───"max bpc": range [8, 16] = 10
│ │ ├───"content type": enum {No Data, Graphics, Photo, Cinema, Game} = Graphics
│ │ ├───"Colorspace": enum {Default, BT709_YCC, opRGB, BT2020_RGB, BT2020_YCC} = BT2020_RGB
│ │ ├───"HDR_OUTPUT_METADATA": blob = 479
│ │ │ ├───Type: Static Metadata Type 1
│ │ │ ├───EOTF: SMPTE ST 2084 (PQ)
│ │ │ ├───Display primaries:
│ │ │ │ ├───Red: (0.6807, 0.3086)
│ │ │ │ ├───Green: (0.2148, 0.7002)
│ │ │ │ └───Blue: (0.1504, 0.0596)
│ │ │ ├───White point: (0.3135, 0.3291)
│ │ │ ├───Max display mastering luminance: 0 cd/m²
│ │ │ ├───Min display mastering luminance: 0.0000 cd/m²
│ │ │ ├───Max content light level: 0 cd/m²
│ │ │ └───Max frame average light level: 0 cd/m²
│ │ ├───"vrr_capable" (immutable): range [0, 1] = 1
│ │ ├───"passive_vrr_capable" (immutable): range [0, 1] = 1
│ │ ├───"Content Protection": enum {Undesired, Desired, Enabled} = Undesired
│ │ ├───"HDCP Content Type": enum {HDCP Type0, HDCP Type1} = HDCP Type0
│ │ ├───"allm_capable" (immutable): range [0, 1] = 1
│ │ └───"allm_mode": enum {Disabled, Dynamic, Always On} = Disabled
(...)
├───CRTCs
│ ├───CRTC 0
│ │ ├───Object ID: 417
│ │ ├───Legacy info
│ │ │ ├───Mode: 3840×2160@120.00 driver phsync pvsync 16:9
│ │ │ └───Gamma size: 256
│ │ └───Properties
│ │ ├───"ACTIVE" (atomic): range [0, 1] = 1
│ │ ├───"MODE_ID" (atomic): blob = 482
│ │ │ └───3840×2160@120.00 driver phsync pvsync 16:9
│ │ ├───"OUT_FENCE_PTR" (atomic): range [0, UINT64_MAX] = 0
│ │ ├───"VRR_ENABLED": range [0, 1] = 1
│ │ ├───"PASSIVE_VRR_DISABLED": range [0, 1] = 0
│ │ ├───"CTM": blob = 0
│ │ ├───"GAMMA_LUT": blob = 481
│ │ └───"GAMMA_LUT_SIZE" (immutable): range [0, UINT32_MAX] = 4096
(...)
└───Planes
├───Plane 3
│ ├───Object ID: 202
│ ├───CRTCs: {0}
│ ├───Legacy info
│ │ ├───FB ID: 478
│ │ │ ├───Object ID: 478
│ │ │ ├───Size: 3840×2160
│ │ │ ├───Format: ARGB2101010 (0x30335241)
│ │ │ ├───Modifier: AMD(TILE_VERSION = unknown, TILE = unknown, DCC, DCC_MAX_COMPRESSED_BLOCK = 256B) (0x0200000000082305)
│ │ │ └───Planes:
│ │ │ └───Plane 0: offset = 0, pitch = 15360 bytes
│ │ └───Formats:
│ │ ├───XRGB8888 (0x34325258)
│ │ ├───ARGB8888 (0x34325241)
│ │ ├───RGBA8888 (0x34324152)
│ │ ├───XRGB2101010 (0x30335258)
│ │ ├───XBGR2101010 (0x30334258)
│ │ ├───ARGB2101010 (0x30335241)
│ │ ├───ABGR2101010 (0x30334241)
│ │ ├───XRGB16161616 (0x38345258)
│ │ ├───XBGR16161616 (0x38344258)
│ │ ├───ARGB16161616 (0x38345241)
│ │ ├───ABGR16161616 (0x38344241)
│ │ ├───XBGR8888 (0x34324258)
│ │ ├───ABGR8888 (0x34324241)
│ │ ├───RGB565 (0x36314752)
│ │ ├───NV12 (0x3231564e)
│ │ ├───P010 (0x30313050)
│ │ ├───XRGB16161616F (0x48345258)
│ │ ├───ARGB16161616F (0x48345241)
│ │ ├───XBGR16161616F (0x48344258)
│ │ └───ABGR16161616F (0x48344241)
│ └───Properties
│ ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Primary
│ ├───"FB_ID" (atomic): object framebuffer = 478
│ │ ├───Object ID: 478
│ │ ├───Size: 3840×2160
│ │ ├───Format: ARGB2101010 (0x30335241)
│ │ ├───Modifier: AMD(TILE_VERSION = unknown, TILE = unknown, DCC, DCC_MAX_COMPRESSED_BLOCK = 256B) (0x0200000000082305)
│ │ └───Planes:
│ │ └───Plane 0: offset = 0, pitch = 15360 bytes
│ ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1
│ ├───"CRTC_ID" (atomic): object CRTC = 417
│ ├───"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] = 3840
│ ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 2160
│ ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0
│ ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0
│ ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 3840
│ ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 2160
│ ├───"IN_FORMATS" (immutable): blob = 203
(etc.)
Aktuell gehe ich davon aus, dass er wirklich HDR10 @120 Hz mit 4:4:4 in Richtung Monitor schiebt, weil ARGB2101010 äquivalent zu 4:4:4 sind. Sicher bin ich mir bei der ganzen Sache aber nicht. 🤷♂️