Messages in this thread | | | From | "Petr Vandrovec Ing. VTEI" <> | Date | Thu, 23 Jul 1998 15:48:23 MET-1 | Subject | Matrox Millenium accelerated framebuffer device |
| |
Hello, 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. 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 FBCON_HAS_CFB*. Driver has following bugs: 1) usage is almost same as vesafb, you have to boot kernel with vga=ask and choose resolution, you cannot change resolution without reboot (I was inspired by Windows3.11 :-) ) 2) do not use this without matrox millenium(II)/mystique or together with vesafb 3) it has problems with XFree FBDev (works wit XF86_SVGA). XFree starts fine, but after switch to another console and back, XF68_FBDev does think that screen is 1024 bytes instead of 1280 bytes wide (I'm using 1280x1024x8bpp to testing) fbset says that all is OK 4) it supports only PAN, not WRAP 5) It uses only 2MB of memory because of I have only 2MB videocard. Docs says about some problems (memory interleaving) for >2MB videocard. I need someone to test it on more than 2MB RAM (you have to edit end of matroxfb.c to enable more than 2MB RAM). 6) It was tested only on Matrox Millenium I (and very briefly, an old version, on Mystique). 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). 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. 9) more and more, if you find something wrong (or patches, changing videoresolution on the fly), mail to vandrove@vc.cvut.cz Best regards, Petr Vandrovec vandrove@vc.cvut.cz
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? (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? 2) Are fbcon_* functions called with lock_kernel() or under another mutex? It looks to me like that at least echoing characters from keyboard (putc) is not mutexed with screen scrolling (because of sometime under heavy scrolling (without acceleration) I'm getting spaces (skipped positions) instead of echoed characters). Thanks, Petr Vandrovec vandrove@vc.cvut.cz
- 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
| |