How-to: VIA K8M890 Chrome 9 IGP and Linux’s Xorg – Ubuntu Edgy 6.10

After posting about the Spanish version of this tutorial here, I decided I should give back (a little) to those who so many times saved me, and did so in English.
I wont translate the whole history on how I ended buying this motherboard, but this is what i got: I was expecting my post-install to be a flawless one, when i found out that windows moved extremely slow, not to name Firefox scrolling of webpages crawling like if I were playing Quake 4. This last issue didn’t precisely help in the search for this driver.

Español: Esta es una traducción del articulo en español que publique hace algunos dí­as. Si querés verlo, lo podes encontrar acá.

Click the following link to continue reading.

May 15th, 2009: This post is out of date. Its been more than two years since it was written. You can check the follow up, which is based on OpenChrome instead of Via’s Unicrome. This post remains for archiving porpouses and historical reference, don’t say I didn’t warn you if you try this howto on Ubuntu 8.04 or above.
February 3rd, 2007: You should note that the drivers are continuously updated, and so, you should check the version you are using instead of copy/pasting the one in this tutorial. Please note that at the time of this update the version is 72 instead of 71 as it was when i wrote the how-to. Check that when you download from the Via website too.

The only thing I’m going to say about it is that I hope Via, Xorg and the whole distro-world start doing something with this kind of things. VIA and SiS are very popular chipsets around Latin America (they are cheaper, and when you don’t need that extra performance from Intel or nVidia, the budget rules) and they should, better yet, MUST be easy as hell to install, as they have (Via ones, for 2D at least) open source drivers. Of course this is not the case and here we are, writing a tutorial for it. I don’t know or understand the reasons behind this, if there are any that you know of, and I’m obviously missing, please post a comment and tell me about it.

Note: In this case we will be using Ubuntu Edgy 6.10 as our lab-rat, but it should work for any Debian based distro (those are the packages missing for download in Via’s site).

This tutorial will install the official open source Via drivers for the K8M890 chipset, but will work for all and any of the next:

  • CLE266 UniChrome integrated graphics ( VT8622/3 )
  • CN700 UniChrome Pro integrated graphics ( CN700 )
  • CN800 UniChrome Proâ„¢ integrated graphics ( CN800 )
  • CX700 UniChrome Pro integrated graphics ( CX700 CX700 )
  • CX700M UniChome Pro integrated graphics ( )
  • K8M800/K8N800 UniChrome Pro integrated graphics ( K8M800 K8N800 )
  • K8M890CE/K8N890CE Chrome9â„¢ integrated graphics ( K8M890 )
  • KN400 & KM400 UniChrome integrated graphics ( KN400 VT8378 )
  • P4M800/CE/Pro UniChrome Pro integrated graphics ( P4M800 P4M800Pro )
  • P4M890 UniChrome Pro integrated graphics ( P4M890 )
  • P4M900 VIA Chrome9â„¢ HC integrated graphics ( P4M900 )
  • PM880, PM800, CN400 UniChrome integrated graphics ( PM880 CN400 PM800 )
  • VN800 UniChrome Pro integrated graphics ( VN800 )
  • VX700 Single chip solution ( )

Here is the drivers page for more info and the download of the source.

Now, lets get hands on the dirty task of making video work as it should, you can copy and paste each instruction if you follow the order and everything should work, of course, take a look at the comments in case you have to make some modification:

First we are going to remove any traces of other may-be-conflicting drivers:

sudo apt-get remove xserver-xorg-video-via xserver-xorg-video-unichrome

We should confirm the removal and move on to installing all the dependencies that we will need to compile the driver:

sudo apt-get install build-essential libxinerama-dev x11proto-xinerama-dev libxvmc-dev sysutils tofrodos
sudo apt-get build-dep xserver-xorg-video-via
sudo apt-get build-dep xorg

Again, confirm the installation for each step and move on to decompressing the drivers source.

Note: when I use # is for root or sudo. For user is $.

# tar zxvf CN_CX700-CN800XORG40071-kernel-src_[date].tgz

Once decompressed get inside the src directory:


# cd CN_CX700-CN800XORG40071-kernel-src_[fecha]/src

And we try to compile (and i say try, because you never know when something can go wrong!):

Update: 2007/06/01
As I sayd before, you never know when something can go wrong!
Several people comment problems compiling the driver. This issue is caused by a problem with kernel versions in the drivers.
If you are using Ubuntu Edgy, you should check for this, before compiling (this might work for other distributions if you are having the same problem, try it):

uname -r

Thats your kernel version. Now check what version the drivers are for, inside the driver folder run:

grep "2.6." makedriver

Check the version is the same, if its not, then, edit it with vim (or your prefered editor) and replace the wrong version entries with the one of the command: “uname -r“.
Now check again the version of the kernel, but this time in another file:

grep "2.6." vinstall_2D

Check the version is the same, if its not, then, edit it with vim (or your prefered editor) and replace the wrong version entries with the one of the command: “uname -r“.


# ./makedriver

Once we run makedriver we have to answer a couple of questions:
1) The driver version. In this case is 71. You can find this at the end of the first block of numbers in the filename before the ‘kernel’ word.
2) Our CPU architecture. You should know what type of processor you have. If in doubt, type cat /proc/cpu in another console, and enter the correct option.

After this, we re-index our libraries:


# ldconfig

That shouldnt take long on a fresh install, then, we should find our driver compiled right in /CN_CX700-CN800XORG40071, so we get inside to finish the task:


# cd /CN_CX700-CN800XORG40071
Note: Thats the whole path, the directory is inside the /. Yes, /, as in one, single slash.

And finally, enter the last command to finish the installation:


# ./vinstall_2D

We should get some output indicating everything went right.
This should have changed ‘vesa’ for ‘via’ in /etc/X11/xorg.conf automatically.

Now, you should reboot and watch our firefox scroll go as fast as it can ;)

Some references used to build this how-to and accomplish the task:
Help Ubuntu – OpenChrome
OpenChrome Mailing List
Via Arena Forums

If you liked the article and found it useful, share it. You can press any of the social bookmarking services on the bottom left or post it in your site. Its under a Creative Commons license as you can see on the bottom, to the left.