Re: vesa & v2.1.109

Jon M. Taylor (taylorj@ecs.csus.edu)
Sun, 19 Jul 1998 16:29:58 -0700 (PDT)


On Mon, 20 Jul 1998, Martin Mares wrote:

> > Bugger! :o( I'd have hoped to keep my 486 running well into the 21st
> > century ;o) Maybe you could have a word with that scitechsoft guy - he
> > does a lot of VESA stuff and might be able to help - he's the one who
> > asked about 8k I/O remap stuff earlier this week (forgotten his name
> > though!)
> >
> > He does have a DOS UNIVBE driver that actually adds VESA 2.0 emulation to
> > the graphic cards that are limited to VESA 1.2, so it is possible to write
> > a vesafb 1.2 module that adds vesa 2.0 functionality.

Kendall probably knows this subject better than anyone. See

http://www.progressive-comp.com/Lists/?m=88102879813311&w=2

for a nice informative post on this subject he made on the GGI mailing
list least year. In it, he also gives pointers to the Scitech MGL code to
implement "vflat" framebuffers in DOS4GW applications.

> Remember that vesafb is only a hack to get usable text/graphics on
> undocumented chipsets such as NeoMagic working. For usual well-supported
> video cards it's of little use.

Right. VESA 2.0 does not give you anything more than a dumb
linear framebuffer AFAIK, and even if you made a mmap()ed pseudo-linear
framebuffer work with VESA 1.2 that's still all you'd have. No blitting,
no hardware cursor, no acceleration of any kind. Pretty slow. banked
pseudo-linear wouldn't even be able to use panning to speed up scrolling
without causing massive page faultage unless you wrote a special panning
algorithm that took into account the banked nature of things.

In general, when dealing with vflat (I like the term, it's only
five letters |->) framebuffers, you end up having to code up specialized
versions of damn near *every* common framebuffer op to avoid page-faulting
yourself into unuseable slowness. KGI (the original KGI, not kgicon)
patched mmap.c to implement a new MMAP_TYPE_MODEX which did this vflat
trick with the four 64K ModeX banks to make one 256K LFB. LibGGI has
quite a bit of code in its ModeX-optimized drawing routines that
implemented the LibGGI drawing routines in such a way as to minimize
pagefaults.

Jon

---
'Cloning and the reprogramming of DNA is the first serious step in 
becoming one with God.'
	- Scientist G. Richard Seed

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html