-
-
Save fevangelou/46a2885233c45011ad5c8752f18eac73 to your computer and use it in GitHub Desktop.
| #!/bin/bash | |
| # Bash script to install SiS Mirage 3+ graphics drivers on Linux | |
| # Supports 671/672MX graphics cards | |
| # | |
| # Created in March 2019 | |
| # | |
| # Tested on: | |
| # - Lubuntu 18.04 (32-bit) with X.Org v1.19 | |
| # - Xubuntu 18.04 (64-bit) with X.Org v1.20 | |
| # installed on a Fujitsu-Siemens Esprimo Mobile v5535 laptop (specs: https://www.notebookcheck.net/Fujitsu-Siemens-Esprimo-Mobile-V5535.9149.0.html) | |
| # | |
| # Execute as root user with: | |
| # | |
| # $ sudo su | |
| # (then type your password) | |
| # $ cd ~/ | |
| # $ wget --no-check-certificate https://gist.githubusercontent.com/fevangelou/46a2885233c45011ad5c8752f18eac73/raw/79b407db60589d98e78cd131b56a1652756fb7b2/install_sis_graphics_on_linux.sh | |
| # $ chmod +x install_sis_graphics_on_linux.sh | |
| # $ ./install_sis_graphics_on_linux.sh | |
| # | |
| # IMPORTANT: | |
| # If you X.Org version is not 1.20, edit the variable "XORG_VERSION" below accordingly and re-run the script. | |
| # | |
| # References: | |
| # https://github.com/rasdark/xf86-video-sis671 (driver) | |
| # https://ubuntuforums.org/showthread.php?t=2350126&page=4&p=13599531#post13599531 (how-to) | |
| XORG_VERSION="1.20" | |
| # Check for /etc/X11/xorg.conf | |
| if [ ! -f "/etc/X11/xorg.conf" ]; then | |
| touch /etc/X11/xorg.conf | |
| fi | |
| # Install required packages | |
| apt-get -y install build-essential xorg-dev autoconf automake git libtool-bin xutils-dev inxi | |
| # Build the driver | |
| cd ~/ | |
| git clone https://github.com/rasdark/xf86-video-sis671.git | |
| cd xf86-video-sis671/ | |
| git checkout for-xorg-$XORG_VERSION | |
| autoreconf | |
| automake | |
| ./configure --prefix=/usr --disable-static | |
| make | |
| make install | |
| # Check if the drivers were installed | |
| ls -la /usr/lib/xorg/modules/drivers/sis671* | |
| echo "" | |
| echo "" | |
| inxi -G | |
| echo "" | |
| echo "" | |
| if [ -f "/usr/lib/xorg/modules/drivers/sis671_drv.so" ]; then | |
| # Setup the SiS graphics driver | |
| cat > "/etc/X11/xorg.conf" <<EOF | |
| Section "Device" | |
| Identifier "Configured Video Device" | |
| Driver "sis671" | |
| EndSection | |
| Section "Monitor" | |
| Identifier "Configured Monitor" | |
| EndSection | |
| Section "Screen" | |
| Identifier "Default Screen" | |
| Monitor "Configured Monitor" | |
| Device "Configured Video Device" | |
| EndSection | |
| EOF | |
| # Now reboot | |
| echo "" | |
| echo "" | |
| echo " *** The installation for SiS graphics drivers is now complete *** " | |
| echo "" | |
| echo " === --------------------------------------------------------- === " | |
| echo " === PLEASE REBOOT YOUR SYSTEM NOW === " | |
| echo " === --------------------------------------------------------- === " | |
| echo "" | |
| else | |
| echo "" | |
| echo "" | |
| echo " *** The installation for SiS graphics drivers FAILED *** " | |
| echo "" | |
| echo " === ---------------------------------------------------- === " | |
| echo " === Check your X.Org version! === " | |
| echo " === ---------------------------------------------------- === " | |
| echo "" | |
| fi |
This Script does not work on my Fujitsu-Siemens Esprimo Mobile v5535 with LUbuntu 22.04.5 LTS 64bit with Sis 671 / SiS Mirage 3.
After installation i get these error message when booting (i adapted the script with: XORG_VERSION="21.1") Version XORG_VERSION="1.21"
is wrong, right?
UBBAN: array-index-out-of-bounds in /build/linux-hwe-6.8-dFitJc/linux-hwe-6.8-6.8.0/drivers/net/wireless/ath/ath5k/base.c:1741:20
index 4 is out of range for type 'ieee80211_tx_rate [4]'
After a few days of debbuging I managed to make this work on Debian 13 LXQt. I followed the steps directly from rasdark/xf86-video-sis671 repo. Modern GCC that ships with Debian 13 complained A LOT about some implicit function declarations on the driver source code. After fixing these and a few headers missing, the driver compiled on Debian 13. At runtime there was a single crash error regarding a pointer that pointed to a garbage address, fixed it and now the SiS 671 driver works perfectly on an old Positivo Mobile Z94 from 2008.
Xorg conf file that worked for me:
/etc/X11/xorg.conf.d/20-sis671.conf
Section "Device"
Identifier "SiS671"
Driver "sis671"
Option "NoAccel" "True" # This is optional, but made desktop feel snappier for me.
EndSection
Don't forget to add "nomodeset" to grub, or else the kernel will not allow Xorg to load the driver.
P.S. For technical reference, this was built against the stock Debian 13 environment running Xorg Server version 1.21.1 and X.Org Video Driver ABI version 25.2. The structural changes in ABI 25 are what trigger the modern compilation errors on the old codebase!
Woah, 2025 and another crazy person posting their screenshot?
Yeah, Lubuntu 24.04 LTS running Xorg 1.21.1... I actually used the https://github.com/rasdark/xf86-video-sis671 instructions and files which are just this script but manual. This Lubuntu 24.04 was the only one able to run 1280x800, MX Linux ran 1024x768...
Anyway, here's the screenshot (btw, don't ever try installing this on arch)