[haiku] Re: Ang: Re: Preinstalling Haiku on new computers.

  • From: Stephan Aßmus <superstippi@xxxxxx>
  • To: haiku@xxxxxxxxxxxxx
  • Date: Wed, 29 Apr 2009 10:42:38 +0200

Michael Weirauch schrieb:
2009/4/29 holmqvist.fredrik@xxxxxxxxxxxx <holmqvist.fredrik@xxxxxxxxxxxx>:
Fwiw, I'm currently trying to improve vesa mode-handling. I have it using 
edi-info if possible already, adding modes
that it reports ok or those we have listed that are within the monitors range.
The other problem is that these are then filtered by the vesa bios, so some 
modes (like my native resolution) isn't
available. That is what I am looking at next.

Oh, same here ;) My Radeon 3650 only reports standard vesa modes. The
native resolution is only reported in the
detailed_monitor_info from the edid1_info struct. When adding these
edid modes to the list of available modes
in the bios_ia32/video.cpp, the resolution shows up in the boot loader.
Unfortunately the system reboots when selecting the added mode.
Perhaps my approach isn't the way to do it right.

Mind sharing your patch with me?

Guys, you are on the wrong track here. As far as I understand, the VESA BIOS offers a "mode list", this allows our VESA driver to pick one of these modes by it's "index in the list". The VESA BIOS of the graphics card then knows how to program and setup the graphics chip to realize this request. As may be clear now, it is something completely different for our VESA driver to simply select a mode by list id, versus actually programming the graphics chip to realize a specific mode. From what I know, it's in theory possible to "patch" the VESA BIOS and replace a programmed mode with another mode. This requires knowing the location in the BIOS to patch. However it's impossible for the driver to actually setup a mode that is not in the list, because switching the mode means to select an existing index, _not_ programming the chip. A VESA driver doesn't know how to do this.

Best regards,
-Stephan


Other related posts: