特殊:Badtitle/NS100:OpenChrome:修订间差异
小无编辑摘要 |
小无编辑摘要 |
||
(未显示同一用户的3个中间版本) | |||
第1行: | 第1行: | ||
{{From|https://help.ubuntu.com/community/OpenChrome}} | {{From|https://help.ubuntu.com/community/OpenChrome}} | ||
{{Languages|UbuntuHelp:OpenChrome}} | {{Languages|UbuntuHelp:OpenChrome}} | ||
''Revised: | ''Revised: 7 May 2010'' | ||
== Description == | == Description == | ||
'''openChrome''' is a free and Open Source video driver for the VIA/S3G [[UbuntuHelp:UniChrome|UniChrome]], [[UbuntuHelp:UniChrome|UniChrome]] Pro and Chrome9 graphics chipsets: CLE266, KM400/KN400/KM400A/P4M800, CN400/PM800/PN800/PM880, K8M800, CN700/VM800/P4M800Pro, CX700, P4M890, K8M890, P4M900/VN896, VX800 | '''openChrome''' is a free and Open Source video driver for the VIA/S3G [[UbuntuHelp:UniChrome|UniChrome]], [[UbuntuHelp:UniChrome|UniChrome]] Pro and Chrome9 graphics chipsets: CLE266, KM400/KN400/KM400A/P4M800, CN400/PM800/PN800/PM880, K8M800, CN700/VM800/P4M800Pro, CX700, P4M890, K8M890, P4M900/VN896/CN896, VX800, VX855. | ||
For more information, please visit [http://www.openchrome.org/] | 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 <code><nowiki>openchrome</nowiki></code> driver is installed by default, provided by the <code><nowiki>xserver-xorg-video-openchrome</nowiki></code> package. If this driver works correctly for your needs, '''there is no need to compile the driver yourself'''. | |||
The <code><nowiki>via</nowiki></code> driver and the <code><nowiki>xserver-xorg-video-via</nowiki></code> package are no longer available in Ubuntu 8.10 (Intrepid Ibex) and later releases. | |||
The <code><nowiki>openchrome</nowiki></code> manual page indicates which options can be used to configure the driver by editing <code><nowiki>/etc/X11/xorg.conf</nowiki></code>. | |||
The <code><nowiki>xorg.conf</nowiki></code> manual page explains the structure of this file. | |||
<pre><nowiki> | |||
man xorg.conf | |||
man openchrome | |||
</nowiki></pre> | |||
=== Ubuntu 7.10 and previous releases === | === Ubuntu 7.10 and previous releases === | ||
A version of the openchrome driver was backported to Ubuntu 7.10 (Gutsy Gibbon) repositories and can be installed by the command | A version of the openchrome driver was backported to Ubuntu 7.10 (Gutsy Gibbon) repositories and can be installed by the command | ||
<pre><nowiki> | <pre><nowiki> | ||
sudo apt-get install xserver-xorg-video-openchrome | |||
</nowiki></pre> | |||
This replaces the <code><nowiki>via</nowiki></code> driver with the openchrome one. The driver module is still called <code><nowiki>via</nowiki></code>, so <code><nowiki>"via"</nowiki></code> is what needs to be written to the <code><nowiki>"Driver"</nowiki></code> field of the <code><nowiki>"Device"</nowiki></code> section in <code><nowiki>/etc/X11/xorg.conf</nowiki></code> | This replaces the <code><nowiki>via</nowiki></code> driver with the openchrome one. The driver module is still called <code><nowiki>via</nowiki></code>, so <code><nowiki>"via"</nowiki></code> is what needs to be written to the <code><nowiki>"Driver"</nowiki></code> field of the <code><nowiki>"Device"</nowiki></code> section in <code><nowiki>/etc/X11/xorg.conf</nowiki></code> | ||
For previous Ubuntu releases the driver had to be compiled from source. | For previous Ubuntu releases the driver had to be compiled from source. | ||
== Manual Installation == | == 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 | === Before you start === | ||
* Make sure you have enabled the [[UbuntuHelp:Repositories/Ubuntu#what|Universe and Multiverse repositories]]. See [[UbuntuHelp:Repositories/Ubuntu|Managing Repositories in Ubuntu]] or [[UbuntuHelp:Repositories/Kubuntu|Kubuntu]] for help with this. | |||
* Make sure you have enabled the [[UbuntuHelp:Repositories/Ubuntu#what|Universe and Multiverse repositories]]. | * Use <code><nowiki>sudo</nowiki></code> to obtain [[UbuntuHelp:RootSudo|administrative privileges]], in order to edit, move or install system files. | ||
* Commands for checking out source code, patching files, or compiling don't need <code><nowiki>sudo</nowiki></code>. | |||
=== openChrome 2D driver compilation === | === openChrome 2D driver compilation === | ||
<ol><li>'''Install needed dependencies'''</li></ol> | <ol><li>'''Install needed dependencies'''</li></ol> | ||
* Get necessary tools to compile source code: | |||
<pre><nowiki> | <pre><nowiki> | ||
sudo apt-get install build-essential | |||
sudo apt-get install subversion | |||
sudo apt-get install autoconf automake1.9 libtool | |||
</nowiki></pre> | </nowiki></pre> | ||
Get all the dependency packages needed to build the driver. | * Get all the dependency packages needed to build the driver. | ||
In 8.04 (Hardy) and later releases run: | In 8.04 (Hardy) and later releases run: | ||
<pre><nowiki> | <pre><nowiki> | ||
sudo apt-get build-dep xserver-xorg-video-openchrome | |||
</nowiki></pre> | </nowiki></pre> | ||
In Ubuntu 7.10 (Gutsy), 7.04 (Feisty), and 6.10 (Edgy) run: | In Ubuntu 7.10 (Gutsy), 7.04 (Feisty), and 6.10 (Edgy) run: | ||
<pre><nowiki> | <pre><nowiki> | ||
sudo apt-get build-dep xserver-xorg-video-via | |||
</nowiki></pre> | </nowiki></pre> | ||
In Ubuntu 6.06 | In Ubuntu 6.06 (Dapper), and older Debian-based distributions, run: | ||
<pre><nowiki> | <pre><nowiki> | ||
sudo apt-get build-dep xserver-xorg-driver-via | |||
</nowiki></pre> | </nowiki></pre> | ||
<ol><li>'''Compile and install the 2D driver'''</li></ol> | <ol><li>'''Compile and install the 2D driver'''</li></ol> | ||
* Get the openChrome | * Get the openChrome source code from the subversion repository: | ||
<pre><nowiki> | <pre><nowiki> | ||
svn checkout http://svn.openchrome.org/svn/trunk openchrome | |||
</nowiki></pre> | </nowiki></pre> | ||
* Change into the newly created directory | * Change into the newly created directory: | ||
<pre><nowiki> | <pre><nowiki> | ||
cd openchrome* | |||
</nowiki></pre> | </nowiki></pre> | ||
* Run <code><nowiki>autogen.sh</nowiki></code> with the prefix option so that the driver is | * Run <code><nowiki>autogen.sh</nowiki></code> 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: | ||
<pre><nowiki> | <pre><nowiki> | ||
./autogen.sh --prefix=/usr --enable-debug --enable-xv-debug | |||
</nowiki></pre> | </nowiki></pre> | ||
* Compile openChrome | * Compile openChrome: | ||
<pre><nowiki> | <pre><nowiki> | ||
make | |||
</nowiki></pre> | </nowiki></pre> | ||
* Install openChrome | * Install openChrome: | ||
<pre><nowiki> | <pre><nowiki> | ||
sudo make install | |||
</nowiki></pre> | </nowiki></pre> | ||
<ol><li>'''Edit the X server configuration file'''</li></ol> | <ol><li>'''Edit the X server configuration file'''</li></ol> | ||
* Edit <code><nowiki>/etc/X11/xorg.conf</nowiki></code> and change the device driver to <code><nowiki>openchrome</nowiki></code> | * Edit <code><nowiki>/etc/X11/xorg.conf</nowiki></code> and change the device driver to <code><nowiki>openchrome</nowiki></code>: | ||
<pre><nowiki> | <pre><nowiki> | ||
gksudo gedit /etc/X11/xorg.conf | |||
</nowiki></pre> | </nowiki></pre> | ||
or in Kubuntu | |||
<pre><nowiki> | <pre><nowiki> | ||
kdesu kate /etc/X11/xorg.conf | |||
</nowiki></pre> | </nowiki></pre> | ||
Make a backup of this file in case you need to revert the changes. By default some editors create a backup by appending a tilde to the name of the file (<code><nowiki>xorg.conf~</nowiki></code>). This backup may be hidden in the file manager, but is still listed with <code><nowiki>ls</nowiki></code> in | Make a backup of this file in case you need to revert the changes. By default some editors create a backup by appending a tilde to the name of the file (<code><nowiki>xorg.conf~</nowiki></code>). This backup may be hidden in the file manager, but is still listed with <code><nowiki>ls</nowiki></code> in the terminal. | ||
* | * The <code><nowiki>"Device"</nowiki></code> section should include the <code><nowiki>"openchrome"</nowiki></code> driver: | ||
<pre><nowiki> | <pre><nowiki> | ||
Section "Device" | |||
Identifier "Configured Video Device" | |||
Driver "openchrome" | |||
EndSection | |||
</nowiki></pre> | </nowiki></pre> | ||
* Save the file. | * Save the file. | ||
* | * In older Ubuntu releases, the driver could be chosen by running the following command, and picking "openchrome" when asked.: | ||
<pre><nowiki> | <pre><nowiki> | ||
sudo dpkg-reconfigure -phigh xserver-xorg | |||
</nowiki></pre> | </nowiki></pre> | ||
and | In newer Ubuntu releases, in which the X Server configures itself automatically, the previous command does not work, and <code><nowiki>xorg.conf</nowiki></code> needs to be edited manually. | ||
<ol><li>'''Test the driver'''</li></ol> | <ol><li>'''Test the driver'''</li></ol> | ||
Restart your desktop manager by logging out and back in, or restarting your computer. | |||
<ol><li>'''If it doesn't work'''</li></ol> | |||
If the X Server does not start any more, that is, you have a black screen, revert the changes made to the <code><nowiki>xorg.conf</nowiki></code> file and use the <code><nowiki>vesa</nowiki></code> generic driver in order to boot and find another solution for your problem. | |||
Log into a terminal (Ctrl+Alt+1), and use an editor like <code><nowiki>nano</nowiki></code>: | |||
<pre><nowiki> | <pre><nowiki> | ||
sudo nano /etc/X11/xorg.conf | |||
</nowiki></pre> | |||
Set the appropriate <code><nowiki>Driver</nowiki></code> to <code><nowiki>"vesa"</nowiki></code>: | |||
<pre><nowiki> | <pre><nowiki> | ||
Section "Device" | |||
Identifier "Configured Video Device" | |||
You | Driver "vesa" | ||
EndSection | |||
</nowiki></pre> | |||
You may also rewrite the file with the backup: | |||
<pre><nowiki> | <pre><nowiki> | ||
sudo mv /etc/X11/xorg.conf~ /etc/X11/xorg.conf | |||
</nowiki></pre> | |||
=== 3D doesn't always work === | === 3D doesn't always work === | ||
The <code><nowiki>openchrome</nowiki></code> driver (and previously the <code><nowiki>via</nowiki></code> driver) | The <code><nowiki>openchrome</nowiki></code> driver (and previously the <code><nowiki>via</nowiki></code> driver) only supports 2D acceleration, and most of the time it will always work. | ||
3D acceleration (Direct Rendering Infrastructure) is provided by a companion driver by the Mesa project and it is normally already installed on your system. | 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 prevent the system freezing, specially with OpenGL applications, games, screensavers, and [[UbuntuHelp:Wine|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. | |||
There is no good 3D driver because VIA has not released enough chipset specifications to free software developers. | Keep in mind that: | ||
For desktop PC users a definitive solution is to use another graphics card. | * 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 | |||
<pre><nowiki> | <pre><nowiki> | ||
sudo apt-get install build-essential | |||
sudo apt-get install subversion | |||
< | sudo apt-get install autoconf automake1.9 libtool | ||
sudo apt-get install linux-headers-generic xorg-dev | |||
</nowiki></pre> | |||
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 <code><nowiki>libGL.so.1.2.via_chrome9</nowiki></code> library: | |||
<pre><nowiki> | <pre><nowiki> | ||
tar xzvf 5.74.33.85a-44597.tar.gz | |||
cd 5.74.33.85a-44597 | |||
sudo ./vinstall | |||
</nowiki></pre> | |||
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 <code><nowiki>via_chrome9</nowiki></code> kernel module and the <code><nowiki>via</nowiki></code> xorg driver: | |||
<pre><nowiki> | <pre><nowiki> | ||
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 | |||
</nowiki></pre> | |||
At this point, edit <code><nowiki>/etc/X11/xorg.conf</nowiki></code> to include the <code><nowiki>"via"</nowiki></code> driver in the <code><nowiki>"Device"</nowiki></code> section: | |||
<pre><nowiki> | <pre><nowiki> | ||
Section "ServerLayout" | |||
Identifier "X.org Configured" | |||
Option "RandR" "false" | |||
EndSection | |||
Section "Device" | |||
Identifier "Configured Video Device" | |||
Driver "via" | |||
EndSection | |||
</nowiki></pre> | |||
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. | |||
== 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: | |||
<pre><nowiki> | <pre><nowiki> | ||
svn checkout http://svn.openchrome.org/svn/trunk openchrome | |||
</nowiki></pre> | |||
Then, enter the created directory and type: | |||
<pre><nowiki> | <pre><nowiki> | ||
svn update -r713 | |||
</nowiki></pre> | |||
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: | |||
http://www.openchrome.org/trac/newticket | |||
For the developers' convenience, attach the X Server log <code><nowiki>/var/log/Xorg.0.log</nowiki></code>, and the X Server configuration file <code><nowiki>/etc/X11/xorg.conf</nowiki></code>. | |||
* '''I found a bug in openChrome. How do I enable debug mode?''' | |||
After obtaining the source code, run <code><nowiki>autogen.sh</nowiki></code> with debug options: | |||
<pre><nowiki> | <pre><nowiki> | ||
./autogen.sh --prefix=/usr --enable-debug --enable-xv-debug | |||
</nowiki></pre> | |||
Then you may compile, install, and test the driver as was described above. | |||
* '''When running <code><nowiki>autogen.sh</nowiki></code> for the openchrome 2D driver, I get errors like:''' | |||
* | |||
<pre><nowiki> | <pre><nowiki> | ||
configure.ac: 30: required file `./[config.h].in' not found | |||
unichrome/Makefile.am:33: via_drv_la_SOURCES defined both conditionally and unconditionally | |||
</nowiki></pre> | |||
This is due to having multiple versions of the <code><nowiki>automake</nowiki></code> tool installed, with the wrong version as the default. Make sure you use <code><nowiki>automake-1.9</nowiki></code>: | |||
<pre><nowiki> | <pre><nowiki> | ||
sudo apt-get install automake1.9 | |||
</nowiki></pre> | |||
If you have different versions installed, you can choose the default one with: | |||
<pre><nowiki> | <pre><nowiki> | ||
sudo update-alternatives --config automake | |||
</nowiki></pre> | </nowiki></pre> | ||
* ''' | * '''How do I apply a patch to the openChrome driver''' | ||
Go into openChrome source code directory and type: | |||
<pre><nowiki> | <pre><nowiki> | ||
patch -p0 < patch-file-name-here | |||
</nowiki></pre> | </nowiki></pre> | ||
to | * '''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 [[UbuntuHelp:Wine|Wine]]. How do I disable DRI?''' | |||
Edit <code><nowiki>/etc/X11/xorg.conf</nowiki></code> and disable DRI in the <code><nowiki>"Module"</nowiki></code> section. | |||
In Ubuntu 8.04 (Hardy) and newer, the X Server configures itself and the <code><nowiki>xorg.conf</nowiki></code> file no longer lists all the sections described in the manual page. In this case you can add the <code><nowiki>"Module"</nowiki></code> section to the beginning of the file, and your options will override the X Server's defaults. | |||
Add: | |||
<pre><nowiki> | <pre><nowiki> | ||
Section "Module" | |||
Disable "dri" | |||
EndSection | |||
</nowiki></pre> | </nowiki></pre> | ||
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 === | |||
Without DRI, | * '''My system sometimes freezes after loading the Gnome Desktop Manager.''' | ||
This is a sensible solution for those that don't care about desktop effects or games. | Try adding the <code><nowiki>"XaaNoImageWriteRect"</nowiki></code> option to the <code><nowiki>"Device"</nowiki></code> section of <code><nowiki>/etc/X11/xorg.conf</nowiki></code>: | ||
* ''' | |||
<pre><nowiki> | <pre><nowiki> | ||
Section "Device" | |||
Driver "openchrome" | Driver "openchrome" | ||
Option "XaaNoImageWriteRect" | Option "XaaNoImageWriteRect" | ||
EndSection | |||
</nowiki></pre> | </nowiki></pre> | ||
* ''' | * '''My login prompt is not centered on the screen.''' | ||
In the <code><nowiki>"Screen"</nowiki></code> section of <code><nowiki>/etc/X11/xorg.conf</nowiki></code>, try adding a <code><nowiki>"Display"</nowiki></code> subsection to include the <code><nowiki>Virtual</nowiki></code> resolution matching your screen size: | |||
<pre><nowiki> | <pre><nowiki> | ||
Section "Screen" | |||
Identifier "Default Screen" | |||
Monitor "Configured Monitor" | |||
Device "Configured Video Device" | |||
SubSection "Display" | |||
Virtual 1280 1024 | |||
EndSubSection | |||
EndSection | |||
</nowiki></pre> | </nowiki></pre> | ||
* '''My mouse cursor sometimes disappears.''' | * '''My mouse cursor sometimes disappears or is invisible.''' | ||
This is known to happen on VN800 and VM800 chipsets, e.g. Axioo Neon TVR 856C / TVR 016C laptops. As a solution, | 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 <code><nowiki>"SWCursor"</nowiki></code> option to the <code><nowiki>"Device"</nowiki></code> section of <code><nowiki>/etc/X11/xorg.conf</nowiki></code>: | ||
<pre><nowiki> | <pre><nowiki> | ||
Section "Device" | |||
Driver "openchrome" | Driver "openchrome" | ||
Option "SWCursor" "true" | Option "SWCursor" "true" | ||
EndSection | |||
</nowiki></pre> | </nowiki></pre> | ||
* '''I | * '''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 <code><nowiki>"True"</nowiki></code> or <code><nowiki>"False"</nowiki></code> as values for the <code><nowiki>"EnableAGPDMA"</nowiki></code> option of the <code><nowiki>"Device"</nowiki></code> section of <code><nowiki>/etc/X11/xorg.conf</nowiki></code>: | |||
<pre><nowiki> | <pre><nowiki> | ||
Section "Device" | |||
Driver "openchrome" | |||
Option "EnableAGPDMA" "True" | |||
EndSection | |||
</nowiki></pre> | </nowiki></pre> | ||
=== Ubuntu 10.04 === | |||
* '''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 <code><nowiki>"legacy"</nowiki></code> mode-switching method in the <code><nowiki>"Device"</nowiki></code> section of <code><nowiki>/etc/xorg.conf</nowiki></code>: | |||
<pre><nowiki> | <pre><nowiki> | ||
Section "Device" | |||
Driver "openchrome" | Driver "openchrome" | ||
Option " | Option "ModeSwitchMethod" "legacy" | ||
EndSection | |||
</nowiki></pre> | </nowiki></pre> | ||
[[category:UbuntuHelp]] | [[category:UbuntuHelp]] |
2010年5月19日 (三) 23:47的最新版本
文章出处: |
{{#if: | {{{2}}} | https://help.ubuntu.com/community/OpenChrome }} |
点击翻译: |
English {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/af | • {{#if: UbuntuHelp:OpenChrome|Afrikaans| [[::OpenChrome/af|Afrikaans]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/ar | • {{#if: UbuntuHelp:OpenChrome|العربية| [[::OpenChrome/ar|العربية]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/az | • {{#if: UbuntuHelp:OpenChrome|azərbaycanca| [[::OpenChrome/az|azərbaycanca]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/bcc | • {{#if: UbuntuHelp:OpenChrome|جهلسری بلوچی| [[::OpenChrome/bcc|جهلسری بلوچی]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/bg | • {{#if: UbuntuHelp:OpenChrome|български| [[::OpenChrome/bg|български]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/br | • {{#if: UbuntuHelp:OpenChrome|brezhoneg| [[::OpenChrome/br|brezhoneg]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/ca | • {{#if: UbuntuHelp:OpenChrome|català| [[::OpenChrome/ca|català]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/cs | • {{#if: UbuntuHelp:OpenChrome|čeština| [[::OpenChrome/cs|čeština]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/de | • {{#if: UbuntuHelp:OpenChrome|Deutsch| [[::OpenChrome/de|Deutsch]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/el | • {{#if: UbuntuHelp:OpenChrome|Ελληνικά| [[::OpenChrome/el|Ελληνικά]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/es | • {{#if: UbuntuHelp:OpenChrome|español| [[::OpenChrome/es|español]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/fa | • {{#if: UbuntuHelp:OpenChrome|فارسی| [[::OpenChrome/fa|فارسی]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/fi | • {{#if: UbuntuHelp:OpenChrome|suomi| [[::OpenChrome/fi|suomi]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/fr | • {{#if: UbuntuHelp:OpenChrome|français| [[::OpenChrome/fr|français]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/gu | • {{#if: UbuntuHelp:OpenChrome|ગુજરાતી| [[::OpenChrome/gu|ગુજરાતી]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/he | • {{#if: UbuntuHelp:OpenChrome|עברית| [[::OpenChrome/he|עברית]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/hu | • {{#if: UbuntuHelp:OpenChrome|magyar| [[::OpenChrome/hu|magyar]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/id | • {{#if: UbuntuHelp:OpenChrome|Bahasa Indonesia| [[::OpenChrome/id|Bahasa Indonesia]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/it | • {{#if: UbuntuHelp:OpenChrome|italiano| [[::OpenChrome/it|italiano]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/ja | • {{#if: UbuntuHelp:OpenChrome|日本語| [[::OpenChrome/ja|日本語]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/ko | • {{#if: UbuntuHelp:OpenChrome|한국어| [[::OpenChrome/ko|한국어]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/ksh | • {{#if: UbuntuHelp:OpenChrome|Ripoarisch| [[::OpenChrome/ksh|Ripoarisch]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/mr | • {{#if: UbuntuHelp:OpenChrome|मराठी| [[::OpenChrome/mr|मराठी]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/ms | • {{#if: UbuntuHelp:OpenChrome|Bahasa Melayu| [[::OpenChrome/ms|Bahasa Melayu]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/nl | • {{#if: UbuntuHelp:OpenChrome|Nederlands| [[::OpenChrome/nl|Nederlands]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/no | • {{#if: UbuntuHelp:OpenChrome|norsk| [[::OpenChrome/no|norsk]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/oc | • {{#if: UbuntuHelp:OpenChrome|occitan| [[::OpenChrome/oc|occitan]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/pl | • {{#if: UbuntuHelp:OpenChrome|polski| [[::OpenChrome/pl|polski]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/pt | • {{#if: UbuntuHelp:OpenChrome|português| [[::OpenChrome/pt|português]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/ro | • {{#if: UbuntuHelp:OpenChrome|română| [[::OpenChrome/ro|română]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/ru | • {{#if: UbuntuHelp:OpenChrome|русский| [[::OpenChrome/ru|русский]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/si | • {{#if: UbuntuHelp:OpenChrome|සිංහල| [[::OpenChrome/si|සිංහල]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/sq | • {{#if: UbuntuHelp:OpenChrome|shqip| [[::OpenChrome/sq|shqip]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/sr | • {{#if: UbuntuHelp:OpenChrome|српски / srpski| [[::OpenChrome/sr|српски / srpski]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/sv | • {{#if: UbuntuHelp:OpenChrome|svenska| [[::OpenChrome/sv|svenska]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/th | • {{#if: UbuntuHelp:OpenChrome|ไทย| [[::OpenChrome/th|ไทย]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/tr | • {{#if: UbuntuHelp:OpenChrome|Türkçe| [[::OpenChrome/tr|Türkçe]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/vi | • {{#if: UbuntuHelp:OpenChrome|Tiếng Việt| [[::OpenChrome/vi|Tiếng Việt]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/yue | • {{#if: UbuntuHelp:OpenChrome|粵語| [[::OpenChrome/yue|粵語]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/zh | • {{#if: UbuntuHelp:OpenChrome|中文| [[::OpenChrome/zh|中文]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/zh-hans | • {{#if: UbuntuHelp:OpenChrome|中文(简体)| [[::OpenChrome/zh-hans|中文(简体)]]}}|}} {{#ifexist: {{#if: UbuntuHelp:OpenChrome | UbuntuHelp:OpenChrome | {{#if: | :}}OpenChrome}}/zh-hant | • {{#if: UbuntuHelp:OpenChrome|中文(繁體)| [[::OpenChrome/zh-hant|中文(繁體)]]}}|}} |
{{#ifeq:UbuntuHelp:OpenChrome|:OpenChrome|请不要直接编辑翻译本页,本页将定期与来源同步。}} |
{{#ifexist: :OpenChrome/zh | | {{#ifexist: OpenChrome/zh | | {{#ifeq: {{#titleparts:OpenChrome|1|-1|}} | zh | | }} }} }} {{#ifeq: {{#titleparts:OpenChrome|1|-1|}} | zh | | }}
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, P4M890, K8M890, P4M900/VN896/CN896, VX800, VX855. For more information, please visit [1]
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 via
driver and the xserver-xorg-video-via
package are no longer available in Ubuntu 8.10 (Intrepid Ibex) and later releases.
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
Ubuntu 7.10 and previous releases
A version of the openchrome driver was backported to Ubuntu 7.10 (Gutsy Gibbon) repositories and can be installed by the command
sudo apt-get install xserver-xorg-video-openchrome
This replaces the via
driver with the openchrome one. The driver module is still called via
, so "via"
is what needs to be written to the "Driver"
field of the "Device"
section in /etc/X11/xorg.conf
For previous Ubuntu releases the driver had to be compiled from source.
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
- Make sure you have enabled the Universe and Multiverse repositories. See Managing Repositories in Ubuntu or Kubuntu for help with this.
- Use
sudo
to obtain administrative privileges, in order to edit, move or install system files. - Commands for checking out source code, patching files, or compiling don't need
sudo
.
openChrome 2D driver compilation
- Install needed dependencies
- Get necessary tools to compile source code:
sudo apt-get install build-essential sudo apt-get install subversion sudo apt-get install autoconf automake1.9 libtool
- Get all the dependency packages needed to build the driver.
In 8.04 (Hardy) and later releases run:
sudo apt-get build-dep xserver-xorg-video-openchrome
In Ubuntu 7.10 (Gutsy), 7.04 (Feisty), and 6.10 (Edgy) run:
sudo apt-get build-dep xserver-xorg-video-via
In Ubuntu 6.06 (Dapper), and older Debian-based distributions, run:
sudo apt-get build-dep xserver-xorg-driver-via
- Compile and install the 2D driver
- Get the openChrome source code from the subversion repository:
svn checkout http://svn.openchrome.org/svn/trunk openchrome
- Change into the newly created directory:
cd 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
- Edit the X server configuration file
- Edit
/etc/X11/xorg.conf
and change the device driver toopenchrome
:
gksudo gedit /etc/X11/xorg.conf
or in Kubuntu
kdesu kate /etc/X11/xorg.conf
Make a backup of this file in case you need to revert the changes. By default some editors create a backup by appending a tilde to the name of the file (xorg.conf~
). This backup may be hidden in the file manager, but is still listed with ls
in the terminal.
- The
"Device"
section should include the"openchrome"
driver:
Section "Device" Identifier "Configured Video Device" Driver "openchrome" EndSection
- Save the file.
- In older Ubuntu releases, the driver could be chosen by running the following command, and picking "openchrome" when asked.:
sudo dpkg-reconfigure -phigh xserver-xorg
In newer Ubuntu releases, in which the X Server configures itself automatically, the previous command does not work, and xorg.conf
needs to be edited manually.
- Test the driver
Restart your desktop manager by logging out and back in, or restarting your computer.
- If it doesn't work
If the X Server does not start any more, that is, you have a black screen, revert the changes made to the xorg.conf
file and use the vesa
generic driver in order to boot and find another solution for your problem.
Log into a terminal (Ctrl+Alt+1), and use an editor like nano
:
sudo nano /etc/X11/xorg.conf
Set the appropriate Driver
to "vesa"
:
Section "Device" Identifier "Configured Video Device" Driver "vesa" EndSection
You may also rewrite the file with the backup:
sudo mv /etc/X11/xorg.conf~ /etc/X11/xorg.conf
3D doesn't always work
The openchrome
driver (and previously the via
driver) only supports 2D acceleration, and most of the time it will always 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 prevent the 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 sudo apt-get install subversion sudo apt-get install autoconf automake1.9 libtool sudo apt-get install 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.
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:
http://www.openchrome.org/trac/newticket
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
- 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