Bug 10155

Summary: Can't override BIOS VBT panel mode in modesetting branch
Product: xorg Reporter: Matthew Hodgson <matthew>
Component: Driver/intelAssignee: Eric Anholt <eric>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: git   
Hardware: x86 (IA32)   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Matthew Hodgson 2007-03-02 04:08:20 UTC
I have an iBase MB890 mobo with 855GME graphics.  Its BIOS forces you to specify a panel resolution, presumably for use with LVDS devices - however, the modesetting branch of the intel driver appears to read this VBT definition and ignore all other modelines specified in the xorg.conf, at least for the pipe hooked up to the DVI (SDVOC?) output:

(II) intel(0): Found panel mode in BIOS VBT tables:
(II) intel(0): Modeline "1024x768"x0.0   65.00  1024 1048 1184 1344  768 771 777 806 (48.4 kHz)

...

(II) intel(0): Printing probed modes for output TMDS
(II) intel(0): Modeline "1024x576p"x50.0   43.50  1024 1127 1231 1392  576 577 580 625 (31.2 kHz)

...but ends up using 1024x768@60Hz anyway.

The only way I've got it to pick up the custom modeline is to force
i830_bios.c:i830_bios_get_panel_mode() to immediately return, as well as
adding a "monitor-TMDS" option to my screen section.

Should there not be a way to instruct the driver to ignore the panel modeline from xorg.conf?  This would also provide a cleaner workaround for problems like http://lists.freedesktop.org/archives/xorg/2007-January/021412.html.
Comment 1 Matthew Hodgson 2007-03-02 05:20:03 UTC
I should add that Option "PreferredMode" "1024x576p" in the Monitor section appears to always be ignored.

(**) intel(0): Option "PreferredMode" "1024x576p"
...
(WW) intel(0): Option "PreferredMode" is not used

Comment 2 Eric Anholt 2007-03-06 14:27:48 UTC
This bug lacks a lot of information, such as Xorg.0.log and what server version you're using.
Comment 3 Matthew Hodgson 2007-03-06 16:38:17 UTC
Apologies for lack of information - I didn't have a particularly representative Xorg.0.log when I filed the bug as I'd already hacked around it in the driver by turning i830_bios_get_panel_mode() into a shim.  The behaviour was observed using the git master branch of the X server as of the 2nd March.  I'll reproduce tomorrow on the latest master & X server and attach logs & conf.
Comment 4 Eric Anholt 2007-04-09 13:42:54 UTC
If you use a 1.3 server RC with the current driver, you can choose modes independently per output, and ignore outputs that don't exist on embedded hardware.  See xorg.conf(5) for how to do so statically, or xrandr for how to do so dynamically.

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.