From: Michel Dänzer <michel.daenzer@xxxxxxx> Leo pointed out that drmmode_do_crtc_dpms wasn't getting called when turning off an output with xrandr --output <output> --off This meant that the vblank sequence number and timestamp wouldn't be saved before turning off the CRTC in this case. Reported-by: Leo (Sunpeng) Li <sunpeng.li at amd.com> (Ported from amdgpu commit ceeacb455cd058492a493aac954deab8455804b5) Signed-off-by: Michel Dänzer <michel.daenzer at amd.com> --- src/drmmode_display.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/drmmode_display.c b/src/drmmode_display.c index 3117b8f18..cf1f6e809 100644 --- a/src/drmmode_display.c +++ b/src/drmmode_display.c @@ -361,8 +361,7 @@ drmmode_crtc_dpms(xf86CrtcPtr crtc, int mode) /* Disable unused CRTCs */ if (!crtc->enabled || mode != DPMSModeOn) { - drmmode_crtc_wait_pending_event(drmmode_crtc, pRADEONEnt->fd, - drmmode_crtc->flip_pending); + drmmode_do_crtc_dpms(crtc, DPMSModeOff); drmModeSetCrtc(pRADEONEnt->fd, drmmode_crtc->mode_crtc->crtc_id, 0, 0, 0, NULL, 0, NULL); drmmode_fb_reference(pRADEONEnt->fd, &drmmode_crtc->fb, NULL); -- 2.18.0