> SiS actually had a much updated frame buffer console driver that never made
> it into the kernel (stuff needed fixing and I never got a reply so it
> dropped out of the tree)
AFAIK the new informations from SiS are still doesn't working. I have this
SiS630 chipset too and I must use VesaFB for correct chipset initialization
and correct settings. VesaFB must have the same resolution and bpp which
I want in X. And I can use accelerated functions in X (not FB) by ugly hack
in sis_driver.c like, so it leaves settings from VesaFB and functions like
SiSPreSetMode(pScrn) and SiSSetMode(xf86Screens[scrnIndex], mode) are
skipped. I have this driver (precompiled) available on my pages
http://www.v0jta.net/gericom/gericom.php3?&menu=4#vga with all steps how
to make this chipset working with linux.
--- XFree86-4.1.0/xc/programs/Xserver/hw/xfree86/drivers/sis/sis_driver.c.orig Fri Jul 13 20:42:56 2001 +++ XFree86-4.1.0/xc/programs/Xserver/hw/xfree86/drivers/sis/sis_driver.c @@ -1210,7 +1210,9 @@ vgaHWRestore(pScrn, vgaReg, VGA_SR_MODE);if ((pSiS->Chipset == PCI_CHIP_SIS300) || +#if 0 (pSiS->Chipset == PCI_CHIP_SIS630) || +#endif (pSiS->Chipset == PCI_CHIP_SIS540)) { SiSPreSetMode(pScrn); SiSSetMode(pScrn, pScrn->currentMode); @@ -1550,7 +1552,9 @@ ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; SISPtr pSiS = SISPTR(pScrn); if ((pSiS->Chipset == PCI_CHIP_SIS300) || +#if 0 (pSiS->Chipset == PCI_CHIP_SIS630) || +#endif (pSiS->Chipset == PCI_CHIP_SIS540)) return SiSSetMode(xf86Screens[scrnIndex], mode); else @@ -1661,7 +1665,9 @@
/* Should we re-save the text mode on each VT enter? */ if((pSiS->Chipset == PCI_CHIP_SIS300) || +#if 0 (pSiS->Chipset == PCI_CHIP_SIS630) || +#endif (pSiS->Chipset == PCI_CHIP_SIS540)) { SiSPreSetMode(pScrn); if (!SiSSetMode(pScrn, pScrn->currentMode))
--Robert V0jta
-- Robert Vojta <vojta at {pharocom.net - work | v0jta.net - private}> GPG: ID 1024D/A0CB7953 http://www.v0jta.net/
This archive was generated by hypermail 2b29 : Wed Oct 31 2001 - 21:00:20 EST