From 29cb761cf50aac2e666e9260b16c65493e45c162 Mon Sep 17 00:00:00 2001 From: Joseph Crowell Date: Thu, 19 Feb 2026 15:33:55 +1000 Subject: [PATCH] fix get vblank counter failed: Invalid argument The error "get vblank counter failed: Invalid argument" occurs when drmWaitVBlank is called on a CRTC that is not enabled/active. The kernel returns EINVAL because you cannot get vblank counters for a disabled CRTC. --- src/drmmode_display.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/drmmode_display.c b/src/drmmode_display.c index 80c8766..a56c743 100644 --- a/src/drmmode_display.c +++ b/src/drmmode_display.c @@ -44,6 +44,7 @@ #include "amdgpu_bo_helper.h" #include "amdgpu_glamor.h" #include "amdgpu_pixmap.h" +#include "amdgpu_video.h" #include @@ -211,6 +212,9 @@ int drmmode_crtc_get_ust_msc(xf86CrtcPtr crtc, CARD64 *ust, CARD64 *msc) ScrnInfoPtr scrn = crtc->scrn; uint32_t seq; + if (!amdgpu_crtc_is_enabled(crtc)) + return -1; + if (!drmmode_wait_vblank(crtc, DRM_VBLANK_RELATIVE, 0, 0, ust, &seq)) { xf86DrvMsg(scrn->scrnIndex, X_WARNING, "get vblank counter failed: %s\n", strerror(errno));