CRT modeline breaks (toggle does not work as expected)

Bug #36810 reported by Andreas Schildbach
8
Affects Status Importance Assigned to Milestone
915resolution (Ubuntu)
Invalid
Medium
Unassigned

Bug Description

Using 915resolution cripples the ability to toggle between internal and external display with the CRT/LCD key: On my Dell Latitude X1, if I press once, the internal screen goes dark, and the external (Dell 2405FPW) just displays "cannot display mode". If I press another time, I get the picture on both displays, but very distorted on the external monitor. A third press brings things back to bootup state.

Without 915resolution, this worked flawlessly.

Note that both displays have the same aspect ratio.

Revision history for this message
Adriaan Peeters (apeeters) wrote :

Did you check whether the refresh rate of the output is within limits of your external screen? Most screens provide a button to display the current resolution and refresh rate, even when the current settings are not supported by the screen.

Revision history for this message
Paul Sladen (sladen) wrote :

Is the external monitor a CRT or TFT? Is it connected by DVI or VGA?

Changed in 915resolution:
status: Unconfirmed → Needs Info
Revision history for this message
Paul Sladen (sladen) wrote :

Yes, at the moment 915resolution does not attempt to fill in the modeline details.

The real way to solve this is to have the X server to the patching since it can patch in all the sync parameters too.

With internal TFT's, it doesn't actually matter what the parameters or vsync (refresh) rate is.

Revision history for this message
Andreas Schildbach (schildbach) wrote :

Adriaan: I think it is not within the limits, otherwise my screen would not say "cannot display mode". I cannot check, because my monitor cannot go into the menu without sync.

Paul: The external monitor is a TFT, connected by VGA. I don't understand what you say about the X server. Isn't a modeline the complete set of parameters? So in theory I should be able to use any VBE mode to override - the modeline completely controls the timings. In practice, not only the modeline controls the timings, but also some "leftover" from the old VBE mode. Do you have any more information that helps me to understand (and fix) the problem?

Just curious: Why do parameters not matter with internal TFTs?

Revision history for this message
Andreas Schildbach (schildbach) wrote :

I'd like to add that in the third toggle state (image on both screens), my monitor says 1024 x 768, 62 Hz (should be: 1280 x 768, 60 Hz) and the picture is very distorted on the external screen.

Revision history for this message
Paul Sladen (sladen) wrote :

The information for driving internal Flat Panels (which are connected directly to the graphics chip) comes from a small EEPROM that contains the dimensions and constraints for the internel Flat Panel.

With an external TFT/CRT it has to go via an analogue signal (compatible with CRTs) and then be converted back to digital again.

On Intel chips we don't actually know how to program the analogue DAC components (which are different on each model/make/motherboard) so this is done through a VBE call. 915resolution does a very hackish and kludgy thing, which is to overwrite the width, height and bits/pixel for one of these modes; but it doesn't update the rest of the parameters.

But for an internal flat panel without the analogue section these aren't required and come from the EEPROM data anyway.

So what actually happens is that it sets all the parameters up for 1024x768 but sets the actual dimensions to 1280x768... hence the disortation or the plain not-working.

This really needs fixing in the X server since it *knows* the rest of the parameters and could paste them in aswell.

Revision history for this message
Andreas Schildbach (schildbach) wrote :

Paul, thanks a lot for your explanation. Now things are a lot clearer to me.

It appears to me that if auto-detecting/configuring monitors is not an issue, having the option to update the "rest of parameters" (can you name them?) with 915resolution would already help a lot. I'm sure I can retrieve the values from my monitor without the help of X, possibly with a tool under Windows.

Revision history for this message
Paul Sladen (sladen) wrote :

Currently X queries the card and queries the monitors (with 'ddcprobe') and gets a set of restrictions (minimum and maximums). X then puts these into an equation and ends up with results, discarding the ones that don't fit within the restrictions.

915resolution currently does its patching before these results have been calculated.

Yes, it would be possible, probably, to have you supply a modeline to 915resolution to paste it; but ideally the X server should do the whole lots (there is currently code in the CVS HEAD to do this).

Revision history for this message
Andreas Schildbach (schildbach) wrote :

Can we make 915resolution obsolete by using the "native modesetting" branch of the i810 X driver?

Revision history for this message
William Grant (wgrant) wrote :

The modesetting branch is likely the best solution, yes. It's in Feisty universe, so is easier to install.

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for 915resolution (Ubuntu) because there has been no activity for 60 days.]

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.