Revised: 7 May 2010

Description

openChrome is a free and Open Source video driver for the VIA/S3G UniChrome, UniChrome Pro and Chrome9 graphics chipsets: CLE266, KM400/KN400/KM400A/P4M800, CN400/PM800/PN800/PM880, K8M800, CN700/VM800/P4M800Pro, CX700, K8M890, P4M890, P4M900/VN896/CN896, VX800, VX855, VX900.

For more information, please visit http://www.openchrome.org/

Ubuntu 8.04 , Debian 5.0 and newer releases

Since Ubuntu 8.04 (Hardy Heron) and Debian 5.0 the openchrome driver is installed by default, provided by the xserver-xorg-video-openchrome package. If this driver works correctly for your needs, there is no need to compile the driver yourself.

The openchrome manual page indicates which options can be used to configure the driver by editing /etc/X11/xorg.conf. The xorg.conf manual page explains the structure of this file.

man xorg.conf
man openchrome

Manual Installation

These instructions will help you compile and install the openChrome driver in Ubuntu 6.06 (Dapper) and up. It should also work on Debian and other Debian-based distributions.

Before you start

openChrome 2D driver compilation

  1. Install needed dependencies

    • Get necessary tools to compile source code:
      sudo apt-get install build-essential
      sudo apt-get install autoconf automake1.9 libtool git xutils xutils-dev
    • Get all the dependency packages needed to build the driver. Run:
      sudo apt-get build-dep xserver-xorg-video-openchrome
      Recent openChrome versions may require additional packages:
      sudo apt-get install pkg-config xserver-xorg-dev libxext-dev libxv-dev libxvmc-dev
  2. Compile and install the 2D driver

    • Get the openChrome source code from the subversion repository:
      git clone git://anongit.freedesktop.org/openchrome/xf86-video-openchrome
    • Change into the newly created directory:
      cd xf86-video-openchrome
    • Run autogen.sh with the prefix option so that the driver is installed to the correct directory. You may enable debug options to troubleshoot the driver in case it doesn't work:

      ./autogen.sh --prefix=/usr --enable-debug --enable-xv-debug
    • Compile openChrome:
      make
    • Install openChrome:
      sudo make install
  3. Test the driver Restart your desktop manager by logging out and back in, or restarting your computer.

  4. If it doesn't work

    If the X Server does not start any more, that is, you have a black screen. Login into safe mode by choosing option during boot. After run and login create/edit xorg.conf file located at /etc/X11/xorg.conf. Then you could use generic vesa driver in order to boot and find another solution for your problem.

    Log into textual console (Ctrl+Alt+F1), open xorg.conf

    sudoedit /etc/X11/xorg.conf

    and set Driver to "vesa":

    Section "Device"
            Identifier      "Configured Video Device"
            Driver          "vesa"
    EndSection

3D doesn't always work

The openchrome driver (and previously the via driver) only supports 2D acceleration, and most of the time it will work.

3D acceleration (Direct Rendering Infrastructure or DRI) is provided by a companion driver by the Mesa project and it is normally already installed on your system.

