Bug 54833 - SiS630 & XFree86 4.x
SiS630 & XFree86 4.x
Status: CLOSED RAWHIDE
Product: Red Hat Linux
Classification: Retired
Component: XFree86 (Show other bugs)
7.3
i386 Linux
high Severity medium
: ---
: ---
Assigned To: Mike A. Harris
David Lawrence
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2001-10-20 11:10 EDT by Robert Vojta
Modified: 2007-03-26 23:49 EDT (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2002-03-07 08:01:51 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Robert Vojta 2001-10-20 11:10:20 EDT
Description of Problem:

I have Gericom Webboy laptop with SIS630 chipset as VGA. There is no
possibility how to make this chipset working under XFree86 4.x in
original RedHat, any beta, ... See my description on my www pages ...
http://www.v0jta.net/gericom/gericom.php3?&menu=4#vga
This chipset is working only and only if I
 - switch on VesaFB (SiS FB doesn't work too)
 - make the same bpp for FB as I want for X
 - make the same fb resolution as I want for X
 - download and use modified driver from my web pages mentioned
   few lines before

If you do not follow these steps, you will see blank screen when
X start and there is no possibility for switching between X and console.
So, if someone is installing RedHat on laptop with SiS630 you must
do upper steps in installer or tell them some info what to do.
My pages mentions 4.0.x, but driver from latest 4.1 doesn't work too
and with 3.3.6 server, it doesn't work too.

Version-Release number of selected component (if applicable):

Clear RH 7.2 Enigma downloaded at 2001/10/20

How Reproducible:

Simple install and watch black screen when X starts.

Actual Results:

Working info ...
  http://www.v0jta.net/gericom/gericom.php3?&menu=4#vga

Expected Results:

Contact Rene Rebe (info on my pages) and ask him, which patch, etc.
he used in past for this driver. Changes are from him and I think,
that these changes should be passed to RH distro as patch to X drivers
or directly to X.

Additional Information:

I played with this ago for a few days, when I bought laptop with this
chipset, so I tried all possibilities how to use X (fb, nonfb, lot of
drivers, 3.3.6, 4.0.x, 4.1.x, ...) and this one is working. I don't know
others.
  This chipset is not only in Gericom laptops, this chipseet is in all
cheaper laptops and there is a lot of people with non working laptops
now.
  For instance message 5min old in XFree86 newbie list ...

To: newbie@XFree86.Org
Subject: [Newbie]ASUS Laptop??

I have XFree86 v3.3.6 and FreeBSD v4.3 I have no problems getting the
Xserver to run but the picture is all wrong on my display please help
me!technical specifications:
Display 13,3" Active Matrix Color TFT,xga 1024*768...
and i have also a integrated graphic card (SIS630)

  OK, it's FreeBSD, but X are in all distributions.
Comment 1 Mike A. Harris 2001-10-21 15:30:16 EDT
All I found at the link on your web page is a binary driver.
If I am to patch the SiS support, I need source code in unified
diff format against the currently shipping XFree86, which is
now 4.1.0-3.

If you can supply this patch or point out where I can obtain a
source code patch for SiS, I would be more than glad to look into
this, and update our source base, and feed the changes back
upstream.
Comment 2 Robert Vojta 2001-10-21 15:40:17 EDT
I never see this patch or source code, I have only binary drivers. But,
if you are interested, I know two mans which are (or was) working on this
driver

 - Rene Rebe rene.rebe@gmx.net
 - Ademar de Souza Reis Jr. ademar@connectiva.com.br

  Binary driver on my pages is from Rene Rebe. I think that Ademar is
the right person now, he wrote me that he had a lot of SiS machines
and he is working on driver.

NOTE: Driver included in XFree86-4.1.0-3 is 'working', there is only problem
with enabling LCD (ACKed by Ademar and Rene too) display. It means, that X
starts, applications too, but nothing to see on LCD (external display works
fine)
Comment 3 Mike A. Harris 2001-10-22 01:51:05 EDT
I would be glad to test their patches if they would like
to submit them to me, or let me know where I can download
them from.  Thanks for looking into this.
Comment 4 Robert Vojta 2001-10-22 05:04:34 EDT
OK, I investigate my time to gain patches from these boys, I will test them
on my laptop with SiS630 & LCD and after that, I will write you ...
Comment 5 Robert Vojta 2001-10-22 13:49:00 EDT
Heh, funny news, following patch is used, because sis_driver.c is not
able to correctly initialize SiS chip. So, we must use VesaFB functions
for correct initialization and after that we must skipt SiSPreSetMode
and SiSSetMode. So, it's not some nice patch, it's ugly, but working
patch. I think that you do not want to include this in XFree distributed by
RH, do you? Other side, without this, no one with SiS630 & LCD will never
run RedHat.
  Rene told me, that he have some new info and code from SiS, but this doesn't
work too.
  It looks like to close this bug with WONTFIX resolution or any other idea?

---
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))

Comment 6 Robert Vojta 2001-10-24 05:46:45 EDT
What do you think about this change in sis_driver.c ...

 if ForceCrtType == LCD && chipset == SIS_630
 {
    use int10 code to switch vesa mode
 }

 ... because vesa switching is good and it works, so SiS630 chipset and
LCDs will work nice after RH install.
Comment 7 Mike A. Harris 2002-01-25 01:55:45 EST
This may be working in rawhide XFree86 4.2.0 now.  Please
try it if you can as many SiS fixes are present in the SiS
driver in 4.2.0.
Comment 8 Mike A. Harris 2002-02-09 10:25:11 EST
Another note, is that further SiS fixes are forthcoming soon for SiS
from a new driver maintainer.  I need to harvest some testers to
determine the worthiness of the patches.  Are you willing to test
XFree86 4.2.0 from rawhide, and possible newer patches when they arrive?

Please let me know, as it could mean a lot of improvements for SiS users.
Comment 9 Robert Vojta 2002-02-09 10:32:13 EST
I'm sorry for not testing rawhide 4.2.0 version, I'm very short of time now.
I think that I'll have a free time for this in a week, max two weeks. I will
write you when I'll be done. And of course, if you'll have some new patches
I'm here to test them for you with my SiS630 chipset. Too much work here,
I'm sorry for delay.
Comment 10 Robert Vojta 2002-03-07 08:01:46 EST
Hi Mike,
  I'm so sorry, but my laptop with SiS chipset was destroyed. Now I have
new the new (IBM) without this chipset. So, I'm so sorry again, I have no
ability to the SiS drivers.

King regards,
Robert
Comment 11 Mike A. Harris 2002-03-07 11:26:05 EST
Ok, no problem.  I'm closing rawhide for now as there are many SiS fixes
in rawhide, and more will be coming soon too I believe.

Thanks.

Note You need to log in before you can comment on or make changes to this bug.