Re: Matrox Millenium accelerated framebuffer device

Geert Uytterhoeven (Geert.Uytterhoeven@cs.kuleuven.ac.be)
Thu, 23 Jul 1998 16:48:57 +0200 (CEST)


On Thu, 23 Jul 1998, Petr Vandrovec Ing. VTEI wrote:
> I know that there is accelerated KGI Matrox device driver and
> FBCon->KGI, but it looks to me like that almost no-one (together with me)
> is going that way for 2.1/2.2.
> For these non-KGI aware peoples/kernels I've created accelerated
> Matrox Millenium/Mystique driver. It uses hardware bitblts to scroll
> regions and set-start-videopage to scroll whole screen, so it is very
> fast (there is almost no difference between character fbvga and matroxfb
> (but there IS difference between vgacon and matroxfb, unfortunately))
> and supports scrollback if videomode takes less than 1MB of videodata.

Great!

> Patch is available at ftp://platan.vc.cvut.cz/pub/linux/2.1.110p2/matrox.
> That patch should went cleanly to 2.1.110p2 - final 2.1.110, it cannot
> be used with 2.1.111p1 because of transition from CONFIG_FB_CFB* to

Can I check it in at vger after I have fixed the FBCON_HAS_* things?

> 4) it supports only PAN, not WRAP

No problem.

> 7) You may see garbage on the bottom of screen in 800x600. I hope that
> Geert find some reasonable solution (600 mod 16 != 0, unfortunately).

Already fixed in vger: there's now a clear_margins() routine for
cfb{8,16,24,32} that clears the margins if the screen resolution is not a
multiple of the font size.

> 8) There is pink (instead of black) penguin in 8bpp. It does irritate me,
> but it is there only once during boot so it is very last on my list.

Fixed in vger, I think. And also with Martin Mares' latest patch set.

> P.S.: Questions to Geert or somebody who knows how fb architecture works:
> 1) Matrox Millenium(I/II)/Mystique cannot have accelerated 800 bytes per
> line, it must be multiple of 64, so for example 832 bytes. It is not problem
> for 16/32 bpp, but it is problem for 8bpp. So if user requests 800x600,
> should I refuse it or should I round it up to first possible resolution?

You can round it up, or just don't use acceleration.

Without acceleration, but with dispsw->scrollmode = FBCON_REDRAW, scrolling is
even faster than with acceleration, at least on my ATI RAGE II+. I'm starting
to think that text mode acceleration using bit blit is useful for slow buses
(e.g. ISA) only, not with PCI.

> (BTW, my BIOS (Millenium I) uses logical line length 960 pixels for
> resolutions wide 800 pixels). And how does console code handle horizontal
> virtual screen?

The console doesn't care about the horizontal virtual screen.

Greetings,

Geert

--
Geert Uytterhoeven                     Geert.Uytterhoeven@cs.kuleuven.ac.be
Wavelets, Linux/{m68k~Amiga,PPC~CHRP}  http://www.cs.kuleuven.ac.be/~geert/
Department of Computer Science -- Katholieke Universiteit Leuven -- Belgium

- 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