External monitor ("reverse PRIME", Output Sink) updates very slowly (1fps) when laptop screen is off
@Lekensteyn
Submitted by Peter Wu Assigned to Chris Wilson @ickle
Description
Scenario:
Hybrid graphics laptop with an laptop screen (eDP-1, Intel) and an external monitor connected to the Nvidia GPU (DP-1, nouveau).
DP-1 (nouveau) is linked as output slave to the Intel GPU.
(When Intel renders a picture, it is shown on the external screen connected to the Nvidia GPU.)
Problem:
When the lid is closed (and no outputs are active for Intel), stuff on the external monitor updates only every one second.
Steps to reproduce:
- Enable output source:
xrandr --setprovideroutputsource nouveau Intel
xrandr --output DP-1 --mode 2560x1440 --left-of eDP-1
2. Run "glxgears" and drag it to the external monitor.
3. Turn off Intel screen (e.g. xrandr --output eDP-1 --off or by closing the lid).
Expected behavior:
glxgears should be updating normally with 60fps.
Actual behavior:
glxgears updates with 1fps.
Other information:
A similar problem existed in the modesetting driver, fixed in Xorg 1.19 with
https://lists.x.org/archives/xorg-devel/2016-August/050797.html
I think that a similar fix can be developed for sna_display.c (sna_covering_crtc).
Environment:
Arch Linux x86_64
Intel i7-6700HQ, Nvidia GT 965M
xorg-server 1.19.0-3 (but it occurred with 1.18.4 too)
xf86-video-intel 1:2.99.917+746+g169c74fa-2
xf86-video-nouveau 1.0.13+7+g1516d35-2