[NVC3] Vsync stops working after mode changes in nouveau DDX
z411@omaera.org
Submitted byAssigned to Nouveau Project
Link to original bug (#101191)
Description
Hello,
I've encountered this weird issue where Vsync suddenly stops working after I manipulate modes on the fly in some situations.
I could reproduce it in 4 different situations, and I've attached logs respectively:
(1) Only 1 monitor connected to DVI. Any mode change (resolution or refresh rate) will trigger the issue. (term_1.txt / xorg_1.txt)
(2) 2 monitors connected (DVI+HDMI TV). Turning off the DVI monitor will immediately trigger the issue. (term_2.txt / xorg_2.txt)
(3) 2 monitors connected (DVI+HDMI TV). Mode changes in DVI monitor won't trigger the issue anymore. But after turning off the HDMI monitor, mode changes in the DVI one will start triggering the issue again. (term_3.txt / xorg_3.txt)
(4) 2 monitors connected (DVI+HDMI TV). Mode changes in HDMI monitor immediately trigger the issue. Note how Vsync is still working in the DVI one, though. (term_4.txt / xorg_4.txt)
Needless to say, this will cause issues (for example) in mpv video player, where it'll suffer tearing and complain about inconsistent timing, both in opengl and vdpau modes.
Distribution Debian Sid
Linux 4.9.25
xorg 7.7 (server 1.19.3)
xf86-video-nouveau 1.0.15
libdrm 2.4.74
This only happens with the nouveau DDX driver, as this issue doesn't occur with the modesetting one, therefore I assume it's a nouveau DDX bug (rather than mesa).