Bug 10155 - Can't override BIOS VBT panel mode in modesetting branch
Summary: Can't override BIOS VBT panel mode in modesetting branch
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: git
Hardware: x86 (IA32) All
: medium normal
Assignee: Eric Anholt
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-03-02 04:08 UTC by Matthew Hodgson
Modified: 2007-04-09 13:42 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

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.