特殊:Badtitle/NS100:OpenChrome:修订间差异
小无编辑摘要 |
小无编辑摘要 |
||
第3行: | 第3行: | ||
''Revised: 10 January 2009'' | ''Revised: 10 January 2009'' | ||
== 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/CN896, 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. | |||
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). | |||
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 | ||
第12行: | 第21行: | ||
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 == | ||
This howto will help you compile and install the openChrome driver in '''Ubuntu 6.06 LTS''' and up. It should also work on Debian and other Debian based distributions like Kanotix and Knoppix. | This howto will help you compile and install the openChrome driver in '''Ubuntu 6.06 LTS''' and up. It should also work on Debian and other Debian based distributions like Kanotix and Knoppix. | ||
第48行: | 第48行: | ||
<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 like this: | ||
<pre><nowiki> | <pre><nowiki> | ||
svn checkout http://svn.openchrome.org/svn/trunk openchrome | svn checkout http://svn.openchrome.org/svn/trunk openchrome | ||
第58行: | 第58行: | ||
* Run <code><nowiki>autogen.sh</nowiki></code> with the prefix option so that the driver is being installed in the correct directory | * Run <code><nowiki>autogen.sh</nowiki></code> with the prefix option so that the driver is being installed in the correct directory | ||
<pre><nowiki> | <pre><nowiki> | ||
./autogen.sh --prefix=/usr | ./autogen.sh --prefix=/usr --enable-debug --enable-xv-debug | ||
</nowiki></pre> | </nowiki></pre> | ||
* Compile openChrome | * Compile openChrome | ||
第113行: | 第113行: | ||
sudo mv /etc/X11/xorg.conf~ /etc/X11/xorg.conf | sudo mv /etc/X11/xorg.conf~ /etc/X11/xorg.conf | ||
</nowiki></pre> | </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) alone only supports 2D acceleration. | The <code><nowiki>openchrome</nowiki></code> driver (and previously the <code><nowiki>via</nowiki></code> driver) alone only supports 2D acceleration. | ||
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) is provided by a companion driver by the Mesa project and it is normally already installed on your system. | ||
From openchrome revision 749 DRI was disabled by default for Chrome9, and all 3D application runs in Software Rasterizer mode. | |||
This solution resolve many problems and system freezing, specially with OpenGL applications, games, screensavers, and [[UbuntuHelp:Wine|Wine]] (See Launchpad bug #274340). You haven't 3D acceleration (3D application is very 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. | 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 is to use another graphics card. For laptop users, their options are limited. | For desktop PC users a definitive solution is to use another graphics card. For laptop users, their options are limited. | ||
== | == VIA proprietary graphics driver == | ||
VIA proprietary driver should support most of the features missing with the openchrome driver like video decoding acceleration and 3d hardware acceleration. This installing instruction is for Ubuntu 9.04 and Chrome9 graphic series (CX700M/VX700/CN700/CN896/VN896/VX800/VX855 chipsets). | |||
First we need some packages in order to be able to compile a kernel package | |||
<pre><nowiki> | <pre><nowiki> | ||
sudo apt-get install build-essential subversion autoconf automake1.9 libtool linux-headers-generic | |||
</nowiki></pre> | |||
The | 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". | |||
now install the libGL.so.1.2.via_chrome9 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 last step might look weird, but installing the libGL library from the previous version of the driver 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". | |||
now install the via_chrome9 kernel module and the via 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 you need to add the line | |||
<pre><nowiki> | <pre><nowiki> | ||
Driver "via" | |||
</nowiki></pre> | |||
to the Device Section of the /etc/X11/xorg.conf file. As an alternative to the last steps, a minimal working /etc/X11/xorg.cong file would look like this: | |||
<pre><nowiki> | <pre><nowiki> | ||
Section "ServerLayout" | |||
Identifier "X.org Configured" | |||
Option "RandR" "false" | |||
EndSection | |||
Section "Device" | |||
Identifier "Configured Video Device" | |||
Driver "via" | |||
EndSection | |||
Section "Monitor" | |||
Identifier "Configured Monitor" | |||
EndSection | |||
Section "Screen" | |||
Identifier "Default Screen" | |||
Monitor "Configured Monitor" | |||
Device "Configured Video Device" | |||
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 == | == Problems and solutions == | ||
* '''After upgrade to the latest OpenChrome revision, the bug was appeared. What I should do?''' | |||
First find in which revision this bug occurred. You should get the revision of the OpenChrome between last working, and current one and check where the bug appeared. | |||
* '''After upgrade to the latest OpenChrome revision, the bug was | |||
For example to get revision 713, go to checkedouted directory and type: | For example to get revision 713, go to checkedouted directory and type: | ||
<pre><nowiki> | <pre><nowiki> | ||
svn update -r713 | |||
</nowiki></pre> | </nowiki></pre> | ||
Next submit the bug report at: | |||
http://www.openchrome.org/trac/newticket | |||
Don't forget attach your Xorg.0.log and xorg.conf files. | |||
* '''I found a bug in openchrome. How to enable debug mode?''' | * '''I found a bug in openchrome. How to enable debug mode?''' | ||
You must run <code><nowiki>autogen.sh</nowiki></code> with debug options, compile and install, like was described above. | You must run <code><nowiki>autogen.sh</nowiki></code> with debug options, compile and install, like was described above. | ||
<pre><nowiki> | <pre><nowiki> | ||
./autogen.sh --prefix=/usr --enable-debug --enable-xv-debug | ./autogen.sh --prefix=/usr --enable-debug --enable-xv-debug | ||
</nowiki></pre> | |||
* '''I found a patch to Openchrome driver. How can I apply it?''' | |||
To apply patch go to openchrome source code directory and type command in the following syntax: | |||
<pre><nowiki> | |||
patch -p0 < patch-file-name-here | |||
</nowiki></pre> | |||
Example: | |||
<pre><nowiki> | |||
patch -p0 < openchrome.patch | |||
</nowiki></pre> | </nowiki></pre> | ||
* '''My system sometimes freezes with OpenGL applications, games, screensavers, or [[UbuntuHelp:Wine|Wine]]''' | * '''My system sometimes freezes with OpenGL applications, games, screensavers, or [[UbuntuHelp:Wine|Wine]]''' | ||
第252行: | 第242行: | ||
EndSubSection | EndSubSection | ||
</nowiki></pre> | </nowiki></pre> | ||
* '''My mouse cursor sometimes disappears.'''<<BR>> | * '''My mouse cursor sometimes disappears or is invisible.'''<<BR>> | ||
This is known to happen on VN800 and VM800 chipsets, e.g. Axioo Neon TVR 856C / TVR 016C laptops. As a solution, you can try to add <code><nowiki>"SWCursor"</nowiki></code> to the options of the <code><nowiki>"Device"</nowiki></code> section in <code><nowiki>/etc/X11/xorg.conf</nowiki></code> | 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, you can try to add <code><nowiki>"SWCursor"</nowiki></code> to the options of the <code><nowiki>"Device"</nowiki></code> section in <code><nowiki>/etc/X11/xorg.conf</nowiki></code> | ||
<pre><nowiki> | <pre><nowiki> | ||
Section "Device" | Section "Device" |
2009年11月17日 (二) 20:16的版本
文章出处: |
{{#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: 10 January 2009
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.
The via
driver and the xserver-xorg-video-via
package are no longer available in Ubuntu 8.10 (Intrepid Ibex).
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
This howto will help you compile and install the openChrome driver in Ubuntu 6.06 LTS and up. It should also work on Debian and other Debian based distributions like Kanotix and Knoppix.
Before You Start
- You must have administrative privileges.
- Make sure you have enabled the Universe and Multiverse repositories. <
> See Managing Repositories in Ubuntu or Kubuntu for help with this.
openChrome 2D driver compilation
- Install needed dependencies
You must get necessary tools to compile source code:
sudo apt-get install build-essential subversion 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.1 (Dapper), Debian and other Debian based distributions, run:
sudo apt-get build-dep xserver-xorg-driver-via
- Compile and install the 2D driver
- Get the openChrome source code like this:
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 being installed in the correct directory
./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 a terminal.
- Go to
Section "Device"
and change
Driver "vesa"
to
Driver "openchrome"
- Save the file.
- Alternatively, you can also run
sudo dpkg-reconfigure -phigh xserver-xorg
and pick "openchrome" when asked.
- Test the driver
To test the new driver, go to a console (Ctrl+Alt+F1), log in and start a new X screen:
X :1
If it works, then you can continue restarting your desktop manager. If not, you probably have another problem and need to fix this first.
Finally, restart the X server by logging out and back in, or typing sudo /etc/init.d/gdm restart
.
If Xorg does not start anymore, log in in a console and revert the changes made to the xorg.conf
file. You can use an editor like nano
.
sudo nano /etc/X11/xorg.conf
You can also restore 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) alone only supports 2D acceleration.
3D acceleration (Direct Rendering Infrastructure) is provided by a companion driver by the Mesa project and it is normally already installed on your system.
From openchrome revision 749 DRI was disabled by default for Chrome9, and all 3D application runs in Software Rasterizer mode.
This solution resolve many problems and system freezing, specially with OpenGL applications, games, screensavers, and Wine (See Launchpad bug #274340). You haven't 3D acceleration (3D application is very 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.
For desktop PC users a definitive solution is to use another graphics card. For laptop users, their options are limited.
VIA proprietary graphics driver
VIA proprietary driver should support most of the features missing with the openchrome driver like video decoding acceleration and 3d hardware acceleration. This installing instruction is for Ubuntu 9.04 and Chrome9 graphic series (CX700M/VX700/CN700/CN896/VN896/VX800/VX855 chipsets). First we need some packages in order to be able to compile a kernel package
sudo apt-get install build-essential subversion autoconf automake1.9 libtool linux-headers-generic
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". now 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 last step might look weird, but installing the libGL library from the previous version of the driver 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". now 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 you need to add the line
Driver "via"
to the Device Section of the /etc/X11/xorg.conf file. As an alternative to the last steps, a minimal working /etc/X11/xorg.cong file would look like this:
Section "ServerLayout" Identifier "X.org Configured" Option "RandR" "false" EndSection Section "Device" Identifier "Configured Video Device" Driver "via" EndSection Section "Monitor" Identifier "Configured Monitor" EndSection Section "Screen" Identifier "Default Screen" Monitor "Configured Monitor" Device "Configured Video Device" 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
- After upgrade to the latest OpenChrome revision, the bug was appeared. What I should do?
First find in which revision this bug occurred. You should get the revision of the OpenChrome between last working, and current one and check where the bug appeared. For example to get revision 713, go to checkedouted directory and type:
svn update -r713
Next submit the bug report at: http://www.openchrome.org/trac/newticket Don't forget attach your Xorg.0.log and xorg.conf files.
- I found a bug in openchrome. How to enable debug mode?
You must run autogen.sh
with debug options, compile and install, like was described above.
./autogen.sh --prefix=/usr --enable-debug --enable-xv-debug
- I found a patch to Openchrome driver. How can I apply it?
To apply patch go to openchrome source code directory and type command in the following syntax:
patch -p0 < patch-file-name-here
Example:
patch -p0 < openchrome.patch
- My system sometimes freezes with OpenGL applications, games, screensavers, or Wine
This is being caused by a bug in drm
.
Edit /etc/X11/xorg.conf
and disable DRI in the "Module"
section.<
>
Change
Section "Module" ... Load "dri" ... EndSection
to
Section "Module" ... Disable "dri" ... EndSection
In Ubuntu 8.04 and newer, 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 defaults.<
><
>
As a result, you won't have 3D acceleration anymore, but your system won't freeze.
Without DRI, all 3D will be software-rendered, which will be very slow, specially for games.<
>
This is a sensible solution for those that don't care about desktop effects or games.
- Ubuntu 8.10 (Intrepid Ibex). My system sometimes freezes after loading the Gnome Desktop Manager.
You can try adding the "XaaNoImageWriteRect"
option to the "Device"
section of /etc/X11/xorg.conf
Section "Device" Driver "openchrome" Option "XaaNoImageWriteRect" EndSection
- Ubuntu 8.10 (Intrepid Ibex). My login prompt is not centralised.
In addition to the above "XaaNoImageWriteRect"
option, in the Section "Screen"
add or modify the SubSection "Display"
to include the Virtual
setting to suit your screen:
SubSection "Display" Virtual 1280 800 EndSubSection
- 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, you can try to add "SWCursor"
to the options of the "Device"
section in /etc/X11/xorg.conf
Section "Device" Driver "openchrome" Option "SWCursor" "true" EndSection
- I installed a kernel update. Now 3D does not work anymore.<
>
If you manually installed the drm kernel module, you will have to recompile it with the new kernel headers. The procedure is 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 automake installed with the wrong version as the default. Run
sudo update-alternatives --config automake
and choose automake-1.9
- I have redraw mistakes on the desktop and in various applications. Lines, icons, and sliders disappear; sometimes they reappear when I move the mouse over it or when I move a window over it and back.
The redraw-issues can be worked around by trying "True"
, "False"
, "On"
, "Off"
as values of the "EnableAGPDMA"
option of the "Device"
section in /etc/xorg.conf
Section "Device" Driver "openchrome" Option "EnableAGPDMA" "True" EndSection