Bug 87061

Summary: 1600x1200 resolution breaks at startup, but works later with xrandr
Product: xorg Reporter: Daniel Gnoutcheff <daniel>
Component: Driver/openchromeAssignee: Openchrome development list <openchrome-devel>
Status: RESOLVED MOVED QA Contact:
Severity: normal    
Priority: medium CC: xavier
Version: unspecified   
Hardware: Other   
OS: All   
i915 platform: i915 features:
Description Flags
workaround.xorg.conf none

Description Daniel Gnoutcheff 2014-12-07 01:47:04 UTC
I have a large CRT monitor with a maximum resolution (as claimed by EDID) of 1600x1200.  If I try to start X with an xorg.conf that requests 1600x1200 as the initial resolution (or if I start it without an xorg.conf), then the server crashes with

> (II) CHROME(0): Required bandwidth is not available. (576000000 > 553000000)
> (II) CHROME(0): ViaDisplayDisableCRT
> (EE) 
> Fatal server error:
> (EE) AddScreen/ScreenInit failed for driver 0

However, if I start X with an xorg.conf that requests a lower resolution (e.g. 1280x1024), and if I later request 1600x1200 with

> $ xrandr --output VGA-1 --mode "1600x1200"

then the server accepts and switches to the higher resolution without complaint.

Openchrome 0.3.3 (as packaged in Debian testing)
Xorg server 1.16.2 RC 1 (also from Debian)

Logs and example attachments comming.
Comment 1 Daniel Gnoutcheff 2014-12-07 01:49:41 UTC
Created attachment 110522 [details]

Attaching Xorg.log from the X server's failed attempt to startup with a xorg.conf that requests 1600x1200 as the inital resolution.  I also get the same result (and almost exactly the same log) when starting X with no xorg.conf.
Comment 2 Daniel Gnoutcheff 2014-12-07 01:50:39 UTC
Created attachment 110523 [details]

The xorg.conf used to generate maxres.Xorg.log.
Comment 3 Daniel Gnoutcheff 2014-12-07 01:52:30 UTC
Created attachment 110524 [details]

The Xorg.log from a successful X server start with an xorg.conf requesting 1280x1024 as the inital resolution, followed by a successful switch to 1600x1200 via xrandr.
Comment 4 Daniel Gnoutcheff 2014-12-07 01:53:11 UTC
Created attachment 110525 [details]

The xorg.conf used to generate workaround.Xorg.log
Comment 5 Xavier Bachelot 2015-01-18 12:41:19 UTC
I think what happens is the following : the initial resolution is set to 1600x1200@75Hz, which exceed the memory bandwidth limit. When xrandr set the resolution, it set the mode to 1600x1200 @60Hz, which does not exceed the bandwidth.

The 1600x1200@75 mode is validated in iga1_crtc_mode_fixup by ViaFirstCRTCModeValid, but then rejected by the later bandwidth check. One would expect it then fallback to the next available mode in the EDID, that is 1600x1200@60, but it seems that doesn't happen. I'll try to dig more to understand what happens, but I'm stuck for now.
Comment 6 GitLab Migration User 2019-09-18 20:48:45 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/openchrome/old-bug-database/issues/13.

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.