To avoid immediate crash of the X Server, from openChrome revision 749, DRI was disabled by default for Chrome9, thus making 3D applications run in Software Rasterizer mode. This solution helps to prevent system freezing, specially with OpenGL applications, games, screensavers, and Wine (see Launchpad bug #274340). With this solution you won't have 3D acceleration (3D applications will be slow), but your system won't freeze.

Keep in mind that:

  • There is no good 3D driver because VIA has not released enough chipset specifications to free software developers.
  • For desktop PC users a definitive solution to the lack of 3D features is to use another graphics card, either PCI, AGP, PCI-Express, etc. Laptop users may have to avoid 3D applications altogether.

VIA proprietary graphics driver for Chrome9

Note from the editor: Help clean up this section. It is not evident what exactly is being installed, or why the instructions ask to use some files for Ubuntu 8.10, and other files for Ubuntu 9.04.

There is a VIA proprietary driver for Chrome9 chipsets that should support most of the features missing with the openChrome driver, like video decoding acceleration and 3D hardware acceleration.

These installing instructions are for Ubuntu 9.04 and Chrome9 graphic series chipsets: CX700M/VX700/CN700/CN896/VN896/VX800/VX855.

1. Install some packages in order to be able to compile a kernel module

sudo apt-get install build-essential autoconf automake1.9 libtool linux-headers-generic xorg-dev

The driver can be found at the following website:

http://linux.via.com.tw/support/downloadFiles.action

Choose "OS: Ubuntu 8.10" and "Platform: VX800" and download the "Unified GFX driver Ver 85a-44597 for Ubuntu 8.10".

Install the libGL.so.1.2.via_chrome9 library:

tar -xzvf 5.74.33.85a-44597.tar.gz
cd 5.74.33.85a-44597
sudo ./vinstall

The previous step installs the libGL library for Ubuntu 8.10, and not Ubuntu 9.04; this seems to work to some extent. The other option would be to not install it, but then GL would not be available.

Choose "OS: Ubuntu 9.04" and "Platform: VX800" and download the "Unified 2D/DRM driver source version 86a-50283".

Install the via_chrome9 kernel module and the via xorg driver:

tar -xjvf /root/via-xserver-86a-50283_src.tgz
cd via-xserver-86a-50283_src/DRM/H5DRM_Independent_2.6.27_28
make
sudo make install
sudo depmod -a
cd ../../XServer
chmod a+x autogen.sh
./autogen.sh
make
sudo make install
cd Misc
chmod a+x vinstall_ubuntu
sudo ./vinstall_ubuntu

At this point, edit /etc/X11/xorg.conf to include the "via" driver in the "Device" section:

Section "ServerLayout"
        Identifier     "X.org Configured"
        Option         "RandR"  "false"
EndSection

Section "Device"
        Identifier      "Configured Video Device"
        Driver          "via"
EndSection

Mixing the latest 2D VIA open source driver (v86a) with the previous GFX driver (v85a) will crash your system when starting an OpenGL program that uses textures. So refrain from doing so until VIA comes with an updated version of the GFX driver.

Beta Drivers for Ubuntu 10.04

Supported Chipsets

Installation instructions

Since i had no 3D support with the current kernel, following instructions will install a newer kernel as the source directory in the driver package suggests ("VIA_Chrome9_2.6.33").

You may try installing the driver with the current kernel first.

Problems and solutions

General

  • After compiling and upgrading to the latest openChrome revision, a bug appeared. What should I do? First find in which revision the bug was introduced. You should get intermediate revisions of the openChrome driver between the last working revision, and the current one. Then, you should compile and install some revisions to determine in which revision the bug appeared. For example, to get revision 713, check out from the subversion tree:

    svn checkout http://svn.openchrome.org/svn/trunk openchrome
    Then, enter the created directory and type:
    svn update -r713
    Then, compile, install, and test this revision as described above. If you can confirm that a bug was introduced in this revision, submit a bug report at:

    For the developers' convenience, attach the X Server log /var/log/Xorg.0.log, and the X Server configuration file /etc/X11/xorg.conf.

  • I found a bug in openChrome. How do I enable debug mode?

    After obtaining the source code, run autogen.sh with debug options:

    ./autogen.sh --prefix=/usr  --enable-debug --enable-xv-debug
    Then you may compile, install, and test the driver as was described above.
  • When running autogen.sh for the openchrome 2D driver, I get errors like:

    configure.ac: 30: required file `./[config.h].in' not found
    unichrome/Makefile.am:33: via_drv_la_SOURCES defined both conditionally and unconditionally

    This is due to having multiple versions of the automake tool installed, with the wrong version as the default. Make sure you use automake-1.9:

    sudo apt-get install automake1.9
    If you have different versions installed, you can choose the default one with:
    sudo update-alternatives --config automake
  • How do I apply a patch to the openChrome driver Go into openChrome source code directory and type:

    patch -p0 < patch-file-name-here
  • I installed a kernel update, now 3D does not work any more. If you manually compiled and installed the VIA kernel module, you will have to recompile it with the new kernel headers, as described above.

Disabling 3D

  • My system sometimes freezes with OpenGL applications, games, screensavers, or Wine. How do I disable DRI?

    Edit /etc/X11/xorg.conf and disable DRI in the "Module" section.

    In Ubuntu 8.04 (Hardy) and newer, the X Server configures itself and the xorg.conf file no longer lists all the sections described in the manual page. In this case you can add the "Module" section to the beginning of the file, and your options will override the X Server's defaults. Add:

    Section "Module"
            Disable    "dri"
    EndSection
    Without DRI, 3D effects will be software-rendered, which will be slow. This is a sensible solution for those that don't care about desktop effects or games.

Ubuntu 8.10

  • My system sometimes freezes after loading the Gnome Desktop Manager.

    Try adding the "XaaNoImageWriteRect" option to the "Device" section of /etc/X11/xorg.conf:

    Section "Device"
            Driver    "openchrome"
            Option    "XaaNoImageWriteRect"
    EndSection
  • My login prompt is not centered on the screen.

    In the "Screen" section of /etc/X11/xorg.conf, try adding a "Display" subsection to include the Virtual resolution matching your screen size:

    Section "Screen"
            Identifier      "Default Screen"
            Monitor         "Configured Monitor"
            Device          "Configured Video Device"
            SubSection "Display"
                    Virtual    1280    1024
            EndSubSection
    EndSection
  • My mouse cursor sometimes disappears or is invisible.

    This is known to happen on VIA's K8M800, VN800 and VM800 chipsets, e.g. Axioo Neon TVR 856C / TVR 016C laptops. As a solution, try using a software-rendered cursor. For this, add the "SWCursor" option to the "Device" section of /etc/X11/xorg.conf:

    Section "Device"
            Driver    "openchrome"
            Option    "SWCursor"    "true"
    EndSection
  • I have redrawing errors on the desktop and in various applications. Lines, icons, and sliders disappear.

    The redrawing issues can be worked around by trying "True" or "False" as values for the "EnableAGPDMA" option of the "Device" section of /etc/X11/xorg.conf:

    Section "Device"
            Driver    "openchrome"
            Option    "EnableAGPDMA"    "True"
    EndSection

Ubuntu 10.04 LTS

  • My Monitor does not display anything with the PM800 chip

    Revision 818 of openChrome introduced new mode switching code for the PM800 chip, which may cause problems on some setups. You can try to use the "legacy" mode-switching method in the "Device" section of /etc/xorg.conf:

    Section "Device"
            Driver    "openchrome"
            Option    "ModeSwitchMethod" "legacy"
    EndSection
  • VIA 2D/DRM driver does not compile

    Currently (2010-09-21) there are only beta drivers for Ubuntu 10.04 at VIA site. The most recent stable integrated graphics drivers correspond to Ubuntu 9.04:

    Use this patch to make `H5DRM_Independent_2.6.27_28' directory (2D/DRM driver source archive) buildable against vanilla 2.6.32-23 kernel.

  • New VIA DRM Beta driver for Ubuntu 10.04: 3D does not work

    Try compiling the DRM Driver with the new Ubuntu kernel 2.6.33 (as the source directory suggests "VIA_Chrome9_2.6.33"), its kernel headers and the following build packages installed: "sudo apt-get install build-essential autoconf automake1.9 libtool xorg-dev".

OpenChrome (last edited 2012-12-05 12:17:47 by cli)