Bug 61461 - *ERROR* failed to set mode on [CRTC:7] when changing xrandr settings
Summary: *ERROR* failed to set mode on [CRTC:7] when changing xrandr settings
Status: RESOLVED DOCUMENTED
Alias: None
Product: Drivers
Classification: Unclassified
Component: Video(DRI - Intel) (show other bugs)
Hardware: All Linux
: P1 high
Assignee: intel-gfx-bugs@lists.freedesktop.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-09-16 15:28 UTC by Oliver
Modified: 2013-09-17 11:27 UTC (History)
2 users (show)

See Also:
Kernel Version: 3.10.10-1-ARCH
Subsystem:
Regression: No
Bisected commit-id:


Attachments
journalctl output including call traces (24.46 KB, text/plain)
2013-09-16 15:28 UTC, Oliver
Details

Description Oliver 2013-09-16 15:28:21 UTC
Created attachment 108491 [details]
journalctl output including call traces

Hi,

if I want to attach two external monitors to my Lenovo T431s and deactivate the internal monitor I have this behaviour

When I run:

xrandr --output DP3 --primary --mode 2560x1440 --output DP2 --mode 2560x1440 --left-of DP3 --output eDP1 --off

  to deactivate the internal monitor and make one big extended monitor it does not work: i.e. I get black screens on all three monitors, sometimes the internal keeps working but the externals not.

The strange thing is that it works automatically with Gnome 3.8: The monitors are autodetected, the internal monitor is disabled and the two external monitors are activated. Without a Desktop Environment and with just a simple window manager (awesome in my case) the error described above occurs.

I would be glad to help in solving this issue.

Regards,
Oliver
Comment 1 Daniel Vetter 2013-09-16 16:17:34 UTC
Atm we don't support atomic modeset, so you X does changes step-by-step. Which means in-between it'll try to enable 3 outputs which won't work. If you split up the operation into 3 steps

1) Enable 1st external screen
2) Disable internal screen
3) Enabel 2nd external screen

it should work. Closing as not a bug, simple a misdesign of the current code.
Comment 2 Oliver 2013-09-17 09:58:50 UTC
Hi Daniel,

thanks for your answer. It works as you said.
However, maybe multiple modeset requests should be pipelined and executed one after the other if atomic modeset is not supported.
Comment 3 Daniel Vetter 2013-09-17 10:46:40 UTC
(In reply to Oliver from comment #2)
> Hi Daniel,
> 
> thanks for your answer. It works as you said.
> However, maybe multiple modeset requests should be pipelined and executed
> one after the other if atomic modeset is not supported.

That's what we're doing right now, but the ddx doesn't have the knowledge really to make a good call which order might actually work and which is the best. We really need to have a better interface to make this work well.
Comment 4 Oliver 2013-09-17 11:27:34 UTC
It's great to hear that this is being addressed!

Note You need to log in before you can comment on or make changes to this bug.