On Mon, Nov 24, 2003 at 09:19:01PM +0000, Raymond Jennings wrote:
>I was wondering if we could make some use of the VESA VGA extension, to set 
>video modes at least.  That would eliminate all of the video mode problems, 
>such as bad offsets, out of sync, and scanline problems.  The VESA standard 
>covers everything the XVidMode extension does, but does it more safely.  I 
>have yet to see the video bios mess up the video card.  The XVidMode 
>extension could ignore everything but the screen dimensions and be backward 
>compatible.  Xvidtune would be made obsolete.  I've done plenty of VESA 
>hacking, and it seems a promising interface.
>
>And don't tell me it's slow, because the video card takes a while when 
>changing video modes anyway, and any latency involved in calling the VESA 
>BIOS would be masked by the monitor resyncing.
>
>Tell me what you guys think about this.  I'm aware of a prejudice against 
>the BIOS, but this is a special case.  I know for a fact that messing around 
>with sync frequencies is dangerous, and the BIOS can be trusted.
>
>You could make use of the vm86 system call, or write a kernel module to go 
>to v86 mode on behalf of the X server.  I'm certain there's always a way to 
>get to the VESA extension.

Yep, we can do all of that.  We even have an x86 emulator so we
can do it on platforms without vm86 support, including CPU
architectures that can't natively execute the BIOS.

>Let me know what you guys think.  Is this practical?  is it ingenious?  Is 
>it dangerous?  Is it stupid?

Some drivers do this already.  The 'vesa' driver uses the video
BIOS exclusively, and some others use it to some extent.  Most
don't.  It has its pros and cons.  The major cons are that video
BIOS quality is unpredictable (I'm not sure that many widely used
platforms use it, hence it gets little real-world testing), and
the functionality provided is often limited (just ask someone with
a Centrino-based laptop with a 1400x1050 screen and a video BIOS
that doesn't provide that mode).  The functionality limitations
can show up in other ways too.

Also, a lot of cards are still at VBE 2, which doesn't have a standard
interface for setting the refresh rate.

You should play with the XFree86 "vesa" driver.

David
-- 
David Dawes
developer/release engineer                      The XFree86 Project
www.XFree86.org/~dawes
_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel

Reply via email to