Messages in this thread | | | From | "Petr Vandrovec Ing. VTEI" <> | Date | Mon, 7 Dec 1998 23:29:54 MET-1 | Subject | New matroxfb (or Re: kernel 2.1.131 with Matrox G100 and mat...) |
| |
Hello, > what's the current state of the Matrox Productiva G100 support? Is there > any (possibly yet unofficial) patch available? I just released driver version 1.6b, downloadable from ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/matroxfb.gz It is patch for Linus's 2.1.131... > The G100 support in 2.1.131 doesn't work for me - neither as module nor > compiled in. According to the logs, it cannot determine the memory size > of my graphics card. However it messes up the screen, I cannot see any > useful string on it, instead a mix of chars and horribly flickering > (short) lines. Yes, it is known problem. I hope that fixed (I have no such hardware here). > So my first question is, whether it is possible to leave the screen in a > usable state, when initializing fails (like here with this memory problem)? No :-) Driver gives up at any moment and there are tons of bytes to reprogram, some of them are WriteOnly (for example memory access timing) and most of them undocumented (G100/G200 driver is written without any doc because of Matrox Devrel said that they send specs to XFree team and it is enough for Linux community...). > I digged a bit in the kernel sources (matroxfb.c). The cause of the error > message seemed to be the determination of the real video memory size in the > getmemory function. If driver switches memory interface into SGRAM, it cannot find SDRAM. And vice versa... > BTW, I have several problems with kernel parameters regarding matroxfb. > What, for example, is the correct syntax for specifying the amount of > memory? Is it 'video=matrox:mem:8M'? If you have (detected) more than 8MB, you can use "mem:8M"... But because of driver knows better than you, how much memory you have, you can only decrease "available" memory. > Nevertheless, this didn't help here. One problem is, that the mem variable > is set up in matroxfb_setup, but this is called after matroxfb_init, and > therefore mem is still 0 when used during init. The second problem it is global variable... > (vid.len=0, see above) showed up, when I hardcoded mem to 8, before using > it in the init routine. yes. > Well, there's a new XFree version, which has Matrox G100 support. Maybe > you can get the necessary information from it? No, because of it is not documented (used) in XFree driver. I'm programing device from scratch due to Alpha, PPC and dualhead users. And this case is problem with this initial setup. XFree driver simple does not modify video memory type/timmings, so it has not these problems. Simple, but does not work in multihead configuration.
Now, for other readers of linux-kernel, what's new in 1.6b: 1) textmode support - there is now native (multihead) textmode. due to hardware limitation, you can use only 32KB of memory on Millennium I (it is 16K chars). On other device (Mill II, Myst, Gxxx), you can use 128KB of memory (64K chars). It is a bit more than vgacon does. But it is a bit slower than vgacon. Videomode support 8- and 9-dot fonts (you MUST convert your 8xX fonts (for example built-in SUN8x16) into real 9xX fonts... ninth column is ignored, but width is relevant). Pixclock for textmode is very limited: G200 ~83MHz, Millenium I 66MHz and Millenium II 60MHz. I do not have other hardware to test (thus new value for vesa: 0x2 = 80x25 textmode) 2) support for 6MB Millenium I probably does not work... Because of I do not know about any user of this feature (there was only one: me), it will be removed in future, I think 3) fix for G200: it is not possible to have 8bpp with right_margin==24. I do not know why, but it simple does not work (G200 users can try yourself: "fbset -right_margin 24 -depth 8". depth=16,24 or 32 works fine. 4) SVGALIB compatibility mode: if you run SVGALib program from textmode console, it will run if you set target system type to "generic vga". At least on G200 and Millenium I (of course on ia32, but if you have svgalib for another architecture, it should work too). Due to this (6bit DAC compatibility mode) there is a problem with penguin logo in 8bpp. Close your eyes during booting or boot with 16bpp. So if you are Alpha and/or PPC user, you have Matrox and can test this, please test textmode support and send me results (private please, to vandrove@vc.cvut.cz).
Please, do not report that: a) penguin logo is miscolored b) you see nothing (or garbage) when you compiled both vesafb and matroxfb into kernel (unless you really have two videodevices in box...) You should remove vesafb and try again (and do not use "vga=XX" param) c) you tried textmode for 1600x1200/80Hz and it looks strange (same applies for 640x480/200Hz: pixclock must be >= 16200 (depends on hardware piece)) (matrox BIOS supports at most 1056x480/60Hz, most of matroxes can do 1024x768/60Hz, but nothing more). d) svgalib does not work when started from graphics console. It works only when hardware is in VGA-compatible mode (== textmode). e) svgalib does not restore screen at exit unless you know why...
Best regards and thank for you time, 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.tux.org/lkml/
| |