[haiku-development] Re: ATI Video Driver Source Code

  • From: "Axel Dörfler" <axeld@xxxxxxxxxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Mon, 15 Jun 2009 19:17:13 +0200 CEST

Gerald Zajac <zajacg@xxxxxxxxxxxxx> wrote:
> Axel Dörfler wrote:
> > Exactly, that's why using VESA modes only is always a bit
> > problematic
> > for LCD users. Unfortunately, switching the digital output mode is
> > often done differently than the CRT one.
> 1400x1050 is the only mode that is a problem with the ATI driver.
> All
> the other VESA modes listed in the beginning of the syslog for my
> Thinkpad A22p are listed in the Screen Preferences and can be set.

Actually, that is not chip dependent at all, but VESA BIOS dependent.
One can only hope that the native resolution is available, but you can
only be sure if you know all the hardware out there (which would even
be manageable with that chip generation).

> Although 1400x1050 is in the list of VESA modes listed in the
> beginning
> of the syslog, why is 1400x1050 not in the list of modes when the
> boot
> info is obtained by the driver?  Also why is 1400x1050 not in the
> list
> of video modes in the boot menu?

That should be relatively easy to find out. If it's in the list of
supported VESA modes, it should be available later on. Just try to
debug where and why it gets filtered out, and if that is correct or
not.

[...]
> Before using the VESA code to switch modes, the Mach64 Mobility chips
> had a few problems, but general worked reasonably well;  however, the
> Rage128 Mobility chips were a real PITA.  Setting the mode to the
> native
> resolution of the LCD display generally worked okay;  however,
> setting
> it to a lesser mode would cause the display to flicker, artifacts and
> /or
> noise to displayed, or the display would go blank.
>
> I would have preferred not using the VESA code to set modes in the
> ATI
> driver, but, after messing around with the Rage128 Mobility (laptop)
> chips for sometime and not making any progress with getting them to
> work
> properly with the laptop LCD display, I decided to set the mode the
> way
> the VESA driver does since it did a much better job of switching
> modes
> on the Mobility chips.  Part of the problem is probably the design of
> the ATI chips.  When I did the S3 video driver, there was almost no
> difference in the code whether or not a laptop LCD display was
> active.
> In that respect, the S3 chips were a better design.

If VESA is usually a good option, and programming the digital output
directly is troublesome, then I guess you did the right thing :-)
Although, if it's working with the Mach64 it could be enabled for those
again, now that you already did all the work.

Bye,
   Axel.


Other related posts: