Welcome to this post!

GNU/Linux as a free operating system (OS), we don't need to pay anything for it. In the other side are other OS such as MS Windows or Mac OS X that are very expensive and not so secure.

With Linux you can get access to many open applications with a free license. Also you can get its source code, if you want to know what the program works or if you want to personalize it and rebuild it. All of that can be easily ported to any PC architectures (more than 10!).

This OS give from installation all the necessary utilities that a home computer or office computer needs: managers, editors, games, office suites...
Even it has pre-distributed drivers for the most common devices used, sometimes the provided by the enterprise assembler or sometimes open drivers.

If you don't know what's a driver, pay attention or please visit Wikipedia.
A driver is a type of program that indicates the OS how to use a device.

But there are some devices that its assembler or manufacturer doesn't provides a driver for Linux or others OS different than Windows. In these cases, the users of altern OS with these devices cannot use it properly.
Specially it is frustrating. I know it.

As a result of this, many self-taught users decides to create and develop his/her own driver. But since they don't know the technical specifications, the open drivers only achieve to work with the devices in a basic level or without special features.

Here's where many GNU/Linux and BSD users are, that have a video card SiS Mirage 3+ 672FX.

My experience

Since I installed many Linux distros for test if one of them looks properly (but none looks good) I began to look for a solution in the Internet.
Every "solution" I tried to, my graphic interface fell down.

However, last March, when I was looking for another solution into an Ubuntu, I found in the search engine (Google) a result I never looked, precisely a blog.
I entered thinking that was another method would fail X server. I tested it following the instructions and... voilá!

Before to show you the solution, I explain you the old driver provided by some distros don't accept resolutions above to 1024x768.

The driver was developed until 2005 by Thomas Winischhoffer, and support these resolutions


320x200          320x240          400x300         512x384
640x400          640x480          720x480         720x576
768x576          800x480          800x600         848x480
856x480          960x540          960x600        1024x576
1024x600        1024x768         1152x768        1152x864
1280x720        1280x768         1280x800        1280x1024
1360x768        1400x1050        1440x900        1600x1200
1680x1050       1920x1080        1920x1200       1920x1440
2048x1536 


If you have a SiS video card and your monitor supports some of them resolutions, you should try to install this driver. Most SiS drivers maybe works well with the driver. Follow the instructions here:

http://www.winischhofer.net/linuxsisvga.shtml

ATTENTION: the distribution company Silicon Integrated Sistems don't made a Linux driver for the SiS Mirage 3+ 671/672, but just made Linux drivers for some other graphic cards.
That is, there is official support for Linux on some graphics cards, so before trying the free driver, check on the official site if there is one for your graphics:


Official drivers availables for Linux by SiS:
http://w3.sis.com/support/support_faqs_16.htm

Official GPU drivers for Linux:
Volari Z Series GPU 

Official IGP drivers for Linux:
SiS 650 & SiS 740 Series
SiS 630 & SiS 730 Series  


Altern driver sismedia

In the blog of Martin Lee I found a way to install a modified driver of the original by Winischhofer and others, with a support for 1366x768 screen resolution.

1- Firstly be sure you are connected to internet.

2- Now verify if you graphic card is the indicated to use the driver:

lspci | grep -i vga 

3- Verify if you have installed all the necessary development packages to be able to compile the driver.
You must to install the folowing dependencies and/or update it with the following commands:

Firstly we should to verify if we have installed GCC compiler. After that we will install GIT that will download the source code from its repository, and the X development packages. You should install the other dependencies would appear.

If you use Debian/Ubuntu/Linux Mint or a distro based on Debian, try:

sudo apt-get install gcc make binutils kernel-devel git xorg-dev mesa-common-dev libdrm-dev libtool 

If you use a RedHat-based distro (Fedora, RHEL, Fuduntu) try:

sudo yum install gcc make binutils kernel-devel git xorg-x11-server-sdk libtool

For other distros the installation is similar.

4- Now you have to kill the Graphic User Interface. Probably you should to log out and log on with the parameter "Console Login" or similar.

5- Get the source code:

git clone git://github.com/hellnest/xf86-video-sismedia-0.9.1.git 

6- Then go to the folder which have the source code:

cd xf86-video-sismedia-0.9.1 

7- Set up the building

 ./configure --prefix=/usr --disable-static 

if you got an error, probably configure file onto the folder doesn't have execution permissions. Solve it running this:
chmod +x ./configure  

8- Build

make 

9- Install with the following command as root

su -c 'make install' 

10- Now we'll create a X server configuration file. Please login as root and enter the password:

su -l root 

and run:

Xorg -configure 

Move the generated file:

mv /root/xorg.conf.new /etc/X11/xorg.conf  

Run startx to test the resolution works. If not, please repeat all the steps to avoid errors.
But if you want a resolution of 1366x768, you need to edit the configuration file as root to enable it before test the resolution:
You can use vi or nano
<your_non_graphical_text_editor> /etc/X11/xorg.conf 

Search and find the line:
#Option "UsingTiming1366" #[<bool>]
and replace it with this:
Option "UsingTiming1366" "yes"

Test with startx

-----------------------------
UPDATE 25/07/2012
The version that I talked above is 0.9.1, and the latest version is 0.10.7
You can get the updated source code, mainly maintained by people of redhat and xorg, in the following link:
http://cgit.freedesktop.org/xorg/driver/xf86-video-sis/
Maybe you would need the latest version of pciaccess .
This source maybe don't compile under older distros

-----------------------------

Before and after...

Before:



After:



Notes

ATTENTION: some source code versions are out of date (are approx. of 2005) and doesn't compile if you have the Xserver version 1.12.
The problem is with some definitions that currently aren't available, because they have been deleted from the headers of the development packages of Xserver, for deprecated.
I tested it under Fedora 17 Beefy Miracle and I don't find a solution. At the moment i didn't find a solution in Internet, but I'll continue trying to fix this.

To avoid this please try the newest version at the following link:
http://cgit.freedesktop.org/xorg/driver/xf86-video-sis/


If you have a question please do it under in the comments.

Thanks for read.