Video-SiS - SiS 5597/88From: Michael Hipp <MHipp@RedMule.com>
Installing Linux on machines using the SiS 5597/98 video controller chips can be a challenge so this write-up is intended to give anyone attempting it some help.
But first some words of discouragement. While the SiS 5597/98 video controllers can certainly be made to work with Linux / XFree86 there are problems with the way these chips are typically implemented that make this particular video controller a very un-optimal choice. The first is that these chips typically have none of their own memory instead sharing main memory with the cpu. This not only reduces available memory, but also forces the processor to compete with the very demanding memory access needs of the video controller and thereby slowing the entire system. Also, these chips don't even support the most basic VGA video modes rendering many crucial utilities that depend on them useless (such as XF86Setup). For these reason and many others, the SiS 5597/98 chips are not all that well supported by Linux / XFree86 and probably never will be a particularly good choice.
All that was written to lead up to the suggestion that replacing the SiS-based video controller might be a small investment you would want to consider. It could yield alot of benefit in increased performance and capability for a small amount of money. (I did it and it was $69US well spent.)
Anyway, below are the steps and settings I used to get SiS video to work under Caldera eDesktop 2.4, LTP and RedHat 6.1 & 6.2. (Note that all is different under Caldera LTP or anytime XFree86 v4+ is used. More on that later).
The basic steps are:
1) Install the system using a very conservative video mode just to get it working.
2) Edit XF86Config to get a better video mode.
3) Make sure you're using wallpaper rather than a generated desktop background color.
1) With e2.4 and RH6.2 the graphical installer works fine and the system will boot into graphical mode as long as you specify a very conservative video mode. I choose 800x600 at 60Hz and 16bpp. Of course, 640x480 can also be used with a low refresh rate (60-65Hz). Under no circumstances choose a color depth > 16bpp.Basically you'll want to emulate these last few lines of my XF86Config.
2) Use your favorite text editor to edit the /etc/XF86Config file. In RH6, it is /etc/X11/XF86Config. I'm a GUI weenie so I use kedit in KDE. Real men (ahem, people) use EMACS, Vi or clay tablets with sharpened sticks :-)
Identifier "Primary Monitor"
ModelName "ViewSonic 17GS"
Modeline "1024x768/70Hz" 75 1024 1048 1184 1328 768 771 777 806 -HSync -VSync
ModeLine "640x480" 25.175 640 664 760 800 480 491 493 525
Identifier "Primary Card"
Option "xaa_no_color_exp" # These give improved performance
Option "pci_burst_on" # "
Option "ext_eng_queue" # "
Device "Primary Card"
Monitor "Primary Monitor"
Modes "1024x768/70Hz" "640x480"
Virtual 0 0
It is likely that your XF86Config installed with many "screen" sections for such things as VGA16, mono, fbdev, etc. Delete them all. The only one that actually works, afaik, is SVGA.
In the "monitor" section, the important things are the two modelines. Chances are you already have the line for 640x480. The line for 1024x768/70Hz is the one I'm proud of as it seems to be the highest resolution available at a respectable refresh rate and using 65536 colors (16bpp "High Color").
The "device" section is the meat that makes the SiS chips work. Keep whatever your VideoRam option says. Add the five lines following. The DacSpeed and mclk lines set the SiS to run fast enough to give decent rates. The "option" lines give some improvement in performance. Note: if you experience drawing errors with these settings, try commenting the option lines out (one at a time) until the drawing errors hopefully go away.
3) For reasons I don't understand, I still had frequent
drawing errors unless I made sure that my KDE desktop was using
a background wallpaper rather than a generated color
scheme. Use the KDE Control Center | Desktop | Background
and make sure the box for 'Wallpaper' has something selected
(rather than No Wallpaper). I found out about this little
anomaly because I much prefer a featureless mono-color
background so I selected No Wallpaper and then set the color
just right. Found out eventually that *any* wallpaper
eliminated the drawing errors. I've even gone as far as creating a 1024x768 one-color .png file just so I could have my bland background but no drawing errors. Strange.
Note that all of the above instructions are only for 3.3.x versions of XFree86. With XFree version 4.0.1 (i.e. Caldera LTP) the SiS drivers seem to work better and the only thing required was to add the line Option "NoAccel" to the "device" section. Actually you just uncomment it. But the performance is still very poor.