[haiku-bugs] Re: [Haiku] #7787: VESA regression: 640x480 no longer works at boot (but works in Screen prefs!)

  • From: "axeld" <trac@xxxxxxxxxxxx>
  • Date: Fri, 15 Jul 2011 21:19:00 -0000

#7787: VESA regression: 640x480 no longer works at boot (but works in Screen
   Reporter:  ttcoder             |      Owner:  axeld
       Type:  bug                 |     Status:  new
   Priority:  normal              |  Milestone:  R1
  Component:  System/Boot Loader  |    Version:  R1/alpha3
 Resolution:                      |   Keywords:
 Blocked By:                      |   Blocking:
Has a Patch:  0                   |   Platform:  x86

Comment (by axeld):

 Well, no. The detailed timing is the one to use in 99% of the cases. What
 you experience is due to a pretty much broken EDID report. Your monitor is
 at fault; punishing everyone else is not the solution.

 No matter what modes are present, the system will not always default to
 use the highest one, as that one is not always the best supported one; it
 may just kind of work. The common use of the detailed timing is to specify
 what the monitor does best, and the boot loader as well as the app_server
 will choose that mode when it's present. create_display_modes() will only
 create the mode list, it's not responsible for choosing the default mode.

 Now your monitor obviously doesn't use the detailed timing this way. So
 what we need here is a work-around for your particular problem, rather
 than to weaken an otherwise perfectly working implementation (AFAIK). I
 would suggest some heuristics to apply, ie. if the detailed timing is too
 low or otherwise unbelievable, ignore it as the default mode, and fall
 back to the other way to determine the default mode. If the problem is not
 otherwise solvable, you could also make the code choose the right mode if
 it encounters a particular monitor; however, this shouldn't be needed

Ticket URL: <http://dev.haiku-os.org/ticket/7787#comment:11>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: