Bug 93670 - Reverse PRIME using two external screens on Nvidia card leads to "Configure crtc 5 failed" since xorg-server 1.18.0
Summary: Reverse PRIME using two external screens on Nvidia card leads to "Configure c...
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/nouveau (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Nouveau Project
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-01-11 20:27 UTC by Thomas D.
Modified: 2016-01-14 03:33 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
Short overview of the commands that lead to the issue. (2.16 KB, text/plain)
2016-01-11 20:27 UTC, Thomas D.
no flags Details
dmesg log with drm.debug=0x6 as kernel param (194.22 KB, text/plain)
2016-01-11 20:28 UTC, Thomas D.
no flags Details
x11trace of the xrandr command to add the left screen (30.16 KB, text/plain)
2016-01-11 20:29 UTC, Thomas D.
no flags Details
x11trace of the xrandr command to add the right screen (38.05 KB, text/plain)
2016-01-11 20:30 UTC, Thomas D.
no flags Details
x11trace of the command to activate reverse PRIME (14.77 KB, text/plain)
2016-01-11 20:30 UTC, Thomas D.
no flags Details
xorg log v1.17.4 (working) (45.57 KB, text/plain)
2016-01-11 20:31 UTC, Thomas D.
no flags Details
xorg log v1.18.0 (not working) (52.86 KB, text/plain)
2016-01-11 20:31 UTC, Thomas D.
no flags Details

Description Thomas D. 2016-01-11 20:27:33 UTC
Created attachment 120960 [details]
Short overview of the commands that lead to the issue.

System:
  Lenovo T530
  Intel HD4000
  Nvidia NVS5400 (optimus)

Kernel: 4.3.3-2-ARCH (Arch Linux)
Drivers used:
  xf86-video-nouveau
  xf86-video-intel

Internal screen and VGA output are wired to the Intel card.

Docking Station which provides 1xVGA, 2x DVI and 2x DP outputs
=> The DVI/DP outputs are wired to the Nvidia card, the VGA port is wired to the Intel card.

Intended setting:
- Internal Screen (LVDS1, 1600x900)
- External Screen connected to first DVI port of dock (DP-1-2, 1280x1024)
- External Screen connected to second DVI port of dock (DP-1-3, 1280x1024)

---------------------------
|        |       |        |
| DP-1-3 | LVDS1 | DP-1-2 |
|        |       |        |
---------------------------


How to reproduce (using the "Not working" version setting:
  1. enable reverse PRIME: 
     xrandr --setprovideroutput nouveau Intel

  2. add left external screen: 
     xrandr --output DP-1-3 --left-of LVDS1 --mode 1280x1024
     # Left screen is switched on and aligned correctly.

  3. add right external screen: 
     xrandr --output DP-1-2 --right-of LVDS1 --mode 1280x1024
     # Right screen stays black and error message is showed in terminal: "xrandr: Configure crtc 5 failed"


Issue does not arise when:
 - using the packages from the "Working" version setting
 - using one external screen on the VGA port and one on DVI port.


Versions settings:
  # Working ( https://archive.archlinux.org/repos/2015/11/21/extra/os/x86_64/ )
   xf86-input-evdev-2.10.0-1-x86_64.pkg.tar.xz
   xf86-input-libinput-0.15.0-1-x86_64.pkg.tar.xz
   xf86-video-intel-1_2.99.917+478+gdf72bc5-2-x86_64.pkg.tar.xz
   xf86-video-nouveau-1.0.11-3-x86_64.pkg.tar.xz
   xorg-server-1.17.4-2-x86_64.pkg.tar.xz
   xorg-server-common-1.17.4-2-x86_64.pkg.tar.xz

  # Not working ( https://archive.archlinux.org/repos/2015/11/22/extra/os/x86_64/ )
   This was the version change that seems to introduce the issue (from 21.11.2015 to 22.11.2015). All versions (including the latest) after that are affected to.
   xf86-input-evdev-2.10.0-2-x86_64.pkg.tar.xz
   xf86-input-libinput-0.15.0-2-x86_64.pkg.tar.xz
   xf86-video-intel-1_2.99.917+478+gdf72bc5-3-x86_64.pkg.tar.xz
   xf86-video-nouveau-1.0.11+31+g1ff13a9-1-x86_64.pkg.tar.xz
   xorg-server-1.18.0-3-x86_64.pkg.tar.xz
   xorg-server-common-1.18.0-3-x86_64.pkg.tar.xz


Results of tests with the guys from IRC (#nouveau/#intel-gfx) - thanks again for your help!
- Command and output overview [overview.log]
- Framebuffer size seems to be set correctly
- The screen modes seem to work fine
- x11trace of the reverse PRIME command [x11trace-revprime.log]
- x11traces of the xrandr commands. See [x11trace-leftscreen.log] [x11trace-rightscreen.log]
- dmesg log with kernel param "drm.debug=0x6" [dmesg-drm.debug.log]
- Xorg.log from both working (version 1.17.4 [xorg-1.17.4.log]) and not working (version 1.18.0 [xorg-1-18.0.log]) setting


Will add the other attachments in a minute.
Comment 1 Thomas D. 2016-01-11 20:28:53 UTC
Created attachment 120961 [details]
dmesg log with drm.debug=0x6 as kernel param
Comment 2 Thomas D. 2016-01-11 20:29:47 UTC
Created attachment 120962 [details]
x11trace of the xrandr command to add the left screen
Comment 3 Thomas D. 2016-01-11 20:30:17 UTC
Created attachment 120963 [details]
x11trace of the xrandr command to add the right screen
Comment 4 Thomas D. 2016-01-11 20:30:40 UTC
Created attachment 120964 [details]
x11trace of the command to activate reverse PRIME
Comment 5 Thomas D. 2016-01-11 20:31:12 UTC
Created attachment 120965 [details]
xorg log v1.17.4 (working)
Comment 6 Thomas D. 2016-01-11 20:31:35 UTC
Created attachment 120966 [details]
xorg log v1.18.0 (not working)
Comment 7 Thomas D. 2016-01-11 20:39:03 UTC
The order of the screens to add does not matter. The issue always arises when I try to add the second screen.
Comment 8 Michel Dänzer 2016-01-12 03:44:01 UTC
The xf86-video-nouveau needs a port of http://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/?id=ff9a6b6f079a8419f4e6fadfee778060618bf735 .
Comment 9 Ilia Mirkin 2016-01-14 03:33:26 UTC
(In reply to Michel Dänzer from comment #8)
> The xf86-video-nouveau needs a port of
> http://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/
> ?id=ff9a6b6f079a8419f4e6fadfee778060618bf735 .

This is done: http://cgit.freedesktop.org/nouveau/xf86-video-nouveau/commit/?id=b824d36c28124955eda4aced5e637aa75eea4d6c

Thomas, please reopen if the issue persists if you use xf86-video-nouveau from git with xorg-server 1.18.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.