https://wiki.archlinux.org/api.php?action=feedcontributions&user=Micy1985&feedformat=atomArchWiki - User contributions [en]2024-03-28T14:41:10ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=ArchWiki:Translation_Team_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=243685ArchWiki:Translation Team (简体中文)2013-01-13T08:36:28Z<p>Micy1985: /* 页面维护列表 */</p>
<hr />
<div>[[Category:简体中文]]<br />
[[Category:ArchWiki (简体中文)]]<br />
[[en:ArchWiki Translation Team]]<br />
[[es:ArchWiki Translation Team]]<br />
[[hr:ArchWiki Translation Team]]<br />
[[it:ArchWiki Translation Team]]<br />
[[pl:ArchWiki Translation Team]]<br />
[[tr:ArchWiki_Çeviri_Ekibi]]<br />
Arch Wiki 上有许多中文页面,这些页面是无数中文志愿者劳动的结晶。随着时间推移,有些页面因为没有及时维护,内容严重过时。而目前的翻译工作缺少组织,效率偏低。所以参照西班牙和意大利翻译组的做法,添加这个页面。<br />
<br />
如果希望进行翻译和维护,只需要编辑下面的[[#页面维护列表]],将自己加为页面的维护者。如果列表中还没有要认领翻译的页面,请自行添加。如果因为时间原因无法再维护页面,请及时将自己从维护者列表中删除。<br />
<br />
== 创建翻译 ==<br />
{{注意|如果不准备翻译页面的大部分内容,请尽量不要新建简体中文页面。检查英文页面的更新需要花费不少精力,没有翻译的页面会增加维护负担。}}<br />
# 如果还不知道如何编辑 wiki,请阅读 [[Help:Editing (简体中文)|编辑帮助]]。<br />
# 阅读 [[Help:i18n (简体中文)|i18n帮助]],文章给出了 ArchWiki 国际化和本地化的指南。<br />
# [[Special:UserLogin |登录]] 以进行编辑。<br />
# 选择要翻译的页面,例如从 [[Special:Random|随机页面]] 或[[#页面维护列表 | 页面维护列表]] 中选择一个未翻译完成的页面。假设要翻译 [[Some Page]].<br />
# 进入选择的英文页面,点击页面顶部的 '''编辑'''。<br />
# 添加要翻译文件的语言间链接 (参见[[Help:i18n#Interlanguage links]])。<br />
# 复制所有页面代码。<br />
# 保存页面 (新加了语言链接)<br />
# 访问页面右边新添加的语言链接,应该会进到 [[Some Page (简体中文)]] : {{ic|<nowiki>https://wiki.archlinux.org/index.php/Some_Page_(</nowiki>''简体中文'')}}<br />
# 因为页面不存在,点击 '''创建'''。<br />
# 将显示一个编辑器 - 粘贴复制的英文页面。<br />
# 将文章分类修改为本地化版本,例如将 {{ic|<nowiki>[[Category:Internationalization]]</nowiki>}} 修改为 {{ic|<nowiki>[[Category:Internationalization (简体中文)]]</nowiki>}}<br />
# 修改语言间链接,指向英文页面(将 {{ic|zh-CN}} 修改为 {{ic|en}},并将英文页面移到文章顶部。<br />
# 翻译页面,进行保存。<br />
# (推荐)给翻译完成的页面加上[[Template:TranslationStatus (简体中文)|翻译状态]],后有详细介绍。<br />
# 更新所有其它语言页面,加入刚翻译文章的语言间链接。<br />
# (可选)创建一个简体中文名称的页面,指向新创建的页面:访问 {{ic|<nowiki>https://wiki.archlinux.org/index.php/</nowiki>''页面的中文名称''}}.<br />
# (可选)建立新页面,并加入:{{bc|<nowiki>#REDIRECT [[Some Page (简体中文)</nowiki>]]}}<br />
<br />
== 完善翻译 ==<br />
[https://wiki.archlinux.org/index.php?title=Special:WhatLinksHere/Template:Translateme_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&limit=100 这个页面] 包含了需要完善翻译的简体中文页面。完善翻译的基本步骤:<br />
# 选择自己比较熟悉的文章进行翻译<br />
# 先检查英文页面的对应段落,更新成最新的英文后再翻译,避免翻译过时的内容,减少信息遗漏。<br />
# 翻译完成后删除页面中的 <nowiki>{{translateme (简体中文)}}</nowiki> 标记<br />
# (推荐)给翻译完成的页面加上[[Template:TranslationStatus (简体中文)|翻译状态]],后有详细介绍。<br />
<br />
== 维护翻译 ==<br />
完成页面的翻译只是初步完成任务,即时同步英文页面改动、更新翻译是一个持续性的工作,可能会耗费更多的时间。<br />
<br />
=== 页面认领 ===<br />
所有人都可以认领页面。认领后的责任包括进行翻译,关注英文页面的改动,及时同步翻译。<br />
<br />
为了更好的跟踪英文页面的修改,请务必在设置中启用监视列表邮件通知,并监视对应的英文页面(从设置中找到监视列表,加入英文页面。或者直接到英文页面点击页面顶端的监视标签。这样只要有改动,就会收到邮件通知)。<br />
<br />
{{小贴士|如果收到邮件通知后没有访问页面或者访问了页面却没有登录用户,下次页面改动时就不会再发邮件通知。可以点击监视列表中的'''标记所有页面为已读'''再次获取更新。}}<br />
<br />
如果页面有维护者但长期得不到更新,将会在维护列表中删除维护者。<br />
<br />
=== 发现过期页面怎么办? === <br />
如果发现有 Wiki 页面过期或错误:<br />
* 小的改动,有时间可以立即进行修改同步,维护者并不控制页面的编辑权限,越多的人参与维护越好。如果改动较大,请先联系维护者,避免重复劳动。<br />
* 没有时间查看更改,请给页面加上 {{ic|<nowiki>{{out of date}}</nowiki>}} 模版,这样其他贡献者更容易发现需要更新的页面,而读者看到过期标记就可以直接查看英文页面,以免被错误内容误导,白白耽误时间。<br />
* 没有时间翻译,请将过期的中文部分删去,从英文页面中复制更改的部分到中文页面的相应部分,去掉{{ic|<nowiki>{{out of date}}</nowiki>}}模板(如果页面上有的话)并加上{{ic|<nowiki>{{translateme (简体中文)}}</nowiki>}}模板,这样其他贡献者就更容易发现需要翻译的页面,而读者也不会被过期的内容误导。<br />
如果发现有页面未翻译:<br />
* 有时间的话,请将页面中的英文部分翻译为中文,并去掉{{ic|<nowiki>{{translateme (简体中文)}}</nowiki>}}模板。<br />
* 没有时间翻译,请为页面添加{{ic|<nowiki>{{translateme (简体中文)}}</nowiki>}}模板,这样其他的贡献者就能更容易发现需要翻译的页面。<br />
{{注意|在修改页面上的模板时,请同时更新页面维护列表的翻译状态。}}<br />
<br />
=== 翻译状态模板 ===<br />
Arch 作为滚动发行版,软件变化比较快,对应的文档变化也比较快。许多翻译的文章由于缺乏更新,会产生命令运行出错或不起作用等问题。而由于这些过期页面没有及时标记出来,所以用户无法及时获得更新。[[Template:TranslationStatus (简体中文)|翻译状态模板]]就是为了解决这个问题而创建。<br />
<br />
此模板可以起到如下作用:<br />
* 为用户提供翻译状况,包括翻译时间、英文页面的最后版本等<br />
* 用户可以点击查看翻译后,英文页面的改动,这样英文不是很好的用户可以只查看很小一部分英文内容,并判断出是否影响操作。<br />
* 翻译人员可以跟踪页面状况,通过[https://wiki.archlinux.org/index.php/Special:WhatLinksHere/Template:TranslationStatus_(简体中文) 模板的反向链接]可以查找到所有标记页面,查看需要更新翻译的部分。<br />
<br />
[[Template:TranslationStatus (简体中文)|模板页面]]有详细的使用方法。<br />
<br />
=== 页面维护列表 ===<br />
{{注意|请按照拉丁字母顺序添加页面。}}<br />
翻译状态说明:<br />
;过期:页面内容未与英文页面同步,对应{{ic|<nowiki>{{out of date}}</nowiki>}} 模版<br />
;未翻译:页面中含有英文内容,对应{{ic|<nowiki>{{translateme (简体中文)}}</nowiki>}}模板<br />
;完成:页面已与英文页面同步<br />
{| class="wikitable sortable collapsible" border="1"<br />
|-<br />
! 页面<br />
! 翻译状态<br />
! 维护者<br />
! class="unsortable" width="30%" | 备注<br />
|-<br />
| [[acpid (简体中文)]]<br />
| 完成<br />
| Cael<br />
| 无<br />
|-<br />
| [[ACPI hotkeys (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[ACPI modules (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Activating Numlock on Bootup (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Ad-hoc networking (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Advanced Linux Sound Architecture (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[AHCI (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Allow Users to Shutdown (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[aMule (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Android (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Apache, suEXEC and Virtual Hosts (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Arch Based Distributions (Active) (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Arch Build System (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[ArchWiki:About (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[ATI (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[AUR Helpers (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Avant Window Navigator (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[awesome (简体中文)]]<br />
| 进行中<br />
| Cael<br />
| 无<br />
|-<br />
| [[Bash (简体中文)]]<br />
| 完成<br />
| Jaurung<br />
| 无<br />
|-<br />
| [[Bumblebee (简体中文)]]<br />
| 完成<br />
| Peter<br />
| 无<br />
|-<br />
| [[AMD Catalyst (简体中文)]]<br />
| 完成<br />
| Shibao Zhao<br />
| 无<br />
|-<br />
| [[Common Applications (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Compiz (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Configuring Network (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[CPU Frequency Scaling (简体中文)]]<br />
| 完成<br />
| Flockyrocky<br />
| 更新版本,补充了原来没翻译的内容<br />
|-<br />
| [[Creating Packages (简体中文)]]<br />
| 完成<br />
| Cael<br />
| 无<br />
|-<br />
| [[Disabling IPv6 (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Downgrading Packages (简体中文)]]<br />
| 完成<br />
| Cael<br />
| 无<br />
|-<br />
| [[E17 (简体中文)]]<br />
| 完成<br />
| Aaron_chen<br />
| 同步翻译至2012年12月24日18:00英文页面<br />
|-<br />
| [[Emacs (简体中文)]]<br />
| 翻译中<br />
| Jaurung yuanhang<br />
| 未完成<br />
|-<br />
|-<br />
| [[Font Configuration (简体中文)]]<br />
| 翻译中<br />
| Jaurung<br />
| 完善中<br />
|-<br />
| [[Fonts (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Fstab (简体中文)]]<br />
| 完成<br />
| Fengchao<br />
| 无<br />
|-<br />
| [[GRUB (简体中文)]]<br />
| 翻译中<br />
| 无<br />
| 无<br />
|-<br />
| [[Help:Style (简体中文)]]<br />
| 完成<br />
| Fengchao<br />
| 无<br />
|-<br />
| [[IBus (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Improve_Pacman_Performance_(简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Intel Graphics(简体中文)]]<br />
| 完成<br />
| Shibao Zhao<br />
| 无<br />
|-<br />
| [[Kernel Compilation (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Kernel Compilation/Arch Build System (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[LAMP (简体中文)]]<br />
| 完成<br />
| Liuzhengyi<br />
| 勘误中<br />
|-<br />
| [[Laptop Mode Tools (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Lenovo ThinkPad T420 (简体中文)]]<br />
| 完成<br />
| Flockyrocky<br />
| 无<br />
|-<br />
| [[LibreOffice (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Local Mirror (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Makepkg (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[mkinitcpio (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Network Time Protocol daemon (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 部分未翻译<br />
|-<br />
| [[Official Repositories (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Openbox (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[OpenOffice (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Pacman (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Pacman GUI Frontends (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[pacman Tips (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Pidgin (简体中文)]]<br />
| 进行中<br />
| Cael<br />
| 无 <br />
|- <br />
| [[Plasma (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|- <br />
| [[Polipo (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无 <br />
|-<br />
| [[Python (简体中文)]]<br />
| 完成<br />
| Fengchao<br />
| 无 <br />
|-<br />
| [[Smart Common Input Method platform (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Common Applications/Science (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Secure Shell (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 部分未翻译<br />
|-<br />
| [[Systemd (简体中文)]]<br />
| 完成<br />
| cuihao<br />
| 无<br />
|-<br />
| [[TeXLive (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Vim (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[VMware (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Wine (简体中文)]]<br />
| 完成<br />
| cuihao<br />
| 无<br />
|-<br />
| [[Xscreensaver (简体中文)]]<br />
| 完成<br />
| liuyix<br />
| 无<br />
|-<br />
| [[Xmonad (简体中文)]]<br />
| 未翻译<br />
| Rns<br />
| 翻译中<br />
|-<br />
| [[LXDE (简体中文)]]<br />
| 翻译中<br />
| Tuxzz<br />
| 无<br />
<br />
|}<br />
<br />
== 贡献列表 ==<br />
为翻译做出贡献的用户请加入列表,感谢所有人做出的贡献。<br />
* [[User:Fengchao|Fengchao]] &ndash; [[Special:Contributions/Fengchao|贡献]] &ndash; [[Special:EmailUser/Fengchao|Send Email]] &ndash; [[ArchWiki:Maintainers|ArchWiki Maintainers]]<br />
* [[User:Skydiver|Skydiver]] &ndash; [[Special:Contributions/Skydiver|贡献]] &ndash; [[Special:EmailUser/Skydiver|Send Email]] &ndash; [[ArchWiki:Maintainers|ArchWiki Maintainers]]<br />
* [[User:Alswl|Alswl]] &ndash; [[Special:Contributions/Alswl|贡献]] &ndash; [[Special:EmailUser/Alswl|Send Email]]<br />
* [[User:Reverland|Reverland]] &ndash; [[Special:Contributions/Reverland|贡献]] &ndash; [[Special:EmailUser/Reverland|Send Email]]<br />
* [[User:Cuihao|cuihao]] &ndash; [[Special:Contributions/Cuihao|贡献]] &ndash; [[Special:EmailUser/Cuihao|Send Email]]<br />
* [[User:Cael|Cael]] &ndash; [[Special:Contributions/Cael|贡献]] &ndash; [[Special:EmailUser/Cael|Send Email]]<br />
* [[User:Flockyrocky|Flockyrocky]] &ndash; [[Special:Contributions/Flockyrocky|贡献]] &ndash; [[Special:EmailUser/Flockyrocky|Send Email]]<br />
<br />
* [[User:Tuxzz|Tuxzz]] &ndash; [[Special:Contributions/Tuxzz|贡献]] &ndash; [[Special:EmailUser/Tuxzz|Send Email]]<br />
* [[User:Aaron_chen|Aaron_chen]] &ndash; [[Special:Contributions/Aaron_chen|贡献]] &ndash; [[Special:E17/Aaron_chen|Send Email]]<br />
* [[User:Shibao Zhao|Shibao Zhao]] &ndash; [[Special:Contributions/Shibao Zhao|贡献]] &ndash; [[Special:EmailUser/Shibao Zhao|Send Email]] &ndash;</div>Micy1985https://wiki.archlinux.org/index.php?title=Intel_graphics&diff=243682Intel graphics2013-01-13T08:32:06Z<p>Micy1985: </p>
<hr />
<div>[[Category:Graphics]]<br />
[[Category:X Server]]<br />
[[cs:Intel]]<br />
[[es:Intel]]<br />
[[fr:Intel]]<br />
[[hu:Intel]]<br />
[[it:Intel]]<br />
[[ja:Intel Graphics]]<br />
[[pl:Intel]]<br />
[[ru:Intel]]<br />
[[zh-CN:Intel Graphics]]<br />
[[zh-TW:Intel]]<br />
{{Article summary start}}<br />
{{Article summary text|Information on Intel graphics cards/chipsets and the ''intel'' video driver.}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|Intel GMA3600}}<br />
{{Article summary wiki|Poulsbo}}<br />
{{Article summary wiki|Xorg}}<br />
{{Article summary end}}<br />
<br />
Since Intel provides and supports open source drivers, Intel graphics are now essentially plug-and-play.<br />
<br />
For a comprehensive list of Intel GPU models and corresponding chipsets and CPUs, see [[Wikipedia:Comparison of Intel graphics processing units|this comparison on wikipedia]].<br />
<br />
{{Note|PowerVR-based graphics ([[Poulsbo|GMA 500]] and [[Intel GMA3600|GMA 3600]] series) are not supported by open source drivers.}}<br />
<br />
== Installation ==<br />
<br />
Prerequisite: [[Xorg]]<br />
<br />
[[pacman|Install]] the {{Pkg|xf86-video-intel}} package which is available in the [[Official Repositories|official repositories]]. It provides the DDX driver for 2D acceleration and an [[XvMC]] driver for video decoding on older GPUs. It pulls in {{Pkg|intel-dri}} as a dependency, providing the DRI driver for 3D acceleration.<br />
<br />
If you want to use hardware accelerated video decoding/encoding on newer GPUs, install the [[VA-API]] driver provided by {{Pkg|libva-intel-driver}} package also, available in the official repositories.<br />
<br />
You may need to install {{Pkg|lib32-intel-dri}} in 64-bit systems to use 3D acceleration in 32-bit programs.<br />
<br />
== Configuration ==<br />
<br />
There is no need for any kind of configuration to get the X.Org running (an {{ic|xorg.conf}} is unneeded, but needs to be configured correctly if present).<br />
<br />
For the list of options, type {{ic|man intel}}.<br />
<br />
== KMS (Kernel Mode Setting) ==<br />
<br />
[[KMS]] is required in order to run X and a desktop environment such as [[GNOME]], [[KDE]], [[Xfce]], [[LXDE]], etc. KMS is supported by Intel chipsets that use the i915 DRM driver and is enabled by default as of kernel v2.6.32. Versions 2.10 and newer of the {{Pkg|xf86-video-intel}} driver no longer support UMS (except for the very old 810 chipset family), making the use of KMS mandatory<sup>[https://www.archlinux.org/news/484/]</sup>. KMS is typically initialized after the kernel is bootstrapped. It is possible, however, to enable KMS during bootstrap itself, allowing the entire boot process to run at the native resolution.<br />
<br />
{{Note|You '''must''' remove any deprecated references to {{ic|vga}} or {{ic|nomodeset}} from your boot configuration.}}<br />
<br />
To proceed, add the {{ic|i915}} module to the {{ic|MODULES}} line in {{ic|/etc/mkinitcpio.conf}}:<br />
<br />
MODULES="'''i915'''"<br />
<br />
Now, regenerate the initramfs:<br />
<br />
# mkinitcpio -p linux<br />
<br />
and reboot the system. Everything should work now.<br />
<br />
== Tips and tricks ==<br />
<br />
=== Choose acceleration method ===<br />
<br />
The DDX driver allows to preset your desired acceleration method. The default method is UXA, which is more stable but slower than SNA. SNA has improved performance, but still considered experimental. Check benchmarks done by Phoronix [http://www.phoronix.com/scan.php?page=news_item&px=MTEzOTE]. These can be found [http://www.phoronix.com/scan.php?page=article&item=intel_glamor_first&num=1 here for Sandy Bridge] and [http://www.phoronix.com/scan.php?page=article&item=intel_ivy_glamor&num=1 here for Ivy Bridge]. UXA is still a solid option, if experiencing trouble with SNA.<br />
<br />
If you want to use the new SNA method, create {{ic|/etc/X11/xorg.conf.d/20-intel.conf}} with the following content:<br />
<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "AccelMethod" "sna"<br />
EndSection}}<br />
<br />
=== Setting scaling mode ===<br />
<br />
This can be useful for some full screen applications:<br />
<br />
$ xrandr --output LVDS1 --set PANEL_FITTING param<br />
<br />
where {{ic|param}} can be:<br />
<br />
* {{ic|center}}: resolution will be kept exactly as defined, no scaling will be made,<br />
* {{ic|full}}: scale the resolution so it uses the entire screen or<br />
* {{ic|full_aspect}}: scale the resolution to the maximum possible but keep the aspect ratio.<br />
<br />
If it does not work, you can try:<br />
<br />
$ xrandr --output LVDS1 --set "scaling mode" param<br />
<br />
where {{ic|param}} is one of {{ic|"Full"}}, {{ic|"Center"}} or {{ic|"Full aspect"}}.<br />
<br />
=== KMS Issue: console is limited to small area ===<br />
<br />
One of the low-resolution video ports may be enabled on boot which is causing the terminal to utilize a small area of the screen. To fix, explicitly disable the port with an i915 module setting with {{ic|1=video=SVIDEO-1:d}} as you kernel command line parameter in your bootloader. See [[Kernel parameters]] for more info.<br />
<br />
If that does not work, you may also try disabling TV1 or VGA1 instead of SVIDEO-1.<br />
<br />
=== H.264 decoding on GMA 4500 ===<br />
<br />
The {{Pkg|libva-driver-intel}} package provides MPEG-2 decoding only for GMA 4500 series GPUs. The H.264 decoding support is maintained in a separated g45-h264 branch, which can be used by installing {{AUR|libva-driver-intel-g45-h264}} package, available in the [[Arch User Repository]]. Note however that this support is experimental and not currently in active development. Using the VA-API with this driver on a GMA 4500 series GPU will offload the CPU but may not result in as smooth a playback as non-accelerated playback. Tests using mplayer showed that using vaapi to play back an H.264 encoded 1080p video halved the CPU load (compared to the XV overlay) but resulted in very choppy playback, while 720p worked reasonably well [https://bbs.archlinux.org/viewtopic.php?id=150550]. This is echoed by other experiences [http://www.emmolution.org/?p=192&cpage=1#comment-12292].<br />
<br />
=== Setting gamma and brightness ===<br />
<br />
Intel offers no way to adjust these at the driver level. Luckily these can be set with {{ic|xgamma}} and {{ic|xrandr}}.<br />
<br />
Gamma can be set with:<br />
<br />
$ xgamma -gamma 1.0<br />
<br />
or:<br />
<br />
$ xrandr --output VGA1 --gamma 1.0:1.0:1.0<br />
<br />
Brightness can be set with:<br />
<br />
$ xrandr --output VGA1 --brightness 1.0<br />
<br />
== Troubleshooting ==<br />
<br />
=== Glxgears shows low performance results ===<br />
<br />
{{Note|{{ic|glxgears}} is not a benchmark tool for performance comparison between multiple systems.}}<br />
<br />
If you run {{ic|glxgears}} in order to check your system's graphics performance, you may notice it showing results around 60 FPS. For example:<br />
<br />
[...]<br />
311 frames in 5.0 seconds = 61.973 FPS<br />
311 frames in 5.0 seconds = 62.064 FPS<br />
311 frames in 5.0 seconds = 62.026 FPS<br />
[...]<br />
<br />
That is not caused by performance regression, but because the system graphics are using [[Wikipedia:Analog television#Vertical synchronization|vertical synchronization]], which is your display's native frames per second.<br />
<br />
==== Disable VSYNC ====<br />
<br />
To disable VSYNC just add in your {{ic|/etc/X11/xorg.conf.d/20-intel.conf}} in {{ic|Section "Device"}} the string {{ic|Option "SwapbuffersWait" "false"}}.<br />
<br />
Alternatively, set {{ic|vblank_mode}} to {{ic|0}} in {{ic|~/.drirc}} and make sure that {{ic|driver}} is set to {{ic|dri2}}:<br />
<br />
{{hc|~/.drirc|2=<br />
<device screen="0" driver="dri2"><br />
<application name="Default"><br />
<option name="vblank_mode" value="0"/><br />
</application><br />
</device>}}<br />
<br />
=== Blank screen during boot, when "Loading modules" ===<br />
<br />
If you are using "late start" KMS and the screen goes blank when "Loading modules", it may help to add {{ic|i915}} and {{ic|intel_agp}} to the initramfs. See [[Intel#KMS (Kernel Mode Setting)|the above]] KMS section.<br />
<br />
Alternatively, appending the following [[Kernel parameters|kernel parameter]] seems to work as well:<br />
<br />
video=SVIDEO-1:d<br />
<br />
=== Tear-free video ===<br />
<br />
If you are using the SNA acceleration method, you can get rid of video tearing by adding the following to the {{ic|Device}} section of {{ic|/etc/X11/xorg.conf.d/20-intel.conf}}:<br />
<br />
Option "TearFree" "true"<br />
<br />
=== X freeze/crash with intel driver ===<br />
<br />
If you have issue with X crashing, GPU hang or problem with frozen X, then the fix may be to disable the GPU usage with the {{ic|NoAccel}} option:<br />
<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "NoAccel" "True"<br />
EndSection}}<br />
<br />
Alternatively, you could try to disable the 3D acceleration only with the {{ic|DRI}} option:<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "DRI" "False"<br />
EndSection}}<br />
<br />
=== Adding undetected resolutions ===<br />
<br />
This issue is covered on the [[Xrandr#Adding_undetected_resolutions|Xrandr page]].<br />
<br />
=== Slowness after an upgrade to libGL 9 and Intel-DRI 9 ===<br />
<br />
[https://wiki.archlinux.org/index.php/Downgrading_Packages#ARM Downgrade] to Intel-DRI 8 and libGL 8.<br />
<br />
=== Black textures in video games ===<br />
<br />
If you are experiencing black textures in your video games the solution may be enabling S3TC texture compression support. <br />
It can be enabled through {{Pkg|driconf}} or by installing {{Pkg|libtxc_dxtn}}.<br />
<br />
This "issue" will be fixed very soon in the [http://www.phoronix.com/scan.php?page=news_item&px=MTIwOTg newer drivers]<br />
<br />
You can read more about S3TC at: <br />
http://dri.freedesktop.org/wiki/S3TC<br />
http://en.wikipedia.org/wiki/S3_Texture_Compression<br />
<br />
One of the games that is affected by this issue is [http://www.phoronix.com/scan.php?page=article&item=unigine_oilrush_gold&num=2 Oil Rush]<br />
<br />
== See also ==<br />
<br />
* http://intellinuxgraphics.org/documentation.html (includes a list of supported hardware)<br />
* [[KMS]] &mdash; Arch wiki article on kernel mode setting<br />
* [[Xrandr]] &mdash; If you have problems setting the resolution<br />
* Arch Linux forums: [https://bbs.archlinux.org/viewtopic.php?pid=522665#p522665 Intel 945GM, Xorg, Kernel - performance]</div>Micy1985https://wiki.archlinux.org/index.php?title=Intel_graphics&diff=243681Intel graphics2013-01-13T08:31:23Z<p>Micy1985: </p>
<hr />
<div>[[Category:Graphics]]<br />
[[Category:X Server]]<br />
[[cs:Intel]]<br />
[[es:Intel]]<br />
[[fr:Intel]]<br />
[[hu:Intel]]<br />
[[it:Intel]]<br />
[[ja:Intel Graphics]]<br />
[[pl:Intel]]<br />
[[ru:Intel]]<br />
[[zh-CN:Intel 显卡]]<br />
[[zh-TW:Intel]]<br />
{{Article summary start}}<br />
{{Article summary text|Information on Intel graphics cards/chipsets and the ''intel'' video driver.}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|Intel GMA3600}}<br />
{{Article summary wiki|Poulsbo}}<br />
{{Article summary wiki|Xorg}}<br />
{{Article summary end}}<br />
<br />
Since Intel provides and supports open source drivers, Intel graphics are now essentially plug-and-play.<br />
<br />
For a comprehensive list of Intel GPU models and corresponding chipsets and CPUs, see [[Wikipedia:Comparison of Intel graphics processing units|this comparison on wikipedia]].<br />
<br />
{{Note|PowerVR-based graphics ([[Poulsbo|GMA 500]] and [[Intel GMA3600|GMA 3600]] series) are not supported by open source drivers.}}<br />
<br />
== Installation ==<br />
<br />
Prerequisite: [[Xorg]]<br />
<br />
[[pacman|Install]] the {{Pkg|xf86-video-intel}} package which is available in the [[Official Repositories|official repositories]]. It provides the DDX driver for 2D acceleration and an [[XvMC]] driver for video decoding on older GPUs. It pulls in {{Pkg|intel-dri}} as a dependency, providing the DRI driver for 3D acceleration.<br />
<br />
If you want to use hardware accelerated video decoding/encoding on newer GPUs, install the [[VA-API]] driver provided by {{Pkg|libva-intel-driver}} package also, available in the official repositories.<br />
<br />
You may need to install {{Pkg|lib32-intel-dri}} in 64-bit systems to use 3D acceleration in 32-bit programs.<br />
<br />
== Configuration ==<br />
<br />
There is no need for any kind of configuration to get the X.Org running (an {{ic|xorg.conf}} is unneeded, but needs to be configured correctly if present).<br />
<br />
For the list of options, type {{ic|man intel}}.<br />
<br />
== KMS (Kernel Mode Setting) ==<br />
<br />
[[KMS]] is required in order to run X and a desktop environment such as [[GNOME]], [[KDE]], [[Xfce]], [[LXDE]], etc. KMS is supported by Intel chipsets that use the i915 DRM driver and is enabled by default as of kernel v2.6.32. Versions 2.10 and newer of the {{Pkg|xf86-video-intel}} driver no longer support UMS (except for the very old 810 chipset family), making the use of KMS mandatory<sup>[https://www.archlinux.org/news/484/]</sup>. KMS is typically initialized after the kernel is bootstrapped. It is possible, however, to enable KMS during bootstrap itself, allowing the entire boot process to run at the native resolution.<br />
<br />
{{Note|You '''must''' remove any deprecated references to {{ic|vga}} or {{ic|nomodeset}} from your boot configuration.}}<br />
<br />
To proceed, add the {{ic|i915}} module to the {{ic|MODULES}} line in {{ic|/etc/mkinitcpio.conf}}:<br />
<br />
MODULES="'''i915'''"<br />
<br />
Now, regenerate the initramfs:<br />
<br />
# mkinitcpio -p linux<br />
<br />
and reboot the system. Everything should work now.<br />
<br />
== Tips and tricks ==<br />
<br />
=== Choose acceleration method ===<br />
<br />
The DDX driver allows to preset your desired acceleration method. The default method is UXA, which is more stable but slower than SNA. SNA has improved performance, but still considered experimental. Check benchmarks done by Phoronix [http://www.phoronix.com/scan.php?page=news_item&px=MTEzOTE]. These can be found [http://www.phoronix.com/scan.php?page=article&item=intel_glamor_first&num=1 here for Sandy Bridge] and [http://www.phoronix.com/scan.php?page=article&item=intel_ivy_glamor&num=1 here for Ivy Bridge]. UXA is still a solid option, if experiencing trouble with SNA.<br />
<br />
If you want to use the new SNA method, create {{ic|/etc/X11/xorg.conf.d/20-intel.conf}} with the following content:<br />
<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "AccelMethod" "sna"<br />
EndSection}}<br />
<br />
=== Setting scaling mode ===<br />
<br />
This can be useful for some full screen applications:<br />
<br />
$ xrandr --output LVDS1 --set PANEL_FITTING param<br />
<br />
where {{ic|param}} can be:<br />
<br />
* {{ic|center}}: resolution will be kept exactly as defined, no scaling will be made,<br />
* {{ic|full}}: scale the resolution so it uses the entire screen or<br />
* {{ic|full_aspect}}: scale the resolution to the maximum possible but keep the aspect ratio.<br />
<br />
If it does not work, you can try:<br />
<br />
$ xrandr --output LVDS1 --set "scaling mode" param<br />
<br />
where {{ic|param}} is one of {{ic|"Full"}}, {{ic|"Center"}} or {{ic|"Full aspect"}}.<br />
<br />
=== KMS Issue: console is limited to small area ===<br />
<br />
One of the low-resolution video ports may be enabled on boot which is causing the terminal to utilize a small area of the screen. To fix, explicitly disable the port with an i915 module setting with {{ic|1=video=SVIDEO-1:d}} as you kernel command line parameter in your bootloader. See [[Kernel parameters]] for more info.<br />
<br />
If that does not work, you may also try disabling TV1 or VGA1 instead of SVIDEO-1.<br />
<br />
=== H.264 decoding on GMA 4500 ===<br />
<br />
The {{Pkg|libva-driver-intel}} package provides MPEG-2 decoding only for GMA 4500 series GPUs. The H.264 decoding support is maintained in a separated g45-h264 branch, which can be used by installing {{AUR|libva-driver-intel-g45-h264}} package, available in the [[Arch User Repository]]. Note however that this support is experimental and not currently in active development. Using the VA-API with this driver on a GMA 4500 series GPU will offload the CPU but may not result in as smooth a playback as non-accelerated playback. Tests using mplayer showed that using vaapi to play back an H.264 encoded 1080p video halved the CPU load (compared to the XV overlay) but resulted in very choppy playback, while 720p worked reasonably well [https://bbs.archlinux.org/viewtopic.php?id=150550]. This is echoed by other experiences [http://www.emmolution.org/?p=192&cpage=1#comment-12292].<br />
<br />
=== Setting gamma and brightness ===<br />
<br />
Intel offers no way to adjust these at the driver level. Luckily these can be set with {{ic|xgamma}} and {{ic|xrandr}}.<br />
<br />
Gamma can be set with:<br />
<br />
$ xgamma -gamma 1.0<br />
<br />
or:<br />
<br />
$ xrandr --output VGA1 --gamma 1.0:1.0:1.0<br />
<br />
Brightness can be set with:<br />
<br />
$ xrandr --output VGA1 --brightness 1.0<br />
<br />
== Troubleshooting ==<br />
<br />
=== Glxgears shows low performance results ===<br />
<br />
{{Note|{{ic|glxgears}} is not a benchmark tool for performance comparison between multiple systems.}}<br />
<br />
If you run {{ic|glxgears}} in order to check your system's graphics performance, you may notice it showing results around 60 FPS. For example:<br />
<br />
[...]<br />
311 frames in 5.0 seconds = 61.973 FPS<br />
311 frames in 5.0 seconds = 62.064 FPS<br />
311 frames in 5.0 seconds = 62.026 FPS<br />
[...]<br />
<br />
That is not caused by performance regression, but because the system graphics are using [[Wikipedia:Analog television#Vertical synchronization|vertical synchronization]], which is your display's native frames per second.<br />
<br />
==== Disable VSYNC ====<br />
<br />
To disable VSYNC just add in your {{ic|/etc/X11/xorg.conf.d/20-intel.conf}} in {{ic|Section "Device"}} the string {{ic|Option "SwapbuffersWait" "false"}}.<br />
<br />
Alternatively, set {{ic|vblank_mode}} to {{ic|0}} in {{ic|~/.drirc}} and make sure that {{ic|driver}} is set to {{ic|dri2}}:<br />
<br />
{{hc|~/.drirc|2=<br />
<device screen="0" driver="dri2"><br />
<application name="Default"><br />
<option name="vblank_mode" value="0"/><br />
</application><br />
</device>}}<br />
<br />
=== Blank screen during boot, when "Loading modules" ===<br />
<br />
If you are using "late start" KMS and the screen goes blank when "Loading modules", it may help to add {{ic|i915}} and {{ic|intel_agp}} to the initramfs. See [[Intel#KMS (Kernel Mode Setting)|the above]] KMS section.<br />
<br />
Alternatively, appending the following [[Kernel parameters|kernel parameter]] seems to work as well:<br />
<br />
video=SVIDEO-1:d<br />
<br />
=== Tear-free video ===<br />
<br />
If you are using the SNA acceleration method, you can get rid of video tearing by adding the following to the {{ic|Device}} section of {{ic|/etc/X11/xorg.conf.d/20-intel.conf}}:<br />
<br />
Option "TearFree" "true"<br />
<br />
=== X freeze/crash with intel driver ===<br />
<br />
If you have issue with X crashing, GPU hang or problem with frozen X, then the fix may be to disable the GPU usage with the {{ic|NoAccel}} option:<br />
<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "NoAccel" "True"<br />
EndSection}}<br />
<br />
Alternatively, you could try to disable the 3D acceleration only with the {{ic|DRI}} option:<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "DRI" "False"<br />
EndSection}}<br />
<br />
=== Adding undetected resolutions ===<br />
<br />
This issue is covered on the [[Xrandr#Adding_undetected_resolutions|Xrandr page]].<br />
<br />
=== Slowness after an upgrade to libGL 9 and Intel-DRI 9 ===<br />
<br />
[https://wiki.archlinux.org/index.php/Downgrading_Packages#ARM Downgrade] to Intel-DRI 8 and libGL 8.<br />
<br />
=== Black textures in video games ===<br />
<br />
If you are experiencing black textures in your video games the solution may be enabling S3TC texture compression support. <br />
It can be enabled through {{Pkg|driconf}} or by installing {{Pkg|libtxc_dxtn}}.<br />
<br />
This "issue" will be fixed very soon in the [http://www.phoronix.com/scan.php?page=news_item&px=MTIwOTg newer drivers]<br />
<br />
You can read more about S3TC at: <br />
http://dri.freedesktop.org/wiki/S3TC<br />
http://en.wikipedia.org/wiki/S3_Texture_Compression<br />
<br />
One of the games that is affected by this issue is [http://www.phoronix.com/scan.php?page=article&item=unigine_oilrush_gold&num=2 Oil Rush]<br />
<br />
== See also ==<br />
<br />
* http://intellinuxgraphics.org/documentation.html (includes a list of supported hardware)<br />
* [[KMS]] &mdash; Arch wiki article on kernel mode setting<br />
* [[Xrandr]] &mdash; If you have problems setting the resolution<br />
* Arch Linux forums: [https://bbs.archlinux.org/viewtopic.php?pid=522665#p522665 Intel 945GM, Xorg, Kernel - performance]</div>Micy1985https://wiki.archlinux.org/index.php?title=Intel_graphics_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=243680Intel graphics (简体中文)2013-01-13T08:28:56Z<p>Micy1985: </p>
<hr />
<div>[[Category: Graphics (简体中文)]]<br />
[[Category: X Server (简体中文)]]<br />
[[cs:Intel]]<br />
[[en:Intel Graphics]]<br />
[[es:Intel]]<br />
[[fr:Intel]]<br />
[[hu:Intel]]<br />
[[it:Intel]]<br />
[[ja:Intel Graphics]]<br />
[[pl:Intel]]<br />
[[ru:Intel]]<br />
[[zh-TW:Intel]] <br />
{{Article summary start| 概要}}<br />
{{Article summary text|Intel图形显示卡/芯片组}}<br />
{{Article summary end}}<br />
<br />
由于Intel对X.Org开源驱动的支持,现在所需做的基本上是即插即用。<br />
<br />
Intel显卡和相应芯片组、cpu的完整型号参考[[Wikipedia:Comparison of Intel graphics processing units|this comparison on wikipedia]]。<br />
<br />
{{注意|开源驱动不支持基于PowerVR的显卡([[Poulsbo|GMA 500]] and [[Intel GMA3600|GMA 3600]] series)。}}<br />
<br />
== 安装 ==<br />
<br />
先安装 [[Xorg]],然后[[pacman (简体中文)|安装]]位于[[Official Repositories (简体中文)|官方软件仓库]]的 {{Pkg|xf86-video-intel}} 软件包。它提供了用于2D加速的DDX驱动和旧显卡的[[XvMC]]视频解码驱动。它依赖于3D加速的DRI驱动({{Pkg|intel-dri}})。<br />
<br />
64位系统需要安装{{Pkg|lib32-intel-dri}}才能在 32 位程序中使用加速功能。<br />
<br />
== 配置 ==<br />
<br />
没必要做任何形式的配置来运行X.ORG(不需要{{ic|xorg.conf}},但若有则要正确配置)。<br />
<br />
查看完整选项,输入{{ic|man intel}}。<br />
<br />
== KMS (Kernel Mode Setting,内核模式设置) ==<br />
运行X和桌面环境如[[GNOME]], [[KDE]], [[Xfce]], [[LXDE]]等都需要[[KMS]]。在使用i915 DRM驱动的芯片组中,内核2.6.32及以后的内核都默认启用KMS。2.10及更新的{{Pkg|xf86-video-intel}驱动都不支持UMS(旧的810芯片家族例外),且强制使用KMS<sup>[https://www.archlinux.org/news/484/]</sup>。通常,KMS是在内核启动后才进行初始化,但也可以在内核启动阶段就启动KMS,这样在整个启动过程中都是原始分辨率。<br />
<br />
{{注意|'''必须''' 在启动配置中移除与KMS相冲突的项,如:{{ic|vga}} 或 {{ic|nomodeset}}。}}<br />
<br />
要早启动,添加{{ic|i915}}模块到{{ic|/etc/mkinitcpio.conf}}的{{ic|MODULES}}行:<br />
<br />
MODULES="'''i915'''"<br />
<br />
然后,重新生成initramfs<br />
<br />
mkinitcpio -p linux<br />
<br />
重启系统,一切搞定!<br />
<br />
== 技巧 ==<br />
<br />
=== 选择加速方式 ===<br />
<br />
DDX驱动可重设你需要的加速方式。默认是更稳定的UXA,但比SNA慢,带有一定程度试验性质的SNA加速很快。Phoronix的基准测试在 [http://www.phoronix.com/scan.php?page=news_item&px=MTEzOTE].Sandy Bridge为[http://www.phoronix.com/scan.php?page=article&item=intel_glamor_first&num=1],Ivy Bridge为[http://www.phoronix.com/scan.php?page=article&item=intel_ivy_glamor&num=1]. 若使用SNA有问题,UXA仍为稳妥的选择.<br />
<br />
创建包含下列内容的{{ic|/etc/X11/xorg.conf.d/20-intel.conf}} 就可使用SNA:<br />
<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "AccelMethod" "sna"<br />
EndSection}}<br />
<br />
=== 设置自动缩放模式 ===<br />
<br />
在一些全屏应用中此方法适用:<br />
<br />
$ xrandr --output LVDS1 --set PANEL_FITTING param<br />
<br />
{{ic|param}} 可以是:<br />
<br />
* {{ic|center}}: 使用自定义分辨率,不缩放;<br />
* {{ic|full}}: 使用全屏;<br />
* {{ic|full_aspect}}: 在长宽比不变的情况下使用最大可用分辨率。<br />
<br />
若无效,可尝试:<br />
<br />
$ xrandr --output LVDS1 --set "scaling mode" param<br />
<br />
{{ic|param}}可以是{{ic|"Full"}}、{{ic|"Center"}} 或 {{ic|"Full aspect"}}.<br />
<br />
=== KMS 问题: 终端面积很小 ===<br />
<br />
在启动阶段,启用了低分辨率的接口会导致终端面积很小。通过i915模块设置可解决此问题,具体在加载器的内核参数添加 {{ic|1=video=SVIDEO-1:d}}。内核参数的更多信息参考 [[Kernel parameters]] .<br />
<br />
若无效,可试着禁用 TV1 或 VGA1 接口。<br />
<br />
=== 在 GMA 4500 硬解 H.264===<br />
<br />
GMA 4500 平台上,{{Pkg|libva-driver-intel}} 只能硬解 MPEG-2. H.264 的硬解为另一分支——g45-h264, 在 [[Arch User Repository]] 中安装 {{AUR|libva-driver-intel-g45-h264}} 就OK . 但注意 g45-h264 目前仍处于试验阶段,且开发不活跃. 通过 VA-API 会减轻cpu的负载但不如使用非加速方式流畅。 mplayer的测试表明 使用vaapi 播放H.264 编码的 1080p 视频会让cpu的负载减半 (与XV相比) ,但播放很不稳定, 而 720p 则很到位 [https://bbs.archlinux.org/viewtopic.php?id=150550]. 其他一些用户也提到这点[http://www.emmolution.org/?p=192&cpage=1#comment-12292].<br />
<br />
=== 设置伽马和亮度 ===<br />
<br />
Intel没有提供在驱动层面设置这些值的途径,幸运的是,可通过 {{ic|xgamma}} 和 {{ic|xrandr}} 来设置。<br />
<br />
设置伽马:<br />
<br />
$ xgamma -gamma 1.0<br />
<br />
或:<br />
<br />
$ xrandr --output VGA1 --gamma 1.0:1.0:1.0<br />
<br />
设置亮度:<br />
<br />
$ xrandr --output VGA1 --brightness 1.0<br />
<br />
== 疑难解答 ==<br />
<br />
=== Glxgears 显示性能低下 ===<br />
<br />
{{注意|{{ic|glxgears}} 不是在不同系统上进行比较的基准测试工具。}}<br />
<br />
若运行 {{ic|glxgears}} 来获取显卡性能参数, 你会发现结果都在 60 FPS 左右, 如:<br />
<br />
[...]<br />
311 frames in 5.0 seconds = 61.973 FPS<br />
311 frames in 5.0 seconds = 62.064 FPS<br />
311 frames in 5.0 seconds = 62.026 FPS<br />
[...]<br />
<br />
这不是性能低下的表现, 这是因为显卡使用了 [[Wikipedia:Analog television#Vertical synchronization|vertical synchronization]], 也就是显示器的原生帧频.<br />
<br />
==== 禁用 VSYNC ====<br />
<br />
在{{ic|/etc/X11/xorg.conf.d/20-intel.conf}} 的 {{ic|Section "Device"}} 段添加 {{ic|Option "SwapbuffersWait" "false"}} 可禁用 VSYNC.<br />
<br />
在 {{ic|~/.drirc}} 中将 {{ic|vblank_mode}} 设为 {{ic|0}} 并且将 {{ic|driver}} 设为 {{ic|dri2}} 也可达到上述效果:<br />
<br />
{{hc|~/.drirc|2=<br />
<device screen="0" driver="dri2"><br />
<application name="Default"><br />
<option name="vblank_mode" value="0"/><br />
</application><br />
</device>}}<br />
<br />
=== 在启动阶段,当 "Loading modules" 时黑屏===<br />
<br />
若使用 "late start" KMS ,当 "Loading modules" 时黑屏, 在 initramfs 中添加 {{ic|i915}} 和 {{ic|intel_agp}} 可能有帮助. 查看 [[Intel#KMS (Kernel Mode Setting)|the above]] 的 KMS 节.<br />
<br />
在尾部添加下面 [[Kernel parameters|kernel parameter]] 可能也会有效果:<br />
<br />
video=SVIDEO-1:d<br />
<br />
=== 播放视频时屏幕撕裂 ===<br />
<br />
若使用 SNA,将下列内容添加到 {{ic|/etc/X11/xorg.conf.d/20-intel.conf}} 的 {{ic|Device}} 段可杜绝屏幕撕裂问题。<br />
<br />
Option "TearFree" "true"<br />
<br />
=== X 冻结/崩溃 ===<br />
<br />
使用 {{ic|NoAccel}} 选项可能对 X 冻结/崩溃或显卡停止工作有效。<br />
<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "NoAccel" "True"<br />
EndSection}}<br />
<br />
此外, 也可尝试 {{ic|DRI}} 选项来禁用 3D 加速:<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "DRI" "False"<br />
EndSection}}<br />
<br />
=== 添加未识别分辨率 ===<br />
<br />
[[Xrandr#Adding_undetected_resolutions|Xrandr page]] 讲到了此问题。<br />
<br />
=== 更新到 libGL 9 和 Intel-DRI 9 后,系统变慢===<br />
<br />
[https://wiki.archlinux.org/index.php/Downgrading_Packages#ARM Downgrade] 可降到 Intel-DRI 8 和 libGL 8.<br />
<br />
=== 视频游戏时出现黑色纹理 ===<br />
<br />
启用 S3TC 纹理压缩支持可能会解决此问题。 <br />
通过 {{Pkg|driconf}} 或安装 {{Pkg|libtxc_dxtn}} 都可启用。<br />
<br />
此问题很快会得到解决,参考 [http://www.phoronix.com/scan.php?page=news_item&px=MTIwOTg newer drivers]<br />
<br />
更多 S3TC 信息参考: <br />
http://dri.freedesktop.org/wiki/S3TC<br />
http://en.wikipedia.org/wiki/S3_Texture_Compression<br />
<br />
受此影响的其中一个游戏是 [http://www.phoronix.com/scan.php?page=article&item=unigine_oilrush_gold&num=2 Oil Rush]<br />
<br />
== 更多信息 ==<br />
<br />
* http://intellinuxgraphics.org/documentation.html (includes a list of supported hardware)<br />
* [[KMS]] &mdash; Arch wiki article on kernel mode setting<br />
* [[Xrandr]] &mdash; If you have problems setting the resolution<br />
* Arch Linux forums: [https://bbs.archlinux.org/viewtopic.php?pid=522665#p522665 Intel 945GM, Xorg, Kernel - performance]</div>Micy1985https://wiki.archlinux.org/index.php?title=Intel_graphics_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=243622Intel graphics (简体中文)2013-01-12T15:54:04Z<p>Micy1985: /* 在启动阶段,当 "Loading modules" 时黑屏 */</p>
<hr />
<div>[[Category: Graphics (简体中文)]]<br />
[[Category: X Server (简体中文)]]<br />
[[cs:Intel]]<br />
[[en:Intel Graphics]]<br />
[[es:Intel]]<br />
[[fr:Intel]]<br />
[[hu:Intel]]<br />
[[it:Intel]]<br />
[[ja:Intel Graphics]]<br />
[[pl:Intel]]<br />
[[ru:Intel]]<br />
[[zh-TW:Intel]] <br />
{{Article summary start| 概要}}<br />
{{Article summary text|Intel图形显示卡/芯片组}}<br />
{{Article summary end}}<br />
<br />
由于Intel对X.Org开源驱动的支持,现在所需做的基本上是即插即用。<br />
<br />
Intel显卡和相应芯片组、cpu的完整型号参考[[Wikipedia:Comparison of Intel graphics processing units|this comparison on wikipedia]]。<br />
<br />
{{注意|开源驱动不支持基于PowerVR的显卡([[Poulsbo|GMA 500]] and [[Intel GMA3600|GMA 3600]] series)。}}<br />
<br />
== 安装 ==<br />
<br />
先安装 [[Xorg]],然后[[pacman (简体中文)|安装]]位于[[Official Repositories (简体中文)|官方软件仓库]]的 {{Pkg|xf86-video-intel}} 软件包。它提供了用于2D加速的DDX驱动和旧显卡的[[XvMC]]视频解码驱动。它依赖于3D加速的DRI驱动({{Pkg|intel-dri}})。<br />
<br />
64位系统需要安装{{Pkg|lib32-intel-dri}}才能在 32 位程序中使用加速功能。<br />
<br />
== 配置 ==<br />
<br />
没必要做任何形式的配置来运行X.ORG(不需要{{ic|xorg.conf}},但若有则要正确配置)。<br />
<br />
查看完整选项,输入{{ic|man intel}}。<br />
<br />
== KMS (Kernel Mode Setting,内核模式设置) ==<br />
运行X和桌面环境如[[GNOME]], [[KDE]], [[Xfce]], [[LXDE]]等都需要[[KMS]]。在使用i915 DRM驱动的芯片组中,内核2.6.32及以后的内核都默认启用KMS。2.10及更新的{{Pkg|xf86-video-intel}驱动都不支持UMS(旧的810芯片家族例外),且强制使用KMS<sup>[https://www.archlinux.org/news/484/]</sup>。通常,KMS是在内核启动后才进行初始化,但也可以在内核启动阶段就启动KMS,这样在整个启动过程中都是原始分辨率。<br />
<br />
{{注意|'''必须''' 在启动配置中移除与KMS相冲突的项,如:{{ic|vga}} 或 {{ic|nomodeset}}。}}<br />
<br />
要早启动,添加{{ic|i915}}模块到{{ic|/etc/mkinitcpio.conf}}的{{ic|MODULES}}行:<br />
<br />
MODULES="'''i915'''"<br />
<br />
然后,重新生成initramfs<br />
<br />
mkinitcpio -p linux<br />
<br />
重启系统,一切搞定!<br />
<br />
== 技巧 ==<br />
<br />
=== 选择加速方式 ===<br />
<br />
DDX驱动可重设你需要的加速方式。默认是更稳定的UXA,但比SNA慢,带有一定程度试验性质的SNA加速很快。Phoronix的基准测试在 [http://www.phoronix.com/scan.php?page=news_item&px=MTEzOTE].Sandy Bridge为[http://www.phoronix.com/scan.php?page=article&item=intel_glamor_first&num=1],Ivy Bridge为[http://www.phoronix.com/scan.php?page=article&item=intel_ivy_glamor&num=1]. 若使用SNA有问题,UXA仍为稳妥的选择.<br />
<br />
创建包含下列内容的{{ic|/etc/X11/xorg.conf.d/20-intel.conf}} 就可使用SNA:<br />
<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "AccelMethod" "sna"<br />
EndSection}}<br />
<br />
=== 设置自动缩放模式 ===<br />
<br />
在一些全屏应用中此方法适用:<br />
<br />
$ xrandr --output LVDS1 --set PANEL_FITTING param<br />
<br />
{{ic|param}} 可以是:<br />
<br />
* {{ic|center}}: 使用自定义分辨率,不缩放;<br />
* {{ic|full}}: 使用全屏;<br />
* {{ic|full_aspect}}: 在长宽比不变的情况下使用最大可用分辨率。<br />
<br />
若无效,可尝试:<br />
<br />
$ xrandr --output LVDS1 --set "scaling mode" param<br />
<br />
{{ic|param}}可以是{{ic|"Full"}}、{{ic|"Center"}} 或 {{ic|"Full aspect"}}.<br />
<br />
=== KMS 问题: 终端面积很小 ===<br />
<br />
在启动阶段,启用了低分辨率的接口会导致终端面积很小。通过i915模块设置可解决此问题,具体在加载器的内核参数添加 {{ic|1=video=SVIDEO-1:d}}。内核参数的更多信息参考 [[Kernel parameters]] .<br />
<br />
若无效,可试着禁用 TV1 或 VGA1 接口。<br />
<br />
=== 在 GMA 4500 硬解 H.264===<br />
<br />
GMA 4500 平台上,{{Pkg|libva-driver-intel}} 只能硬解 MPEG-2. H.264 的硬解为另一分支——g45-h264, 在 [[Arch User Repository]] 中安装 {{AUR|libva-driver-intel-g45-h264}} 就OK . 但注意 g45-h264 目前仍处于试验阶段,且开发不活跃. 通过 VA-API 会减轻cpu的负载但不如使用非加速方式流畅。 mplayer的测试表明 使用vaapi 播放H.264 编码的 1080p 视频会让cpu的负载减半 (与XV相比) ,但播放很不稳定, 而 720p 则很到位 [https://bbs.archlinux.org/viewtopic.php?id=150550]. 其他一些用户也提到这点[http://www.emmolution.org/?p=192&cpage=1#comment-12292].<br />
<br />
=== 设置伽马和亮度 ===<br />
<br />
Intel没有提供在驱动层面设置这些值的途径,幸运的是,可通过 {{ic|xgamma}} 和 {{ic|xrandr}} 来设置。<br />
<br />
设置伽马:<br />
<br />
$ xgamma -gamma 1.0<br />
<br />
或:<br />
<br />
$ xrandr --output VGA1 --gamma 1.0:1.0:1.0<br />
<br />
设置亮度:<br />
<br />
$ xrandr --output VGA1 --brightness 1.0<br />
<br />
== 疑难解答 ==<br />
<br />
=== Glxgears 显示性能低下 ===<br />
<br />
{{注意|{{ic|glxgears}} 不是在不同系统上进行比较的基准测试工具。}}<br />
<br />
若运行 {{ic|glxgears}} 来获取显卡性能参数, 你会发现结果都在 60 FPS 左右, 如:<br />
<br />
[...]<br />
311 frames in 5.0 seconds = 61.973 FPS<br />
311 frames in 5.0 seconds = 62.064 FPS<br />
311 frames in 5.0 seconds = 62.026 FPS<br />
[...]<br />
<br />
这不是性能低下的表现, 这是因为显卡使用了 [[Wikipedia:Analog television#Vertical synchronization|vertical synchronization]], 也就是显示器的原生帧频.<br />
<br />
==== 禁用 VSYNC ====<br />
<br />
在{{ic|/etc/X11/xorg.conf.d/20-intel.conf}} 的 {{ic|Section "Device"}} 段添加 {{ic|Option "SwapbuffersWait" "false"}} 可禁用 VSYNC.<br />
<br />
在 {{ic|~/.drirc}} 中将 {{ic|vblank_mode}} 设为 {{ic|0}} 并且将 {{ic|driver}} 设为 {{ic|dri2}} 也可达到上述效果:<br />
<br />
{{hc|~/.drirc|2=<br />
<device screen="0" driver="dri2"><br />
<application name="Default"><br />
<option name="vblank_mode" value="0"/><br />
</application><br />
</device>}}<br />
<br />
=== 在启动阶段,当 "Loading modules" 时黑屏===<br />
<br />
若使用 "late start" KMS ,当 "Loading modules" 时黑屏, 在 initramfs 中添加 {{ic|i915}} 和 {{ic|intel_agp}} 可能有帮助. 查看 [[Intel#KMS (Kernel Mode Setting)|the above]] 的 KMS 节.<br />
<br />
在尾部添加下面 [[Kernel parameters|kernel parameter]] 可能也会有效果:<br />
<br />
video=SVIDEO-1:d<br />
<br />
=== Tear-free video ===<br />
<br />
If you are using the SNA acceleration method, you can get rid of video tearing by adding the following to the {{ic|Device}} section of {{ic|/etc/X11/xorg.conf.d/20-intel.conf}}:<br />
<br />
Option "TearFree" "true"<br />
<br />
=== X freeze/crash with intel driver ===<br />
<br />
If you have issue with X crashing, GPU hang or problem with frozen X, then the fix may be to disable the GPU usage with the {{ic|NoAccel}} option:<br />
<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "NoAccel" "True"<br />
EndSection}}<br />
<br />
Alternatively, you could try to disable the 3D acceleration only with the {{ic|DRI}} option:<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "DRI" "False"<br />
EndSection}}<br />
<br />
=== Adding undetected resolutions ===<br />
<br />
This issue is covered on the [[Xrandr#Adding_undetected_resolutions|Xrandr page]].<br />
<br />
=== Slowness after an upgrade to libGL 9 and Intel-DRI 9 ===<br />
<br />
[https://wiki.archlinux.org/index.php/Downgrading_Packages#ARM Downgrade] to Intel-DRI 8 and libGL 8.<br />
<br />
=== Black textures in video games ===<br />
<br />
If you are experiencing black textures in your video games the solution may be enabling S3TC texture compression support. <br />
It can be enabled through {{Pkg|driconf}} or by installing {{Pkg|libtxc_dxtn}}.<br />
<br />
This "issue" will be fixed very soon in the [http://www.phoronix.com/scan.php?page=news_item&px=MTIwOTg newer drivers]<br />
<br />
You can read more about S3TC at: <br />
http://dri.freedesktop.org/wiki/S3TC<br />
http://en.wikipedia.org/wiki/S3_Texture_Compression<br />
<br />
One of the games that is affected by this issue is [http://www.phoronix.com/scan.php?page=article&item=unigine_oilrush_gold&num=2 Oil Rush]<br />
<br />
== See also ==<br />
<br />
* http://intellinuxgraphics.org/documentation.html (includes a list of supported hardware)<br />
* [[KMS]] &mdash; Arch wiki article on kernel mode setting<br />
* [[Xrandr]] &mdash; If you have problems setting the resolution<br />
* Arch Linux forums: [https://bbs.archlinux.org/viewtopic.php?pid=522665#p522665 Intel 945GM, Xorg, Kernel - performance]</div>Micy1985https://wiki.archlinux.org/index.php?title=Intel_graphics_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=243621Intel graphics (简体中文)2013-01-12T15:53:42Z<p>Micy1985: /* Blank screen during boot, when "Loading modules" */</p>
<hr />
<div>[[Category: Graphics (简体中文)]]<br />
[[Category: X Server (简体中文)]]<br />
[[cs:Intel]]<br />
[[en:Intel Graphics]]<br />
[[es:Intel]]<br />
[[fr:Intel]]<br />
[[hu:Intel]]<br />
[[it:Intel]]<br />
[[ja:Intel Graphics]]<br />
[[pl:Intel]]<br />
[[ru:Intel]]<br />
[[zh-TW:Intel]] <br />
{{Article summary start| 概要}}<br />
{{Article summary text|Intel图形显示卡/芯片组}}<br />
{{Article summary end}}<br />
<br />
由于Intel对X.Org开源驱动的支持,现在所需做的基本上是即插即用。<br />
<br />
Intel显卡和相应芯片组、cpu的完整型号参考[[Wikipedia:Comparison of Intel graphics processing units|this comparison on wikipedia]]。<br />
<br />
{{注意|开源驱动不支持基于PowerVR的显卡([[Poulsbo|GMA 500]] and [[Intel GMA3600|GMA 3600]] series)。}}<br />
<br />
== 安装 ==<br />
<br />
先安装 [[Xorg]],然后[[pacman (简体中文)|安装]]位于[[Official Repositories (简体中文)|官方软件仓库]]的 {{Pkg|xf86-video-intel}} 软件包。它提供了用于2D加速的DDX驱动和旧显卡的[[XvMC]]视频解码驱动。它依赖于3D加速的DRI驱动({{Pkg|intel-dri}})。<br />
<br />
64位系统需要安装{{Pkg|lib32-intel-dri}}才能在 32 位程序中使用加速功能。<br />
<br />
== 配置 ==<br />
<br />
没必要做任何形式的配置来运行X.ORG(不需要{{ic|xorg.conf}},但若有则要正确配置)。<br />
<br />
查看完整选项,输入{{ic|man intel}}。<br />
<br />
== KMS (Kernel Mode Setting,内核模式设置) ==<br />
运行X和桌面环境如[[GNOME]], [[KDE]], [[Xfce]], [[LXDE]]等都需要[[KMS]]。在使用i915 DRM驱动的芯片组中,内核2.6.32及以后的内核都默认启用KMS。2.10及更新的{{Pkg|xf86-video-intel}驱动都不支持UMS(旧的810芯片家族例外),且强制使用KMS<sup>[https://www.archlinux.org/news/484/]</sup>。通常,KMS是在内核启动后才进行初始化,但也可以在内核启动阶段就启动KMS,这样在整个启动过程中都是原始分辨率。<br />
<br />
{{注意|'''必须''' 在启动配置中移除与KMS相冲突的项,如:{{ic|vga}} 或 {{ic|nomodeset}}。}}<br />
<br />
要早启动,添加{{ic|i915}}模块到{{ic|/etc/mkinitcpio.conf}}的{{ic|MODULES}}行:<br />
<br />
MODULES="'''i915'''"<br />
<br />
然后,重新生成initramfs<br />
<br />
mkinitcpio -p linux<br />
<br />
重启系统,一切搞定!<br />
<br />
== 技巧 ==<br />
<br />
=== 选择加速方式 ===<br />
<br />
DDX驱动可重设你需要的加速方式。默认是更稳定的UXA,但比SNA慢,带有一定程度试验性质的SNA加速很快。Phoronix的基准测试在 [http://www.phoronix.com/scan.php?page=news_item&px=MTEzOTE].Sandy Bridge为[http://www.phoronix.com/scan.php?page=article&item=intel_glamor_first&num=1],Ivy Bridge为[http://www.phoronix.com/scan.php?page=article&item=intel_ivy_glamor&num=1]. 若使用SNA有问题,UXA仍为稳妥的选择.<br />
<br />
创建包含下列内容的{{ic|/etc/X11/xorg.conf.d/20-intel.conf}} 就可使用SNA:<br />
<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "AccelMethod" "sna"<br />
EndSection}}<br />
<br />
=== 设置自动缩放模式 ===<br />
<br />
在一些全屏应用中此方法适用:<br />
<br />
$ xrandr --output LVDS1 --set PANEL_FITTING param<br />
<br />
{{ic|param}} 可以是:<br />
<br />
* {{ic|center}}: 使用自定义分辨率,不缩放;<br />
* {{ic|full}}: 使用全屏;<br />
* {{ic|full_aspect}}: 在长宽比不变的情况下使用最大可用分辨率。<br />
<br />
若无效,可尝试:<br />
<br />
$ xrandr --output LVDS1 --set "scaling mode" param<br />
<br />
{{ic|param}}可以是{{ic|"Full"}}、{{ic|"Center"}} 或 {{ic|"Full aspect"}}.<br />
<br />
=== KMS 问题: 终端面积很小 ===<br />
<br />
在启动阶段,启用了低分辨率的接口会导致终端面积很小。通过i915模块设置可解决此问题,具体在加载器的内核参数添加 {{ic|1=video=SVIDEO-1:d}}。内核参数的更多信息参考 [[Kernel parameters]] .<br />
<br />
若无效,可试着禁用 TV1 或 VGA1 接口。<br />
<br />
=== 在 GMA 4500 硬解 H.264===<br />
<br />
GMA 4500 平台上,{{Pkg|libva-driver-intel}} 只能硬解 MPEG-2. H.264 的硬解为另一分支——g45-h264, 在 [[Arch User Repository]] 中安装 {{AUR|libva-driver-intel-g45-h264}} 就OK . 但注意 g45-h264 目前仍处于试验阶段,且开发不活跃. 通过 VA-API 会减轻cpu的负载但不如使用非加速方式流畅。 mplayer的测试表明 使用vaapi 播放H.264 编码的 1080p 视频会让cpu的负载减半 (与XV相比) ,但播放很不稳定, 而 720p 则很到位 [https://bbs.archlinux.org/viewtopic.php?id=150550]. 其他一些用户也提到这点[http://www.emmolution.org/?p=192&cpage=1#comment-12292].<br />
<br />
=== 设置伽马和亮度 ===<br />
<br />
Intel没有提供在驱动层面设置这些值的途径,幸运的是,可通过 {{ic|xgamma}} 和 {{ic|xrandr}} 来设置。<br />
<br />
设置伽马:<br />
<br />
$ xgamma -gamma 1.0<br />
<br />
或:<br />
<br />
$ xrandr --output VGA1 --gamma 1.0:1.0:1.0<br />
<br />
设置亮度:<br />
<br />
$ xrandr --output VGA1 --brightness 1.0<br />
<br />
== 疑难解答 ==<br />
<br />
=== Glxgears 显示性能低下 ===<br />
<br />
{{注意|{{ic|glxgears}} 不是在不同系统上进行比较的基准测试工具。}}<br />
<br />
若运行 {{ic|glxgears}} 来获取显卡性能参数, 你会发现结果都在 60 FPS 左右, 如:<br />
<br />
[...]<br />
311 frames in 5.0 seconds = 61.973 FPS<br />
311 frames in 5.0 seconds = 62.064 FPS<br />
311 frames in 5.0 seconds = 62.026 FPS<br />
[...]<br />
<br />
这不是性能低下的表现, 这是因为显卡使用了 [[Wikipedia:Analog television#Vertical synchronization|vertical synchronization]], 也就是显示器的原生帧频.<br />
<br />
==== 禁用 VSYNC ====<br />
<br />
在{{ic|/etc/X11/xorg.conf.d/20-intel.conf}} 的 {{ic|Section "Device"}} 段添加 {{ic|Option "SwapbuffersWait" "false"}} 可禁用 VSYNC.<br />
<br />
在 {{ic|~/.drirc}} 中将 {{ic|vblank_mode}} 设为 {{ic|0}} 并且将 {{ic|driver}} 设为 {{ic|dri2}} 也可达到上述效果:<br />
<br />
{{hc|~/.drirc|2=<br />
<device screen="0" driver="dri2"><br />
<application name="Default"><br />
<option name="vblank_mode" value="0"/><br />
</application><br />
</device>}}<br />
<br />
=== 在启动阶段,当 "Loading modules" 时黑屏===<br />
<br />
若使用 "late start" KMS ,当 "Loading modules" 时黑屏, it may help to 在 initramfs 中添加 {{ic|i915}} 和 {{ic|intel_agp}} 可能有帮助. 查看 [[Intel#KMS (Kernel Mode Setting)|the above]] 的 KMS 节.<br />
<br />
在尾部添加下面 [[Kernel parameters|kernel parameter]] 可能也会有效果:<br />
<br />
video=SVIDEO-1:d<br />
<br />
=== Tear-free video ===<br />
<br />
If you are using the SNA acceleration method, you can get rid of video tearing by adding the following to the {{ic|Device}} section of {{ic|/etc/X11/xorg.conf.d/20-intel.conf}}:<br />
<br />
Option "TearFree" "true"<br />
<br />
=== X freeze/crash with intel driver ===<br />
<br />
If you have issue with X crashing, GPU hang or problem with frozen X, then the fix may be to disable the GPU usage with the {{ic|NoAccel}} option:<br />
<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "NoAccel" "True"<br />
EndSection}}<br />
<br />
Alternatively, you could try to disable the 3D acceleration only with the {{ic|DRI}} option:<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "DRI" "False"<br />
EndSection}}<br />
<br />
=== Adding undetected resolutions ===<br />
<br />
This issue is covered on the [[Xrandr#Adding_undetected_resolutions|Xrandr page]].<br />
<br />
=== Slowness after an upgrade to libGL 9 and Intel-DRI 9 ===<br />
<br />
[https://wiki.archlinux.org/index.php/Downgrading_Packages#ARM Downgrade] to Intel-DRI 8 and libGL 8.<br />
<br />
=== Black textures in video games ===<br />
<br />
If you are experiencing black textures in your video games the solution may be enabling S3TC texture compression support. <br />
It can be enabled through {{Pkg|driconf}} or by installing {{Pkg|libtxc_dxtn}}.<br />
<br />
This "issue" will be fixed very soon in the [http://www.phoronix.com/scan.php?page=news_item&px=MTIwOTg newer drivers]<br />
<br />
You can read more about S3TC at: <br />
http://dri.freedesktop.org/wiki/S3TC<br />
http://en.wikipedia.org/wiki/S3_Texture_Compression<br />
<br />
One of the games that is affected by this issue is [http://www.phoronix.com/scan.php?page=article&item=unigine_oilrush_gold&num=2 Oil Rush]<br />
<br />
== See also ==<br />
<br />
* http://intellinuxgraphics.org/documentation.html (includes a list of supported hardware)<br />
* [[KMS]] &mdash; Arch wiki article on kernel mode setting<br />
* [[Xrandr]] &mdash; If you have problems setting the resolution<br />
* Arch Linux forums: [https://bbs.archlinux.org/viewtopic.php?pid=522665#p522665 Intel 945GM, Xorg, Kernel - performance]</div>Micy1985https://wiki.archlinux.org/index.php?title=Intel_graphics_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=243620Intel graphics (简体中文)2013-01-12T15:48:47Z<p>Micy1985: /* 禁用 VSYNC */</p>
<hr />
<div>[[Category: Graphics (简体中文)]]<br />
[[Category: X Server (简体中文)]]<br />
[[cs:Intel]]<br />
[[en:Intel Graphics]]<br />
[[es:Intel]]<br />
[[fr:Intel]]<br />
[[hu:Intel]]<br />
[[it:Intel]]<br />
[[ja:Intel Graphics]]<br />
[[pl:Intel]]<br />
[[ru:Intel]]<br />
[[zh-TW:Intel]] <br />
{{Article summary start| 概要}}<br />
{{Article summary text|Intel图形显示卡/芯片组}}<br />
{{Article summary end}}<br />
<br />
由于Intel对X.Org开源驱动的支持,现在所需做的基本上是即插即用。<br />
<br />
Intel显卡和相应芯片组、cpu的完整型号参考[[Wikipedia:Comparison of Intel graphics processing units|this comparison on wikipedia]]。<br />
<br />
{{注意|开源驱动不支持基于PowerVR的显卡([[Poulsbo|GMA 500]] and [[Intel GMA3600|GMA 3600]] series)。}}<br />
<br />
== 安装 ==<br />
<br />
先安装 [[Xorg]],然后[[pacman (简体中文)|安装]]位于[[Official Repositories (简体中文)|官方软件仓库]]的 {{Pkg|xf86-video-intel}} 软件包。它提供了用于2D加速的DDX驱动和旧显卡的[[XvMC]]视频解码驱动。它依赖于3D加速的DRI驱动({{Pkg|intel-dri}})。<br />
<br />
64位系统需要安装{{Pkg|lib32-intel-dri}}才能在 32 位程序中使用加速功能。<br />
<br />
== 配置 ==<br />
<br />
没必要做任何形式的配置来运行X.ORG(不需要{{ic|xorg.conf}},但若有则要正确配置)。<br />
<br />
查看完整选项,输入{{ic|man intel}}。<br />
<br />
== KMS (Kernel Mode Setting,内核模式设置) ==<br />
运行X和桌面环境如[[GNOME]], [[KDE]], [[Xfce]], [[LXDE]]等都需要[[KMS]]。在使用i915 DRM驱动的芯片组中,内核2.6.32及以后的内核都默认启用KMS。2.10及更新的{{Pkg|xf86-video-intel}驱动都不支持UMS(旧的810芯片家族例外),且强制使用KMS<sup>[https://www.archlinux.org/news/484/]</sup>。通常,KMS是在内核启动后才进行初始化,但也可以在内核启动阶段就启动KMS,这样在整个启动过程中都是原始分辨率。<br />
<br />
{{注意|'''必须''' 在启动配置中移除与KMS相冲突的项,如:{{ic|vga}} 或 {{ic|nomodeset}}。}}<br />
<br />
要早启动,添加{{ic|i915}}模块到{{ic|/etc/mkinitcpio.conf}}的{{ic|MODULES}}行:<br />
<br />
MODULES="'''i915'''"<br />
<br />
然后,重新生成initramfs<br />
<br />
mkinitcpio -p linux<br />
<br />
重启系统,一切搞定!<br />
<br />
== 技巧 ==<br />
<br />
=== 选择加速方式 ===<br />
<br />
DDX驱动可重设你需要的加速方式。默认是更稳定的UXA,但比SNA慢,带有一定程度试验性质的SNA加速很快。Phoronix的基准测试在 [http://www.phoronix.com/scan.php?page=news_item&px=MTEzOTE].Sandy Bridge为[http://www.phoronix.com/scan.php?page=article&item=intel_glamor_first&num=1],Ivy Bridge为[http://www.phoronix.com/scan.php?page=article&item=intel_ivy_glamor&num=1]. 若使用SNA有问题,UXA仍为稳妥的选择.<br />
<br />
创建包含下列内容的{{ic|/etc/X11/xorg.conf.d/20-intel.conf}} 就可使用SNA:<br />
<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "AccelMethod" "sna"<br />
EndSection}}<br />
<br />
=== 设置自动缩放模式 ===<br />
<br />
在一些全屏应用中此方法适用:<br />
<br />
$ xrandr --output LVDS1 --set PANEL_FITTING param<br />
<br />
{{ic|param}} 可以是:<br />
<br />
* {{ic|center}}: 使用自定义分辨率,不缩放;<br />
* {{ic|full}}: 使用全屏;<br />
* {{ic|full_aspect}}: 在长宽比不变的情况下使用最大可用分辨率。<br />
<br />
若无效,可尝试:<br />
<br />
$ xrandr --output LVDS1 --set "scaling mode" param<br />
<br />
{{ic|param}}可以是{{ic|"Full"}}、{{ic|"Center"}} 或 {{ic|"Full aspect"}}.<br />
<br />
=== KMS 问题: 终端面积很小 ===<br />
<br />
在启动阶段,启用了低分辨率的接口会导致终端面积很小。通过i915模块设置可解决此问题,具体在加载器的内核参数添加 {{ic|1=video=SVIDEO-1:d}}。内核参数的更多信息参考 [[Kernel parameters]] .<br />
<br />
若无效,可试着禁用 TV1 或 VGA1 接口。<br />
<br />
=== 在 GMA 4500 硬解 H.264===<br />
<br />
GMA 4500 平台上,{{Pkg|libva-driver-intel}} 只能硬解 MPEG-2. H.264 的硬解为另一分支——g45-h264, 在 [[Arch User Repository]] 中安装 {{AUR|libva-driver-intel-g45-h264}} 就OK . 但注意 g45-h264 目前仍处于试验阶段,且开发不活跃. 通过 VA-API 会减轻cpu的负载但不如使用非加速方式流畅。 mplayer的测试表明 使用vaapi 播放H.264 编码的 1080p 视频会让cpu的负载减半 (与XV相比) ,但播放很不稳定, 而 720p 则很到位 [https://bbs.archlinux.org/viewtopic.php?id=150550]. 其他一些用户也提到这点[http://www.emmolution.org/?p=192&cpage=1#comment-12292].<br />
<br />
=== 设置伽马和亮度 ===<br />
<br />
Intel没有提供在驱动层面设置这些值的途径,幸运的是,可通过 {{ic|xgamma}} 和 {{ic|xrandr}} 来设置。<br />
<br />
设置伽马:<br />
<br />
$ xgamma -gamma 1.0<br />
<br />
或:<br />
<br />
$ xrandr --output VGA1 --gamma 1.0:1.0:1.0<br />
<br />
设置亮度:<br />
<br />
$ xrandr --output VGA1 --brightness 1.0<br />
<br />
== 疑难解答 ==<br />
<br />
=== Glxgears 显示性能低下 ===<br />
<br />
{{注意|{{ic|glxgears}} 不是在不同系统上进行比较的基准测试工具。}}<br />
<br />
若运行 {{ic|glxgears}} 来获取显卡性能参数, 你会发现结果都在 60 FPS 左右, 如:<br />
<br />
[...]<br />
311 frames in 5.0 seconds = 61.973 FPS<br />
311 frames in 5.0 seconds = 62.064 FPS<br />
311 frames in 5.0 seconds = 62.026 FPS<br />
[...]<br />
<br />
这不是性能低下的表现, 这是因为显卡使用了 [[Wikipedia:Analog television#Vertical synchronization|vertical synchronization]], 也就是显示器的原生帧频.<br />
<br />
==== 禁用 VSYNC ====<br />
<br />
在{{ic|/etc/X11/xorg.conf.d/20-intel.conf}} 的 {{ic|Section "Device"}} 段添加 {{ic|Option "SwapbuffersWait" "false"}} 可禁用 VSYNC.<br />
<br />
在 {{ic|~/.drirc}} 中将 {{ic|vblank_mode}} 设为 {{ic|0}} 并且将 {{ic|driver}} 设为 {{ic|dri2}} 也可达到上述效果:<br />
<br />
{{hc|~/.drirc|2=<br />
<device screen="0" driver="dri2"><br />
<application name="Default"><br />
<option name="vblank_mode" value="0"/><br />
</application><br />
</device>}}<br />
<br />
=== Blank screen during boot, when "Loading modules" ===<br />
<br />
If you are using "late start" KMS and the screen goes blank when "Loading modules", it may help to add {{ic|i915}} and {{ic|intel_agp}} to the initramfs. See [[Intel#KMS (Kernel Mode Setting)|the above]] KMS section.<br />
<br />
Alternatively, appending the following [[Kernel parameters|kernel parameter]] seems to work as well:<br />
<br />
video=SVIDEO-1:d<br />
<br />
=== Tear-free video ===<br />
<br />
If you are using the SNA acceleration method, you can get rid of video tearing by adding the following to the {{ic|Device}} section of {{ic|/etc/X11/xorg.conf.d/20-intel.conf}}:<br />
<br />
Option "TearFree" "true"<br />
<br />
=== X freeze/crash with intel driver ===<br />
<br />
If you have issue with X crashing, GPU hang or problem with frozen X, then the fix may be to disable the GPU usage with the {{ic|NoAccel}} option:<br />
<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "NoAccel" "True"<br />
EndSection}}<br />
<br />
Alternatively, you could try to disable the 3D acceleration only with the {{ic|DRI}} option:<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "DRI" "False"<br />
EndSection}}<br />
<br />
=== Adding undetected resolutions ===<br />
<br />
This issue is covered on the [[Xrandr#Adding_undetected_resolutions|Xrandr page]].<br />
<br />
=== Slowness after an upgrade to libGL 9 and Intel-DRI 9 ===<br />
<br />
[https://wiki.archlinux.org/index.php/Downgrading_Packages#ARM Downgrade] to Intel-DRI 8 and libGL 8.<br />
<br />
=== Black textures in video games ===<br />
<br />
If you are experiencing black textures in your video games the solution may be enabling S3TC texture compression support. <br />
It can be enabled through {{Pkg|driconf}} or by installing {{Pkg|libtxc_dxtn}}.<br />
<br />
This "issue" will be fixed very soon in the [http://www.phoronix.com/scan.php?page=news_item&px=MTIwOTg newer drivers]<br />
<br />
You can read more about S3TC at: <br />
http://dri.freedesktop.org/wiki/S3TC<br />
http://en.wikipedia.org/wiki/S3_Texture_Compression<br />
<br />
One of the games that is affected by this issue is [http://www.phoronix.com/scan.php?page=article&item=unigine_oilrush_gold&num=2 Oil Rush]<br />
<br />
== See also ==<br />
<br />
* http://intellinuxgraphics.org/documentation.html (includes a list of supported hardware)<br />
* [[KMS]] &mdash; Arch wiki article on kernel mode setting<br />
* [[Xrandr]] &mdash; If you have problems setting the resolution<br />
* Arch Linux forums: [https://bbs.archlinux.org/viewtopic.php?pid=522665#p522665 Intel 945GM, Xorg, Kernel - performance]</div>Micy1985https://wiki.archlinux.org/index.php?title=Intel_graphics_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=243616Intel graphics (简体中文)2013-01-12T15:45:23Z<p>Micy1985: </p>
<hr />
<div>[[Category: Graphics (简体中文)]]<br />
[[Category: X Server (简体中文)]]<br />
[[cs:Intel]]<br />
[[en:Intel Graphics]]<br />
[[es:Intel]]<br />
[[fr:Intel]]<br />
[[hu:Intel]]<br />
[[it:Intel]]<br />
[[ja:Intel Graphics]]<br />
[[pl:Intel]]<br />
[[ru:Intel]]<br />
[[zh-TW:Intel]] <br />
{{Article summary start| 概要}}<br />
{{Article summary text|Intel图形显示卡/芯片组}}<br />
{{Article summary end}}<br />
<br />
由于Intel对X.Org开源驱动的支持,现在所需做的基本上是即插即用。<br />
<br />
Intel显卡和相应芯片组、cpu的完整型号参考[[Wikipedia:Comparison of Intel graphics processing units|this comparison on wikipedia]]。<br />
<br />
{{注意|开源驱动不支持基于PowerVR的显卡([[Poulsbo|GMA 500]] and [[Intel GMA3600|GMA 3600]] series)。}}<br />
<br />
== 安装 ==<br />
<br />
先安装 [[Xorg]],然后[[pacman (简体中文)|安装]]位于[[Official Repositories (简体中文)|官方软件仓库]]的 {{Pkg|xf86-video-intel}} 软件包。它提供了用于2D加速的DDX驱动和旧显卡的[[XvMC]]视频解码驱动。它依赖于3D加速的DRI驱动({{Pkg|intel-dri}})。<br />
<br />
64位系统需要安装{{Pkg|lib32-intel-dri}}才能在 32 位程序中使用加速功能。<br />
<br />
== 配置 ==<br />
<br />
没必要做任何形式的配置来运行X.ORG(不需要{{ic|xorg.conf}},但若有则要正确配置)。<br />
<br />
查看完整选项,输入{{ic|man intel}}。<br />
<br />
== KMS (Kernel Mode Setting,内核模式设置) ==<br />
运行X和桌面环境如[[GNOME]], [[KDE]], [[Xfce]], [[LXDE]]等都需要[[KMS]]。在使用i915 DRM驱动的芯片组中,内核2.6.32及以后的内核都默认启用KMS。2.10及更新的{{Pkg|xf86-video-intel}驱动都不支持UMS(旧的810芯片家族例外),且强制使用KMS<sup>[https://www.archlinux.org/news/484/]</sup>。通常,KMS是在内核启动后才进行初始化,但也可以在内核启动阶段就启动KMS,这样在整个启动过程中都是原始分辨率。<br />
<br />
{{注意|'''必须''' 在启动配置中移除与KMS相冲突的项,如:{{ic|vga}} 或 {{ic|nomodeset}}。}}<br />
<br />
要早启动,添加{{ic|i915}}模块到{{ic|/etc/mkinitcpio.conf}}的{{ic|MODULES}}行:<br />
<br />
MODULES="'''i915'''"<br />
<br />
然后,重新生成initramfs<br />
<br />
mkinitcpio -p linux<br />
<br />
重启系统,一切搞定!<br />
<br />
== 技巧 ==<br />
<br />
=== 选择加速方式 ===<br />
<br />
DDX驱动可重设你需要的加速方式。默认是更稳定的UXA,但比SNA慢,带有一定程度试验性质的SNA加速很快。Phoronix的基准测试在 [http://www.phoronix.com/scan.php?page=news_item&px=MTEzOTE].Sandy Bridge为[http://www.phoronix.com/scan.php?page=article&item=intel_glamor_first&num=1],Ivy Bridge为[http://www.phoronix.com/scan.php?page=article&item=intel_ivy_glamor&num=1]. 若使用SNA有问题,UXA仍为稳妥的选择.<br />
<br />
创建包含下列内容的{{ic|/etc/X11/xorg.conf.d/20-intel.conf}} 就可使用SNA:<br />
<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "AccelMethod" "sna"<br />
EndSection}}<br />
<br />
=== 设置自动缩放模式 ===<br />
<br />
在一些全屏应用中此方法适用:<br />
<br />
$ xrandr --output LVDS1 --set PANEL_FITTING param<br />
<br />
{{ic|param}} 可以是:<br />
<br />
* {{ic|center}}: 使用自定义分辨率,不缩放;<br />
* {{ic|full}}: 使用全屏;<br />
* {{ic|full_aspect}}: 在长宽比不变的情况下使用最大可用分辨率。<br />
<br />
若无效,可尝试:<br />
<br />
$ xrandr --output LVDS1 --set "scaling mode" param<br />
<br />
{{ic|param}}可以是{{ic|"Full"}}、{{ic|"Center"}} 或 {{ic|"Full aspect"}}.<br />
<br />
=== KMS 问题: 终端面积很小 ===<br />
<br />
在启动阶段,启用了低分辨率的接口会导致终端面积很小。通过i915模块设置可解决此问题,具体在加载器的内核参数添加 {{ic|1=video=SVIDEO-1:d}}。内核参数的更多信息参考 [[Kernel parameters]] .<br />
<br />
若无效,可试着禁用 TV1 或 VGA1 接口。<br />
<br />
=== 在 GMA 4500 硬解 H.264===<br />
<br />
GMA 4500 平台上,{{Pkg|libva-driver-intel}} 只能硬解 MPEG-2. H.264 的硬解为另一分支——g45-h264, 在 [[Arch User Repository]] 中安装 {{AUR|libva-driver-intel-g45-h264}} 就OK . 但注意 g45-h264 目前仍处于试验阶段,且开发不活跃. 通过 VA-API 会减轻cpu的负载但不如使用非加速方式流畅。 mplayer的测试表明 使用vaapi 播放H.264 编码的 1080p 视频会让cpu的负载减半 (与XV相比) ,但播放很不稳定, 而 720p 则很到位 [https://bbs.archlinux.org/viewtopic.php?id=150550]. 其他一些用户也提到这点[http://www.emmolution.org/?p=192&cpage=1#comment-12292].<br />
<br />
=== 设置伽马和亮度 ===<br />
<br />
Intel没有提供在驱动层面设置这些值的途径,幸运的是,可通过 {{ic|xgamma}} 和 {{ic|xrandr}} 来设置。<br />
<br />
设置伽马:<br />
<br />
$ xgamma -gamma 1.0<br />
<br />
或:<br />
<br />
$ xrandr --output VGA1 --gamma 1.0:1.0:1.0<br />
<br />
设置亮度:<br />
<br />
$ xrandr --output VGA1 --brightness 1.0<br />
<br />
== 疑难解答 ==<br />
<br />
=== Glxgears 显示性能低下 ===<br />
<br />
{{注意|{{ic|glxgears}} 不是在不同系统上进行比较的基准测试工具。}}<br />
<br />
若运行 {{ic|glxgears}} 来获取显卡性能参数, 你会发现结果都在 60 FPS 左右, 如:<br />
<br />
[...]<br />
311 frames in 5.0 seconds = 61.973 FPS<br />
311 frames in 5.0 seconds = 62.064 FPS<br />
311 frames in 5.0 seconds = 62.026 FPS<br />
[...]<br />
<br />
这不是性能低下的表现, 这是因为显卡使用了 [[Wikipedia:Analog television#Vertical synchronization|vertical synchronization]], 也就是显示器的原生帧频.<br />
<br />
==== 禁用 VSYNC ====<br />
<br />
To disable VSYNC just add in your {{ic|/etc/X11/xorg.conf.d/20-intel.conf}} in {{ic|Section "Device"}} the string {{ic|Option "SwapbuffersWait" "false"}}.<br />
<br />
Alternatively, set {{ic|vblank_mode}} to {{ic|0}} in {{ic|~/.drirc}} and make sure that {{ic|driver}} is set to {{ic|dri2}}:<br />
<br />
{{hc|~/.drirc|2=<br />
<device screen="0" driver="dri2"><br />
<application name="Default"><br />
<option name="vblank_mode" value="0"/><br />
</application><br />
</device>}}<br />
<br />
=== Blank screen during boot, when "Loading modules" ===<br />
<br />
If you are using "late start" KMS and the screen goes blank when "Loading modules", it may help to add {{ic|i915}} and {{ic|intel_agp}} to the initramfs. See [[Intel#KMS (Kernel Mode Setting)|the above]] KMS section.<br />
<br />
Alternatively, appending the following [[Kernel parameters|kernel parameter]] seems to work as well:<br />
<br />
video=SVIDEO-1:d<br />
<br />
=== Tear-free video ===<br />
<br />
If you are using the SNA acceleration method, you can get rid of video tearing by adding the following to the {{ic|Device}} section of {{ic|/etc/X11/xorg.conf.d/20-intel.conf}}:<br />
<br />
Option "TearFree" "true"<br />
<br />
=== X freeze/crash with intel driver ===<br />
<br />
If you have issue with X crashing, GPU hang or problem with frozen X, then the fix may be to disable the GPU usage with the {{ic|NoAccel}} option:<br />
<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "NoAccel" "True"<br />
EndSection}}<br />
<br />
Alternatively, you could try to disable the 3D acceleration only with the {{ic|DRI}} option:<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "DRI" "False"<br />
EndSection}}<br />
<br />
=== Adding undetected resolutions ===<br />
<br />
This issue is covered on the [[Xrandr#Adding_undetected_resolutions|Xrandr page]].<br />
<br />
=== Slowness after an upgrade to libGL 9 and Intel-DRI 9 ===<br />
<br />
[https://wiki.archlinux.org/index.php/Downgrading_Packages#ARM Downgrade] to Intel-DRI 8 and libGL 8.<br />
<br />
=== Black textures in video games ===<br />
<br />
If you are experiencing black textures in your video games the solution may be enabling S3TC texture compression support. <br />
It can be enabled through {{Pkg|driconf}} or by installing {{Pkg|libtxc_dxtn}}.<br />
<br />
This "issue" will be fixed very soon in the [http://www.phoronix.com/scan.php?page=news_item&px=MTIwOTg newer drivers]<br />
<br />
You can read more about S3TC at: <br />
http://dri.freedesktop.org/wiki/S3TC<br />
http://en.wikipedia.org/wiki/S3_Texture_Compression<br />
<br />
One of the games that is affected by this issue is [http://www.phoronix.com/scan.php?page=article&item=unigine_oilrush_gold&num=2 Oil Rush]<br />
<br />
== See also ==<br />
<br />
* http://intellinuxgraphics.org/documentation.html (includes a list of supported hardware)<br />
* [[KMS]] &mdash; Arch wiki article on kernel mode setting<br />
* [[Xrandr]] &mdash; If you have problems setting the resolution<br />
* Arch Linux forums: [https://bbs.archlinux.org/viewtopic.php?pid=522665#p522665 Intel 945GM, Xorg, Kernel - performance]</div>Micy1985https://wiki.archlinux.org/index.php?title=Intel_graphics_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=243604Intel graphics (简体中文)2013-01-12T14:19:53Z<p>Micy1985: </p>
<hr />
<div>[[Category: Graphics (简体中文)]]<br />
[[Category: X Server (简体中文)]]<br />
[[cs:Intel]]<br />
[[en:Intel Graphics]]<br />
[[es:Intel]]<br />
[[fr:Intel]]<br />
[[hu:Intel]]<br />
[[it:Intel]]<br />
[[ja:Intel Graphics]]<br />
[[pl:Intel]]<br />
[[ru:Intel]]<br />
[[zh-TW:Intel]] <br />
{{Article summary start| 概要}}<br />
{{Article summary text|Intel图形显示卡/芯片组}}<br />
{{Article summary end}}<br />
<br />
由于Intel对X.Org开源驱动的支持,现在所需做的基本上是即插即用。<br />
<br />
Intel显卡和相应芯片组、cpu的完整型号参考[[Wikipedia:Comparison of Intel graphics processing units|this comparison on wikipedia]]。<br />
<br />
{{注意|开源驱动不支持基于PowerVR的显卡([[Poulsbo|GMA 500]] and [[Intel GMA3600|GMA 3600]] series)。}}<br />
<br />
== 安装 ==<br />
<br />
先安装 [[Xorg]],然后[[pacman (简体中文)|安装]]位于[[Official Repositories (简体中文)|官方软件仓库]]的 {{Pkg|xf86-video-intel}} 软件包。它提供了用于2D加速的DDX驱动和旧显卡的[[XvMC]]视频解码驱动。它依赖于3D加速的DRI驱动({{Pkg|intel-dri}})。<br />
<br />
64位系统需要安装{{Pkg|lib32-intel-dri}}才能在 32 位程序中使用加速功能。<br />
<br />
== 配置 ==<br />
<br />
没必要做任何形式的配置来运行X.ORG(不需要{{ic|xorg.conf}},但若有则要正确配置)。<br />
<br />
查看完整选项,输入{{ic|man intel}}。<br />
<br />
== KMS (Kernel Mode Setting,内核模式设置) ==<br />
运行X和桌面环境如[[GNOME]], [[KDE]], [[Xfce]], [[LXDE]]等都需要[[KMS]]。在使用i915 DRM驱动的芯片组中,内核2.6.32及以后的内核都默认启用KMS。2.10及更新的{{Pkg|xf86-video-intel}驱动都不支持UMS(旧的810芯片家族例外),且强制使用KMS<sup>[https://www.archlinux.org/news/484/]</sup>。通常,KMS是在内核启动后才进行初始化,但也可以在内核启动阶段就启动KMS,这样在整个启动过程中都是原始分辨率。<br />
<br />
{{注意|'''必须''' 在启动配置中移除与KMS相冲突的项,如:{{ic|vga}} 或 {{ic|nomodeset}}。}}<br />
<br />
要早启动,添加{{ic|i915}}模块到{{ic|/etc/mkinitcpio.conf}}的{{ic|MODULES}}行:<br />
<br />
MODULES="'''i915'''"<br />
<br />
然后,重新生成initramfs<br />
<br />
mkinitcpio -p linux<br />
<br />
重启系统,一切搞定!<br />
<br />
== 技巧 ==<br />
<br />
=== 选择加速方式 ===<br />
<br />
DDX驱动可重设你需要的加速方式。默认是更稳定的UXA,但比SNA慢,带有一定程度试验性质的SNA加速很快。Check benchmarks done by Phoronix [http://www.phoronix.com/scan.php?page=news_item&px=MTEzOTE]. These can be found [http://www.phoronix.com/scan.php?page=article&item=intel_glamor_first&num=1 here for Sandy Bridge] and [http://www.phoronix.com/scan.php?page=article&item=intel_ivy_glamor&num=1 here for Ivy Bridge]. UXA is still a solid option, if experiencing trouble with SNA.<br />
<br />
If you want to use the new SNA method, create {{ic|/etc/X11/xorg.conf.d/20-intel.conf}} with the following content:<br />
<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "AccelMethod" "sna"<br />
EndSection}}<br />
<br />
=== Setting scaling mode ===<br />
<br />
This can be useful for some full screen applications:<br />
<br />
$ xrandr --output LVDS1 --set PANEL_FITTING param<br />
<br />
where {{ic|param}} can be:<br />
<br />
* {{ic|center}}: resolution will be kept exactly as defined, no scaling will be made,<br />
* {{ic|full}}: scale the resolution so it uses the entire screen or<br />
* {{ic|full_aspect}}: scale the resolution to the maximum possible but keep the aspect ratio.<br />
<br />
If it does not work, you can try:<br />
<br />
$ xrandr --output LVDS1 --set "scaling mode" param<br />
<br />
where {{ic|param}} is one of {{ic|"Full"}}, {{ic|"Center"}} or {{ic|"Full aspect"}}.<br />
<br />
=== KMS Issue: console is limited to small area ===<br />
<br />
One of the low-resolution video ports may be enabled on boot which is causing the terminal to utilize a small area of the screen. To fix, explicitly disable the port with an i915 module setting with {{ic|1=video=SVIDEO-1:d}} as you kernel command line parameter in your bootloader. See [[Kernel parameters]] for more info.<br />
<br />
If that does not work, you may also try disabling TV1 or VGA1 instead of SVIDEO-1.<br />
<br />
=== H.264 decoding on GMA 4500 ===<br />
<br />
The {{Pkg|libva-driver-intel}} package provides MPEG-2 decoding only for GMA 4500 series GPUs. The H.264 decoding support is maintained in a separated g45-h264 branch, which can be used by installing {{AUR|libva-driver-intel-g45-h264}} package, available in the [[Arch User Repository]]. Note however that this support is experimental and not currently in active development. Using the VA-API with this driver on a GMA 4500 series GPU will offload the CPU but may not result in as smooth a playback as non-accelerated playback. Tests using mplayer showed that using vaapi to play back an H.264 encoded 1080p video halved the CPU load (compared to the XV overlay) but resulted in very choppy playback, while 720p worked reasonably well [https://bbs.archlinux.org/viewtopic.php?id=150550]. This is echoed by other experiences [http://www.emmolution.org/?p=192&cpage=1#comment-12292].<br />
<br />
=== Setting gamma and brightness ===<br />
<br />
Intel offers no way to adjust these at the driver level. Luckily these can be set with {{ic|xgamma}} and {{ic|xrandr}}.<br />
<br />
Gamma can be set with:<br />
<br />
$ xgamma -gamma 1.0<br />
<br />
or:<br />
<br />
$ xrandr --output VGA1 --gamma 1.0:1.0:1.0<br />
<br />
Brightness can be set with:<br />
<br />
$ xrandr --output VGA1 --brightness 1.0<br />
<br />
== Troubleshooting ==<br />
<br />
=== Glxgears shows low performance results ===<br />
<br />
{{Note|{{ic|glxgears}} is not a benchmark tool for performance comparison between multiple systems.}}<br />
<br />
If you run {{ic|glxgears}} in order to check your system's graphics performance, you may notice it showing results around 60 FPS. For example:<br />
<br />
[...]<br />
311 frames in 5.0 seconds = 61.973 FPS<br />
311 frames in 5.0 seconds = 62.064 FPS<br />
311 frames in 5.0 seconds = 62.026 FPS<br />
[...]<br />
<br />
That is not caused by performance regression, but because the system graphics are using [[Wikipedia:Analog television#Vertical synchronization|vertical synchronization]], which is your display's native frames per second.<br />
<br />
==== Disable VSYNC ====<br />
<br />
To disable VSYNC just add in your {{ic|/etc/X11/xorg.conf.d/20-intel.conf}} in {{ic|Section "Device"}} the string {{ic|Option "SwapbuffersWait" "false"}}.<br />
<br />
Alternatively, set {{ic|vblank_mode}} to {{ic|0}} in {{ic|~/.drirc}} and make sure that {{ic|driver}} is set to {{ic|dri2}}:<br />
<br />
{{hc|~/.drirc|2=<br />
<device screen="0" driver="dri2"><br />
<application name="Default"><br />
<option name="vblank_mode" value="0"/><br />
</application><br />
</device>}}<br />
<br />
=== Blank screen during boot, when "Loading modules" ===<br />
<br />
If you are using "late start" KMS and the screen goes blank when "Loading modules", it may help to add {{ic|i915}} and {{ic|intel_agp}} to the initramfs. See [[Intel#KMS (Kernel Mode Setting)|the above]] KMS section.<br />
<br />
Alternatively, appending the following [[Kernel parameters|kernel parameter]] seems to work as well:<br />
<br />
video=SVIDEO-1:d<br />
<br />
=== Tear-free video ===<br />
<br />
If you are using the SNA acceleration method, you can get rid of video tearing by adding the following to the {{ic|Device}} section of {{ic|/etc/X11/xorg.conf.d/20-intel.conf}}:<br />
<br />
Option "TearFree" "true"<br />
<br />
=== X freeze/crash with intel driver ===<br />
<br />
If you have issue with X crashing, GPU hang or problem with frozen X, then the fix may be to disable the GPU usage with the {{ic|NoAccel}} option:<br />
<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "NoAccel" "True"<br />
EndSection}}<br />
<br />
Alternatively, you could try to disable the 3D acceleration only with the {{ic|DRI}} option:<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "DRI" "False"<br />
EndSection}}<br />
<br />
=== Adding undetected resolutions ===<br />
<br />
This issue is covered on the [[Xrandr#Adding_undetected_resolutions|Xrandr page]].<br />
<br />
=== Slowness after an upgrade to libGL 9 and Intel-DRI 9 ===<br />
<br />
[https://wiki.archlinux.org/index.php/Downgrading_Packages#ARM Downgrade] to Intel-DRI 8 and libGL 8.<br />
<br />
=== Black textures in video games ===<br />
<br />
If you are experiencing black textures in your video games the solution may be enabling S3TC texture compression support. <br />
It can be enabled through {{Pkg|driconf}} or by installing {{Pkg|libtxc_dxtn}}.<br />
<br />
This "issue" will be fixed very soon in the [http://www.phoronix.com/scan.php?page=news_item&px=MTIwOTg newer drivers]<br />
<br />
You can read more about S3TC at: <br />
http://dri.freedesktop.org/wiki/S3TC<br />
http://en.wikipedia.org/wiki/S3_Texture_Compression<br />
<br />
One of the games that is affected by this issue is [http://www.phoronix.com/scan.php?page=article&item=unigine_oilrush_gold&num=2 Oil Rush]<br />
<br />
== See also ==<br />
<br />
* http://intellinuxgraphics.org/documentation.html (includes a list of supported hardware)<br />
* [[KMS]] &mdash; Arch wiki article on kernel mode setting<br />
* [[Xrandr]] &mdash; If you have problems setting the resolution<br />
* Arch Linux forums: [https://bbs.archlinux.org/viewtopic.php?pid=522665#p522665 Intel 945GM, Xorg, Kernel - performance]</div>Micy1985https://wiki.archlinux.org/index.php?title=ArchWiki:Translation_Team_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=243583ArchWiki:Translation Team (简体中文)2013-01-12T10:20:09Z<p>Micy1985: /* 贡献列表 */</p>
<hr />
<div>[[Category:简体中文]]<br />
[[Category:ArchWiki (简体中文)]]<br />
[[en:ArchWiki Translation Team]]<br />
[[es:ArchWiki Translation Team]]<br />
[[hr:ArchWiki Translation Team]]<br />
[[it:ArchWiki Translation Team]]<br />
[[pl:ArchWiki Translation Team]]<br />
[[tr:ArchWiki_Çeviri_Ekibi]]<br />
Arch Wiki 上有许多中文页面,这些页面是无数中文志愿者劳动的结晶。随着时间推移,有些页面因为没有及时维护,内容严重过时。而目前的翻译工作缺少组织,效率偏低。所以参照西班牙和意大利翻译组的做法,添加这个页面。<br />
<br />
如果希望进行翻译和维护,只需要编辑下面的[[#页面维护列表]],将自己加为页面的维护者。如果列表中还没有要认领翻译的页面,请自行添加。如果因为时间原因无法再维护页面,请及时将自己从维护者列表中删除。<br />
<br />
== 创建翻译 ==<br />
{{注意|如果不准备翻译页面的大部分内容,请尽量不要新建简体中文页面。检查英文页面的更新需要花费不少精力,没有翻译的页面会增加维护负担。}}<br />
# 如果还不知道如何编辑 wiki,请阅读 [[Help:Editing (简体中文)|编辑帮助]]。<br />
# 阅读 [[Help:i18n (简体中文)|i18n帮助]],文章给出了 ArchWiki 国际化和本地化的指南。<br />
# [[Special:UserLogin |登录]] 以进行编辑。<br />
# 选择要翻译的页面,例如从 [[Special:Random|随机页面]] 或[[#页面维护列表 | 页面维护列表]] 中选择一个未翻译完成的页面。假设要翻译 [[Some Page]].<br />
# 进入选择的英文页面,点击页面顶部的 '''编辑'''。<br />
# 添加要翻译文件的语言间链接 (参见[[Help:i18n#Interlanguage links]])。<br />
# 复制所有页面代码。<br />
# 保存页面 (新加了语言链接)<br />
# 访问页面右边新添加的语言链接,应该会进到 [[Some Page (简体中文)]] : {{ic|<nowiki>https://wiki.archlinux.org/index.php/Some_Page_(</nowiki>''简体中文'')}}<br />
# 因为页面不存在,点击 '''创建'''。<br />
# 将显示一个编辑器 - 粘贴复制的英文页面。<br />
# 将文章分类修改为本地化版本,例如将 {{ic|<nowiki>[[Category:Internationalization]]</nowiki>}} 修改为 {{ic|<nowiki>[[Category:Internationalization (简体中文)]]</nowiki>}}<br />
# 修改语言间链接,指向英文页面(将 {{ic|zh-CN}} 修改为 {{ic|en}},并将英文页面移到文章顶部。<br />
# 翻译页面,进行保存。<br />
# (推荐)给翻译完成的页面加上[[Template:TranslationStatus (简体中文)|翻译状态]],后有详细介绍。<br />
# 更新所有其它语言页面,加入刚翻译文章的语言间链接。<br />
# (可选)创建一个简体中文名称的页面,指向新创建的页面:访问 {{ic|<nowiki>https://wiki.archlinux.org/index.php/</nowiki>''页面的中文名称''}}.<br />
# (可选)建立新页面,并加入:{{bc|<nowiki>#REDIRECT [[Some Page (简体中文)</nowiki>]]}}<br />
<br />
== 完善翻译 ==<br />
[https://wiki.archlinux.org/index.php?title=Special:WhatLinksHere/Template:Translateme_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&limit=100 这个页面] 包含了需要完善翻译的简体中文页面。完善翻译的基本步骤:<br />
# 选择自己比较熟悉的文章进行翻译<br />
# 先检查英文页面的对应段落,更新成最新的英文后再翻译,避免翻译过时的内容,减少信息遗漏。<br />
# 翻译完成后删除页面中的 <nowiki>{{translateme (简体中文)}}</nowiki> 标记<br />
# (推荐)给翻译完成的页面加上[[Template:TranslationStatus (简体中文)|翻译状态]],后有详细介绍。<br />
<br />
== 维护翻译 ==<br />
完成页面的翻译只是初步完成任务,即时同步英文页面改动、更新翻译是一个持续性的工作,可能会耗费更多的时间。<br />
<br />
=== 页面认领 ===<br />
所有人都可以认领页面。认领后的责任包括进行翻译,关注英文页面的改动,及时同步翻译。<br />
<br />
为了更好的跟踪英文页面的修改,请务必在设置中启用监视列表邮件通知,并监视对应的英文页面(从设置中找到监视列表,加入英文页面。或者直接到英文页面点击页面顶端的监视标签。这样只要有改动,就会收到邮件通知)。<br />
<br />
{{小贴士|如果收到邮件通知后没有访问页面或者访问了页面却没有登录用户,下次页面改动时就不会再发邮件通知。可以点击监视列表中的'''标记所有页面为已读'''再次获取更新。}}<br />
<br />
如果页面有维护者但长期得不到更新,将会在维护列表中删除维护者。<br />
<br />
=== 发现过期页面怎么办? === <br />
如果发现有 Wiki 页面过期或错误:<br />
* 小的改动,有时间可以立即进行修改同步,维护者并不控制页面的编辑权限,越多的人参与维护越好。如果改动较大,请先联系维护者,避免重复劳动。<br />
* 没有时间查看更改,请给页面加上 {{ic|<nowiki>{{out of date}}</nowiki>}} 模版,这样其他贡献者更容易发现需要更新的页面,而读者看到过期标记就可以直接查看英文页面,以免被错误内容误导,白白耽误时间。<br />
* 没有时间翻译,请将过期的中文部分删去,从英文页面中复制更改的部分到中文页面的相应部分,去掉{{ic|<nowiki>{{out of date}}</nowiki>}}模板(如果页面上有的话)并加上{{ic|<nowiki>{{translateme (简体中文)}}</nowiki>}}模板,这样其他贡献者就更容易发现需要翻译的页面,而读者也不会被过期的内容误导。<br />
如果发现有页面未翻译:<br />
* 有时间的话,请将页面中的英文部分翻译为中文,并去掉{{ic|<nowiki>{{translateme (简体中文)}}</nowiki>}}模板。<br />
* 没有时间翻译,请为页面添加{{ic|<nowiki>{{translateme (简体中文)}}</nowiki>}}模板,这样其他的贡献者就能更容易发现需要翻译的页面。<br />
{{注意|在修改页面上的模板时,请同时更新页面维护列表的翻译状态。}}<br />
<br />
=== 翻译状态模板 ===<br />
Arch 作为滚动发行版,软件变化比较快,对应的文档变化也比较快。许多翻译的文章由于缺乏更新,会产生命令运行出错或不起作用等问题。而由于这些过期页面没有及时标记出来,所以用户无法及时获得更新。[[Template:TranslationStatus (简体中文)|翻译状态模板]]就是为了解决这个问题而创建。<br />
<br />
此模板可以起到如下作用:<br />
* 为用户提供翻译状况,包括翻译时间、英文页面的最后版本等<br />
* 用户可以点击查看翻译后,英文页面的改动,这样英文不是很好的用户可以只查看很小一部分英文内容,并判断出是否影响操作。<br />
* 翻译人员可以跟踪页面状况,通过[https://wiki.archlinux.org/index.php/Special:WhatLinksHere/Template:TranslationStatus_(简体中文) 模板的反向链接]可以查找到所有标记页面,查看需要更新翻译的部分。<br />
<br />
[[Template:TranslationStatus (简体中文)|模板页面]]有详细的使用方法。<br />
<br />
=== 页面维护列表 ===<br />
{{注意|请按照拉丁字母顺序添加页面。}}<br />
翻译状态说明:<br />
;过期:页面内容未与英文页面同步,对应{{ic|<nowiki>{{out of date}}</nowiki>}} 模版<br />
;未翻译:页面中含有英文内容,对应{{ic|<nowiki>{{translateme (简体中文)}}</nowiki>}}模板<br />
;完成:页面已与英文页面同步<br />
{| class="wikitable sortable collapsible" border="1"<br />
|-<br />
! 页面<br />
! 翻译状态<br />
! 维护者<br />
! class="unsortable" width="30%" | 备注<br />
|-<br />
| [[acpid (简体中文)]]<br />
| 完成<br />
| Cael<br />
| 无<br />
|-<br />
| [[ACPI hotkeys (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[ACPI modules (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Activating Numlock on Bootup (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Ad-hoc networking (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Advanced Linux Sound Architecture (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[AHCI (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Allow Users to Shutdown (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[aMule (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Android (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Apache, suEXEC and Virtual Hosts (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Arch Based Distributions (Active) (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Arch Build System (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[ArchWiki:About (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[ATI (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[AUR Helpers (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Avant Window Navigator (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[awesome (简体中文)]]<br />
| 进行中<br />
| Cael<br />
| 无<br />
|-<br />
| [[Bash (简体中文)]]<br />
| 完成<br />
| Jaurung<br />
| 无<br />
|-<br />
| [[Bumblebee (简体中文)]]<br />
| 完成<br />
| Peter<br />
| 无<br />
|-<br />
| [[AMD Catalyst (简体中文)]]<br />
| 完成<br />
| Shibao Zhao<br />
| 无<br />
|-<br />
| [[Common Applications (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Compiz (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Configuring Network (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[CPU Frequency Scaling (简体中文)]]<br />
| 完成<br />
| Flockyrocky<br />
| 更新版本,补充了原来没翻译的内容<br />
|-<br />
| [[Creating Packages (简体中文)]]<br />
| 完成<br />
| Cael<br />
| 无<br />
|-<br />
| [[Disabling IPv6 (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Downgrading Packages (简体中文)]]<br />
| 完成<br />
| Cael<br />
| 无<br />
|-<br />
| [[E17 (简体中文)]]<br />
| 完成<br />
| Aaron_chen<br />
| 同步翻译至2012年12月24日18:00英文页面<br />
|-<br />
| [[Emacs (简体中文)]]<br />
| 翻译中<br />
| Jaurung yuanhang<br />
| 未完成<br />
|-<br />
|-<br />
| [[Font Configuration (简体中文)]]<br />
| 翻译中<br />
| Jaurung<br />
| 完善中<br />
|-<br />
| [[Fonts (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Fstab (简体中文)]]<br />
| 完成<br />
| Fengchao<br />
| 无<br />
|-<br />
| [[GRUB (简体中文)]]<br />
| 翻译中<br />
| 无<br />
| 无<br />
|-<br />
| [[Help:Style (简体中文)]]<br />
| 完成<br />
| Fengchao<br />
| 无<br />
|-<br />
| [[IBus (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Improve_Pacman_Performance_(简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Intel Graphics(简体中文)]]<br />
| 翻译中<br />
| Shibao Zhao<br />
| 无<br />
|-<br />
| [[Kernel Compilation (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Kernel Compilation/Arch Build System (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[LAMP (简体中文)]]<br />
| 完成<br />
| Liuzhengyi<br />
| 勘误中<br />
|-<br />
| [[Laptop Mode Tools (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Lenovo ThinkPad T420 (简体中文)]]<br />
| 完成<br />
| Flockyrocky<br />
| 无<br />
|-<br />
| [[LibreOffice (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Local Mirror (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Makepkg (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[mkinitcpio (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Network Time Protocol daemon (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 部分未翻译<br />
|-<br />
| [[Official Repositories (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Openbox (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[OpenOffice (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Pacman (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Pacman GUI Frontends (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[pacman Tips (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Pidgin (简体中文)]]<br />
| 进行中<br />
| Cael<br />
| 无 <br />
|- <br />
| [[Plasma (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|- <br />
| [[Polipo (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无 <br />
|-<br />
| [[Python (简体中文)]]<br />
| 完成<br />
| Fengchao<br />
| 无 <br />
|-<br />
| [[Smart Common Input Method platform (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Common Applications/Science (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Secure Shell (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 部分未翻译<br />
|-<br />
| [[Systemd (简体中文)]]<br />
| 完成<br />
| cuihao<br />
| 无<br />
|-<br />
| [[TeXLive (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Vim (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[VMware (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Wine (简体中文)]]<br />
| 完成<br />
| cuihao<br />
| 无<br />
|-<br />
| [[Xscreensaver (简体中文)]]<br />
| 完成<br />
| liuyix<br />
| 无<br />
|-<br />
| [[Xmonad (简体中文)]]<br />
| 未翻译<br />
| Rns<br />
| 翻译中<br />
|-<br />
| [[LXDE (简体中文)]]<br />
| 翻译中<br />
| Tuxzz<br />
| 无<br />
<br />
|}<br />
<br />
== 贡献列表 ==<br />
为翻译做出贡献的用户请加入列表,感谢所有人做出的贡献。<br />
* [[User:Fengchao|Fengchao]] &ndash; [[Special:Contributions/Fengchao|贡献]] &ndash; [[Special:EmailUser/Fengchao|Send Email]] &ndash; [[ArchWiki:Maintainers|ArchWiki Maintainers]]<br />
* [[User:Skydiver|Skydiver]] &ndash; [[Special:Contributions/Skydiver|贡献]] &ndash; [[Special:EmailUser/Skydiver|Send Email]] &ndash; [[ArchWiki:Maintainers|ArchWiki Maintainers]]<br />
* [[User:Alswl|Alswl]] &ndash; [[Special:Contributions/Alswl|贡献]] &ndash; [[Special:EmailUser/Alswl|Send Email]]<br />
* [[User:Reverland|Reverland]] &ndash; [[Special:Contributions/Reverland|贡献]] &ndash; [[Special:EmailUser/Reverland|Send Email]]<br />
* [[User:Cuihao|cuihao]] &ndash; [[Special:Contributions/Cuihao|贡献]] &ndash; [[Special:EmailUser/Cuihao|Send Email]]<br />
* [[User:Cael|Cael]] &ndash; [[Special:Contributions/Cael|贡献]] &ndash; [[Special:EmailUser/Cael|Send Email]]<br />
* [[User:Flockyrocky|Flockyrocky]] &ndash; [[Special:Contributions/Flockyrocky|贡献]] &ndash; [[Special:EmailUser/Flockyrocky|Send Email]]<br />
<br />
* [[User:Tuxzz|Tuxzz]] &ndash; [[Special:Contributions/Tuxzz|贡献]] &ndash; [[Special:EmailUser/Tuxzz|Send Email]]<br />
* [[User:Aaron_chen|Aaron_chen]] &ndash; [[Special:Contributions/Aaron_chen|贡献]] &ndash; [[Special:E17/Aaron_chen|Send Email]]<br />
* [[User:Shibao Zhao|Shibao Zhao]] &ndash; [[Special:Contributions/Shibao Zhao|贡献]] &ndash; [[Special:EmailUser/Shibao Zhao|Send Email]] &ndash;</div>Micy1985https://wiki.archlinux.org/index.php?title=ArchWiki:Translation_Team_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=243582ArchWiki:Translation Team (简体中文)2013-01-12T10:16:09Z<p>Micy1985: /* 页面维护列表 */</p>
<hr />
<div>[[Category:简体中文]]<br />
[[Category:ArchWiki (简体中文)]]<br />
[[en:ArchWiki Translation Team]]<br />
[[es:ArchWiki Translation Team]]<br />
[[hr:ArchWiki Translation Team]]<br />
[[it:ArchWiki Translation Team]]<br />
[[pl:ArchWiki Translation Team]]<br />
[[tr:ArchWiki_Çeviri_Ekibi]]<br />
Arch Wiki 上有许多中文页面,这些页面是无数中文志愿者劳动的结晶。随着时间推移,有些页面因为没有及时维护,内容严重过时。而目前的翻译工作缺少组织,效率偏低。所以参照西班牙和意大利翻译组的做法,添加这个页面。<br />
<br />
如果希望进行翻译和维护,只需要编辑下面的[[#页面维护列表]],将自己加为页面的维护者。如果列表中还没有要认领翻译的页面,请自行添加。如果因为时间原因无法再维护页面,请及时将自己从维护者列表中删除。<br />
<br />
== 创建翻译 ==<br />
{{注意|如果不准备翻译页面的大部分内容,请尽量不要新建简体中文页面。检查英文页面的更新需要花费不少精力,没有翻译的页面会增加维护负担。}}<br />
# 如果还不知道如何编辑 wiki,请阅读 [[Help:Editing (简体中文)|编辑帮助]]。<br />
# 阅读 [[Help:i18n (简体中文)|i18n帮助]],文章给出了 ArchWiki 国际化和本地化的指南。<br />
# [[Special:UserLogin |登录]] 以进行编辑。<br />
# 选择要翻译的页面,例如从 [[Special:Random|随机页面]] 或[[#页面维护列表 | 页面维护列表]] 中选择一个未翻译完成的页面。假设要翻译 [[Some Page]].<br />
# 进入选择的英文页面,点击页面顶部的 '''编辑'''。<br />
# 添加要翻译文件的语言间链接 (参见[[Help:i18n#Interlanguage links]])。<br />
# 复制所有页面代码。<br />
# 保存页面 (新加了语言链接)<br />
# 访问页面右边新添加的语言链接,应该会进到 [[Some Page (简体中文)]] : {{ic|<nowiki>https://wiki.archlinux.org/index.php/Some_Page_(</nowiki>''简体中文'')}}<br />
# 因为页面不存在,点击 '''创建'''。<br />
# 将显示一个编辑器 - 粘贴复制的英文页面。<br />
# 将文章分类修改为本地化版本,例如将 {{ic|<nowiki>[[Category:Internationalization]]</nowiki>}} 修改为 {{ic|<nowiki>[[Category:Internationalization (简体中文)]]</nowiki>}}<br />
# 修改语言间链接,指向英文页面(将 {{ic|zh-CN}} 修改为 {{ic|en}},并将英文页面移到文章顶部。<br />
# 翻译页面,进行保存。<br />
# (推荐)给翻译完成的页面加上[[Template:TranslationStatus (简体中文)|翻译状态]],后有详细介绍。<br />
# 更新所有其它语言页面,加入刚翻译文章的语言间链接。<br />
# (可选)创建一个简体中文名称的页面,指向新创建的页面:访问 {{ic|<nowiki>https://wiki.archlinux.org/index.php/</nowiki>''页面的中文名称''}}.<br />
# (可选)建立新页面,并加入:{{bc|<nowiki>#REDIRECT [[Some Page (简体中文)</nowiki>]]}}<br />
<br />
== 完善翻译 ==<br />
[https://wiki.archlinux.org/index.php?title=Special:WhatLinksHere/Template:Translateme_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&limit=100 这个页面] 包含了需要完善翻译的简体中文页面。完善翻译的基本步骤:<br />
# 选择自己比较熟悉的文章进行翻译<br />
# 先检查英文页面的对应段落,更新成最新的英文后再翻译,避免翻译过时的内容,减少信息遗漏。<br />
# 翻译完成后删除页面中的 <nowiki>{{translateme (简体中文)}}</nowiki> 标记<br />
# (推荐)给翻译完成的页面加上[[Template:TranslationStatus (简体中文)|翻译状态]],后有详细介绍。<br />
<br />
== 维护翻译 ==<br />
完成页面的翻译只是初步完成任务,即时同步英文页面改动、更新翻译是一个持续性的工作,可能会耗费更多的时间。<br />
<br />
=== 页面认领 ===<br />
所有人都可以认领页面。认领后的责任包括进行翻译,关注英文页面的改动,及时同步翻译。<br />
<br />
为了更好的跟踪英文页面的修改,请务必在设置中启用监视列表邮件通知,并监视对应的英文页面(从设置中找到监视列表,加入英文页面。或者直接到英文页面点击页面顶端的监视标签。这样只要有改动,就会收到邮件通知)。<br />
<br />
{{小贴士|如果收到邮件通知后没有访问页面或者访问了页面却没有登录用户,下次页面改动时就不会再发邮件通知。可以点击监视列表中的'''标记所有页面为已读'''再次获取更新。}}<br />
<br />
如果页面有维护者但长期得不到更新,将会在维护列表中删除维护者。<br />
<br />
=== 发现过期页面怎么办? === <br />
如果发现有 Wiki 页面过期或错误:<br />
* 小的改动,有时间可以立即进行修改同步,维护者并不控制页面的编辑权限,越多的人参与维护越好。如果改动较大,请先联系维护者,避免重复劳动。<br />
* 没有时间查看更改,请给页面加上 {{ic|<nowiki>{{out of date}}</nowiki>}} 模版,这样其他贡献者更容易发现需要更新的页面,而读者看到过期标记就可以直接查看英文页面,以免被错误内容误导,白白耽误时间。<br />
* 没有时间翻译,请将过期的中文部分删去,从英文页面中复制更改的部分到中文页面的相应部分,去掉{{ic|<nowiki>{{out of date}}</nowiki>}}模板(如果页面上有的话)并加上{{ic|<nowiki>{{translateme (简体中文)}}</nowiki>}}模板,这样其他贡献者就更容易发现需要翻译的页面,而读者也不会被过期的内容误导。<br />
如果发现有页面未翻译:<br />
* 有时间的话,请将页面中的英文部分翻译为中文,并去掉{{ic|<nowiki>{{translateme (简体中文)}}</nowiki>}}模板。<br />
* 没有时间翻译,请为页面添加{{ic|<nowiki>{{translateme (简体中文)}}</nowiki>}}模板,这样其他的贡献者就能更容易发现需要翻译的页面。<br />
{{注意|在修改页面上的模板时,请同时更新页面维护列表的翻译状态。}}<br />
<br />
=== 翻译状态模板 ===<br />
Arch 作为滚动发行版,软件变化比较快,对应的文档变化也比较快。许多翻译的文章由于缺乏更新,会产生命令运行出错或不起作用等问题。而由于这些过期页面没有及时标记出来,所以用户无法及时获得更新。[[Template:TranslationStatus (简体中文)|翻译状态模板]]就是为了解决这个问题而创建。<br />
<br />
此模板可以起到如下作用:<br />
* 为用户提供翻译状况,包括翻译时间、英文页面的最后版本等<br />
* 用户可以点击查看翻译后,英文页面的改动,这样英文不是很好的用户可以只查看很小一部分英文内容,并判断出是否影响操作。<br />
* 翻译人员可以跟踪页面状况,通过[https://wiki.archlinux.org/index.php/Special:WhatLinksHere/Template:TranslationStatus_(简体中文) 模板的反向链接]可以查找到所有标记页面,查看需要更新翻译的部分。<br />
<br />
[[Template:TranslationStatus (简体中文)|模板页面]]有详细的使用方法。<br />
<br />
=== 页面维护列表 ===<br />
{{注意|请按照拉丁字母顺序添加页面。}}<br />
翻译状态说明:<br />
;过期:页面内容未与英文页面同步,对应{{ic|<nowiki>{{out of date}}</nowiki>}} 模版<br />
;未翻译:页面中含有英文内容,对应{{ic|<nowiki>{{translateme (简体中文)}}</nowiki>}}模板<br />
;完成:页面已与英文页面同步<br />
{| class="wikitable sortable collapsible" border="1"<br />
|-<br />
! 页面<br />
! 翻译状态<br />
! 维护者<br />
! class="unsortable" width="30%" | 备注<br />
|-<br />
| [[acpid (简体中文)]]<br />
| 完成<br />
| Cael<br />
| 无<br />
|-<br />
| [[ACPI hotkeys (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[ACPI modules (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Activating Numlock on Bootup (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Ad-hoc networking (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Advanced Linux Sound Architecture (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[AHCI (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Allow Users to Shutdown (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[aMule (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Android (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Apache, suEXEC and Virtual Hosts (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Arch Based Distributions (Active) (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Arch Build System (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[ArchWiki:About (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[ATI (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[AUR Helpers (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Avant Window Navigator (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[awesome (简体中文)]]<br />
| 进行中<br />
| Cael<br />
| 无<br />
|-<br />
| [[Bash (简体中文)]]<br />
| 完成<br />
| Jaurung<br />
| 无<br />
|-<br />
| [[Bumblebee (简体中文)]]<br />
| 完成<br />
| Peter<br />
| 无<br />
|-<br />
| [[AMD Catalyst (简体中文)]]<br />
| 完成<br />
| Shibao Zhao<br />
| 无<br />
|-<br />
| [[Common Applications (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Compiz (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Configuring Network (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[CPU Frequency Scaling (简体中文)]]<br />
| 完成<br />
| Flockyrocky<br />
| 更新版本,补充了原来没翻译的内容<br />
|-<br />
| [[Creating Packages (简体中文)]]<br />
| 完成<br />
| Cael<br />
| 无<br />
|-<br />
| [[Disabling IPv6 (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Downgrading Packages (简体中文)]]<br />
| 完成<br />
| Cael<br />
| 无<br />
|-<br />
| [[E17 (简体中文)]]<br />
| 完成<br />
| Aaron_chen<br />
| 同步翻译至2012年12月24日18:00英文页面<br />
|-<br />
| [[Emacs (简体中文)]]<br />
| 翻译中<br />
| Jaurung yuanhang<br />
| 未完成<br />
|-<br />
|-<br />
| [[Font Configuration (简体中文)]]<br />
| 翻译中<br />
| Jaurung<br />
| 完善中<br />
|-<br />
| [[Fonts (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Fstab (简体中文)]]<br />
| 完成<br />
| Fengchao<br />
| 无<br />
|-<br />
| [[GRUB (简体中文)]]<br />
| 翻译中<br />
| 无<br />
| 无<br />
|-<br />
| [[Help:Style (简体中文)]]<br />
| 完成<br />
| Fengchao<br />
| 无<br />
|-<br />
| [[IBus (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Improve_Pacman_Performance_(简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Intel Graphics(简体中文)]]<br />
| 翻译中<br />
| Shibao Zhao<br />
| 无<br />
|-<br />
| [[Kernel Compilation (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Kernel Compilation/Arch Build System (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[LAMP (简体中文)]]<br />
| 完成<br />
| Liuzhengyi<br />
| 勘误中<br />
|-<br />
| [[Laptop Mode Tools (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Lenovo ThinkPad T420 (简体中文)]]<br />
| 完成<br />
| Flockyrocky<br />
| 无<br />
|-<br />
| [[LibreOffice (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Local Mirror (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Makepkg (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[mkinitcpio (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Network Time Protocol daemon (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 部分未翻译<br />
|-<br />
| [[Official Repositories (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Openbox (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[OpenOffice (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Pacman (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Pacman GUI Frontends (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[pacman Tips (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Pidgin (简体中文)]]<br />
| 进行中<br />
| Cael<br />
| 无 <br />
|- <br />
| [[Plasma (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|- <br />
| [[Polipo (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无 <br />
|-<br />
| [[Python (简体中文)]]<br />
| 完成<br />
| Fengchao<br />
| 无 <br />
|-<br />
| [[Smart Common Input Method platform (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Common Applications/Science (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Secure Shell (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 部分未翻译<br />
|-<br />
| [[Systemd (简体中文)]]<br />
| 完成<br />
| cuihao<br />
| 无<br />
|-<br />
| [[TeXLive (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Vim (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[VMware (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Wine (简体中文)]]<br />
| 完成<br />
| cuihao<br />
| 无<br />
|-<br />
| [[Xscreensaver (简体中文)]]<br />
| 完成<br />
| liuyix<br />
| 无<br />
|-<br />
| [[Xmonad (简体中文)]]<br />
| 未翻译<br />
| Rns<br />
| 翻译中<br />
|-<br />
| [[LXDE (简体中文)]]<br />
| 翻译中<br />
| Tuxzz<br />
| 无<br />
<br />
|}<br />
<br />
== 贡献列表 ==<br />
为翻译做出贡献的用户请加入列表,感谢所有人做出的贡献。<br />
* [[User:Fengchao|Fengchao]] &ndash; [[Special:Contributions/Fengchao|贡献]] &ndash; [[Special:EmailUser/Fengchao|Send Email]] &ndash; [[ArchWiki:Maintainers|ArchWiki Maintainers]]<br />
* [[User:Skydiver|Skydiver]] &ndash; [[Special:Contributions/Skydiver|贡献]] &ndash; [[Special:EmailUser/Skydiver|Send Email]] &ndash; [[ArchWiki:Maintainers|ArchWiki Maintainers]]<br />
* [[User:Alswl|Alswl]] &ndash; [[Special:Contributions/Alswl|贡献]] &ndash; [[Special:EmailUser/Alswl|Send Email]]<br />
* [[User:Reverland|Reverland]] &ndash; [[Special:Contributions/Reverland|贡献]] &ndash; [[Special:EmailUser/Reverland|Send Email]]<br />
* [[User:Cuihao|cuihao]] &ndash; [[Special:Contributions/Cuihao|贡献]] &ndash; [[Special:EmailUser/Cuihao|Send Email]]<br />
* [[User:Cael|Cael]] &ndash; [[Special:Contributions/Cael|贡献]] &ndash; [[Special:EmailUser/Cael|Send Email]]<br />
* [[User:Flockyrocky|Flockyrocky]] &ndash; [[Special:Contributions/Flockyrocky|贡献]] &ndash; [[Special:EmailUser/Flockyrocky|Send Email]]<br />
<br />
* [[User:Tuxzz|Tuxzz]] &ndash; [[Special:Contributions/Tuxzz|贡献]] &ndash; [[Special:EmailUser/Tuxzz|Send Email]]<br />
* [[User:Aaron_chen|Aaron_chen]] &ndash; [[Special:Contributions/Aaron_chen|贡献]] &ndash; [[Special:E17/Aaron_chen|Send Email]]</div>Micy1985https://wiki.archlinux.org/index.php?title=Intel_graphics_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=243579Intel graphics (简体中文)2013-01-12T10:05:21Z<p>Micy1985: </p>
<hr />
<div>[[Category: Graphics (简体中文)]]<br />
[[Category: X Server (简体中文)]]<br />
[[cs:Intel]]<br />
[[en:Intel Graphics]]<br />
[[es:Intel]]<br />
[[fr:Intel]]<br />
[[hu:Intel]]<br />
[[it:Intel]]<br />
[[ja:Intel Graphics]]<br />
[[pl:Intel]]<br />
[[ru:Intel]]<br />
[[zh-TW:Intel]] <br />
{{Article summary start| 概要}}<br />
{{Article summary text|Intel图形显示卡/芯片组}}<br />
{{Article summary end}}<br />
<br />
由于Intel对X.Org开源驱动的支持,现在所需做的基本上是即插即用。<br />
<br />
Intel显卡和相应芯片组、cpu的完整型号参考[[Wikipedia:Comparison of Intel graphics processing units|this comparison on wikipedia]]。<br />
<br />
{{注意|开源驱动不支持基于PowerVR的显卡([[Poulsbo|GMA 500]] and [[Intel GMA3600|GMA 3600]] series)。}}<br />
<br />
== 安装 ==<br />
<br />
先安装 [[Xorg]],然后[[pacman (简体中文)|安装]]位于[[Official Repositories (简体中文)|官方软件仓库]]的 {{Pkg|xf86-video-intel}} 软件包。它提供了用于2D加速的DDX驱动和旧显卡的[[XvMC]]视频解码驱动。它依赖于3D加速的DRI驱动({{Pkg|intel-dri}})。<br />
<br />
64位系统需要安装{{Pkg|lib32-intel-dri}}才能在 32 位程序中使用加速功能。<br />
<br />
== 配置 ==<br />
<br />
没必要做任何形式的配置来运行X.ORG(不需要{{ic|xorg.conf}},但若有则要正确配置)。<br />
<br />
查看完整选项,输入{{ic|man intel}}。<br />
<br />
== KMS (Kernel Mode Setting,内核模式设置) ==<br />
运行X和桌面环境如[[GNOME]], [[KDE]], [[Xfce]], [[LXDE]]等都需要[[KMS]]。在使用i915 DRM驱动的芯片组中,内核2.6.32及以后的内核都默认启用KMS。2.10及更新的{{Pkg|xf86-video-intel}驱动都不支持UMS(旧的810芯片家族例外),且强制使用KMS<sup>[https://www.archlinux.org/news/484/]</sup>。通常,KMS是在内核启动后才进行初始化,但也可以在内核启动阶段就启动KMS,这样在整个启动过程中都是原始分辨率。<br />
<br />
{{注意|'''必须''' 在启动配置中移除与KMS相冲突的项,如:{{ic|vga}} 或 {{ic|nomodeset}}。}}<br />
<br />
要早启动,添加{{ic|i915}}模块到{{ic|/etc/mkinitcpio.conf}}的{{ic|MODULES}}行:<br />
<br />
MODULES="'''i915'''"<br />
<br />
然后,重新生成initramfs<br />
<br />
mkinitcpio -p linux<br />
<br />
重启系统,一切搞定!<br />
<br />
== 技巧 ==<br />
<br />
=== 选择加速方式 ===<br />
<br />
The DDX driver allows to preset your desired acceleration method. The default method is UXA, which is more stable but slower than SNA. SNA has improved performance, but still considered experimental. Check benchmarks done by Phoronix [http://www.phoronix.com/scan.php?page=news_item&px=MTEzOTE]. These can be found [http://www.phoronix.com/scan.php?page=article&item=intel_glamor_first&num=1 here for Sandy Bridge] and [http://www.phoronix.com/scan.php?page=article&item=intel_ivy_glamor&num=1 here for Ivy Bridge]. UXA is still a solid option, if experiencing trouble with SNA.<br />
<br />
If you want to use the new SNA method, create {{ic|/etc/X11/xorg.conf.d/20-intel.conf}} with the following content:<br />
<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "AccelMethod" "sna"<br />
EndSection}}<br />
<br />
=== Setting scaling mode ===<br />
<br />
This can be useful for some full screen applications:<br />
<br />
$ xrandr --output LVDS1 --set PANEL_FITTING param<br />
<br />
where {{ic|param}} can be:<br />
<br />
* {{ic|center}}: resolution will be kept exactly as defined, no scaling will be made,<br />
* {{ic|full}}: scale the resolution so it uses the entire screen or<br />
* {{ic|full_aspect}}: scale the resolution to the maximum possible but keep the aspect ratio.<br />
<br />
If it does not work, you can try:<br />
<br />
$ xrandr --output LVDS1 --set "scaling mode" param<br />
<br />
where {{ic|param}} is one of {{ic|"Full"}}, {{ic|"Center"}} or {{ic|"Full aspect"}}.<br />
<br />
=== KMS Issue: console is limited to small area ===<br />
<br />
One of the low-resolution video ports may be enabled on boot which is causing the terminal to utilize a small area of the screen. To fix, explicitly disable the port with an i915 module setting with {{ic|1=video=SVIDEO-1:d}} as you kernel command line parameter in your bootloader. See [[Kernel parameters]] for more info.<br />
<br />
If that does not work, you may also try disabling TV1 or VGA1 instead of SVIDEO-1.<br />
<br />
=== H.264 decoding on GMA 4500 ===<br />
<br />
The {{Pkg|libva-driver-intel}} package provides MPEG-2 decoding only for GMA 4500 series GPUs. The H.264 decoding support is maintained in a separated g45-h264 branch, which can be used by installing {{AUR|libva-driver-intel-g45-h264}} package, available in the [[Arch User Repository]]. Note however that this support is experimental and not currently in active development. Using the VA-API with this driver on a GMA 4500 series GPU will offload the CPU but may not result in as smooth a playback as non-accelerated playback. Tests using mplayer showed that using vaapi to play back an H.264 encoded 1080p video halved the CPU load (compared to the XV overlay) but resulted in very choppy playback, while 720p worked reasonably well [https://bbs.archlinux.org/viewtopic.php?id=150550]. This is echoed by other experiences [http://www.emmolution.org/?p=192&cpage=1#comment-12292].<br />
<br />
=== Setting gamma and brightness ===<br />
<br />
Intel offers no way to adjust these at the driver level. Luckily these can be set with {{ic|xgamma}} and {{ic|xrandr}}.<br />
<br />
Gamma can be set with:<br />
<br />
$ xgamma -gamma 1.0<br />
<br />
or:<br />
<br />
$ xrandr --output VGA1 --gamma 1.0:1.0:1.0<br />
<br />
Brightness can be set with:<br />
<br />
$ xrandr --output VGA1 --brightness 1.0<br />
<br />
== Troubleshooting ==<br />
<br />
=== Glxgears shows low performance results ===<br />
<br />
{{Note|{{ic|glxgears}} is not a benchmark tool for performance comparison between multiple systems.}}<br />
<br />
If you run {{ic|glxgears}} in order to check your system's graphics performance, you may notice it showing results around 60 FPS. For example:<br />
<br />
[...]<br />
311 frames in 5.0 seconds = 61.973 FPS<br />
311 frames in 5.0 seconds = 62.064 FPS<br />
311 frames in 5.0 seconds = 62.026 FPS<br />
[...]<br />
<br />
That is not caused by performance regression, but because the system graphics are using [[Wikipedia:Analog television#Vertical synchronization|vertical synchronization]], which is your display's native frames per second.<br />
<br />
==== Disable VSYNC ====<br />
<br />
To disable VSYNC just add in your {{ic|/etc/X11/xorg.conf.d/20-intel.conf}} in {{ic|Section "Device"}} the string {{ic|Option "SwapbuffersWait" "false"}}.<br />
<br />
Alternatively, set {{ic|vblank_mode}} to {{ic|0}} in {{ic|~/.drirc}} and make sure that {{ic|driver}} is set to {{ic|dri2}}:<br />
<br />
{{hc|~/.drirc|2=<br />
<device screen="0" driver="dri2"><br />
<application name="Default"><br />
<option name="vblank_mode" value="0"/><br />
</application><br />
</device>}}<br />
<br />
=== Blank screen during boot, when "Loading modules" ===<br />
<br />
If you are using "late start" KMS and the screen goes blank when "Loading modules", it may help to add {{ic|i915}} and {{ic|intel_agp}} to the initramfs. See [[Intel#KMS (Kernel Mode Setting)|the above]] KMS section.<br />
<br />
Alternatively, appending the following [[Kernel parameters|kernel parameter]] seems to work as well:<br />
<br />
video=SVIDEO-1:d<br />
<br />
=== Tear-free video ===<br />
<br />
If you are using the SNA acceleration method, you can get rid of video tearing by adding the following to the {{ic|Device}} section of {{ic|/etc/X11/xorg.conf.d/20-intel.conf}}:<br />
<br />
Option "TearFree" "true"<br />
<br />
=== X freeze/crash with intel driver ===<br />
<br />
If you have issue with X crashing, GPU hang or problem with frozen X, then the fix may be to disable the GPU usage with the {{ic|NoAccel}} option:<br />
<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "NoAccel" "True"<br />
EndSection}}<br />
<br />
Alternatively, you could try to disable the 3D acceleration only with the {{ic|DRI}} option:<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "DRI" "False"<br />
EndSection}}<br />
<br />
=== Adding undetected resolutions ===<br />
<br />
This issue is covered on the [[Xrandr#Adding_undetected_resolutions|Xrandr page]].<br />
<br />
=== Slowness after an upgrade to libGL 9 and Intel-DRI 9 ===<br />
<br />
[https://wiki.archlinux.org/index.php/Downgrading_Packages#ARM Downgrade] to Intel-DRI 8 and libGL 8.<br />
<br />
=== Black textures in video games ===<br />
<br />
If you are experiencing black textures in your video games the solution may be enabling S3TC texture compression support. <br />
It can be enabled through {{Pkg|driconf}} or by installing {{Pkg|libtxc_dxtn}}.<br />
<br />
This "issue" will be fixed very soon in the [http://www.phoronix.com/scan.php?page=news_item&px=MTIwOTg newer drivers]<br />
<br />
You can read more about S3TC at: <br />
http://dri.freedesktop.org/wiki/S3TC<br />
http://en.wikipedia.org/wiki/S3_Texture_Compression<br />
<br />
One of the games that is affected by this issue is [http://www.phoronix.com/scan.php?page=article&item=unigine_oilrush_gold&num=2 Oil Rush]<br />
<br />
== See also ==<br />
<br />
* http://intellinuxgraphics.org/documentation.html (includes a list of supported hardware)<br />
* [[KMS]] &mdash; Arch wiki article on kernel mode setting<br />
* [[Xrandr]] &mdash; If you have problems setting the resolution<br />
* Arch Linux forums: [https://bbs.archlinux.org/viewtopic.php?pid=522665#p522665 Intel 945GM, Xorg, Kernel - performance]</div>Micy1985https://wiki.archlinux.org/index.php?title=Intel_graphics_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=243578Intel graphics (简体中文)2013-01-12T10:03:20Z<p>Micy1985: </p>
<hr />
<div>[[Category: Graphics (简体中文)]]<br />
[[Category: X Server (简体中文)]]<br />
[[cs:Intel]]<br />
[[en:Intel Graphics]]<br />
[[es:Intel]]<br />
[[fr:Intel]]<br />
[[hu:Intel]]<br />
[[it:Intel]]<br />
[[ja:Intel Graphics]]<br />
[[pl:Intel]]<br />
[[ru:Intel]]<br />
[[zh-TW:Intel]]<br />
{{Translateme (简体中文)}} <br />
{{Article summary start| 概要}}<br />
{{Article summary text|Intel图形显示卡/芯片组}}<br />
{{Article summary end}}<br />
<br />
由于Intel对X.Org开源驱动的支持,现在所需做的基本上是即插即用。<br />
<br />
Intel显卡和相应芯片组、cpu的完整型号参考[[Wikipedia:Comparison of Intel graphics processing units|this comparison on wikipedia]]。<br />
<br />
{{注意|开源驱动不支持基于PowerVR的显卡([[Poulsbo|GMA 500]] and [[Intel GMA3600|GMA 3600]] series)。}}<br />
<br />
== 安装 ==<br />
<br />
先安装 [[Xorg]],然后[[pacman (简体中文)|安装]]位于[[Official Repositories (简体中文)|官方软件仓库]]的 {{Pkg|xf86-video-intel}} 软件包。它提供了用于2D加速的DDX驱动和旧显卡的[[XvMC]]视频解码驱动。它依赖于3D加速的DRI驱动({{Pkg|intel-dri}})。<br />
<br />
64位系统需要安装{{Pkg|lib32-intel-dri}}才能在 32 位程序中使用加速功能。<br />
<br />
== 配置 ==<br />
<br />
没必要做任何形式的配置来运行X.ORG(不需要{{ic|xorg.conf}},但若有则要正确配置)。<br />
<br />
查看完整选项,输入{{ic|man intel}}。<br />
<br />
== KMS (Kernel Mode Setting,内核模式设置) ==<br />
运行X和桌面环境如[[GNOME]], [[KDE]], [[Xfce]], [[LXDE]]等都需要[[KMS]]。在使用i915 DRM驱动的芯片组中,内核2.6.32及以后的内核都默认启用KMS。2.10及更新的{{Pkg|xf86-video-intel}驱动都不支持UMS(旧的810芯片家族例外),且强制使用KMS<sup>[https://www.archlinux.org/news/484/]</sup>。通常,KMS是在内核启动后才进行初始化,但也可以在内核启动阶段就启动KMS,这样在整个启动过程中都是原始分辨率。<br />
<br />
{{注意|'''必须''' 在启动配置中移除与KMS相冲突的项,如:{{ic|vga}} 或 {{ic|nomodeset}}。}}<br />
<br />
要早启动,添加{{ic|i915}}模块到{{ic|/etc/mkinitcpio.conf}}的{{ic|MODULES}}行:<br />
<br />
MODULES="'''i915'''"<br />
<br />
然后,重新生成initramfs<br />
<br />
mkinitcpio -p linux<br />
<br />
重启系统,一切搞定!<br />
<br />
== 技巧 ==<br />
<br />
=== 选择加速方式 ===<br />
<br />
The DDX driver allows to preset your desired acceleration method. The default method is UXA, which is more stable but slower than SNA. SNA has improved performance, but still considered experimental. Check benchmarks done by Phoronix [http://www.phoronix.com/scan.php?page=news_item&px=MTEzOTE]. These can be found [http://www.phoronix.com/scan.php?page=article&item=intel_glamor_first&num=1 here for Sandy Bridge] and [http://www.phoronix.com/scan.php?page=article&item=intel_ivy_glamor&num=1 here for Ivy Bridge]. UXA is still a solid option, if experiencing trouble with SNA.<br />
<br />
If you want to use the new SNA method, create {{ic|/etc/X11/xorg.conf.d/20-intel.conf}} with the following content:<br />
<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "AccelMethod" "sna"<br />
EndSection}}<br />
<br />
=== Setting scaling mode ===<br />
<br />
This can be useful for some full screen applications:<br />
<br />
$ xrandr --output LVDS1 --set PANEL_FITTING param<br />
<br />
where {{ic|param}} can be:<br />
<br />
* {{ic|center}}: resolution will be kept exactly as defined, no scaling will be made,<br />
* {{ic|full}}: scale the resolution so it uses the entire screen or<br />
* {{ic|full_aspect}}: scale the resolution to the maximum possible but keep the aspect ratio.<br />
<br />
If it does not work, you can try:<br />
<br />
$ xrandr --output LVDS1 --set "scaling mode" param<br />
<br />
where {{ic|param}} is one of {{ic|"Full"}}, {{ic|"Center"}} or {{ic|"Full aspect"}}.<br />
<br />
=== KMS Issue: console is limited to small area ===<br />
<br />
One of the low-resolution video ports may be enabled on boot which is causing the terminal to utilize a small area of the screen. To fix, explicitly disable the port with an i915 module setting with {{ic|1=video=SVIDEO-1:d}} as you kernel command line parameter in your bootloader. See [[Kernel parameters]] for more info.<br />
<br />
If that does not work, you may also try disabling TV1 or VGA1 instead of SVIDEO-1.<br />
<br />
=== H.264 decoding on GMA 4500 ===<br />
<br />
The {{Pkg|libva-driver-intel}} package provides MPEG-2 decoding only for GMA 4500 series GPUs. The H.264 decoding support is maintained in a separated g45-h264 branch, which can be used by installing {{AUR|libva-driver-intel-g45-h264}} package, available in the [[Arch User Repository]]. Note however that this support is experimental and not currently in active development. Using the VA-API with this driver on a GMA 4500 series GPU will offload the CPU but may not result in as smooth a playback as non-accelerated playback. Tests using mplayer showed that using vaapi to play back an H.264 encoded 1080p video halved the CPU load (compared to the XV overlay) but resulted in very choppy playback, while 720p worked reasonably well [https://bbs.archlinux.org/viewtopic.php?id=150550]. This is echoed by other experiences [http://www.emmolution.org/?p=192&cpage=1#comment-12292].<br />
<br />
=== Setting gamma and brightness ===<br />
<br />
Intel offers no way to adjust these at the driver level. Luckily these can be set with {{ic|xgamma}} and {{ic|xrandr}}.<br />
<br />
Gamma can be set with:<br />
<br />
$ xgamma -gamma 1.0<br />
<br />
or:<br />
<br />
$ xrandr --output VGA1 --gamma 1.0:1.0:1.0<br />
<br />
Brightness can be set with:<br />
<br />
$ xrandr --output VGA1 --brightness 1.0<br />
<br />
== Troubleshooting ==<br />
<br />
=== Glxgears shows low performance results ===<br />
<br />
{{Note|{{ic|glxgears}} is not a benchmark tool for performance comparison between multiple systems.}}<br />
<br />
If you run {{ic|glxgears}} in order to check your system's graphics performance, you may notice it showing results around 60 FPS. For example:<br />
<br />
[...]<br />
311 frames in 5.0 seconds = 61.973 FPS<br />
311 frames in 5.0 seconds = 62.064 FPS<br />
311 frames in 5.0 seconds = 62.026 FPS<br />
[...]<br />
<br />
That is not caused by performance regression, but because the system graphics are using [[Wikipedia:Analog television#Vertical synchronization|vertical synchronization]], which is your display's native frames per second.<br />
<br />
==== Disable VSYNC ====<br />
<br />
To disable VSYNC just add in your {{ic|/etc/X11/xorg.conf.d/20-intel.conf}} in {{ic|Section "Device"}} the string {{ic|Option "SwapbuffersWait" "false"}}.<br />
<br />
Alternatively, set {{ic|vblank_mode}} to {{ic|0}} in {{ic|~/.drirc}} and make sure that {{ic|driver}} is set to {{ic|dri2}}:<br />
<br />
{{hc|~/.drirc|2=<br />
<device screen="0" driver="dri2"><br />
<application name="Default"><br />
<option name="vblank_mode" value="0"/><br />
</application><br />
</device>}}<br />
<br />
=== Blank screen during boot, when "Loading modules" ===<br />
<br />
If you are using "late start" KMS and the screen goes blank when "Loading modules", it may help to add {{ic|i915}} and {{ic|intel_agp}} to the initramfs. See [[Intel#KMS (Kernel Mode Setting)|the above]] KMS section.<br />
<br />
Alternatively, appending the following [[Kernel parameters|kernel parameter]] seems to work as well:<br />
<br />
video=SVIDEO-1:d<br />
<br />
=== Tear-free video ===<br />
<br />
If you are using the SNA acceleration method, you can get rid of video tearing by adding the following to the {{ic|Device}} section of {{ic|/etc/X11/xorg.conf.d/20-intel.conf}}:<br />
<br />
Option "TearFree" "true"<br />
<br />
=== X freeze/crash with intel driver ===<br />
<br />
If you have issue with X crashing, GPU hang or problem with frozen X, then the fix may be to disable the GPU usage with the {{ic|NoAccel}} option:<br />
<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "NoAccel" "True"<br />
EndSection}}<br />
<br />
Alternatively, you could try to disable the 3D acceleration only with the {{ic|DRI}} option:<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "DRI" "False"<br />
EndSection}}<br />
<br />
=== Adding undetected resolutions ===<br />
<br />
This issue is covered on the [[Xrandr#Adding_undetected_resolutions|Xrandr page]].<br />
<br />
=== Slowness after an upgrade to libGL 9 and Intel-DRI 9 ===<br />
<br />
[https://wiki.archlinux.org/index.php/Downgrading_Packages#ARM Downgrade] to Intel-DRI 8 and libGL 8.<br />
<br />
=== Black textures in video games ===<br />
<br />
If you are experiencing black textures in your video games the solution may be enabling S3TC texture compression support. <br />
It can be enabled through {{Pkg|driconf}} or by installing {{Pkg|libtxc_dxtn}}.<br />
<br />
This "issue" will be fixed very soon in the [http://www.phoronix.com/scan.php?page=news_item&px=MTIwOTg newer drivers]<br />
<br />
You can read more about S3TC at: <br />
http://dri.freedesktop.org/wiki/S3TC<br />
http://en.wikipedia.org/wiki/S3_Texture_Compression<br />
<br />
One of the games that is affected by this issue is [http://www.phoronix.com/scan.php?page=article&item=unigine_oilrush_gold&num=2 Oil Rush]<br />
<br />
== See also ==<br />
<br />
* http://intellinuxgraphics.org/documentation.html (includes a list of supported hardware)<br />
* [[KMS]] &mdash; Arch wiki article on kernel mode setting<br />
* [[Xrandr]] &mdash; If you have problems setting the resolution<br />
* Arch Linux forums: [https://bbs.archlinux.org/viewtopic.php?pid=522665#p522665 Intel 945GM, Xorg, Kernel - performance]</div>Micy1985https://wiki.archlinux.org/index.php?title=Intel_graphics_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=243577Intel graphics (简体中文)2013-01-12T10:02:12Z<p>Micy1985: </p>
<hr />
<div>[[Category: Graphics (简体中文)]]<br />
[[Category: X Server (简体中文)]]<br />
[[cs:Intel]]<br />
[[en:Intel Graphics]]<br />
[[es:Intel]]<br />
[[fr:Intel]]<br />
[[hu:Intel]]<br />
[[it:Intel]]<br />
[[ja:Intel Graphics]]<br />
[[pl:Intel]]<br />
[[ru:Intel]]<br />
[[zh-TW:Intel]]<br />
{{out of date}}<br />
{{Translateme (简体中文)}} <br />
{{Article summary start| 概要}}<br />
{{Article summary text|Intel图形显示卡/芯片组}}<br />
{{Article summary end}}<br />
<br />
由于Intel对X.Org开源驱动的支持,现在所需做的基本上是即插即用。<br />
<br />
Intel显卡和相应芯片组、cpu的完整型号参考[[Wikipedia:Comparison of Intel graphics processing units|this comparison on wikipedia]]。<br />
<br />
{{注意|开源驱动不支持基于PowerVR的显卡([[Poulsbo|GMA 500]] and [[Intel GMA3600|GMA 3600]] series)。}}<br />
<br />
== 安装 ==<br />
<br />
先安装 [[Xorg]],然后[[pacman (简体中文)|安装]]位于[[Official Repositories (简体中文)|官方软件仓库]]的 {{Pkg|xf86-video-intel}} 软件包。它提供了用于2D加速的DDX驱动和旧显卡的[[XvMC]]视频解码驱动。它依赖于3D加速的DRI驱动({{Pkg|intel-dri}})。<br />
<br />
64位系统需要安装{{Pkg|lib32-intel-dri}}才能在 32 位程序中使用加速功能。<br />
<br />
== 配置 ==<br />
<br />
没必要做任何形式的配置来运行X.ORG(不需要{{ic|xorg.conf}},但若有则要正确配置)。<br />
<br />
查看完整选项,输入{{ic|man intel}}。<br />
<br />
== KMS (Kernel Mode Setting,内核模式设置) ==<br />
运行X和桌面环境如[[GNOME]], [[KDE]], [[Xfce]], [[LXDE]]等都需要[[KMS]]。在使用i915 DRM驱动的芯片组中,内核2.6.32及以后的内核都默认启用KMS。2.10及更新的{{Pkg|xf86-video-intel}驱动都不支持UMS(旧的810芯片家族例外),且强制使用KMS<sup>[https://www.archlinux.org/news/484/]</sup>。通常,KMS是在内核启动后才进行初始化,但也可以在内核启动阶段就启动KMS,这样在整个启动过程中都是原始分辨率。<br />
<br />
{{注意|'''必须''' 在启动配置中移除与KMS相冲突的项,如:{{ic|vga}} 或 {{ic|nomodeset}}。}}<br />
<br />
要早启动,添加{{ic|i915}}模块到{{ic|/etc/mkinitcpio.conf}}的{{ic|MODULES}}行:<br />
<br />
MODULES="'''i915'''"<br />
<br />
然后,重新生成initramfs<br />
<br />
mkinitcpio -p linux<br />
<br />
重启系统,一切搞定!<br />
<br />
== 技巧 ==<br />
<br />
=== 选择加速方式 ===<br />
<br />
The DDX driver allows to preset your desired acceleration method. The default method is UXA, which is more stable but slower than SNA. SNA has improved performance, but still considered experimental. Check benchmarks done by Phoronix [http://www.phoronix.com/scan.php?page=news_item&px=MTEzOTE]. These can be found [http://www.phoronix.com/scan.php?page=article&item=intel_glamor_first&num=1 here for Sandy Bridge] and [http://www.phoronix.com/scan.php?page=article&item=intel_ivy_glamor&num=1 here for Ivy Bridge]. UXA is still a solid option, if experiencing trouble with SNA.<br />
<br />
If you want to use the new SNA method, create {{ic|/etc/X11/xorg.conf.d/20-intel.conf}} with the following content:<br />
<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "AccelMethod" "sna"<br />
EndSection}}<br />
<br />
=== Setting scaling mode ===<br />
<br />
This can be useful for some full screen applications:<br />
<br />
$ xrandr --output LVDS1 --set PANEL_FITTING param<br />
<br />
where {{ic|param}} can be:<br />
<br />
* {{ic|center}}: resolution will be kept exactly as defined, no scaling will be made,<br />
* {{ic|full}}: scale the resolution so it uses the entire screen or<br />
* {{ic|full_aspect}}: scale the resolution to the maximum possible but keep the aspect ratio.<br />
<br />
If it does not work, you can try:<br />
<br />
$ xrandr --output LVDS1 --set "scaling mode" param<br />
<br />
where {{ic|param}} is one of {{ic|"Full"}}, {{ic|"Center"}} or {{ic|"Full aspect"}}.<br />
<br />
=== KMS Issue: console is limited to small area ===<br />
<br />
One of the low-resolution video ports may be enabled on boot which is causing the terminal to utilize a small area of the screen. To fix, explicitly disable the port with an i915 module setting with {{ic|1=video=SVIDEO-1:d}} as you kernel command line parameter in your bootloader. See [[Kernel parameters]] for more info.<br />
<br />
If that does not work, you may also try disabling TV1 or VGA1 instead of SVIDEO-1.<br />
<br />
=== H.264 decoding on GMA 4500 ===<br />
<br />
The {{Pkg|libva-driver-intel}} package provides MPEG-2 decoding only for GMA 4500 series GPUs. The H.264 decoding support is maintained in a separated g45-h264 branch, which can be used by installing {{AUR|libva-driver-intel-g45-h264}} package, available in the [[Arch User Repository]]. Note however that this support is experimental and not currently in active development. Using the VA-API with this driver on a GMA 4500 series GPU will offload the CPU but may not result in as smooth a playback as non-accelerated playback. Tests using mplayer showed that using vaapi to play back an H.264 encoded 1080p video halved the CPU load (compared to the XV overlay) but resulted in very choppy playback, while 720p worked reasonably well [https://bbs.archlinux.org/viewtopic.php?id=150550]. This is echoed by other experiences [http://www.emmolution.org/?p=192&cpage=1#comment-12292].<br />
<br />
=== Setting gamma and brightness ===<br />
<br />
Intel offers no way to adjust these at the driver level. Luckily these can be set with {{ic|xgamma}} and {{ic|xrandr}}.<br />
<br />
Gamma can be set with:<br />
<br />
$ xgamma -gamma 1.0<br />
<br />
or:<br />
<br />
$ xrandr --output VGA1 --gamma 1.0:1.0:1.0<br />
<br />
Brightness can be set with:<br />
<br />
$ xrandr --output VGA1 --brightness 1.0<br />
<br />
== Troubleshooting ==<br />
<br />
=== Glxgears shows low performance results ===<br />
<br />
{{Note|{{ic|glxgears}} is not a benchmark tool for performance comparison between multiple systems.}}<br />
<br />
If you run {{ic|glxgears}} in order to check your system's graphics performance, you may notice it showing results around 60 FPS. For example:<br />
<br />
[...]<br />
311 frames in 5.0 seconds = 61.973 FPS<br />
311 frames in 5.0 seconds = 62.064 FPS<br />
311 frames in 5.0 seconds = 62.026 FPS<br />
[...]<br />
<br />
That is not caused by performance regression, but because the system graphics are using [[Wikipedia:Analog television#Vertical synchronization|vertical synchronization]], which is your display's native frames per second.<br />
<br />
==== Disable VSYNC ====<br />
<br />
To disable VSYNC just add in your {{ic|/etc/X11/xorg.conf.d/20-intel.conf}} in {{ic|Section "Device"}} the string {{ic|Option "SwapbuffersWait" "false"}}.<br />
<br />
Alternatively, set {{ic|vblank_mode}} to {{ic|0}} in {{ic|~/.drirc}} and make sure that {{ic|driver}} is set to {{ic|dri2}}:<br />
<br />
{{hc|~/.drirc|2=<br />
<device screen="0" driver="dri2"><br />
<application name="Default"><br />
<option name="vblank_mode" value="0"/><br />
</application><br />
</device>}}<br />
<br />
=== Blank screen during boot, when "Loading modules" ===<br />
<br />
If you are using "late start" KMS and the screen goes blank when "Loading modules", it may help to add {{ic|i915}} and {{ic|intel_agp}} to the initramfs. See [[Intel#KMS (Kernel Mode Setting)|the above]] KMS section.<br />
<br />
Alternatively, appending the following [[Kernel parameters|kernel parameter]] seems to work as well:<br />
<br />
video=SVIDEO-1:d<br />
<br />
=== Tear-free video ===<br />
<br />
If you are using the SNA acceleration method, you can get rid of video tearing by adding the following to the {{ic|Device}} section of {{ic|/etc/X11/xorg.conf.d/20-intel.conf}}:<br />
<br />
Option "TearFree" "true"<br />
<br />
=== X freeze/crash with intel driver ===<br />
<br />
If you have issue with X crashing, GPU hang or problem with frozen X, then the fix may be to disable the GPU usage with the {{ic|NoAccel}} option:<br />
<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "NoAccel" "True"<br />
EndSection}}<br />
<br />
Alternatively, you could try to disable the 3D acceleration only with the {{ic|DRI}} option:<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "DRI" "False"<br />
EndSection}}<br />
<br />
=== Adding undetected resolutions ===<br />
<br />
This issue is covered on the [[Xrandr#Adding_undetected_resolutions|Xrandr page]].<br />
<br />
=== Slowness after an upgrade to libGL 9 and Intel-DRI 9 ===<br />
<br />
[https://wiki.archlinux.org/index.php/Downgrading_Packages#ARM Downgrade] to Intel-DRI 8 and libGL 8.<br />
<br />
=== Black textures in video games ===<br />
<br />
If you are experiencing black textures in your video games the solution may be enabling S3TC texture compression support. <br />
It can be enabled through {{Pkg|driconf}} or by installing {{Pkg|libtxc_dxtn}}.<br />
<br />
This "issue" will be fixed very soon in the [http://www.phoronix.com/scan.php?page=news_item&px=MTIwOTg newer drivers]<br />
<br />
You can read more about S3TC at: <br />
http://dri.freedesktop.org/wiki/S3TC<br />
http://en.wikipedia.org/wiki/S3_Texture_Compression<br />
<br />
One of the games that is affected by this issue is [http://www.phoronix.com/scan.php?page=article&item=unigine_oilrush_gold&num=2 Oil Rush]<br />
<br />
== See also ==<br />
<br />
* http://intellinuxgraphics.org/documentation.html (includes a list of supported hardware)<br />
* [[KMS]] &mdash; Arch wiki article on kernel mode setting<br />
* [[Xrandr]] &mdash; If you have problems setting the resolution<br />
* Arch Linux forums: [https://bbs.archlinux.org/viewtopic.php?pid=522665#p522665 Intel 945GM, Xorg, Kernel - performance]</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=243564AMD Catalyst (简体中文)2013-01-12T09:12:56Z<p>Micy1985: </p>
<hr />
<div>[[Category:Graphics (简体中文)]]<br />
[[Category:X Server (简体中文)]]<br />
{{TranslationStatus (简体中文)|AMD_Catalyst|2012-10-21|229195}}<br />
"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[https://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[[wikipedia:Radeon|ATI/AMD Radeon]]。另可参见 [[wikipedia:Comparison_of_AMD_graphics_processing_units|this table]], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有可用的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs完全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx 显卡驱动分开开发,因此在你选择何种安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用普通Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的普通Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上面对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败和丢失Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make脚本, 最好换一名称保存。否则将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
通过访问{{ic|/etc/ati/amdpcsdb}}文件它几乎能配置显卡的各项参数。了解完整的配置选项{{ic|aticonfig}}可运行:<br />
<br />
# aticonfig --help | less<br />
<br />
{{警告|在将各项配置参数提交到/etc/X11/xorg.conf之前使用--output选项,/etc/X11/xorg.conf.d中的所有内容都会被覆盖。}}<br />
<br />
{{注意|如果坚持使用xorg.conf.d下的新配置文件:为了让Device section与{{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}相匹配,在{{ic|aticonfig}}后追加''--output''。但这有一个缺点,很多依赖xorg.conf的{{ic|aticonfig}}选项都无法使用。}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,但不同Xorg版本的默认参数可能会有所不同,最好明确指定一些参数.<br />
<br />
给一个示例配置 (注意) '''仅供参考'''. 标'#'必须有,标'##'很可能会用到:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{注意|一旦升级Catalyst就要通过后面的方法删除'''amdpcsdb'''文件: 关闭X,删除{{ic|/etc/ati/amdpcsdb}},启动X然后运行{{ic|amdcccle}} -否则amdcccle将会显示错误的Catalyst版本号}}<br />
<br />
''更多信息参考[https://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== 启动时加载模块 ====<br />
不同的初始化系统(SysVinit和systemd)的设置方式不一样,但无论哪一种,都得在{{ic|/etc/modprobe.d/modprobe.conf}}禁用''radeon''。具体可参见[[Modprobe|blacklisting in this article]]. '''通过Arch官方安装Catalyst则无需此步骤,安装包会自动处理'''。<br />
<br />
{{注意|强烈推荐使用systemd进行系统初始化,因为最新Arch安装镜像已默认使用systemd,通过rc.conf设置系统启动服务迟早会遭淘汰}}。<br />
<br />
===== 在使用systemd上 =====<br />
* 删除{{ic|/etc/modules-load.d/}}下任何名称包含{{ic|radeon}}的文件若该文件中含有其他多个模块,则只删除radeon)。<br />
* 在{{ic|/etc/modules-load.d/}}的现有文件中添加{{ic|fglrx}}或新建含有该行的文件。<br />
<br />
===== 在使用SysVinit上 =====<br />
编辑{{ic|/etc/rc.conf}}:<br />
* 自MODULES中删除{{ic|radeon}}。<br />
* 在MODULES中添加 {{ic|fglrx}}。<br />
<br />
{{注意|若使用AGP接口的显卡还需添加''agp''。}}<br />
<br />
==== 禁用KMS ====<br />
<br />
由于Catalyst根本不使用[[KMS]],得将其禁用。否则,当系统切换至tyy或在桌面环境下关机时,系统可能会冻结。<br />
<br />
若使用[[GRUB Legacy|GRUB Legacy]],在{{ic|menu.lst}}添加{{ic|nomodeset}}给内核参数,如:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
若使用[[GRUB2|GRUB 2]],在{{ic|/etc/default/grub}}添加''nomodeset''给内核参数,如:<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
然后以root身份运行;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
若使用[[Syslinux|Syslinux]],在{{ic|/boot/syslinux/syslinux.cfg}}添加''nomodeset''到{{ic|APPEND}}行,如:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== 检查安装是否成功 ====<br />
<br />
重启电脑并登录, 运行下列命令可查看fglrx是否正确运行:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
若两者均有输出, 安装成功。进行桌面环境并运行以下命令检查直接渲染模式是否启用:<br />
<br />
$ glxinfo | grep direct<br />
<br />
若显示"direct rendering: yes",恭喜你,到位了! 若无glxinfo命令,安装{{Pkg|mesa-demos}} package。<br />
<br />
{{警告|最近几版Xorg,库函数路径变了,因此即使安装{{ic|libGL.so}}也不一定能正确人加载。请检查GL是否工作,可阅读"Troubleshooting"段落}}<br />
<br />
若有问题,参阅[[#Troubleshooting]].<br />
<br />
=== 自我编译内核 ===<br />
<br />
在手动编译的内核上,你必须构建你自己{{ic|catalyst-$kernel}}包.<br />
<br />
如果你讨厌打包或毫无经验,可先阅读[[ABS]]。<br />
<br />
#从[[AUR|Catalyst]]上获取{{ic|PKGBUILD}} 和 {{ic|catalyst.install}}文件。<br />
# 编辑PKGBUILD. 两个地方需要修改:<br />
## 将{{ic|1=pkgname=catalyst}} 修改为 {{ic|1=pkgname=catalyst-$kernel_name}},$kernel_name可以随意取(如:custom, mm)。<br />
## 将{{ic|linux}}的依赖修改为{{ic|$kernel_name}}。<br />
# 构建并安装软件包;运行{{ic|makepkg -i}} 和 {{ic|makepkg}},接着运行 {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{注意|如果在安装有多内核的系统上,你必须为所有内核安装Catalyst-utils包。这不会引起冲突}}<br />
<br />
{{注意|Catalyst-generator能为你自动构建catalyst-{kernver},因此这些步骤根本就可省略。 请参考[[#Tools| Tools section]].}}<br />
<br />
== Xorg软件库 ==<br />
Catalyst由于其缓慢的更新而被人大为诟病。因升级Xorg而造成两者不兼容是稀松平常的事。也就意味着Catalyst用户要么不升级Xorg要么使用一个只包含Xorg包的回溯软件库,该库中不提供更新版Xorg以确保兼容性。 Vi0L0提供好几个这样的库. <br />
<br />
若想让pacman更新其他软件而不更新Xorg,查看[[pacman|skip package from being upgraded]]。不更新的软件是:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
若要使用这类软件库,在{{ic|/etc/pacman.conf}}的所有库(甚至Catalyst)前面添加下面中的一个 。<br />
<br />
===[xorg112]===<br />
截止目前,当前Catalyst 不支持1.13。<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
低于 12.6的Catalyst不支持xorg-server 1.12。<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== 工具 ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook]是一个针对[[mkinitcpio|mkinitcpio]]的钩子。'''跟 catalyst-dkms一样''',每当内核更新时,它会自动升级fglrx模块。在更新fglrx之前,它会尝试更新{{Pkg|linux-headers}}。<br />
<br />
当更新内核时,钩子会调用''catalyst_build_module''命令来更新fglrx模块以使两者相匹配。此外,它还可调用''catalyst_build_module remove''来删除不需要的旧flgrx模块<br />
<br />
{{注意|若使用此功能,'''一定要''' 关注的内核的安装提示,Catalyst-hook会显示是否一切顺利。}}<br />
<br />
{{注意|若是'''自编译内核'''且使用'''非标准的mkinitcpio配置文件'''(如:linux-zen使用/etc/mkinitcpio-zen.conf),那必须在你非标准的配置文件中添加'''fglrx'''至 HOOKS行,以便当内核更新时能自动重新编译。}}<br />
<br />
{{注意|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator]包能构建并安装fglrx模块,该模块与pacman兼容 的catalyst-${内核版本}相适应。与Catalyst-hook的区别是必须手动使用此命令,而Catalyst-hook则不需。<br />
<br />
通过[[makepkg]],它能构建catalyst-${内核版本}二进制包并用[[pacman]]安装。<br />
<br />
非特权用户使用{{ic|catalyst_build_module}}来构建并安装catalyst-${内核版本}包。安装时会提示输入root密码。<br />
<br />
简单说一下如何使用此包:<br />
<br />
# root用户: 使用{{ic|catalyst_build_module remove}}。此举会删除无用的{{ic|catalyst-{kernver} }}包。<br />
# 非特权用户: 使用{{ic|catalyst_build_module ${内核版本}}}, ${内核版本}是指升级过后的内核版本。也可通过{{ic|catalyst_build_module all}}为所有安装的内核构建catalyst-${内核版本}。<br />
# 若要删除{{ic|catalyst-generator}}, 在使用{{ic|catalyst_build_module remove_all}}命令删除catalyst-generator之前最好切换到root用户,'''这会删除得极为彻底。'''<br />
<br />
当删除Catalyst-generator时,Catalyst-generator不能自动删除那些catalyst-{内核版本}包,这是因为pacman不允许有一个以上的实例同时运行。若在使用{{ic|pacman -R catalyst-generator}}前忘记运行{{ic|catalyst_build_module remove_all}}, catalyst-generator将会询问删除catalyst-generator自身后要删除哪个catalyst-{内核版本}包。<br />
<br />
{{注意|在构建catalyst-{内核版本}时,若看到下列警告,乃正常情况,不必莫名惊诧:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension}}<br />
<br />
=== Catalyst-daemon ===<br />
{{警告|由于systemd与普通initscript daemons不兼容,所以systemd用户不能使用此工具。}}<br />
<br />
每次启动时,[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon]守护进程会检查内核是否更新过。若更新过,它会重建fglrx模块;若没有,则加载前次构建的模块。在2.4 GHz CPU电脑上,整个过程只需20ms。<br />
<br />
Catalyst-daemon的自动重新编译功能是通过一个叫''autofglrx''的初始化脚本实现的。Autofglrx的检查方式为比较启动内核(由{{ic|uname -v}}提供)和使用当前fglrx模块内核的构建时间。之所以能这样比较,是因为编译时,它将{{ic|uname -v}}的信息添加到fglrx模块描述里。<br />
<br />
重构过程中,autofglrx会调用''catalyst_build_module''构建模块,调用''catalyst_build_module remove''删除老旧无用的fglrx模块。运行后,它并不会一直驻留在系统内存。<br />
<br />
{{注意|安装autofglrx后,在{{ic|/etc/rc.conf}}将{{ic|autofglrx}}添加到{{ic|DAEMONS}}。要将它放在DM(显示管理器)之前(若是通过此配置运行DM)并且'''不要'''在后台运行(不能在其前添加@符号)。}}<br />
<br />
{{注意|若使用'''你自己的编译标识'''导致此工具有问题 - 请将你的标识写入/usr/bin/catalyst_build_module文件。}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
在'''Catalyst 11.1'''中,很可能是添加了三重缓存和v-sync,''Tear Free Desktop''减少了2D,3D视频应用的屏幕撕裂毛病。但这需要额外的GPU处理。<br />
<br />
要启用'Tear Free Desktop',运行{{ic|amdcccle}},然后设置{{ic|Display Options}} → {{ic|Tear Free}}。<br />
<br />
或以root身份运行:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
若禁用,使用{{ic|amdcccle}}或以root身份运行:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== 视频加速 ===<br />
<br />
'''[[wikipedia:Video_Acceleration_API|Video Acceleration API]] (VA API)'''是为基于Linux/UNIX操作系统提供利用GPU加速视频处理的一个开源函数库和应用程序接口规范。启用视频加速后,通过各种入口(VLD, IDCT, Motion Compensation, deblocking)它能加速常用编码标准(MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3)视频文件的解码过程(俗称硬解)。<br />
<br />
VA-API在{{AUR|xvba-video}}上有一个私有后端(2009年10月), 它允许使用VA-API的程序通过[[wikipedia:XvBA|XvBA (X-Video Bitstream Acceleration API designed by AMD)]]函数库来充分利用拥有uvd2(第二代通用视频解码单元)芯片组的视频加速功能.<br />
<br />
xvba-video和支持XvBA的软件仍还在开发,'''但在大多数情况下它都能很好的工作'''. 通过AUR构建或直接通过[community]安装{{AUR|xvba-video}}包,并安装{{Pkg|mplayer-vaapi}} and {{Pkg|libva}}。然后将视频播放器的视频输出设置为vaapi:gl:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
此选项可添加到mplayer的配置文件,参考[[MPlayer]]。<br />
<br />
针对 '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{注意|如果启用了Tear Free Desktop,则按下列步骤:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
若视频输出中没有'''vaapi:gl'''选项 - 可使用:<br />
'''vaapi''', '''vaapi:gl2''' or 简单的 '''xv(0 - AMD Radeon [[wikipedia:Avivo|AVIVO Video]])'''.<br />
}}<br />
<br />
针对 '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
它有助于在'''amdcccle'''中启用v-sync:<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{注意|若使用'''Compiz/KWin''',消除'''画面抖动'''的唯一方法就是切换至'''全屏'''并且 '''关闭Redirected Fullscreen'''。<br />
<br />
使用'''compiz''',需在ccsm的General Options中设置'''Redirected Direct Rendering'''。若此举无效,则将其关闭。'''KWin'''默认关闭此功能,若出现画面抖动则通过System Settings → Desktop Effects → Advanced将"Suspend desktop effects for fullscreen windows"开启或关闭。}}<br />
<br />
=== 显卡/显存频率, 温度, 风扇转速, 超频工具 ===<br />
<br />
{{ic|$ aticonfig --od-getclocks}}可以获知当前显卡/显存频率。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}可以获知风扇转速(显卡);<br />
<br />
{{ic|$ aticonfig --odgt}}可以获知显卡温度。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}}可以设置风扇转速,其中查询索引50代表速度百分比。<br />
<br />
若超频或与之相反,则使用图形工具反而相对容易些,如需要qt的'''ATi Overclocking Utility'''。<br />
<br />
i686版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here];x86_64版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]。下载后直接运行。<br />
更复杂'''AMDOverdriveCtrl'''也能达到此目的,它的主页是[http://sourceforge.net/projects/amdovdrvctrl here]。可通过[https://aur.archlinux.org/packages.php?ID=45298 AUR]或Vi0L0's非官方软件库构建安装包。<br />
<br />
=== 双屏显示 ===<br />
<br />
==== 介绍 ====<br />
<br />
{{警告|由于安装方式的不同,并且每种安装方式需要与其相对应进行配置,因此设置双屏显示并没有特定的解决办办法。这也是你必须根据你自己的需要采用相应步骤的原因。当然可以多尝试几种方法。'''所以,在修改之前,将你的配置保存到{{ic|/etc/X11/xorg.conf}},以便遇到问题是你可以从命令行恢复。'''}}<br />
<br />
* 本节讲述如何配置"BIG Desktop"效果。主要是不同尺寸的屏幕如何通过两个不同的输出接口(DVI + HDMI)共享一个显卡。<br />
<br />
* Xinerama解决办法有些不便,尤其是不能与XrandR兼容。因为XrandR对于我们所讲的来说是必须的,所以不使用Xinerama。<br />
<br />
* 双头显示能让你有两个不同的会话(一个屏幕一个)。你可以随心所欲地干任何事情,但不能将窗口从一个屏幕移动到另一个屏幕。若只有一个屏幕,你得在Xorg会话里为Server Layout section的每个会话定义鼠标,具体方法查看:<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
ATI的图形工具非常有用,我们将尽可能地使用它。运行下面命令可启用它:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{警告|'''千万不要'''直接使用sudo。 Sudo虽能给予管理员权限,却使用用户账户的信息(如环境变量)。GNOME下使用''gksu'',KDE下使用''kdesu''。}}<br />
<br />
==== 安装 ====<br />
<br />
开始之前,确保你的硬件接插正确,电源开启,而且你得你的硬件属性(2D还是3D屏,屏幕尺寸,刷新率等)。通常情况下,在启动阶段两个显示器都会被识别却不需正确区分先后顺序,而是依赖热插拔功能。尤其在不使用({{ic|/etc/X11/xorg.conf}})配置时。<br />
<br />
首先要让你的桌面环境和X认识你的显示器。为此,要为你两个显示器生成基本的Xorg配置文件:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
或<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{注意|{{ic|overlay}}非常重要,因为它能让两个显示器拥有1种(多种)像素。<br />
{{提示|运行{{ic|aticonfig --help}}了解所有可用的命令。}}<br />
<br />
现在可编辑基本的Xorg配置文件(如:添加分辨率)。分辨率一定要正确,尤其是使用不同尺寸的显示器。分辨率在"Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
这以后就不需手动编辑{{ic|xorg.conf}},而ATI的图形化工具。重启X,确保正确支持两个显示器和识别屏幕分辨率(两个屏幕相互独立而不是完全一样。<br />
<br />
==== 设置 ====<br />
<br />
现在只需以root身份启动ATI控制中心,在显示菜单设置你需要的选项(下拉菜单中的小箭头)。设置好后重启X就大功造成(你和我都可松口气了,这段翻译有点难度,呵呵)!<br />
<br />
重启X之前,不要忘了核实{{ic|xorg.conf}}。主要是核实"Display"下的"Screen"节, 在"Virtual"行里,两个显示器的分辨率应该一样。"Server Layout"节则是剩下的参数。<br />
<br />
== 故障排除 ==<br />
若能启动到命令行,问题很可能出在{{ic|/etc/X11/xorg.conf}}<br />
<br />
可阅读{{ic|/var/log/Xorg.0.log}}或通过下列命令查找线索:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
若看不懂显示的是什么东东,可将其提交到[https://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]论坛,注意要提交两者显示的信息。<br />
<br />
=== 在Wine上3D应用冻结 ===<br />
若在Wine上3D应用挂起,禁用TLS。使用{{ic|aticonfig}}或编辑{{ic|/etc/X11/xorg.conf}}。使用{{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
或以root身份打开{{ic|/etc/X11/xorg.conf}},在''Device''段添加{{ic|Option "UseFastTLS" "off"}}。<br />
<br />
只需来个二选一,然后重启X让其生效。<br />
<br />
=== 视频颜色不正常 ===<br />
<br />
仍然使用{{ic|vaapi:gl}}来防止画面抖动,但这样不会有视频加速:<br />
<br />
* 不使用{{ic|-vo vaapi}}运行'''mplayer'''。<br />
<br />
* 若是'''smplayer''',在Options → Preferences → Advanced → Options for MPlayer → Options:中删除{{ic|-vo vaapi}}。<br />
<br />
此后还可以启动'''smplayer'''的截屏功能。<br />
<br />
=== KWin and composite ===<br />
<br />
根据你的显卡,在OpenGL和XRender渲染方式中选择一种更快的。在某些情况下,XRender还可以解决一些人为的错误。<br />
<br />
=== 重启或启动x后,黑屏并且一直不退出 ===<br />
<br />
检查在启动加载器的内核参数行是否添加了'''nomodeset'''(参考 [[#Disable kernel mode setting]])。<br />
<br />
==== 错误的ACPI硬件调用 ====<br />
出现此种错误很可能是fglrx模块与系统的ACPI硬件调用配合不够默契而自身禁用,屏幕也就不会有输出。<br />
<br />
果真那样,运行:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== 注销后KDM消失 ===<br />
<br />
若使用Catalyst,当注销后你会获取tty1这个控制台而不是KDM的欢迎界面。每次注销后你必须让kdm重启X服务器:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
将标题为{{ic|[X-:*-Core]}}段里下面行前的注释删掉:<br />
<br />
TerminateServer=True<br />
<br />
当前注销KDE后KDM就会出现。<br />
<br />
=== 直接渲染无效 ===<br />
<br />
{{警告|在安装或升级catalyst后却没重启系统,也有可能出现此种错误,因为系统需要加载fglrx.ko模块来让驱动正常工作。}}<br />
若直接渲染有问题,运行:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
从此命令输出的第一行至末尾都与直接渲染无效有关,且非常详细。<br />
<br />
常见错误提示和解决办法:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* 若使用AGP的芯片组,确保加载fglrx模块之前加载正确的agp模块。要确定哪些agp模块,先运行{{ic|hwdetect --show-agp}},若使用SysVinit,则将之前命令所列的模块名称添加到rc.conf的{{ic|1=MODULES=}}行(若有fglrx, 则要全位于fglrx'''之前''');否则,打开{{ic|/etc/modules-load.d}}下的{{ic|fglrx.conf}},将agp模块添加到fglrx行'''之前'''。<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* 某些软件未正确安装。在错误提示中,若路径为{{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}},彻底注销,然后重新登录。若使用图形化的登录管理器(gdm, kdm, xdm),确保每次登录时{{ic|/etc/profile}}都会被读取。将{{ic|source /etc/profile}}添加到{{ic|~/.xsession}}或{{ic|~/.xinitrc}}通过都达到以上目的(不同的登录管理器修改的文件不一样)。<br />
<br />
* 若路径为{{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}},试着重装{{ic|catalyst}}包。<br />
<br />
若错误信息为:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
可能是因为系统装了多个版本的{{ic|libGL.so}},运行:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
结果如下:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
系统应只有3个libGL.so文件,若不止(例如{{ic|/usr/X11R6/lib/libGL.so.1.2}}),则将其删除。<br />
<br />
若使用X11R7且系统中有下列文件,系统并不会给出任何错误提示,一定要将他们删除:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== 休眠问题 ===<br />
<br />
==== 视频播放不能从休眠状态中恢复 ====<br />
<br />
若启动了framebuffer,Catalyst不能从挂机状态中恢复。在内核参数选项中添加'''vga=0'''可禁用framebuffer。如在Grub Legacy的{{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
其他加载器,参考[[#Disable kernel mode setting]]。<br />
<br />
=== 系统冻结或硬件锁死 ===<br />
<br />
* 过去,{{ic|radeonfb}}的framebuffer驱动很容易导致这个问题。若内核编译时启用对radeonfb的支持,应换内核看是否能解决此问题。<br />
<br />
* 若退出桌面环境(关机、挂机和切换到tty等)时系统冻结,很可能忘记禁用KMS。(参见 [[#Disable kernel mode setting]])<br />
<br />
=== 硬件冲突 ===<br />
<br />
当和某些版本的nForce3芯片组一起使用时,Radeon不能3D加速。目前虽还未找到具体原因,但有资料表明: indicate that it may be possible to get acceleration with this combination of hardware by booting with the drivers from 先用nVIDIA驱动启动到Windows然后再重启系统就可能获得3D加速。在root控制台使用下列命令可识别此问题:<br />
<br />
$ dmesg | grep agp<br />
<br />
与下列相似(使用基于nForce3系统)的输出:<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
或以下命令...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...与下面相似的输出:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
则就有问题。<br />
<br />
有些资料说在某些情形下降级主板的BIOS可能有助于解决问题,但注意此方法并不是在各种情况下都适用,而且'''方法不对则很可能让显卡报废。'''<br />
<br />
参考[http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport]。<br />
<br />
=== 播放视频时系统短时间死机 ===<br />
<br />
使用Catalyst可导致此问题。<br />
<br />
当用mplayer,若不定时出现几秒到几分钟的死机。查看 /var/log/messages.log,若有与下面相似的信息:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
给内核参数添加nopat,至少在我的电脑上此方法适用。<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
若运行:<br />
<br />
# sudo aticonfig --initial<br />
<br />
输出:<br />
<br />
aticonfig: No supported adaptaters detected<br />
但你确实有AMD的显卡(or APU),在{{ic|etc/X11/xorg.conf}}中设置device就可能让Catalyst正常工作。<br />
<br />
在{{ic|/etc/X11/xorg.conf}}将device段设置为:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
此处''****''为设备型号(6870 for the HD 6870的显卡为6870,APU E-350为6310,通过网络是很容易查到的).<br />
<br />
Xorg启动后很可能使用{{ic|amdcccle}}而不是{{ic|aticonfig}}。这里会有一个"AMD不支持硬件"水印。<br />
<br />
用下面脚本可将此水印删除:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
然后重启。<br />
<br />
=== 让chromium支持WebGL ===<br />
<br />
在Google的Chromium/Chrome浏览器里,Linux的Catalyst驱动被列入了黑名单。<br />
编辑{{ic|/usr/share/applications/chromium.desktop}}文件,添加{{ic|--ignore-gpu-blacklist}}标识到'''Exec'''行,它看起来应像下面这样:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
也可在终端中用相同的标识运行chromium:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{警告|Catalyst并不支持GL_ARB_robustness扩展,因此一些恶意网站可能使用WebGL对你的显卡发动DoS攻击。参考[http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== 用阿道比(就是Adobe,网友的搞笑翻译)的flashplugin观看flash,画面迟滞或冻结 ===<br />
<br />
将{{ic|/etc/adobe/mms.cfg}}编辑为下面这样(也就是禁用的硬件加速):<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== GNOME3中移动窗口很慢 ===<br />
大多数情况下,此方法有效。<br />
<br />
将下面行添加到{{ic|~/.profile}}或{{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
重启X或操作系统。<br />
<br />
=== 在1920x1080分辨率下不能全屏 ===<br />
<br />
ATI 默认开启了屏幕缩放,在 xorg.conf 的 Monitor 段中加入:<br />
Option "DPMS" "true"<br />
<br />
完整例子如下:<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=233012AMD Catalyst (简体中文)2012-11-01T14:33:32Z<p>Micy1985: /* 在1920x1080分辨率下不能全屏 */</p>
<hr />
<div>[[Category:Graphics (简体中文)]]<br />
[[Category:X Server (简体中文)]]<br />
{{TranslationStatus (简体中文)|AMD_Catalyst|2012-10-21|229195}}<br />
"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs完全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx 显卡驱动分开开发,因此在你选择何种安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用普通Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的普通Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上面对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败和丢失Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make脚本, 最好换一名称保存。否则将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
通过访问{{ic|/etc/ati/amdpcsdb}}文件它几乎能配置显卡的各项参数。了解完整的配置选项{{ic|aticonfig}}可运行:<br />
<br />
# aticonfig --help | less<br />
<br />
{{警告|在将各项配置参数提交到/etc/X11/xorg.conf之前使用--output选项,/etc/X11/xorg.conf.d中的所有内容都会被覆盖。}}<br />
<br />
{{注意|如果坚持使用xorg.conf.d下的新配置文件:为了让Device section与{{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}相匹配,在{{ic|aticonfig}}后追加''--output''。但这有一个缺点,很多依赖xorg.conf的{{ic|aticonfig}}选项都无法使用。}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,但不同Xorg版本的默认参数可能会有所不同,最好明确指定一些参数.<br />
<br />
给一个示例配置 (注意) '''仅供参考'''. 标'#'必须有,标'##'很可能会用到:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{注意|一旦升级Catalyst就要通过后面的方法删除'''amdpcsdb'''文件: 关闭X,删除{{ic|/etc/ati/amdpcsdb}},启动X然后运行{{ic|amdcccle}} -否则amdcccle将会显示错误的Catalyst版本号}}<br />
<br />
''更多信息参考[http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== 启动时加载模块 ====<br />
不同的初始化系统(SysVinit和systemd)的设置方式不一样,但无论哪一种,都得在{{ic|/etc/modprobe.d/modprobe.conf}}禁用''radeon''。具体可参见[[Modprobe|blacklisting in this article]]. '''通过Arch官方安装Catalyst则无需此步骤,安装包会自动处理'''。<br />
<br />
{{注意|强烈推荐使用systemd进行系统初始化,因为最新Arch安装镜像已默认使用systemd,通过rc.conf设置系统启动服务迟早会遭淘汰}}。<br />
<br />
===== 在使用systemd上 =====<br />
* 删除{{ic|/etc/modules-load.d/}}下任何名称包含{{ic|radeon}}的文件若该文件中含有其他多个模块,则只删除radeon)。<br />
* 在{{ic|/etc/modules-load.d/}}的现有文件中添加{{ic|fglrx}}或新建含有该行的文件。<br />
<br />
===== 在使用SysVinit上 =====<br />
编辑{{ic|/etc/rc.conf}}:<br />
* 自MODULES中删除{{ic|radeon}}。<br />
* 在MODULES中添加 {{ic|fglrx}}。<br />
<br />
{{注意|若使用AGP接口的显卡还需添加''agp''。}}<br />
<br />
==== 禁用KMS ====<br />
<br />
由于Catalyst根本不使用[[KMS]],得将其禁用。否则,当系统切换至tyy或在桌面环境下关机时,系统可能会冻结。<br />
<br />
若使用[[GRUB Legacy|GRUB Legacy]],在{{ic|menu.lst}}添加{{ic|nomodeset}}给内核参数,如:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
若使用[[GRUB2|GRUB 2]],在{{ic|/etc/default/grub}}添加''nomodeset''给内核参数,如:<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
然后以root身份运行;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
若使用[[Syslinux|Syslinux]],在{{ic|/boot/syslinux/syslinux.cfg}}添加''nomodeset''到{{ic|APPEND}}行,如:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== 检查安装是否成功 ====<br />
<br />
重启电脑并登录, 运行下列命令可查看fglrx是否正确运行:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
若两者均有输出, 安装成功。进行桌面环境并运行以下命令检查直接渲染模式是否启用:<br />
<br />
$ glxinfo | grep direct<br />
<br />
若显示"direct rendering: yes",恭喜你,到位了! 若无glxinfo命令,安装{{Pkg|mesa-demos}} package。<br />
<br />
{{警告|最近几版Xorg,库函数路径变了,因此即使安装{{ic|libGL.so}}也不一定能正确人加载。请检查GL是否工作,可阅读"Troubleshooting"段落}}<br />
<br />
若有问题,参阅[[#Troubleshooting]].<br />
<br />
=== 自我编译内核 ===<br />
<br />
在手动编译的内核上,你必须构建你自己{{ic|catalyst-$kernel}}包.<br />
<br />
如果你讨厌打包或毫无经验,可先阅读[[ABS]]。<br />
<br />
#从[[AUR|Catalyst]]上获取{{ic|PKGBUILD}} 和 {{ic|catalyst.install}}文件。<br />
# 编辑PKGBUILD. 两个地方需要修改:<br />
## 将{{ic|1=pkgname=catalyst}} 修改为 {{ic|1=pkgname=catalyst-$kernel_name}},$kernel_name可以随意取(如:custom, mm)。<br />
## 将{{ic|linux}}的依赖修改为{{ic|$kernel_name}}。<br />
# 构建并安装软件包;运行{{ic|makepkg -i}} 和 {{ic|makepkg}},接着运行 {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{注意|如果在安装有多内核的系统上,你必须为所有内核安装Catalyst-utils包。这不会引起冲突}}<br />
<br />
{{注意|Catalyst-generator能为你自动构建catalyst-{kernver},因此这些步骤根本就可省略。 请参考[[#Tools| Tools section]].}}<br />
<br />
== Xorg软件库 ==<br />
Catalyst由于其缓慢的更新而被人大为诟病。因升级Xorg而造成两者不兼容是稀松平常的事。也就意味着Catalyst用户要么不升级Xorg要么使用一个只包含Xorg包的回溯软件库,该库中不提供更新版Xorg以确保兼容性。 Vi0L0提供好几个这样的库. <br />
<br />
若想让pacman更新其他软件而不更新Xorg,查看[[pacman|skip package from being upgraded]]。不更新的软件是:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
若要使用这类软件库,在{{ic|/etc/pacman.conf}}的所有库(甚至Catalyst)前面添加下面中的一个 。<br />
<br />
===[xorg112]===<br />
截止目前,当前Catalyst 不支持1.13。<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
低于 12.6的Catalyst不支持xorg-server 1.12。<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== 工具 ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook]是一个针对[[mkinitcpio|mkinitcpio]]的钩子。'''跟 catalyst-dkms一样''',每当内核更新时,它会自动升级fglrx模块。在更新fglrx之前,它会尝试更新{{Pkg|linux-headers}}。<br />
<br />
当更新内核时,钩子会调用''catalyst_build_module''命令来更新fglrx模块以使两者相匹配。此外,它还可调用''catalyst_build_module remove''来删除不需要的旧flgrx模块<br />
<br />
{{注意|若使用此功能,'''一定要''' 关注的内核的安装提示,Catalyst-hook会显示是否一切顺利。}}<br />
<br />
{{注意|若是'''自编译内核'''且使用'''非标准的mkinitcpio配置文件'''(如:linux-zen使用/etc/mkinitcpio-zen.conf),那必须在你非标准的配置文件中添加'''fglrx'''至 HOOKS行,以便当内核更新时能自动重新编译。}}<br />
<br />
{{注意|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator]包能构建并安装fglrx模块,该模块与pacman兼容 的catalyst-${内核版本}相适应。与Catalyst-hook的区别是必须手动使用此命令,而Catalyst-hook则不需。<br />
<br />
通过[[makepkg]],它能构建catalyst-${内核版本}二进制包并用[[pacman]]安装。<br />
<br />
非特权用户使用{{ic|catalyst_build_module}}来构建并安装catalyst-${内核版本}包。安装时会提示输入root密码。<br />
<br />
简单说一下如何使用此包:<br />
<br />
# root用户: 使用{{ic|catalyst_build_module remove}}。此举会删除无用的{{ic|catalyst-{kernver} }}包。<br />
# 非特权用户: 使用{{ic|catalyst_build_module ${内核版本}}}, ${内核版本}是指升级过后的内核版本。也可通过{{ic|catalyst_build_module all}}为所有安装的内核构建catalyst-${内核版本}。<br />
# 若要删除{{ic|catalyst-generator}}, 在使用{{ic|catalyst_build_module remove_all}}命令删除catalyst-generator之前最好切换到root用户,'''这会删除得极为彻底。'''<br />
<br />
当删除Catalyst-generator时,Catalyst-generator不能自动删除那些catalyst-{内核版本}包,这是因为pacman不允许有一个以上的实例同时运行。若在使用{{ic|pacman -R catalyst-generator}}前忘记运行{{ic|catalyst_build_module remove_all}}, catalyst-generator将会询问删除catalyst-generator自身后要删除哪个catalyst-{内核版本}包。<br />
<br />
{{注意|在构建catalyst-{内核版本}时,若看到下列警告,乃正常情况,不必莫名惊诧:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension}}<br />
<br />
=== Catalyst-daemon ===<br />
{{警告|由于systemd与普通initscript daemons不兼容,所以systemd用户不能使用此工具。}}<br />
<br />
每次启动时,[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon]守护进程会检查内核是否更新过。若更新过,它会重建fglrx模块;若没有,则加载前次构建的模块。在2.4 GHz CPU电脑上,整个过程只需20ms。<br />
<br />
Catalyst-daemon的自动重新编译功能是通过一个叫''autofglrx''的初始化脚本实现的。Autofglrx的检查方式为比较启动内核(由{{ic|uname -v}}提供)和使用当前fglrx模块内核的构建时间。之所以能这样比较,是因为编译时,它将{{ic|uname -v}}的信息添加到fglrx模块描述里。<br />
<br />
重构过程中,autofglrx会调用''catalyst_build_module''构建模块,调用''catalyst_build_module remove''删除老旧无用的fglrx模块。运行后,它并不会一直驻留在系统内存。<br />
<br />
{{注意|安装autofglrx后,在{{ic|/etc/rc.conf}}将{{ic|autofglrx}}添加到{{ic|DAEMONS}}。要将它放在DM(显示管理器)之前(若是通过此配置运行DM)并且'''不要'''在后台运行(不能在其前添加@符号)。}}<br />
<br />
{{注意|若使用'''你自己的编译标识'''导致此工具有问题 - 请将你的标识写入/usr/bin/catalyst_build_module文件。}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
在'''Catalyst 11.1'''中,很可能是添加了三重缓存和v-sync,''Tear Free Desktop''减少了2D,3D视频应用的屏幕撕裂毛病。但这需要额外的GPU处理。<br />
<br />
要启用'Tear Free Desktop',运行{{ic|amdcccle}},然后设置{{ic|Display Options}} → {{ic|Tear Free}}。<br />
<br />
或以root身份运行:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
若禁用,使用{{ic|amdcccle}}或以root身份运行:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== 视频加速 ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)'''是为基于Linux/UNIX操作系统提供利用GPU加速视频处理的一个开源函数库和应用程序接口规范。启用视频加速后,通过各种入口(VLD, IDCT, Motion Compensation, deblocking)它能加速常用编码标准(MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3)视频文件的解码过程(俗称硬解)。<br />
<br />
VA-API在{{AUR|xvba-video}}上有一个私有后端(2009年10月), 它允许使用VA-API的程序通过[http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)]函数库来充分利用拥有uvd2(第二代通用视频解码单元)芯片组的视频加速功能.<br />
<br />
xvba-video和支持XvBA的软件仍还在开发,'''但在大多数情况下它都能很好的工作'''. 通过AUR构建或直接通过[community]安装{{AUR|xvba-video}}包,并安装{{Pkg|mplayer-vaapi}} and {{Pkg|libva}}。然后将视频播放器的视频输出设置为vaapi:gl:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
此选项可添加到mplayer的配置文件,参考[[MPlayer]]。<br />
<br />
针对 '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{注意|如果启用了Tear Free Desktop,则按下列步骤:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
若视频输出中没有'''vaapi:gl'''选项 - 可使用:<br />
'''vaapi''', '''vaapi:gl2''' or 简单的 '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
针对 '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
它有助于在'''amdcccle'''中启用v-sync:<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{注意|若使用'''Compiz/KWin''',消除'''画面抖动'''的唯一方法就是切换至'''全屏'''并且 '''关闭Redirected Fullscreen'''。<br />
<br />
使用'''compiz''',需在ccsm的General Options中设置'''Redirected Direct Rendering'''。若此举无效,则将其关闭。'''KWin'''默认关闭此功能,若出现画面抖动则通过System Settings → Desktop Effects → Advanced将"Suspend desktop effects for fullscreen windows"开启或关闭。}}<br />
<br />
=== 显卡/显存频率, 温度, 风扇转速, 超频工具 ===<br />
<br />
{{ic|$ aticonfig --od-getclocks}}可以获知当前显卡/显存频率。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}可以获知风扇转速(显卡);<br />
<br />
{{ic|$ aticonfig --odgt}}可以获知显卡温度。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}}可以设置风扇转速,其中查询索引50代表速度百分比。<br />
<br />
若超频或与之相反,则使用图形工具反而相对容易些,如需要qt的'''ATi Overclocking Utility'''。<br />
<br />
i686版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here];x86_64版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]。下载后直接运行。<br />
更复杂'''AMDOverdriveCtrl'''也能达到此目的,它的主页是[http://sourceforge.net/projects/amdovdrvctrl here]。可通过[https://aur.archlinux.org/packages.php?ID=45298 AUR]或Vi0L0's非官方软件库构建安装包。<br />
<br />
=== 双屏显示 ===<br />
<br />
==== 介绍 ====<br />
<br />
{{警告|由于安装方式的不同,并且每种安装方式需要与其相对应进行配置,因此设置双屏显示并没有特定的解决办办法。这也是你必须根据你自己的需要采用相应步骤的原因。当然可以多尝试几种方法。'''所以,在修改之前,将你的配置保存到{{ic|/etc/X11/xorg.conf}},以便遇到问题是你可以从命令行恢复。'''}}<br />
<br />
* 本节讲述如何配置"BIG Desktop"效果。主要是不同尺寸的屏幕如何通过两个不同的输出接口(DVI + HDMI)共享一个显卡。<br />
<br />
* Xinerama解决办法有些不便,尤其是不能与XrandR兼容。因为XrandR对于我们所讲的来说是必须的,所以不使用Xinerama。<br />
<br />
* 双头显示能让你有两个不同的会话(一个屏幕一个)。你可以随心所欲地干任何事情,但不能将窗口从一个屏幕移动到另一个屏幕。若只有一个屏幕,你得在Xorg会话里为Server Layout section的每个会话定义鼠标,具体方法查看:<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
ATI的图形工具非常有用,我们将尽可能地使用它。运行下面命令可启用它:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{警告|'''千万不要'''直接使用sudo。 Sudo虽能给予管理员权限,却使用用户账户的信息(如环境变量)。GNOME下使用''gksu'',KDE下使用''kdesu''。}}<br />
<br />
==== 安装 ====<br />
<br />
开始之前,确保你的硬件接插正确,电源开启,而且你得你的硬件属性(2D还是3D屏,屏幕尺寸,刷新率等)。通常情况下,在启动阶段两个显示器都会被识别却不需正确区分先后顺序,而是依赖热插拔功能。尤其在不使用({{ic|/etc/X11/xorg.conf}})配置时。<br />
<br />
首先要让你的桌面环境和X认识你的显示器。为此,要为你两个显示器生成基本的Xorg配置文件:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
或<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{注意|{{ic|overlay}}非常重要,因为它能让两个显示器拥有1种(多种)像素。<br />
{{提示|运行{{ic|aticonfig --help}}了解所有可用的命令。}}<br />
<br />
现在可编辑基本的Xorg配置文件(如:添加分辨率)。分辨率一定要正确,尤其是使用不同尺寸的显示器。分辨率在"Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
这以后就不需手动编辑{{ic|xorg.conf}},而ATI的图形化工具。重启X,确保正确支持两个显示器和识别屏幕分辨率(两个屏幕相互独立而不是完全一样。<br />
<br />
==== 设置 ====<br />
<br />
现在只需以root身份启动ATI控制中心,在显示菜单设置你需要的选项(下拉菜单中的小箭头)。设置好后重启X就大功造成(你和我都可松口气了,这段翻译有点难度,呵呵)!<br />
<br />
重启X之前,不要忘了核实{{ic|xorg.conf}}。主要是核实"Display"下的"Screen"节, 在"Virtual"行里,两个显示器的分辨率应该一样。"Server Layout"节则是剩下的参数。<br />
<br />
== 故障排除 ==<br />
若能启动到命令行,问题很可能出在{{ic|/etc/X11/xorg.conf}}<br />
<br />
可阅读{{ic|/var/log/Xorg.0.log}}或通过下列命令查找线索:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
若看不懂显示的是什么东东,可将其提交到[http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]论坛,注意要提交两者显示的信息。<br />
<br />
=== 在Wine上3D应用冻结 ===<br />
若在Wine上3D应用挂起,禁用TLS。使用{{ic|aticonfig}}或编辑{{ic|/etc/X11/xorg.conf}}。使用{{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
或以root身份打开{{ic|/etc/X11/xorg.conf}},在''Device''段添加{{ic|Option "UseFastTLS" "off"}}。<br />
<br />
只需来个二选一,然后重启X让其生效。<br />
<br />
=== 视频颜色不正常 ===<br />
<br />
仍然使用{{ic|vaapi:gl}}来防止画面抖动,但这样不会有视频加速:<br />
<br />
* 不使用{{ic|-vo vaapi}}运行'''mplayer'''。<br />
<br />
* 若是'''smplayer''',在Options → Preferences → Advanced → Options for MPlayer → Options:中删除{{ic|-vo vaapi}}。<br />
<br />
此后还可以启动'''smplayer'''的截屏功能。<br />
<br />
=== KWin and composite ===<br />
<br />
根据你的显卡,在OpenGL和XRender渲染方式中选择一种更快的。在某些情况下,XRender还可以解决一些人为的错误。<br />
<br />
=== 重启或启动x后,黑屏并且一直不退出 ===<br />
<br />
检查在启动加载器的内核参数行是否添加了'''nomodeset'''(参考 [[#Disable kernel mode setting]])。<br />
<br />
==== 错误的ACPI硬件调用 ====<br />
出现此种错误很可能是fglrx模块与系统的ACPI硬件调用配合不够默契而自身禁用,屏幕也就不会有输出。<br />
<br />
果真那样,运行:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== 注销后KDM消失 ===<br />
<br />
若使用Catalyst,当注销后你会获取tty1这个控制台而不是KDM的欢迎界面。每次注销后你必须让kdm重启X服务器:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
将标题为{{ic|[X-:*-Core]}}段里下面行前的注释删掉:<br />
<br />
TerminateServer=True<br />
<br />
当前注销KDE后KDM就会出现。<br />
<br />
=== 直接渲染无效 ===<br />
<br />
{{警告|在安装或升级catalyst后却没重启系统,也有可能出现此种错误,因为系统需要加载fglrx.ko模块来让驱动正常工作。}}<br />
若直接渲染有问题,运行:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
从此命令输出的第一行至末尾都与直接渲染无效有关,且非常详细。<br />
<br />
常见错误提示和解决办法:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* 若使用AGP的芯片组,确保加载fglrx模块之前加载正确的agp模块。要确定哪些agp模块,先运行{{ic|hwdetect --show-agp}},若使用SysVinit,则将之前命令所列的模块名称添加到rc.conf的{{ic|1=MODULES=}}行(若有fglrx, 则要全位于fglrx'''之前''');否则,打开{{ic|/etc/modules-load.d}}下的{{ic|fglrx.conf}},将agp模块添加到fglrx行'''之前'''。<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* 某些软件未正确安装。在错误提示中,若路径为{{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}},彻底注销,然后重新登录。若使用图形化的登录管理器(gdm, kdm, xdm),确保每次登录时{{ic|/etc/profile}}都会被读取。将{{ic|source /etc/profile}}添加到{{ic|~/.xsession}}或{{ic|~/.xinitrc}}通过都达到以上目的(不同的登录管理器修改的文件不一样)。<br />
<br />
* 若路径为{{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}},试着重装{{ic|catalyst}}包。<br />
<br />
若错误信息为:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
可能是因为系统装了多个版本的{{ic|libGL.so}},运行:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
结果如下:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
系统应只有3个libGL.so文件,若不止(例如{{ic|/usr/X11R6/lib/libGL.so.1.2}}),则将其删除。<br />
<br />
若使用X11R7且系统中有下列文件,系统并不会给出任何错误提示,一定要将他们删除:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== 休眠问题 ===<br />
<br />
==== 视频播放不能从休眠状态中恢复 ====<br />
<br />
若启动了framebuffer,Catalyst不能从挂机状态中恢复。在内核参数选项中添加'''vga=0'''可禁用framebuffer。如在Grub Legacy的{{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
其他加载器,参考[[#Disable kernel mode setting]]。<br />
<br />
=== 系统冻结或硬件锁死 ===<br />
<br />
* 过去,{{ic|radeonfb}}的framebuffer驱动很容易导致这个问题。若内核编译时启用对radeonfb的支持,应换内核看是否能解决此问题。<br />
<br />
* 若退出桌面环境(关机、挂机和切换到tty等)时系统冻结,很可能忘记禁用KMS。(参见 [[#Disable kernel mode setting]])<br />
<br />
=== 硬件冲突 ===<br />
<br />
当和某些版本的nForce3芯片组一起使用时,Radeon不能3D加速。目前虽还未找到具体原因,但有资料表明: indicate that it may be possible to get acceleration with this combination of hardware by booting with the drivers from 先用nVIDIA驱动启动到Windows然后再重启系统就可能获得3D加速。在root控制台使用下列命令可识别此问题:<br />
<br />
$ dmesg | grep agp<br />
<br />
与下列相似(使用基于nForce3系统)的输出:<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
或以下命令...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...与下面相似的输出:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
则就有问题。<br />
<br />
有些资料说在某些情形下降级主板的BIOS可能有助于解决问题,但注意此方法并不是在各种情况下都适用,而且'''方法不对则很可能让显卡报废。'''<br />
<br />
参考[http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport]。<br />
<br />
=== 播放视频时系统短时间死机 ===<br />
<br />
使用Catalyst可导致此问题。<br />
<br />
当用mplayer,若不定时出现几秒到几分钟的死机。查看 /var/log/messages.log,若有与下面相似的信息:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
给内核参数添加nopat,至少在我的电脑上此方法适用。<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
若运行:<br />
<br />
# sudo aticonfig --initial<br />
<br />
输出:<br />
<br />
aticonfig: No supported adaptaters detected<br />
但你确实有AMD的显卡(or APU),在{{ic|etc/X11/xorg.conf}}中设置device就可能让Catalyst正常工作。<br />
<br />
在{{ic|/etc/X11/xorg.conf}}将device段设置为:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
此处''****''为设备型号(6870 for the HD 6870的显卡为6870,APU E-350为6310,通过网络是很容易查到的).<br />
<br />
Xorg启动后很可能使用{{ic|amdcccle}}而不是{{ic|aticonfig}}。这里会有一个"AMD不支持硬件"水印。<br />
<br />
用下面脚本可将此水印删除:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
然后重启。<br />
<br />
=== 让chromium支持WebGL ===<br />
<br />
在Google的Chromium/Chrome浏览器里,Linux的Catalyst驱动被列入了黑名单。<br />
编辑{{ic|/usr/share/applications/chromium.desktop}}文件,添加{{ic|--ignore-gpu-blacklist}}标识到'''Exec'''行,它看起来应像下面这样:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
也可在终端中用相同的标识运行chromium:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{警告|Catalyst并不支持GL_ARB_robustness扩展,因此一些恶意网站可能使用WebGL对你的显卡发动DoS攻击。参考[http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== 用阿道比(就是Adobe,网友的搞笑翻译)的flashplugin观看flash,画面迟滞或冻结 ===<br />
<br />
将{{ic|/etc/adobe/mms.cfg}}编辑为下面这样(也就是禁用的硬件加速):<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== GNOME3中移动窗口很慢 ===<br />
大多数情况下,此方法有效。<br />
<br />
将下面行添加到{{ic|~/.profile}}或{{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
重启X或操作系统。<br />
<br />
=== 在1920x1080分辨率下不能全屏 ===<br />
<br />
The ATI has scaling by default add this to your xorg.conf(本人无AMD的显卡,实不知如何翻译)<br />
<br />
Option "DPMS" "true"<br />
<br />
在Monitor段,完整例子如下:<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=ArchWiki:Translation_Team_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=230818ArchWiki:Translation Team (简体中文)2012-10-23T13:27:28Z<p>Micy1985: /* 页面维护列表 */</p>
<hr />
<div>[[Category:简体中文]]<br />
[[Category:ArchWiki (简体中文)]]<br />
[[en:ArchWiki Translation Team]]<br />
[[es:ArchWiki Translation Team]]<br />
[[hr:ArchWiki Translation Team]]<br />
[[it:ArchWiki Translation Team]]<br />
[[pl:ArchWiki Translation Team]]<br />
[[tr:ArchWiki_Çeviri_Ekibi]]<br />
Arch Wiki 上有许多中文页面,这些页面是无数中文志愿者劳动的结晶。随着时间推移,有些页面因为没有及时维护,内容严重过时。而目前的翻译工作缺少组织,效率偏低。所以参照西班牙和意大利翻译组的做法,添加这个页面。<br />
<br />
如果希望进行翻译和维护,只需要编辑下面的[[#页面维护列表]],将自己加为页面的维护者。如果列表中还没有要认领翻译的页面,请自行添加。如果因为时间原因无法再维护页面,请及时将自己从维护者列表中删除。<br />
<br />
== 创建翻译 ==<br />
{{注意|如果不准备翻译页面的大部分内容,请尽量不要新建简体中文页面。检查英文页面的更新需要花费不少精力,没有翻译的页面会增加维护负担。}}<br />
# 如果还不知道如何编辑 wiki,请阅读 [[Help:Editing (简体中文)|编辑帮助]]。<br />
# 阅读 [[Help:i18n (简体中文)|i18n帮助]],文章给出了 ArchWiki 国际化和本地化的指南。<br />
# [[Special:UserLogin |登录]] 以进行编辑。<br />
# 选择要翻译的页面,例如从 [[Special:Random|随机页面]] 或[[#页面维护列表 | 页面维护列表]] 中选择一个未翻译完成的页面。假设要翻译 [[Some Page]].<br />
# 进入选择的英文页面,点击页面顶部的 '''编辑'''。<br />
# 添加要翻译文件的语言间链接 (参见[[Help:i18n#Interlanguage links]])。<br />
# 复制所有页面代码。<br />
# 保存页面 (新加了语言链接)<br />
# 访问页面右边新添加的语言链接,应该会进到 [[Some Page (简体中文)]] : {{ic|<nowiki>https://wiki.archlinux.org/index.php/Some_Page_(</nowiki>''简体中文'')}}<br />
# 因为页面不存在,点击 '''创建'''。<br />
# 将显示一个编辑器 - 粘贴复制的英文页面。<br />
# 将文章分类修改为本地化版本,例如将 {{ic|<nowiki>[[Category:Internationalization]]</nowiki>}} 修改为 {{ic|<nowiki>[[Category:Internationalization (简体中文)]]</nowiki>}}<br />
# 修改语言间链接,指向英文页面(将 {{ic|zh-CN}} 修改为 {{ic|en}},并将英文页面移到文章顶部。<br />
# 翻译页面,进行保存。<br />
# (推荐)给翻译完成的页面加上[[Template:TranslationStatus (简体中文)|翻译状态]],后有详细介绍。<br />
# 更新所有其它语言页面,加入刚翻译文章的语言间链接。<br />
# (可选)创建一个简体中文名称的页面,指向新创建的页面:访问 {{ic|<nowiki>https://wiki.archlinux.org/index.php/</nowiki>''页面的中文名称''}}.<br />
# (可选)建立新页面,并加入:{{bc|<nowiki>#REDIRECT [[Some Page (简体中文)</nowiki>]]}}<br />
<br />
== 完善翻译 ==<br />
[https://wiki.archlinux.org/index.php?title=Special:WhatLinksHere/Template:Translateme_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&limit=100 这个页面] 包含了需要完善翻译的简体中文页面。完善翻译的基本步骤:<br />
# 选择自己比较熟悉的文章进行翻译<br />
# 先检查英文页面的对应段落,更新成最新的英文后再翻译,避免翻译过时的内容,减少信息遗漏。<br />
# 翻译完成后删除页面中的 <nowiki>{{translateme (简体中文)}}</nowiki> 标记<br />
# (推荐)给翻译完成的页面加上[[Template:TranslationStatus (简体中文)|翻译状态]],后有详细介绍。<br />
<br />
== 维护翻译 ==<br />
完成页面的翻译只是初步完成任务,即时同步英文页面改动、更新翻译是一个持续性的工作,可能会耗费更多的时间。<br />
<br />
=== 页面认领 ===<br />
所有人都可以认领页面。认领后的责任包括进行翻译,关注英文页面的改动,及时同步翻译。<br />
<br />
为了更好的跟踪英文页面的修改,请务必在设置中启用监视列表邮件通知,并监视对应的英文页面(从设置中找到监视列表,加入英文页面。或者直接到英文页面点击页面顶端的监视标签。这样只要有改动,就会收到邮件通知)。<br />
<br />
{{小贴士|如果收到邮件通知后没有访问页面或者访问了页面却没有登录用户,下次页面改动时就不会再发邮件通知。可以点击监视列表中的'''标记所有页面为已读'''再次获取更新。}}<br />
<br />
如果页面有维护者但长期得不到更新,将会在维护列表中删除维护者。<br />
<br />
=== 发现过期页面怎么办? === <br />
如果发现有 Wiki 页面过期或错误:<br />
* 小的改动,有时间可以立即进行修改同步,维护者并不控制页面的编辑权限,越多的人参与维护越好。如果改动较大,请先联系维护者,避免重复劳动。<br />
* 没有时间查看更改,请给页面加上 {{ic|<nowiki>{{out of date}}</nowiki>}} 模版,这样其他贡献者更容易发现需要更新的页面,而读者看到过期标记就可以直接查看英文页面,以免被错误内容误导,白白耽误时间。<br />
* 没有时间翻译,请将过期的中文部分删去,从英文页面中复制更改的部分到中文页面的相应部分,去掉{{ic|<nowiki>{{out of date}}</nowiki>}}模板(如果页面上有的话)并加上{{ic|<nowiki>{{translateme (简体中文)}}</nowiki>}}模板,这样其他贡献者就更容易发现需要翻译的页面,而读者也不会被过期的内容误导。<br />
如果发现有页面未翻译:<br />
* 有时间的话,请将页面中的英文部分翻译为中文,并去掉{{ic|<nowiki>{{translateme (简体中文)}}</nowiki>}}模板。<br />
* 没有时间翻译,请为页面添加{{ic|<nowiki>{{translateme (简体中文)}}</nowiki>}}模板,这样其他的贡献者就能更容易发现需要翻译的页面。<br />
{{注意|在修改页面上的模板时,请同时更新页面维护列表的翻译状态。}}<br />
<br />
=== 翻译状态模板 ===<br />
Arch 作为滚动发行版,软件变化比较快,对应的文档变化也比较快。许多翻译的文章由于缺乏更新,会产生命令运行出错或不起作用等问题。而由于这些过期页面没有及时标记出来,所以用户无法及时获得更新。[[Template:TranslationStatus (简体中文)|翻译状态模板]]就是为了解决这个问题而创建。<br />
<br />
此模板可以起到如下作用:<br />
* 为用户提供翻译状况,包括翻译时间、英文页面的最后版本等<br />
* 用户可以点击查看翻译后,英文页面的改动,这样英文不是很好的用户可以只查看很小一部分英文内容,并判断出是否影响操作。<br />
* 翻译人员可以跟踪页面状况,通过[https://wiki.archlinux.org/index.php/Special:WhatLinksHere/Template:TranslationStatus_(简体中文) 模板的反向链接]可以查找到所有标记页面,查看需要更新翻译的部分。<br />
<br />
[[Template:TranslationStatus (简体中文)|模板页面]]有详细的使用方法。<br />
<br />
=== 页面维护列表 ===<br />
{{注意|请按照拉丁字母顺序添加页面。}}<br />
翻译状态说明:<br />
;过期:页面内容未与英文页面同步,对应{{ic|<nowiki>{{out of date}}</nowiki>}} 模版<br />
;未翻译:页面中含有英文内容,对应{{ic|<nowiki>{{translateme (简体中文)}}</nowiki>}}模板<br />
;完成:页面已与英文页面同步<br />
{| class="wikitable sortable collapsible" border="1"<br />
|-<br />
! 页面<br />
! 翻译状态<br />
! 维护者<br />
! class="unsortable" width="30%" | 备注<br />
|-<br />
| [[acpid (简体中文)]]<br />
| 完成<br />
| Cael<br />
| 无<br />
|-<br />
| [[ACPI hotkeys (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[ACPI modules (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Activating Numlock on Bootup (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Ad-hoc networking (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Advanced Linux Sound Architecture (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[AHCI (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Allow Users to Shutdown (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[aMule (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Android (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Apache, suEXEC and Virtual Hosts (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Arch Based Distributions (Active) (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Arch Build System (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[ArchWiki:About (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[ATI (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[AUR Helpers (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Avant Window Navigator (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[awesome (简体中文)]]<br />
| 进行中<br />
| Cael<br />
| 无<br />
|-<br />
| [[Bash (简体中文)]]<br />
| 完成<br />
| Jaurung<br />
| 无<br />
|-<br />
| [[Bumblebee (简体中文)]]<br />
| 完成<br />
| Peter<br />
| 无<br />
|-<br />
| [[AMD Catalyst (简体中文)]]<br />
| 完成<br />
| Shibao Zhao<br />
| 无<br />
|-<br />
| [[Common Applications (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Compiz (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Configuring Network (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Creating Packages (简体中文)]]<br />
| 完成<br />
| Cael<br />
| 无<br />
|-<br />
| [[Disabling IPv6 (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Downgrading Packages (简体中文)]]<br />
| 完成<br />
| Cael<br />
| 无<br />
|-<br />
| [[Emacs (简体中文)]]<br />
| 翻译中<br />
| Jaurung<br />
| 未完成<br />
|-<br />
|-<br />
| [[Font Configuration (简体中文)]]<br />
| 翻译中<br />
| Jaurung<br />
| 完善中<br />
|-<br />
| [[Fonts (简体中文)]]<br />
| 翻译中<br />
| zhangwen<br />
| 完善中<br />
|-<br />
| [[Fstab (简体中文)]]<br />
| 完成<br />
| Fengchao<br />
| 无<br />
|-<br />
| [[GRUB (简体中文)]]<br />
| 翻译中<br />
| 无<br />
| 无<br />
|-<br />
| [[Help:Style (简体中文)]]<br />
| 完成<br />
| Fengchao<br />
| 无<br />
|-<br />
| [[IBus (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Improve_Pacman_Performance_(简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Kernel Compilation (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Kernel Compilation/Arch Build System (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Laptop Mode Tools (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[LibreOffice (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Local Mirror (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Makepkg (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[mkinitcpio (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Network Time Protocol daemon (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 部分未翻译<br />
|-<br />
| [[Official Repositories (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Openbox (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[OpenOffice (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Pacman (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Pacman GUI Frontends (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[pacman Tips (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Pidgin (简体中文)]]<br />
| 进行中<br />
| Cael<br />
| 无 <br />
|- <br />
| [[Plasma (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|- <br />
| [[Polipo (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无 <br />
|-<br />
| [[Python (简体中文)]]<br />
| 完成<br />
| Fengchao<br />
| 无 <br />
|-<br />
| [[Smart Common Input Method platform (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Common Applications/Science (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Secure Shell (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 部分未翻译<br />
|-<br />
| [[Systemd (简体中文)]]<br />
| 完成<br />
| cuihao<br />
| 无<br />
|-<br />
| [[TeXLive (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Vim (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[VMware (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Wine (简体中文)]]<br />
| 完成<br />
| cuihao<br />
| 无<br />
|-<br />
| [[Xscreensaver (简体中文)]]<br />
| 完成<br />
| liuyix<br />
| 无<br />
|-<br />
| [[Xmonad (简体中文)]]<br />
| 未翻译<br />
| Rns<br />
| 翻译中<br />
|}<br />
<br />
== 贡献列表 ==<br />
为翻译做出贡献的用户请加入列表,感谢所有人做出的贡献。<br />
* [[User:Fengchao|Fengchao]] &ndash; [[Special:Contributions/Fengchao|贡献]] &ndash; [[Special:EmailUser/Fengchao|Send Email]] &ndash; [[ArchWiki:Maintainers|ArchWiki Maintainers]]<br />
* [[User:Skydiver|Skydiver]] &ndash; [[Special:Contributions/Skydiver|贡献]] &ndash; [[Special:EmailUser/Skydiver|Send Email]] &ndash; [[ArchWiki:Maintainers|ArchWiki Maintainers]]<br />
* [[User:Alswl|Alswl]] &ndash; [[Special:Contributions/Alswl|贡献]] &ndash; [[Special:EmailUser/Alswl|Send Email]]<br />
* [[User:Reverland|Reverland]] &ndash; [[Special:Contributions/Reverland|贡献]] &ndash; [[Special:EmailUser/Reverland|Send Email]]<br />
* [[User:Cuihao|cuihao]] &ndash; [[Special:Contributions/Cuihao|贡献]] &ndash; [[Special:EmailUser/Cuihao|Send Email]]<br />
* [[User:Cael|Cael]] &ndash; [[Special:Contributions/Cael|贡献]] &ndash; [[Special:EmailUser/Cael|Send Email]]</div>Micy1985https://wiki.archlinux.org/index.php?title=ArchWiki:Translation_Team_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=230817ArchWiki:Translation Team (简体中文)2012-10-23T13:24:11Z<p>Micy1985: /* 页面维护列表 */</p>
<hr />
<div>[[Category:简体中文]]<br />
[[Category:ArchWiki (简体中文)]]<br />
[[en:ArchWiki Translation Team]]<br />
[[es:ArchWiki Translation Team]]<br />
[[hr:ArchWiki Translation Team]]<br />
[[it:ArchWiki Translation Team]]<br />
[[pl:ArchWiki Translation Team]]<br />
[[tr:ArchWiki_Çeviri_Ekibi]]<br />
Arch Wiki 上有许多中文页面,这些页面是无数中文志愿者劳动的结晶。随着时间推移,有些页面因为没有及时维护,内容严重过时。而目前的翻译工作缺少组织,效率偏低。所以参照西班牙和意大利翻译组的做法,添加这个页面。<br />
<br />
如果希望进行翻译和维护,只需要编辑下面的[[#页面维护列表]],将自己加为页面的维护者。如果列表中还没有要认领翻译的页面,请自行添加。如果因为时间原因无法再维护页面,请及时将自己从维护者列表中删除。<br />
<br />
== 创建翻译 ==<br />
{{注意|如果不准备翻译页面的大部分内容,请尽量不要新建简体中文页面。检查英文页面的更新需要花费不少精力,没有翻译的页面会增加维护负担。}}<br />
# 如果还不知道如何编辑 wiki,请阅读 [[Help:Editing (简体中文)|编辑帮助]]。<br />
# 阅读 [[Help:i18n (简体中文)|i18n帮助]],文章给出了 ArchWiki 国际化和本地化的指南。<br />
# [[Special:UserLogin |登录]] 以进行编辑。<br />
# 选择要翻译的页面,例如从 [[Special:Random|随机页面]] 或[[#页面维护列表 | 页面维护列表]] 中选择一个未翻译完成的页面。假设要翻译 [[Some Page]].<br />
# 进入选择的英文页面,点击页面顶部的 '''编辑'''。<br />
# 添加要翻译文件的语言间链接 (参见[[Help:i18n#Interlanguage links]])。<br />
# 复制所有页面代码。<br />
# 保存页面 (新加了语言链接)<br />
# 访问页面右边新添加的语言链接,应该会进到 [[Some Page (简体中文)]] : {{ic|<nowiki>https://wiki.archlinux.org/index.php/Some_Page_(</nowiki>''简体中文'')}}<br />
# 因为页面不存在,点击 '''创建'''。<br />
# 将显示一个编辑器 - 粘贴复制的英文页面。<br />
# 将文章分类修改为本地化版本,例如将 {{ic|<nowiki>[[Category:Internationalization]]</nowiki>}} 修改为 {{ic|<nowiki>[[Category:Internationalization (简体中文)]]</nowiki>}}<br />
# 修改语言间链接,指向英文页面(将 {{ic|zh-CN}} 修改为 {{ic|en}},并将英文页面移到文章顶部。<br />
# 翻译页面,进行保存。<br />
# (推荐)给翻译完成的页面加上[[Template:TranslationStatus (简体中文)|翻译状态]],后有详细介绍。<br />
# 更新所有其它语言页面,加入刚翻译文章的语言间链接。<br />
# (可选)创建一个简体中文名称的页面,指向新创建的页面:访问 {{ic|<nowiki>https://wiki.archlinux.org/index.php/</nowiki>''页面的中文名称''}}.<br />
# (可选)建立新页面,并加入:{{bc|<nowiki>#REDIRECT [[Some Page (简体中文)</nowiki>]]}}<br />
<br />
== 完善翻译 ==<br />
[https://wiki.archlinux.org/index.php?title=Special:WhatLinksHere/Template:Translateme_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&limit=100 这个页面] 包含了需要完善翻译的简体中文页面。完善翻译的基本步骤:<br />
# 选择自己比较熟悉的文章进行翻译<br />
# 先检查英文页面的对应段落,更新成最新的英文后再翻译,避免翻译过时的内容,减少信息遗漏。<br />
# 翻译完成后删除页面中的 <nowiki>{{translateme (简体中文)}}</nowiki> 标记<br />
# (推荐)给翻译完成的页面加上[[Template:TranslationStatus (简体中文)|翻译状态]],后有详细介绍。<br />
<br />
== 维护翻译 ==<br />
完成页面的翻译只是初步完成任务,即时同步英文页面改动、更新翻译是一个持续性的工作,可能会耗费更多的时间。<br />
<br />
=== 页面认领 ===<br />
所有人都可以认领页面。认领后的责任包括进行翻译,关注英文页面的改动,及时同步翻译。<br />
<br />
为了更好的跟踪英文页面的修改,请务必在设置中启用监视列表邮件通知,并监视对应的英文页面(从设置中找到监视列表,加入英文页面。或者直接到英文页面点击页面顶端的监视标签。这样只要有改动,就会收到邮件通知)。<br />
<br />
{{小贴士|如果收到邮件通知后没有访问页面或者访问了页面却没有登录用户,下次页面改动时就不会再发邮件通知。可以点击监视列表中的'''标记所有页面为已读'''再次获取更新。}}<br />
<br />
如果页面有维护者但长期得不到更新,将会在维护列表中删除维护者。<br />
<br />
=== 发现过期页面怎么办? === <br />
如果发现有 Wiki 页面过期或错误:<br />
* 小的改动,有时间可以立即进行修改同步,维护者并不控制页面的编辑权限,越多的人参与维护越好。如果改动较大,请先联系维护者,避免重复劳动。<br />
* 没有时间查看更改,请给页面加上 {{ic|<nowiki>{{out of date}}</nowiki>}} 模版,这样其他贡献者更容易发现需要更新的页面,而读者看到过期标记就可以直接查看英文页面,以免被错误内容误导,白白耽误时间。<br />
* 没有时间翻译,请将过期的中文部分删去,从英文页面中复制更改的部分到中文页面的相应部分,去掉{{ic|<nowiki>{{out of date}}</nowiki>}}模板(如果页面上有的话)并加上{{ic|<nowiki>{{translateme (简体中文)}}</nowiki>}}模板,这样其他贡献者就更容易发现需要翻译的页面,而读者也不会被过期的内容误导。<br />
如果发现有页面未翻译:<br />
* 有时间的话,请将页面中的英文部分翻译为中文,并去掉{{ic|<nowiki>{{translateme (简体中文)}}</nowiki>}}模板。<br />
* 没有时间翻译,请为页面添加{{ic|<nowiki>{{translateme (简体中文)}}</nowiki>}}模板,这样其他的贡献者就能更容易发现需要翻译的页面。<br />
{{注意|在修改页面上的模板时,请同时更新页面维护列表的翻译状态。}}<br />
<br />
=== 翻译状态模板 ===<br />
Arch 作为滚动发行版,软件变化比较快,对应的文档变化也比较快。许多翻译的文章由于缺乏更新,会产生命令运行出错或不起作用等问题。而由于这些过期页面没有及时标记出来,所以用户无法及时获得更新。[[Template:TranslationStatus (简体中文)|翻译状态模板]]就是为了解决这个问题而创建。<br />
<br />
此模板可以起到如下作用:<br />
* 为用户提供翻译状况,包括翻译时间、英文页面的最后版本等<br />
* 用户可以点击查看翻译后,英文页面的改动,这样英文不是很好的用户可以只查看很小一部分英文内容,并判断出是否影响操作。<br />
* 翻译人员可以跟踪页面状况,通过[https://wiki.archlinux.org/index.php/Special:WhatLinksHere/Template:TranslationStatus_(简体中文) 模板的反向链接]可以查找到所有标记页面,查看需要更新翻译的部分。<br />
<br />
[[Template:TranslationStatus (简体中文)|模板页面]]有详细的使用方法。<br />
<br />
=== 页面维护列表 ===<br />
{{注意|请按照拉丁字母顺序添加页面。}}<br />
翻译状态说明:<br />
;过期:页面内容未与英文页面同步,对应{{ic|<nowiki>{{out of date}}</nowiki>}} 模版<br />
;未翻译:页面中含有英文内容,对应{{ic|<nowiki>{{translateme (简体中文)}}</nowiki>}}模板<br />
;完成:页面已与英文页面同步<br />
{| class="wikitable sortable collapsible" border="1"<br />
|-<br />
! 页面<br />
! 翻译状态<br />
! 维护者<br />
! class="unsortable" width="30%" | 备注<br />
|-<br />
| [[acpid (简体中文)]]<br />
| 完成<br />
| Cael<br />
| 无<br />
|-<br />
| [[ACPI hotkeys (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[ACPI modules (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Activating Numlock on Bootup (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Ad-hoc networking (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Advanced Linux Sound Architecture (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[AHCI (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Allow Users to Shutdown (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[aMule (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Android (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Apache, suEXEC and Virtual Hosts (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Arch Based Distributions (Active) (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Arch Build System (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[ArchWiki:About (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[ATI (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[AUR Helpers (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Avant Window Navigator (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[awesome (简体中文)]]<br />
| 进行中<br />
| Cael<br />
| 无<br />
|-<br />
| [[Bash (简体中文)]]<br />
| 完成<br />
| Jaurung<br />
| 无<br />
|-<br />
| [[Bumblebee (简体中文)]]<br />
| 完成<br />
| Peter<br />
| 无<br />
|-<br />
| [[AMD Catalyst (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Common Applications (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Compiz (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Configuring Network (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Creating Packages (简体中文)]]<br />
| 完成<br />
| Cael<br />
| 无<br />
|-<br />
| [[Disabling IPv6 (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Downgrading Packages (简体中文)]]<br />
| 完成<br />
| Cael<br />
| 无<br />
|-<br />
| [[Emacs (简体中文)]]<br />
| 翻译中<br />
| Jaurung<br />
| 未完成<br />
|-<br />
|-<br />
| [[Font Configuration (简体中文)]]<br />
| 翻译中<br />
| Jaurung<br />
| 完善中<br />
|-<br />
| [[Fonts (简体中文)]]<br />
| 翻译中<br />
| zhangwen<br />
| 完善中<br />
|-<br />
| [[Fstab (简体中文)]]<br />
| 完成<br />
| Fengchao<br />
| 无<br />
|-<br />
| [[GRUB (简体中文)]]<br />
| 翻译中<br />
| 无<br />
| 无<br />
|-<br />
| [[Help:Style (简体中文)]]<br />
| 完成<br />
| Fengchao<br />
| 无<br />
|-<br />
| [[IBus (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Improve_Pacman_Performance_(简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Kernel Compilation (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Kernel Compilation/Arch Build System (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Laptop Mode Tools (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[LibreOffice (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Local Mirror (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Makepkg (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[mkinitcpio (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Network Time Protocol daemon (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 部分未翻译<br />
|-<br />
| [[Official Repositories (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Openbox (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[OpenOffice (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Pacman (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Pacman GUI Frontends (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[pacman Tips (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[Pidgin (简体中文)]]<br />
| 进行中<br />
| Cael<br />
| 无 <br />
|- <br />
| [[Plasma (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|- <br />
| [[Polipo (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无 <br />
|-<br />
| [[Python (简体中文)]]<br />
| 完成<br />
| Fengchao<br />
| 无 <br />
|-<br />
| [[Smart Common Input Method platform (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Common Applications/Science (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Secure Shell (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 部分未翻译<br />
|-<br />
| [[Systemd (简体中文)]]<br />
| 完成<br />
| cuihao<br />
| 无<br />
|-<br />
| [[TeXLive (简体中文)]]<br />
| 未翻译<br />
| 无<br />
| 无<br />
|-<br />
| [[Vim (简体中文)]]<br />
| 完成<br />
| 无<br />
| 无<br />
|-<br />
| [[VMware (简体中文)]]<br />
| 过期<br />
| 无<br />
| 无<br />
|-<br />
| [[Wine (简体中文)]]<br />
| 完成<br />
| cuihao<br />
| 无<br />
|-<br />
| [[Xscreensaver (简体中文)]]<br />
| 完成<br />
| liuyix<br />
| 无<br />
|-<br />
| [[Xmonad (简体中文)]]<br />
| 未翻译<br />
| Rns<br />
| 翻译中<br />
|}<br />
<br />
== 贡献列表 ==<br />
为翻译做出贡献的用户请加入列表,感谢所有人做出的贡献。<br />
* [[User:Fengchao|Fengchao]] &ndash; [[Special:Contributions/Fengchao|贡献]] &ndash; [[Special:EmailUser/Fengchao|Send Email]] &ndash; [[ArchWiki:Maintainers|ArchWiki Maintainers]]<br />
* [[User:Skydiver|Skydiver]] &ndash; [[Special:Contributions/Skydiver|贡献]] &ndash; [[Special:EmailUser/Skydiver|Send Email]] &ndash; [[ArchWiki:Maintainers|ArchWiki Maintainers]]<br />
* [[User:Alswl|Alswl]] &ndash; [[Special:Contributions/Alswl|贡献]] &ndash; [[Special:EmailUser/Alswl|Send Email]]<br />
* [[User:Reverland|Reverland]] &ndash; [[Special:Contributions/Reverland|贡献]] &ndash; [[Special:EmailUser/Reverland|Send Email]]<br />
* [[User:Cuihao|cuihao]] &ndash; [[Special:Contributions/Cuihao|贡献]] &ndash; [[Special:EmailUser/Cuihao|Send Email]]<br />
* [[User:Cael|Cael]] &ndash; [[Special:Contributions/Cael|贡献]] &ndash; [[Special:EmailUser/Cael|Send Email]]</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=230811AMD Catalyst (简体中文)2012-10-23T13:12:21Z<p>Micy1985: /* 在1920x1080分辨率下不能全屏 */</p>
<hr />
<div>[[Category:Graphics (简体中文)]]<br />
[[Category:X Server (简体中文)]]<br />
{{TranslationStatus (简体中文)|AMD_Catalyst|2012-10-21|229195}}<br />
"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs完全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx 显卡驱动分开开发,因此在你选择何种安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用普通Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的普通Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上面对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败和丢失Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make脚本, 最好换一名称保存。否则将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
通过访问{{ic|/etc/ati/amdpcsdb}}文件它几乎能配置显卡的各项参数。了解完整的配置选项{{ic|aticonfig}}可运行:<br />
<br />
# aticonfig --help | less<br />
<br />
{{警告|在将各项配置参数提交到/etc/X11/xorg.conf之前使用--output选项,/etc/X11/xorg.conf.d中的所有内容都会被覆盖。}}<br />
<br />
{{注意|如果坚持使用xorg.conf.d下的新配置文件:为了让Device section与{{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}相匹配,在{{ic|aticonfig}}后追加''--output''。但这有一个缺点,很多依赖xorg.conf的{{ic|aticonfig}}选项都无法使用。}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,但不同Xorg版本的默认参数可能会有所不同,最好明确指定一些参数.<br />
<br />
给一个示例配置 (注意) '''仅供参考'''. 标'#'必须有,标'##'很可能会用到:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{注意|一旦升级Catalyst就要通过后面的方法删除'''amdpcsdb'''文件: 关闭X,删除{{ic|/etc/ati/amdpcsdb}},启动X然后运行{{ic|amdcccle}} -否则amdcccle将会显示错误的Catalyst版本号}}<br />
<br />
''更多信息参考[http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== 启动时加载模块 ====<br />
不同的初始化系统(SysVinit和systemd)的设置方式不一样,但无论哪一种,都得在{{ic|/etc/modprobe.d/modprobe.conf}}禁用''radeon''。具体可参见[[Modprobe|blacklisting in this article]]. '''通过Arch官方安装Catalyst则无需此步骤,安装包会自动处理'''。<br />
<br />
{{注意|强烈推荐使用systemd进行系统初始化,因为最新Arch安装镜像已默认使用systemd,通过rc.conf设置系统启动服务迟早会遭淘汰}}。<br />
<br />
===== 在使用systemd上 =====<br />
* 删除{{ic|/etc/modules-load.d/}}下任何名称包含{{ic|radeon}}的文件若该文件中含有其他多个模块,则只删除radeon)。<br />
* 在{{ic|/etc/modules-load.d/}}的现有文件中添加{{ic|fglrx}}或新建含有该行的文件。<br />
<br />
===== 在使用SysVinit上 =====<br />
编辑{{ic|/etc/rc.conf}}:<br />
* 自MODULES中删除{{ic|radeon}}。<br />
* 在MODULES中添加 {{ic|fglrx}}。<br />
<br />
{{注意|若使用AGP接口的显卡还需添加''agp''。}}<br />
<br />
==== 禁用KMS ====<br />
<br />
由于Catalyst根本不使用[[KMS]],得将其禁用。否则,当系统切换至tyy或在桌面环境下关机时,系统可能会冻结。<br />
<br />
若使用[[GRUB Legacy|GRUB Legacy]],在{{ic|menu.lst}}添加{{ic|nomodeset}}给内核参数,如:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
若使用[[GRUB2|GRUB 2]],在{{ic|/etc/default/grub}}添加''nomodeset''给内核参数,如:<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
然后以root身份运行;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
若使用[[Syslinux|Syslinux]],在{{ic|/boot/syslinux/syslinux.cfg}}添加''nomodeset''到{{ic|APPEND}}行,如:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== 检查安装是否成功 ====<br />
<br />
重启电脑并登录, 运行下列命令可查看fglrx是否正确运行:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
若两者均有输出, 安装成功。进行桌面环境并运行以下命令检查直接渲染模式是否启用:<br />
<br />
$ glxinfo | grep direct<br />
<br />
若显示"direct rendering: yes",恭喜你,到位了! 若无glxinfo命令,安装{{Pkg|mesa-demos}} package。<br />
<br />
{{警告|最近几版Xorg,库函数路径变了,因此即使安装{{ic|libGL.so}}也不一定能正确人加载。请检查GL是否工作,可阅读"Troubleshooting"段落}}<br />
<br />
若有问题,参阅[[#Troubleshooting]].<br />
<br />
=== 自我编译内核 ===<br />
<br />
在手动编译的内核上,你必须构建你自己{{ic|catalyst-$kernel}}包.<br />
<br />
如果你讨厌打包或毫无经验,可先阅读[[ABS]]。<br />
<br />
#从[[AUR|Catalyst]]上获取{{ic|PKGBUILD}} 和 {{ic|catalyst.install}}文件。<br />
# 编辑PKGBUILD. 两个地方需要修改:<br />
## 将{{ic|1=pkgname=catalyst}} 修改为 {{ic|1=pkgname=catalyst-$kernel_name}},$kernel_name可以随意取(如:custom, mm)。<br />
## 将{{ic|linux}}的依赖修改为{{ic|$kernel_name}}。<br />
# 构建并安装软件包;运行{{ic|makepkg -i}} 和 {{ic|makepkg}},接着运行 {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{注意|如果在安装有多内核的系统上,你必须为所有内核安装Catalyst-utils包。这不会引起冲突}}<br />
<br />
{{注意|Catalyst-generator能为你自动构建catalyst-{kernver},因此这些步骤根本就可省略。 请参考[[#Tools| Tools section]].}}<br />
<br />
== Xorg软件库 ==<br />
Catalyst由于其缓慢的更新而被人大为诟病。因升级Xorg而造成两者不兼容是稀松平常的事。也就意味着Catalyst用户要么不升级Xorg要么使用一个只包含Xorg包的回溯软件库,该库中不提供更新版Xorg以确保兼容性。 Vi0L0提供好几个这样的库. <br />
<br />
若想让pacman更新其他软件而不更新Xorg,查看[[pacman|skip package from being upgraded]]。不更新的软件是:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
若要使用这类软件库,在{{ic|/etc/pacman.conf}}的所有库(甚至Catalyst)前面添加下面中的一个 。<br />
<br />
===[xorg112]===<br />
截止目前,当前Catalyst 不支持1.13。<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
低于 12.6的Catalyst不支持xorg-server 1.12。<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== 工具 ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook]是一个针对[[mkinitcpio|mkinitcpio]]的钩子。'''跟 catalyst-dkms一样''',每当内核更新时,它会自动升级fglrx模块。在更新fglrx之前,它会尝试更新{{Pkg|linux-headers}}。<br />
<br />
当更新内核时,钩子会调用''catalyst_build_module''命令来更新fglrx模块以使两者相匹配。此外,它还可调用''catalyst_build_module remove''来删除不需要的旧flgrx模块<br />
<br />
{{注意|若使用此功能,'''一定要''' 关注的内核的安装提示,Catalyst-hook会显示是否一切顺利。}}<br />
<br />
{{注意|若是'''自编译内核'''且使用'''非标准的mkinitcpio配置文件'''(如:linux-zen使用/etc/mkinitcpio-zen.conf),那必须在你非标准的配置文件中添加'''fglrx'''至 HOOKS行,以便当内核更新时能自动重新编译。}}<br />
<br />
{{注意|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator]包能构建并安装fglrx模块,该模块与pacman兼容 的catalyst-${内核版本}相适应。与Catalyst-hook的区别是必须手动使用此命令,而Catalyst-hook则不需。<br />
<br />
通过[[makepkg]],它能构建catalyst-${内核版本}二进制包并用[[pacman]]安装。<br />
<br />
非特权用户使用{{ic|catalyst_build_module}}来构建并安装catalyst-${内核版本}包。安装时会提示输入root密码。<br />
<br />
简单说一下如何使用此包:<br />
<br />
# root用户: 使用{{ic|catalyst_build_module remove}}。此举会删除无用的{{ic|catalyst-{kernver} }}包。<br />
# 非特权用户: 使用{{ic|catalyst_build_module ${内核版本}}}, ${内核版本}是指升级过后的内核版本。也可通过{{ic|catalyst_build_module all}}为所有安装的内核构建catalyst-${内核版本}。<br />
# 若要删除{{ic|catalyst-generator}}, 在使用{{ic|catalyst_build_module remove_all}}命令删除catalyst-generator之前最好切换到root用户,'''这会删除得极为彻底。'''<br />
<br />
当删除Catalyst-generator时,Catalyst-generator不能自动删除那些catalyst-{内核版本}包,这是因为pacman不允许有一个以上的实例同时运行。若在使用{{ic|pacman -R catalyst-generator}}前忘记运行{{ic|catalyst_build_module remove_all}}, catalyst-generator将会询问删除catalyst-generator自身后要删除哪个catalyst-{内核版本}包。<br />
<br />
{{注意|在构建catalyst-{内核版本}时,若看到下列警告,乃正常情况,不必莫名惊诧:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension}}<br />
<br />
=== Catalyst-daemon ===<br />
{{警告|由于systemd与普通initscript daemons不兼容,所以systemd用户不能使用此工具。}}<br />
<br />
每次启动时,[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon]守护进程会检查内核是否更新过。若更新过,它会重建fglrx模块;若没有,则加载前次构建的模块。在2.4 GHz CPU电脑上,整个过程只需20ms。<br />
<br />
Catalyst-daemon的自动重新编译功能是通过一个叫''autofglrx''的初始化脚本实现的。Autofglrx的检查方式为比较启动内核(由{{ic|uname -v}}提供)和使用当前fglrx模块内核的构建时间。之所以能这样比较,是因为编译时,它将{{ic|uname -v}}的信息添加到fglrx模块描述里。<br />
<br />
重构过程中,autofglrx会调用''catalyst_build_module''构建模块,调用''catalyst_build_module remove''删除老旧无用的fglrx模块。运行后,它并不会一直驻留在系统内存。<br />
<br />
{{注意|安装autofglrx后,在{{ic|/etc/rc.conf}}将{{ic|autofglrx}}添加到{{ic|DAEMONS}}。要将它放在DM(显示管理器)之前(若是通过此配置运行DM)并且'''不要'''在后台运行(不能在其前添加@符号)。}}<br />
<br />
{{注意|若使用'''你自己的编译标识'''导致此工具有问题 - 请将你的标识写入/usr/bin/catalyst_build_module文件。}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
在'''Catalyst 11.1'''中,很可能是添加了三重缓存和v-sync,''Tear Free Desktop''减少了2D,3D视频应用的屏幕撕裂毛病。但这需要额外的GPU处理。<br />
<br />
要启用'Tear Free Desktop',运行{{ic|amdcccle}},然后设置{{ic|Display Options}} → {{ic|Tear Free}}。<br />
<br />
或以root身份运行:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
若禁用,使用{{ic|amdcccle}}或以root身份运行:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== 视频加速 ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)'''是为基于Linux/UNIX操作系统提供利用GPU加速视频处理的一个开源函数库和应用程序接口规范。启用视频加速后,通过各种入口(VLD, IDCT, Motion Compensation, deblocking)它能加速常用编码标准(MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3)视频文件的解码过程(俗称硬解)。<br />
<br />
VA-API在{{AUR|xvba-video}}上有一个私有后端(2009年10月), 它允许使用VA-API的程序通过[http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)]函数库来充分利用拥有uvd2(第二代通用视频解码单元)芯片组的视频加速功能.<br />
<br />
xvba-video和支持XvBA的软件仍还在开发,'''但在大多数情况下它都能很好的工作'''. 通过AUR构建或直接通过[community]安装{{AUR|xvba-video}}包,并安装{{Pkg|mplayer-vaapi}} and {{Pkg|libva}}。然后将视频播放器的视频输出设置为vaapi:gl:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
此选项可添加到mplayer的配置文件,参考[[MPlayer]]。<br />
<br />
针对 '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{注意|如果启用了Tear Free Desktop,则按下列步骤:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
若视频输出中没有'''vaapi:gl'''选项 - 可使用:<br />
'''vaapi''', '''vaapi:gl2''' or 简单的 '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
针对 '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
它有助于在'''amdcccle'''中启用v-sync:<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{注意|若使用'''Compiz/KWin''',消除'''画面抖动'''的唯一方法就是切换至'''全屏'''并且 '''关闭Redirected Fullscreen'''。<br />
<br />
使用'''compiz''',需在ccsm的General Options中设置'''Redirected Direct Rendering'''。若此举无效,则将其关闭。'''KWin'''默认关闭此功能,若出现画面抖动则通过System Settings → Desktop Effects → Advanced将"Suspend desktop effects for fullscreen windows"开启或关闭。}}<br />
<br />
=== 显卡/显存频率, 温度, 风扇转速, 超频工具 ===<br />
<br />
{{ic|$ aticonfig --od-getclocks}}可以获知当前显卡/显存频率。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}可以获知风扇转速(显卡);<br />
<br />
{{ic|$ aticonfig --odgt}}可以获知显卡温度。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}}可以设置风扇转速,其中查询索引50代表速度百分比。<br />
<br />
若超频或与之相反,则使用图形工具反而相对容易些,如需要qt的'''ATi Overclocking Utility'''。<br />
<br />
i686版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here];x86_64版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]。下载后直接运行。<br />
更复杂'''AMDOverdriveCtrl'''也能达到此目的,它的主页是[http://sourceforge.net/projects/amdovdrvctrl here]。可通过[https://aur.archlinux.org/packages.php?ID=45298 AUR]或Vi0L0's非官方软件库构建安装包。<br />
<br />
=== 双屏显示 ===<br />
<br />
==== 介绍 ====<br />
<br />
{{警告|由于安装方式的不同,并且每种安装方式需要与其相对应进行配置,因此设置双屏显示并没有特定的解决办办法。这也是你必须根据你自己的需要采用相应步骤的原因。当然可以多尝试几种方法。'''所以,在修改之前,将你的配置保存到{{ic|/etc/X11/xorg.conf}},以便遇到问题是你可以从命令行恢复。'''}}<br />
<br />
* 本节讲述如何配置"BIG Desktop"效果。主要是不同尺寸的屏幕如何通过两个不同的输出接口(DVI + HDMI)共享一个显卡。<br />
<br />
* Xinerama解决办法有些不便,尤其是不能与XrandR兼容。因为XrandR对于我们所讲的来说是必须的,所以不使用Xinerama。<br />
<br />
* 双头显示能让你有两个不同的会话(一个屏幕一个)。你可以随心所欲地干任何事情,但不能将窗口从一个屏幕移动到另一个屏幕。若只有一个屏幕,你得在Xorg会话里为Server Layout section的每个会话定义鼠标,具体方法查看:<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
ATI的图形工具非常有用,我们将尽可能地使用它。运行下面命令可启用它:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{警告|'''千万不要'''直接使用sudo。 Sudo虽能给予管理员权限,却使用用户账户的信息(如环境变量)。GNOME下使用''gksu'',KDE下使用''kdesu''。}}<br />
<br />
==== 安装 ====<br />
<br />
开始之前,确保你的硬件接插正确,电源开启,而且你得你的硬件属性(2D还是3D屏,屏幕尺寸,刷新率等)。通常情况下,在启动阶段两个显示器都会被识别却不需正确区分先后顺序,而是依赖热插拔功能。尤其在不使用({{ic|/etc/X11/xorg.conf}})配置时。<br />
<br />
首先要让你的桌面环境和X认识你的显示器。为此,要为你两个显示器生成基本的Xorg配置文件:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
或<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{注意|{{ic|overlay}}非常重要,因为它能让两个显示器拥有1种(多种)像素。<br />
{{提示|运行{{ic|aticonfig --help}}了解所有可用的命令。}}<br />
<br />
现在可编辑基本的Xorg配置文件(如:添加分辨率)。分辨率一定要正确,尤其是使用不同尺寸的显示器。分辨率在"Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
这以后就不需手动编辑{{ic|xorg.conf}},而ATI的图形化工具。重启X,确保正确支持两个显示器和识别屏幕分辨率(两个屏幕相互独立而不是完全一样。<br />
<br />
==== 设置 ====<br />
<br />
现在只需以root身份启动ATI控制中心,在显示菜单设置你需要的选项(下拉菜单中的小箭头)。设置好后重启X就大功造成(你和我都可松口气了,这段翻译有点难度,呵呵)!<br />
<br />
重启X之前,不要忘了核实{{ic|xorg.conf}}。主要是核实"Display"下的"Screen"节, 在"Virtual"行里,两个显示器的分辨率应该一样。"Server Layout"节则是剩下的参数。<br />
<br />
== 故障排除 ==<br />
若能启动到命令行,问题很可能出在{{ic|/etc/X11/xorg.conf}}<br />
<br />
可阅读{{ic|/var/log/Xorg.0.log}}或通过下列命令查找线索:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
若看不懂显示的是什么东东,可将其提交到[http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]论坛,注意要提交两者显示的信息。<br />
<br />
=== 在Wine上3D应用冻结 ===<br />
若在Wine上3D应用挂起,禁用TLS。使用{{ic|aticonfig}}或编辑{{ic|/etc/X11/xorg.conf}}。使用{{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
或以root身份打开{{ic|/etc/X11/xorg.conf}},在''Device''段添加{{ic|Option "UseFastTLS" "off"}}。<br />
<br />
只需来个二选一,然后重启X让其生效。<br />
<br />
=== 视频颜色不正常 ===<br />
<br />
仍然使用{{ic|vaapi:gl}}来防止画面抖动,但这样不会有视频加速:<br />
<br />
* 不使用{{ic|-vo vaapi}}运行'''mplayer'''。<br />
<br />
* 若是'''smplayer''',在Options → Preferences → Advanced → Options for MPlayer → Options:中删除{{ic|-vo vaapi}}。<br />
<br />
此后还可以启动'''smplayer'''的截屏功能。<br />
<br />
=== KWin and composite ===<br />
<br />
根据你的显卡,在OpenGL和XRender渲染方式中选择一种更快的。在某些情况下,XRender还可以解决一些人为的错误。<br />
<br />
=== 重启或启动x后,黑屏并且一直不退出 ===<br />
<br />
检查在启动加载器的内核参数行是否添加了'''nomodeset'''(参考 [[#Disable kernel mode setting]])。<br />
<br />
==== 错误的ACPI硬件调用 ====<br />
出现此种错误很可能是fglrx模块与系统的ACPI硬件调用配合不够默契而自身禁用,屏幕也就不会有输出。<br />
<br />
果真那样,运行:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== 注销后KDM消失 ===<br />
<br />
若使用Catalyst,当注销后你会获取tty1这个控制台而不是KDM的欢迎界面。每次注销后你必须让kdm重启X服务器:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
将标题为{{ic|[X-:*-Core]}}段里下面行前的注释删掉:<br />
<br />
TerminateServer=True<br />
<br />
当前注销KDE后KDM就会出现。<br />
<br />
=== 直接渲染无效 ===<br />
<br />
{{警告|在安装或升级catalyst后却没重启系统,也有可能出现此种错误,因为系统需要加载fglrx.ko模块来让驱动正常工作。}}<br />
若直接渲染有问题,运行:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
从此命令输出的第一行至末尾都与直接渲染无效有关,且非常详细。<br />
<br />
常见错误提示和解决办法:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* 若使用AGP的芯片组,确保加载fglrx模块之前加载正确的agp模块。要确定哪些agp模块,先运行{{ic|hwdetect --show-agp}},若使用SysVinit,则将之前命令所列的模块名称添加到rc.conf的{{ic|1=MODULES=}}行(若有fglrx, 则要全位于fglrx'''之前''');否则,打开{{ic|/etc/modules-load.d}}下的{{ic|fglrx.conf}},将agp模块添加到fglrx行'''之前'''。<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* 某些软件未正确安装。在错误提示中,若路径为{{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}},彻底注销,然后重新登录。若使用图形化的登录管理器(gdm, kdm, xdm),确保每次登录时{{ic|/etc/profile}}都会被读取。将{{ic|source /etc/profile}}添加到{{ic|~/.xsession}}或{{ic|~/.xinitrc}}通过都达到以上目的(不同的登录管理器修改的文件不一样)。<br />
<br />
* 若路径为{{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}},试着重装{{ic|catalyst}}包。<br />
<br />
若错误信息为:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
可能是因为系统装了多个版本的{{ic|libGL.so}},运行:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
结果如下:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
系统应只有3个libGL.so文件,若不止(例如{{ic|/usr/X11R6/lib/libGL.so.1.2}}),则将其删除。<br />
<br />
若使用X11R7且系统中有下列文件,系统并不会给出任何错误提示,一定要将他们删除:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== 休眠问题 ===<br />
<br />
==== 视频播放不能从休眠状态中恢复 ====<br />
<br />
若启动了framebuffer,Catalyst不能从挂机状态中恢复。在内核参数选项中添加'''vga=0'''可禁用framebuffer。如在Grub Legacy的{{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
其他加载器,参考[[#Disable kernel mode setting]]。<br />
<br />
=== 系统冻结或硬件锁死 ===<br />
<br />
* 过去,{{ic|radeonfb}}的framebuffer驱动很容易导致这个问题。若内核编译时启用对radeonfb的支持,应换内核看是否能解决此问题。<br />
<br />
* 若退出桌面环境(关机、挂机和切换到tty等)时系统冻结,很可能忘记禁用KMS。(参见 [[#Disable kernel mode setting]])<br />
<br />
=== 硬件冲突 ===<br />
<br />
当和某些版本的nForce3芯片组一起使用时,Radeon不能3D加速。目前虽还未找到具体原因,但有资料表明: indicate that it may be possible to get acceleration with this combination of hardware by booting with the drivers from 先用nVIDIA驱动启动到Windows然后再重启系统就可能获得3D加速。在root控制台使用下列命令可识别此问题:<br />
<br />
$ dmesg | grep agp<br />
<br />
与下列相似(使用基于nForce3系统)的输出:<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
或以下命令...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...与下面相似的输出:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
则就有问题。<br />
<br />
有些资料说在某些情形下降级主板的BIOS可能有助于解决问题,但注意此方法并不是在各种情况下都适用,而且'''方法不对则很可能让显卡报废。'''<br />
<br />
参考[http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport]。<br />
<br />
=== 播放视频时系统短时间死机 ===<br />
<br />
使用Catalyst可导致此问题。<br />
<br />
当用mplayer,若不定时出现几秒到几分钟的死机。查看 /var/log/messages.log,若有与下面相似的信息:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
给内核参数添加nopat,至少在我的电脑上此方法适用。<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
若运行:<br />
<br />
# sudo aticonfig --initial<br />
<br />
输出:<br />
<br />
aticonfig: No supported adaptaters detected<br />
但你确实有AMD的显卡(or APU),在{{ic|etc/X11/xorg.conf}}中设置device就可能让Catalyst正常工作。<br />
<br />
在{{ic|/etc/X11/xorg.conf}}将device段设置为:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
此处''****''为设备型号(6870 for the HD 6870的显卡为6870,APU E-350为6310,通过网络是很容易查到的).<br />
<br />
Xorg启动后很可能使用{{ic|amdcccle}}而不是{{ic|aticonfig}}。这里会有一个"AMD不支持硬件"水印。<br />
<br />
用下面脚本可将此水印删除:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
然后重启。<br />
<br />
=== 让chromium支持WebGL ===<br />
<br />
在Google的Chromium/Chrome浏览器里,Linux的Catalyst驱动被列入了黑名单。<br />
编辑{{ic|/usr/share/applications/chromium.desktop}}文件,添加{{ic|--ignore-gpu-blacklist}}标识到'''Exec'''行,它看起来应像下面这样:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
也可在终端中用相同的标识运行chromium:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{警告|Catalyst并不支持GL_ARB_robustness扩展,因此一些恶意网站可能使用WebGL对你的显卡发动DoS攻击。参考[http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== 用阿道比(就是Adobe,网友的搞笑翻译)的flashplugin观看flash,画面迟滞或冻结 ===<br />
<br />
将{{ic|/etc/adobe/mms.cfg}}编辑为下面这样(也就是禁用的硬件加速):<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== GNOME3中移动窗口很慢 ===<br />
大多数情况下,此方法有效。<br />
<br />
将下面行添加到{{ic|~/.profile}}或{{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
重启X或操作系统。<br />
<br />
=== 在1920x1080分辨率下不能全屏 ===<br />
<br />
The ATI has scaling by default add this to your xorg.conf(本人无AMD的显卡,因不能验证'''scaling by default'''之意义,实不知如何翻译)<br />
<br />
Option "DPMS" "true"<br />
<br />
在Monitor段,完整例子如下:<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=230810AMD Catalyst (简体中文)2012-10-23T13:11:02Z<p>Micy1985: /* 在1920x1080分辨率下不能全屏 */</p>
<hr />
<div>[[Category:Graphics (简体中文)]]<br />
[[Category:X Server (简体中文)]]<br />
{{TranslationStatus (简体中文)|AMD_Catalyst|2012-10-21|229195}}<br />
"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs完全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx 显卡驱动分开开发,因此在你选择何种安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用普通Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的普通Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上面对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败和丢失Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make脚本, 最好换一名称保存。否则将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
通过访问{{ic|/etc/ati/amdpcsdb}}文件它几乎能配置显卡的各项参数。了解完整的配置选项{{ic|aticonfig}}可运行:<br />
<br />
# aticonfig --help | less<br />
<br />
{{警告|在将各项配置参数提交到/etc/X11/xorg.conf之前使用--output选项,/etc/X11/xorg.conf.d中的所有内容都会被覆盖。}}<br />
<br />
{{注意|如果坚持使用xorg.conf.d下的新配置文件:为了让Device section与{{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}相匹配,在{{ic|aticonfig}}后追加''--output''。但这有一个缺点,很多依赖xorg.conf的{{ic|aticonfig}}选项都无法使用。}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,但不同Xorg版本的默认参数可能会有所不同,最好明确指定一些参数.<br />
<br />
给一个示例配置 (注意) '''仅供参考'''. 标'#'必须有,标'##'很可能会用到:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{注意|一旦升级Catalyst就要通过后面的方法删除'''amdpcsdb'''文件: 关闭X,删除{{ic|/etc/ati/amdpcsdb}},启动X然后运行{{ic|amdcccle}} -否则amdcccle将会显示错误的Catalyst版本号}}<br />
<br />
''更多信息参考[http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== 启动时加载模块 ====<br />
不同的初始化系统(SysVinit和systemd)的设置方式不一样,但无论哪一种,都得在{{ic|/etc/modprobe.d/modprobe.conf}}禁用''radeon''。具体可参见[[Modprobe|blacklisting in this article]]. '''通过Arch官方安装Catalyst则无需此步骤,安装包会自动处理'''。<br />
<br />
{{注意|强烈推荐使用systemd进行系统初始化,因为最新Arch安装镜像已默认使用systemd,通过rc.conf设置系统启动服务迟早会遭淘汰}}。<br />
<br />
===== 在使用systemd上 =====<br />
* 删除{{ic|/etc/modules-load.d/}}下任何名称包含{{ic|radeon}}的文件若该文件中含有其他多个模块,则只删除radeon)。<br />
* 在{{ic|/etc/modules-load.d/}}的现有文件中添加{{ic|fglrx}}或新建含有该行的文件。<br />
<br />
===== 在使用SysVinit上 =====<br />
编辑{{ic|/etc/rc.conf}}:<br />
* 自MODULES中删除{{ic|radeon}}。<br />
* 在MODULES中添加 {{ic|fglrx}}。<br />
<br />
{{注意|若使用AGP接口的显卡还需添加''agp''。}}<br />
<br />
==== 禁用KMS ====<br />
<br />
由于Catalyst根本不使用[[KMS]],得将其禁用。否则,当系统切换至tyy或在桌面环境下关机时,系统可能会冻结。<br />
<br />
若使用[[GRUB Legacy|GRUB Legacy]],在{{ic|menu.lst}}添加{{ic|nomodeset}}给内核参数,如:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
若使用[[GRUB2|GRUB 2]],在{{ic|/etc/default/grub}}添加''nomodeset''给内核参数,如:<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
然后以root身份运行;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
若使用[[Syslinux|Syslinux]],在{{ic|/boot/syslinux/syslinux.cfg}}添加''nomodeset''到{{ic|APPEND}}行,如:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== 检查安装是否成功 ====<br />
<br />
重启电脑并登录, 运行下列命令可查看fglrx是否正确运行:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
若两者均有输出, 安装成功。进行桌面环境并运行以下命令检查直接渲染模式是否启用:<br />
<br />
$ glxinfo | grep direct<br />
<br />
若显示"direct rendering: yes",恭喜你,到位了! 若无glxinfo命令,安装{{Pkg|mesa-demos}} package。<br />
<br />
{{警告|最近几版Xorg,库函数路径变了,因此即使安装{{ic|libGL.so}}也不一定能正确人加载。请检查GL是否工作,可阅读"Troubleshooting"段落}}<br />
<br />
若有问题,参阅[[#Troubleshooting]].<br />
<br />
=== 自我编译内核 ===<br />
<br />
在手动编译的内核上,你必须构建你自己{{ic|catalyst-$kernel}}包.<br />
<br />
如果你讨厌打包或毫无经验,可先阅读[[ABS]]。<br />
<br />
#从[[AUR|Catalyst]]上获取{{ic|PKGBUILD}} 和 {{ic|catalyst.install}}文件。<br />
# 编辑PKGBUILD. 两个地方需要修改:<br />
## 将{{ic|1=pkgname=catalyst}} 修改为 {{ic|1=pkgname=catalyst-$kernel_name}},$kernel_name可以随意取(如:custom, mm)。<br />
## 将{{ic|linux}}的依赖修改为{{ic|$kernel_name}}。<br />
# 构建并安装软件包;运行{{ic|makepkg -i}} 和 {{ic|makepkg}},接着运行 {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{注意|如果在安装有多内核的系统上,你必须为所有内核安装Catalyst-utils包。这不会引起冲突}}<br />
<br />
{{注意|Catalyst-generator能为你自动构建catalyst-{kernver},因此这些步骤根本就可省略。 请参考[[#Tools| Tools section]].}}<br />
<br />
== Xorg软件库 ==<br />
Catalyst由于其缓慢的更新而被人大为诟病。因升级Xorg而造成两者不兼容是稀松平常的事。也就意味着Catalyst用户要么不升级Xorg要么使用一个只包含Xorg包的回溯软件库,该库中不提供更新版Xorg以确保兼容性。 Vi0L0提供好几个这样的库. <br />
<br />
若想让pacman更新其他软件而不更新Xorg,查看[[pacman|skip package from being upgraded]]。不更新的软件是:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
若要使用这类软件库,在{{ic|/etc/pacman.conf}}的所有库(甚至Catalyst)前面添加下面中的一个 。<br />
<br />
===[xorg112]===<br />
截止目前,当前Catalyst 不支持1.13。<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
低于 12.6的Catalyst不支持xorg-server 1.12。<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== 工具 ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook]是一个针对[[mkinitcpio|mkinitcpio]]的钩子。'''跟 catalyst-dkms一样''',每当内核更新时,它会自动升级fglrx模块。在更新fglrx之前,它会尝试更新{{Pkg|linux-headers}}。<br />
<br />
当更新内核时,钩子会调用''catalyst_build_module''命令来更新fglrx模块以使两者相匹配。此外,它还可调用''catalyst_build_module remove''来删除不需要的旧flgrx模块<br />
<br />
{{注意|若使用此功能,'''一定要''' 关注的内核的安装提示,Catalyst-hook会显示是否一切顺利。}}<br />
<br />
{{注意|若是'''自编译内核'''且使用'''非标准的mkinitcpio配置文件'''(如:linux-zen使用/etc/mkinitcpio-zen.conf),那必须在你非标准的配置文件中添加'''fglrx'''至 HOOKS行,以便当内核更新时能自动重新编译。}}<br />
<br />
{{注意|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator]包能构建并安装fglrx模块,该模块与pacman兼容 的catalyst-${内核版本}相适应。与Catalyst-hook的区别是必须手动使用此命令,而Catalyst-hook则不需。<br />
<br />
通过[[makepkg]],它能构建catalyst-${内核版本}二进制包并用[[pacman]]安装。<br />
<br />
非特权用户使用{{ic|catalyst_build_module}}来构建并安装catalyst-${内核版本}包。安装时会提示输入root密码。<br />
<br />
简单说一下如何使用此包:<br />
<br />
# root用户: 使用{{ic|catalyst_build_module remove}}。此举会删除无用的{{ic|catalyst-{kernver} }}包。<br />
# 非特权用户: 使用{{ic|catalyst_build_module ${内核版本}}}, ${内核版本}是指升级过后的内核版本。也可通过{{ic|catalyst_build_module all}}为所有安装的内核构建catalyst-${内核版本}。<br />
# 若要删除{{ic|catalyst-generator}}, 在使用{{ic|catalyst_build_module remove_all}}命令删除catalyst-generator之前最好切换到root用户,'''这会删除得极为彻底。'''<br />
<br />
当删除Catalyst-generator时,Catalyst-generator不能自动删除那些catalyst-{内核版本}包,这是因为pacman不允许有一个以上的实例同时运行。若在使用{{ic|pacman -R catalyst-generator}}前忘记运行{{ic|catalyst_build_module remove_all}}, catalyst-generator将会询问删除catalyst-generator自身后要删除哪个catalyst-{内核版本}包。<br />
<br />
{{注意|在构建catalyst-{内核版本}时,若看到下列警告,乃正常情况,不必莫名惊诧:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension}}<br />
<br />
=== Catalyst-daemon ===<br />
{{警告|由于systemd与普通initscript daemons不兼容,所以systemd用户不能使用此工具。}}<br />
<br />
每次启动时,[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon]守护进程会检查内核是否更新过。若更新过,它会重建fglrx模块;若没有,则加载前次构建的模块。在2.4 GHz CPU电脑上,整个过程只需20ms。<br />
<br />
Catalyst-daemon的自动重新编译功能是通过一个叫''autofglrx''的初始化脚本实现的。Autofglrx的检查方式为比较启动内核(由{{ic|uname -v}}提供)和使用当前fglrx模块内核的构建时间。之所以能这样比较,是因为编译时,它将{{ic|uname -v}}的信息添加到fglrx模块描述里。<br />
<br />
重构过程中,autofglrx会调用''catalyst_build_module''构建模块,调用''catalyst_build_module remove''删除老旧无用的fglrx模块。运行后,它并不会一直驻留在系统内存。<br />
<br />
{{注意|安装autofglrx后,在{{ic|/etc/rc.conf}}将{{ic|autofglrx}}添加到{{ic|DAEMONS}}。要将它放在DM(显示管理器)之前(若是通过此配置运行DM)并且'''不要'''在后台运行(不能在其前添加@符号)。}}<br />
<br />
{{注意|若使用'''你自己的编译标识'''导致此工具有问题 - 请将你的标识写入/usr/bin/catalyst_build_module文件。}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
在'''Catalyst 11.1'''中,很可能是添加了三重缓存和v-sync,''Tear Free Desktop''减少了2D,3D视频应用的屏幕撕裂毛病。但这需要额外的GPU处理。<br />
<br />
要启用'Tear Free Desktop',运行{{ic|amdcccle}},然后设置{{ic|Display Options}} → {{ic|Tear Free}}。<br />
<br />
或以root身份运行:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
若禁用,使用{{ic|amdcccle}}或以root身份运行:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== 视频加速 ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)'''是为基于Linux/UNIX操作系统提供利用GPU加速视频处理的一个开源函数库和应用程序接口规范。启用视频加速后,通过各种入口(VLD, IDCT, Motion Compensation, deblocking)它能加速常用编码标准(MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3)视频文件的解码过程(俗称硬解)。<br />
<br />
VA-API在{{AUR|xvba-video}}上有一个私有后端(2009年10月), 它允许使用VA-API的程序通过[http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)]函数库来充分利用拥有uvd2(第二代通用视频解码单元)芯片组的视频加速功能.<br />
<br />
xvba-video和支持XvBA的软件仍还在开发,'''但在大多数情况下它都能很好的工作'''. 通过AUR构建或直接通过[community]安装{{AUR|xvba-video}}包,并安装{{Pkg|mplayer-vaapi}} and {{Pkg|libva}}。然后将视频播放器的视频输出设置为vaapi:gl:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
此选项可添加到mplayer的配置文件,参考[[MPlayer]]。<br />
<br />
针对 '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{注意|如果启用了Tear Free Desktop,则按下列步骤:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
若视频输出中没有'''vaapi:gl'''选项 - 可使用:<br />
'''vaapi''', '''vaapi:gl2''' or 简单的 '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
针对 '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
它有助于在'''amdcccle'''中启用v-sync:<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{注意|若使用'''Compiz/KWin''',消除'''画面抖动'''的唯一方法就是切换至'''全屏'''并且 '''关闭Redirected Fullscreen'''。<br />
<br />
使用'''compiz''',需在ccsm的General Options中设置'''Redirected Direct Rendering'''。若此举无效,则将其关闭。'''KWin'''默认关闭此功能,若出现画面抖动则通过System Settings → Desktop Effects → Advanced将"Suspend desktop effects for fullscreen windows"开启或关闭。}}<br />
<br />
=== 显卡/显存频率, 温度, 风扇转速, 超频工具 ===<br />
<br />
{{ic|$ aticonfig --od-getclocks}}可以获知当前显卡/显存频率。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}可以获知风扇转速(显卡);<br />
<br />
{{ic|$ aticonfig --odgt}}可以获知显卡温度。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}}可以设置风扇转速,其中查询索引50代表速度百分比。<br />
<br />
若超频或与之相反,则使用图形工具反而相对容易些,如需要qt的'''ATi Overclocking Utility'''。<br />
<br />
i686版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here];x86_64版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]。下载后直接运行。<br />
更复杂'''AMDOverdriveCtrl'''也能达到此目的,它的主页是[http://sourceforge.net/projects/amdovdrvctrl here]。可通过[https://aur.archlinux.org/packages.php?ID=45298 AUR]或Vi0L0's非官方软件库构建安装包。<br />
<br />
=== 双屏显示 ===<br />
<br />
==== 介绍 ====<br />
<br />
{{警告|由于安装方式的不同,并且每种安装方式需要与其相对应进行配置,因此设置双屏显示并没有特定的解决办办法。这也是你必须根据你自己的需要采用相应步骤的原因。当然可以多尝试几种方法。'''所以,在修改之前,将你的配置保存到{{ic|/etc/X11/xorg.conf}},以便遇到问题是你可以从命令行恢复。'''}}<br />
<br />
* 本节讲述如何配置"BIG Desktop"效果。主要是不同尺寸的屏幕如何通过两个不同的输出接口(DVI + HDMI)共享一个显卡。<br />
<br />
* Xinerama解决办法有些不便,尤其是不能与XrandR兼容。因为XrandR对于我们所讲的来说是必须的,所以不使用Xinerama。<br />
<br />
* 双头显示能让你有两个不同的会话(一个屏幕一个)。你可以随心所欲地干任何事情,但不能将窗口从一个屏幕移动到另一个屏幕。若只有一个屏幕,你得在Xorg会话里为Server Layout section的每个会话定义鼠标,具体方法查看:<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
ATI的图形工具非常有用,我们将尽可能地使用它。运行下面命令可启用它:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{警告|'''千万不要'''直接使用sudo。 Sudo虽能给予管理员权限,却使用用户账户的信息(如环境变量)。GNOME下使用''gksu'',KDE下使用''kdesu''。}}<br />
<br />
==== 安装 ====<br />
<br />
开始之前,确保你的硬件接插正确,电源开启,而且你得你的硬件属性(2D还是3D屏,屏幕尺寸,刷新率等)。通常情况下,在启动阶段两个显示器都会被识别却不需正确区分先后顺序,而是依赖热插拔功能。尤其在不使用({{ic|/etc/X11/xorg.conf}})配置时。<br />
<br />
首先要让你的桌面环境和X认识你的显示器。为此,要为你两个显示器生成基本的Xorg配置文件:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
或<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{注意|{{ic|overlay}}非常重要,因为它能让两个显示器拥有1种(多种)像素。<br />
{{提示|运行{{ic|aticonfig --help}}了解所有可用的命令。}}<br />
<br />
现在可编辑基本的Xorg配置文件(如:添加分辨率)。分辨率一定要正确,尤其是使用不同尺寸的显示器。分辨率在"Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
这以后就不需手动编辑{{ic|xorg.conf}},而ATI的图形化工具。重启X,确保正确支持两个显示器和识别屏幕分辨率(两个屏幕相互独立而不是完全一样。<br />
<br />
==== 设置 ====<br />
<br />
现在只需以root身份启动ATI控制中心,在显示菜单设置你需要的选项(下拉菜单中的小箭头)。设置好后重启X就大功造成(你和我都可松口气了,这段翻译有点难度,呵呵)!<br />
<br />
重启X之前,不要忘了核实{{ic|xorg.conf}}。主要是核实"Display"下的"Screen"节, 在"Virtual"行里,两个显示器的分辨率应该一样。"Server Layout"节则是剩下的参数。<br />
<br />
== 故障排除 ==<br />
若能启动到命令行,问题很可能出在{{ic|/etc/X11/xorg.conf}}<br />
<br />
可阅读{{ic|/var/log/Xorg.0.log}}或通过下列命令查找线索:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
若看不懂显示的是什么东东,可将其提交到[http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]论坛,注意要提交两者显示的信息。<br />
<br />
=== 在Wine上3D应用冻结 ===<br />
若在Wine上3D应用挂起,禁用TLS。使用{{ic|aticonfig}}或编辑{{ic|/etc/X11/xorg.conf}}。使用{{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
或以root身份打开{{ic|/etc/X11/xorg.conf}},在''Device''段添加{{ic|Option "UseFastTLS" "off"}}。<br />
<br />
只需来个二选一,然后重启X让其生效。<br />
<br />
=== 视频颜色不正常 ===<br />
<br />
仍然使用{{ic|vaapi:gl}}来防止画面抖动,但这样不会有视频加速:<br />
<br />
* 不使用{{ic|-vo vaapi}}运行'''mplayer'''。<br />
<br />
* 若是'''smplayer''',在Options → Preferences → Advanced → Options for MPlayer → Options:中删除{{ic|-vo vaapi}}。<br />
<br />
此后还可以启动'''smplayer'''的截屏功能。<br />
<br />
=== KWin and composite ===<br />
<br />
根据你的显卡,在OpenGL和XRender渲染方式中选择一种更快的。在某些情况下,XRender还可以解决一些人为的错误。<br />
<br />
=== 重启或启动x后,黑屏并且一直不退出 ===<br />
<br />
检查在启动加载器的内核参数行是否添加了'''nomodeset'''(参考 [[#Disable kernel mode setting]])。<br />
<br />
==== 错误的ACPI硬件调用 ====<br />
出现此种错误很可能是fglrx模块与系统的ACPI硬件调用配合不够默契而自身禁用,屏幕也就不会有输出。<br />
<br />
果真那样,运行:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== 注销后KDM消失 ===<br />
<br />
若使用Catalyst,当注销后你会获取tty1这个控制台而不是KDM的欢迎界面。每次注销后你必须让kdm重启X服务器:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
将标题为{{ic|[X-:*-Core]}}段里下面行前的注释删掉:<br />
<br />
TerminateServer=True<br />
<br />
当前注销KDE后KDM就会出现。<br />
<br />
=== 直接渲染无效 ===<br />
<br />
{{警告|在安装或升级catalyst后却没重启系统,也有可能出现此种错误,因为系统需要加载fglrx.ko模块来让驱动正常工作。}}<br />
若直接渲染有问题,运行:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
从此命令输出的第一行至末尾都与直接渲染无效有关,且非常详细。<br />
<br />
常见错误提示和解决办法:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* 若使用AGP的芯片组,确保加载fglrx模块之前加载正确的agp模块。要确定哪些agp模块,先运行{{ic|hwdetect --show-agp}},若使用SysVinit,则将之前命令所列的模块名称添加到rc.conf的{{ic|1=MODULES=}}行(若有fglrx, 则要全位于fglrx'''之前''');否则,打开{{ic|/etc/modules-load.d}}下的{{ic|fglrx.conf}},将agp模块添加到fglrx行'''之前'''。<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* 某些软件未正确安装。在错误提示中,若路径为{{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}},彻底注销,然后重新登录。若使用图形化的登录管理器(gdm, kdm, xdm),确保每次登录时{{ic|/etc/profile}}都会被读取。将{{ic|source /etc/profile}}添加到{{ic|~/.xsession}}或{{ic|~/.xinitrc}}通过都达到以上目的(不同的登录管理器修改的文件不一样)。<br />
<br />
* 若路径为{{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}},试着重装{{ic|catalyst}}包。<br />
<br />
若错误信息为:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
可能是因为系统装了多个版本的{{ic|libGL.so}},运行:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
结果如下:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
系统应只有3个libGL.so文件,若不止(例如{{ic|/usr/X11R6/lib/libGL.so.1.2}}),则将其删除。<br />
<br />
若使用X11R7且系统中有下列文件,系统并不会给出任何错误提示,一定要将他们删除:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== 休眠问题 ===<br />
<br />
==== 视频播放不能从休眠状态中恢复 ====<br />
<br />
若启动了framebuffer,Catalyst不能从挂机状态中恢复。在内核参数选项中添加'''vga=0'''可禁用framebuffer。如在Grub Legacy的{{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
其他加载器,参考[[#Disable kernel mode setting]]。<br />
<br />
=== 系统冻结或硬件锁死 ===<br />
<br />
* 过去,{{ic|radeonfb}}的framebuffer驱动很容易导致这个问题。若内核编译时启用对radeonfb的支持,应换内核看是否能解决此问题。<br />
<br />
* 若退出桌面环境(关机、挂机和切换到tty等)时系统冻结,很可能忘记禁用KMS。(参见 [[#Disable kernel mode setting]])<br />
<br />
=== 硬件冲突 ===<br />
<br />
当和某些版本的nForce3芯片组一起使用时,Radeon不能3D加速。目前虽还未找到具体原因,但有资料表明: indicate that it may be possible to get acceleration with this combination of hardware by booting with the drivers from 先用nVIDIA驱动启动到Windows然后再重启系统就可能获得3D加速。在root控制台使用下列命令可识别此问题:<br />
<br />
$ dmesg | grep agp<br />
<br />
与下列相似(使用基于nForce3系统)的输出:<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
或以下命令...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...与下面相似的输出:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
则就有问题。<br />
<br />
有些资料说在某些情形下降级主板的BIOS可能有助于解决问题,但注意此方法并不是在各种情况下都适用,而且'''方法不对则很可能让显卡报废。'''<br />
<br />
参考[http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport]。<br />
<br />
=== 播放视频时系统短时间死机 ===<br />
<br />
使用Catalyst可导致此问题。<br />
<br />
当用mplayer,若不定时出现几秒到几分钟的死机。查看 /var/log/messages.log,若有与下面相似的信息:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
给内核参数添加nopat,至少在我的电脑上此方法适用。<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
若运行:<br />
<br />
# sudo aticonfig --initial<br />
<br />
输出:<br />
<br />
aticonfig: No supported adaptaters detected<br />
但你确实有AMD的显卡(or APU),在{{ic|etc/X11/xorg.conf}}中设置device就可能让Catalyst正常工作。<br />
<br />
在{{ic|/etc/X11/xorg.conf}}将device段设置为:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
此处''****''为设备型号(6870 for the HD 6870的显卡为6870,APU E-350为6310,通过网络是很容易查到的).<br />
<br />
Xorg启动后很可能使用{{ic|amdcccle}}而不是{{ic|aticonfig}}。这里会有一个"AMD不支持硬件"水印。<br />
<br />
用下面脚本可将此水印删除:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
然后重启。<br />
<br />
=== 让chromium支持WebGL ===<br />
<br />
在Google的Chromium/Chrome浏览器里,Linux的Catalyst驱动被列入了黑名单。<br />
编辑{{ic|/usr/share/applications/chromium.desktop}}文件,添加{{ic|--ignore-gpu-blacklist}}标识到'''Exec'''行,它看起来应像下面这样:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
也可在终端中用相同的标识运行chromium:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{警告|Catalyst并不支持GL_ARB_robustness扩展,因此一些恶意网站可能使用WebGL对你的显卡发动DoS攻击。参考[http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== 用阿道比(就是Adobe,网友的搞笑翻译)的flashplugin观看flash,画面迟滞或冻结 ===<br />
<br />
将{{ic|/etc/adobe/mms.cfg}}编辑为下面这样(也就是禁用的硬件加速):<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== GNOME3中移动窗口很慢 ===<br />
大多数情况下,此方法有效。<br />
<br />
将下面行添加到{{ic|~/.profile}}或{{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
重启X或操作系统。<br />
<br />
=== 在1920x1080分辨率下不能全屏 ===<br />
<br />
The ATI has scaling by default add this to your xorg.conf(本人无AMD的显卡,因不能验证其意,实不知如何翻译)<br />
<br />
Option "DPMS" "true"<br />
<br />
在Monitor段,完整例子如下:<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=230807AMD Catalyst (简体中文)2012-10-23T12:51:05Z<p>Micy1985: </p>
<hr />
<div>[[Category:Graphics (简体中文)]]<br />
[[Category:X Server (简体中文)]]<br />
{{TranslationStatus (简体中文)|AMD_Catalyst|2012-10-21|229195}}<br />
"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs完全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx 显卡驱动分开开发,因此在你选择何种安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用普通Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的普通Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上面对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败和丢失Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make脚本, 最好换一名称保存。否则将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
通过访问{{ic|/etc/ati/amdpcsdb}}文件它几乎能配置显卡的各项参数。了解完整的配置选项{{ic|aticonfig}}可运行:<br />
<br />
# aticonfig --help | less<br />
<br />
{{警告|在将各项配置参数提交到/etc/X11/xorg.conf之前使用--output选项,/etc/X11/xorg.conf.d中的所有内容都会被覆盖。}}<br />
<br />
{{注意|如果坚持使用xorg.conf.d下的新配置文件:为了让Device section与{{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}相匹配,在{{ic|aticonfig}}后追加''--output''。但这有一个缺点,很多依赖xorg.conf的{{ic|aticonfig}}选项都无法使用。}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,但不同Xorg版本的默认参数可能会有所不同,最好明确指定一些参数.<br />
<br />
给一个示例配置 (注意) '''仅供参考'''. 标'#'必须有,标'##'很可能会用到:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{注意|一旦升级Catalyst就要通过后面的方法删除'''amdpcsdb'''文件: 关闭X,删除{{ic|/etc/ati/amdpcsdb}},启动X然后运行{{ic|amdcccle}} -否则amdcccle将会显示错误的Catalyst版本号}}<br />
<br />
''更多信息参考[http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== 启动时加载模块 ====<br />
不同的初始化系统(SysVinit和systemd)的设置方式不一样,但无论哪一种,都得在{{ic|/etc/modprobe.d/modprobe.conf}}禁用''radeon''。具体可参见[[Modprobe|blacklisting in this article]]. '''通过Arch官方安装Catalyst则无需此步骤,安装包会自动处理'''。<br />
<br />
{{注意|强烈推荐使用systemd进行系统初始化,因为最新Arch安装镜像已默认使用systemd,通过rc.conf设置系统启动服务迟早会遭淘汰}}。<br />
<br />
===== 在使用systemd上 =====<br />
* 删除{{ic|/etc/modules-load.d/}}下任何名称包含{{ic|radeon}}的文件若该文件中含有其他多个模块,则只删除radeon)。<br />
* 在{{ic|/etc/modules-load.d/}}的现有文件中添加{{ic|fglrx}}或新建含有该行的文件。<br />
<br />
===== 在使用SysVinit上 =====<br />
编辑{{ic|/etc/rc.conf}}:<br />
* 自MODULES中删除{{ic|radeon}}。<br />
* 在MODULES中添加 {{ic|fglrx}}。<br />
<br />
{{注意|若使用AGP接口的显卡还需添加''agp''。}}<br />
<br />
==== 禁用KMS ====<br />
<br />
由于Catalyst根本不使用[[KMS]],得将其禁用。否则,当系统切换至tyy或在桌面环境下关机时,系统可能会冻结。<br />
<br />
若使用[[GRUB Legacy|GRUB Legacy]],在{{ic|menu.lst}}添加{{ic|nomodeset}}给内核参数,如:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
若使用[[GRUB2|GRUB 2]],在{{ic|/etc/default/grub}}添加''nomodeset''给内核参数,如:<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
然后以root身份运行;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
若使用[[Syslinux|Syslinux]],在{{ic|/boot/syslinux/syslinux.cfg}}添加''nomodeset''到{{ic|APPEND}}行,如:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== 检查安装是否成功 ====<br />
<br />
重启电脑并登录, 运行下列命令可查看fglrx是否正确运行:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
若两者均有输出, 安装成功。进行桌面环境并运行以下命令检查直接渲染模式是否启用:<br />
<br />
$ glxinfo | grep direct<br />
<br />
若显示"direct rendering: yes",恭喜你,到位了! 若无glxinfo命令,安装{{Pkg|mesa-demos}} package。<br />
<br />
{{警告|最近几版Xorg,库函数路径变了,因此即使安装{{ic|libGL.so}}也不一定能正确人加载。请检查GL是否工作,可阅读"Troubleshooting"段落}}<br />
<br />
若有问题,参阅[[#Troubleshooting]].<br />
<br />
=== 自我编译内核 ===<br />
<br />
在手动编译的内核上,你必须构建你自己{{ic|catalyst-$kernel}}包.<br />
<br />
如果你讨厌打包或毫无经验,可先阅读[[ABS]]。<br />
<br />
#从[[AUR|Catalyst]]上获取{{ic|PKGBUILD}} 和 {{ic|catalyst.install}}文件。<br />
# 编辑PKGBUILD. 两个地方需要修改:<br />
## 将{{ic|1=pkgname=catalyst}} 修改为 {{ic|1=pkgname=catalyst-$kernel_name}},$kernel_name可以随意取(如:custom, mm)。<br />
## 将{{ic|linux}}的依赖修改为{{ic|$kernel_name}}。<br />
# 构建并安装软件包;运行{{ic|makepkg -i}} 和 {{ic|makepkg}},接着运行 {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{注意|如果在安装有多内核的系统上,你必须为所有内核安装Catalyst-utils包。这不会引起冲突}}<br />
<br />
{{注意|Catalyst-generator能为你自动构建catalyst-{kernver},因此这些步骤根本就可省略。 请参考[[#Tools| Tools section]].}}<br />
<br />
== Xorg软件库 ==<br />
Catalyst由于其缓慢的更新而被人大为诟病。因升级Xorg而造成两者不兼容是稀松平常的事。也就意味着Catalyst用户要么不升级Xorg要么使用一个只包含Xorg包的回溯软件库,该库中不提供更新版Xorg以确保兼容性。 Vi0L0提供好几个这样的库. <br />
<br />
若想让pacman更新其他软件而不更新Xorg,查看[[pacman|skip package from being upgraded]]。不更新的软件是:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
若要使用这类软件库,在{{ic|/etc/pacman.conf}}的所有库(甚至Catalyst)前面添加下面中的一个 。<br />
<br />
===[xorg112]===<br />
截止目前,当前Catalyst 不支持1.13。<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
低于 12.6的Catalyst不支持xorg-server 1.12。<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== 工具 ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook]是一个针对[[mkinitcpio|mkinitcpio]]的钩子。'''跟 catalyst-dkms一样''',每当内核更新时,它会自动升级fglrx模块。在更新fglrx之前,它会尝试更新{{Pkg|linux-headers}}。<br />
<br />
当更新内核时,钩子会调用''catalyst_build_module''命令来更新fglrx模块以使两者相匹配。此外,它还可调用''catalyst_build_module remove''来删除不需要的旧flgrx模块<br />
<br />
{{注意|若使用此功能,'''一定要''' 关注的内核的安装提示,Catalyst-hook会显示是否一切顺利。}}<br />
<br />
{{注意|若是'''自编译内核'''且使用'''非标准的mkinitcpio配置文件'''(如:linux-zen使用/etc/mkinitcpio-zen.conf),那必须在你非标准的配置文件中添加'''fglrx'''至 HOOKS行,以便当内核更新时能自动重新编译。}}<br />
<br />
{{注意|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator]包能构建并安装fglrx模块,该模块与pacman兼容 的catalyst-${内核版本}相适应。与Catalyst-hook的区别是必须手动使用此命令,而Catalyst-hook则不需。<br />
<br />
通过[[makepkg]],它能构建catalyst-${内核版本}二进制包并用[[pacman]]安装。<br />
<br />
非特权用户使用{{ic|catalyst_build_module}}来构建并安装catalyst-${内核版本}包。安装时会提示输入root密码。<br />
<br />
简单说一下如何使用此包:<br />
<br />
# root用户: 使用{{ic|catalyst_build_module remove}}。此举会删除无用的{{ic|catalyst-{kernver} }}包。<br />
# 非特权用户: 使用{{ic|catalyst_build_module ${内核版本}}}, ${内核版本}是指升级过后的内核版本。也可通过{{ic|catalyst_build_module all}}为所有安装的内核构建catalyst-${内核版本}。<br />
# 若要删除{{ic|catalyst-generator}}, 在使用{{ic|catalyst_build_module remove_all}}命令删除catalyst-generator之前最好切换到root用户,'''这会删除得极为彻底。'''<br />
<br />
当删除Catalyst-generator时,Catalyst-generator不能自动删除那些catalyst-{内核版本}包,这是因为pacman不允许有一个以上的实例同时运行。若在使用{{ic|pacman -R catalyst-generator}}前忘记运行{{ic|catalyst_build_module remove_all}}, catalyst-generator将会询问删除catalyst-generator自身后要删除哪个catalyst-{内核版本}包。<br />
<br />
{{注意|在构建catalyst-{内核版本}时,若看到下列警告,乃正常情况,不必莫名惊诧:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension}}<br />
<br />
=== Catalyst-daemon ===<br />
{{警告|由于systemd与普通initscript daemons不兼容,所以systemd用户不能使用此工具。}}<br />
<br />
每次启动时,[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon]守护进程会检查内核是否更新过。若更新过,它会重建fglrx模块;若没有,则加载前次构建的模块。在2.4 GHz CPU电脑上,整个过程只需20ms。<br />
<br />
Catalyst-daemon的自动重新编译功能是通过一个叫''autofglrx''的初始化脚本实现的。Autofglrx的检查方式为比较启动内核(由{{ic|uname -v}}提供)和使用当前fglrx模块内核的构建时间。之所以能这样比较,是因为编译时,它将{{ic|uname -v}}的信息添加到fglrx模块描述里。<br />
<br />
重构过程中,autofglrx会调用''catalyst_build_module''构建模块,调用''catalyst_build_module remove''删除老旧无用的fglrx模块。运行后,它并不会一直驻留在系统内存。<br />
<br />
{{注意|安装autofglrx后,在{{ic|/etc/rc.conf}}将{{ic|autofglrx}}添加到{{ic|DAEMONS}}。要将它放在DM(显示管理器)之前(若是通过此配置运行DM)并且'''不要'''在后台运行(不能在其前添加@符号)。}}<br />
<br />
{{注意|若使用'''你自己的编译标识'''导致此工具有问题 - 请将你的标识写入/usr/bin/catalyst_build_module文件。}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
在'''Catalyst 11.1'''中,很可能是添加了三重缓存和v-sync,''Tear Free Desktop''减少了2D,3D视频应用的屏幕撕裂毛病。但这需要额外的GPU处理。<br />
<br />
要启用'Tear Free Desktop',运行{{ic|amdcccle}},然后设置{{ic|Display Options}} → {{ic|Tear Free}}。<br />
<br />
或以root身份运行:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
若禁用,使用{{ic|amdcccle}}或以root身份运行:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== 视频加速 ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)'''是为基于Linux/UNIX操作系统提供利用GPU加速视频处理的一个开源函数库和应用程序接口规范。启用视频加速后,通过各种入口(VLD, IDCT, Motion Compensation, deblocking)它能加速常用编码标准(MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3)视频文件的解码过程(俗称硬解)。<br />
<br />
VA-API在{{AUR|xvba-video}}上有一个私有后端(2009年10月), 它允许使用VA-API的程序通过[http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)]函数库来充分利用拥有uvd2(第二代通用视频解码单元)芯片组的视频加速功能.<br />
<br />
xvba-video和支持XvBA的软件仍还在开发,'''但在大多数情况下它都能很好的工作'''. 通过AUR构建或直接通过[community]安装{{AUR|xvba-video}}包,并安装{{Pkg|mplayer-vaapi}} and {{Pkg|libva}}。然后将视频播放器的视频输出设置为vaapi:gl:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
此选项可添加到mplayer的配置文件,参考[[MPlayer]]。<br />
<br />
针对 '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{注意|如果启用了Tear Free Desktop,则按下列步骤:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
若视频输出中没有'''vaapi:gl'''选项 - 可使用:<br />
'''vaapi''', '''vaapi:gl2''' or 简单的 '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
针对 '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
它有助于在'''amdcccle'''中启用v-sync:<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{注意|若使用'''Compiz/KWin''',消除'''画面抖动'''的唯一方法就是切换至'''全屏'''并且 '''关闭Redirected Fullscreen'''。<br />
<br />
使用'''compiz''',需在ccsm的General Options中设置'''Redirected Direct Rendering'''。若此举无效,则将其关闭。'''KWin'''默认关闭此功能,若出现画面抖动则通过System Settings → Desktop Effects → Advanced将"Suspend desktop effects for fullscreen windows"开启或关闭。}}<br />
<br />
=== 显卡/显存频率, 温度, 风扇转速, 超频工具 ===<br />
<br />
{{ic|$ aticonfig --od-getclocks}}可以获知当前显卡/显存频率。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}可以获知风扇转速(显卡);<br />
<br />
{{ic|$ aticonfig --odgt}}可以获知显卡温度。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}}可以设置风扇转速,其中查询索引50代表速度百分比。<br />
<br />
若超频或与之相反,则使用图形工具反而相对容易些,如需要qt的'''ATi Overclocking Utility'''。<br />
<br />
i686版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here];x86_64版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]。下载后直接运行。<br />
更复杂'''AMDOverdriveCtrl'''也能达到此目的,它的主页是[http://sourceforge.net/projects/amdovdrvctrl here]。可通过[https://aur.archlinux.org/packages.php?ID=45298 AUR]或Vi0L0's非官方软件库构建安装包。<br />
<br />
=== 双屏显示 ===<br />
<br />
==== 介绍 ====<br />
<br />
{{警告|由于安装方式的不同,并且每种安装方式需要与其相对应进行配置,因此设置双屏显示并没有特定的解决办办法。这也是你必须根据你自己的需要采用相应步骤的原因。当然可以多尝试几种方法。'''所以,在修改之前,将你的配置保存到{{ic|/etc/X11/xorg.conf}},以便遇到问题是你可以从命令行恢复。'''}}<br />
<br />
* 本节讲述如何配置"BIG Desktop"效果。主要是不同尺寸的屏幕如何通过两个不同的输出接口(DVI + HDMI)共享一个显卡。<br />
<br />
* Xinerama解决办法有些不便,尤其是不能与XrandR兼容。因为XrandR对于我们所讲的来说是必须的,所以不使用Xinerama。<br />
<br />
* 双头显示能让你有两个不同的会话(一个屏幕一个)。你可以随心所欲地干任何事情,但不能将窗口从一个屏幕移动到另一个屏幕。若只有一个屏幕,你得在Xorg会话里为Server Layout section的每个会话定义鼠标,具体方法查看:<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
ATI的图形工具非常有用,我们将尽可能地使用它。运行下面命令可启用它:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{警告|'''千万不要'''直接使用sudo。 Sudo虽能给予管理员权限,却使用用户账户的信息(如环境变量)。GNOME下使用''gksu'',KDE下使用''kdesu''。}}<br />
<br />
==== 安装 ====<br />
<br />
开始之前,确保你的硬件接插正确,电源开启,而且你得你的硬件属性(2D还是3D屏,屏幕尺寸,刷新率等)。通常情况下,在启动阶段两个显示器都会被识别却不需正确区分先后顺序,而是依赖热插拔功能。尤其在不使用({{ic|/etc/X11/xorg.conf}})配置时。<br />
<br />
首先要让你的桌面环境和X认识你的显示器。为此,要为你两个显示器生成基本的Xorg配置文件:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
或<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{注意|{{ic|overlay}}非常重要,因为它能让两个显示器拥有1种(多种)像素。<br />
{{提示|运行{{ic|aticonfig --help}}了解所有可用的命令。}}<br />
<br />
现在可编辑基本的Xorg配置文件(如:添加分辨率)。分辨率一定要正确,尤其是使用不同尺寸的显示器。分辨率在"Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
这以后就不需手动编辑{{ic|xorg.conf}},而ATI的图形化工具。重启X,确保正确支持两个显示器和识别屏幕分辨率(两个屏幕相互独立而不是完全一样。<br />
<br />
==== 设置 ====<br />
<br />
现在只需以root身份启动ATI控制中心,在显示菜单设置你需要的选项(下拉菜单中的小箭头)。设置好后重启X就大功造成(你和我都可松口气了,这段翻译有点难度,呵呵)!<br />
<br />
重启X之前,不要忘了核实{{ic|xorg.conf}}。主要是核实"Display"下的"Screen"节, 在"Virtual"行里,两个显示器的分辨率应该一样。"Server Layout"节则是剩下的参数。<br />
<br />
== 故障排除 ==<br />
若能启动到命令行,问题很可能出在{{ic|/etc/X11/xorg.conf}}<br />
<br />
可阅读{{ic|/var/log/Xorg.0.log}}或通过下列命令查找线索:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
若看不懂显示的是什么东东,可将其提交到[http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]论坛,注意要提交两者显示的信息。<br />
<br />
=== 在Wine上3D应用冻结 ===<br />
若在Wine上3D应用挂起,禁用TLS。使用{{ic|aticonfig}}或编辑{{ic|/etc/X11/xorg.conf}}。使用{{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
或以root身份打开{{ic|/etc/X11/xorg.conf}},在''Device''段添加{{ic|Option "UseFastTLS" "off"}}。<br />
<br />
只需来个二选一,然后重启X让其生效。<br />
<br />
=== 视频颜色不正常 ===<br />
<br />
仍然使用{{ic|vaapi:gl}}来防止画面抖动,但这样不会有视频加速:<br />
<br />
* 不使用{{ic|-vo vaapi}}运行'''mplayer'''。<br />
<br />
* 若是'''smplayer''',在Options → Preferences → Advanced → Options for MPlayer → Options:中删除{{ic|-vo vaapi}}。<br />
<br />
此后还可以启动'''smplayer'''的截屏功能。<br />
<br />
=== KWin and composite ===<br />
<br />
根据你的显卡,在OpenGL和XRender渲染方式中选择一种更快的。在某些情况下,XRender还可以解决一些人为的错误。<br />
<br />
=== 重启或启动x后,黑屏并且一直不退出 ===<br />
<br />
检查在启动加载器的内核参数行是否添加了'''nomodeset'''(参考 [[#Disable kernel mode setting]])。<br />
<br />
==== 错误的ACPI硬件调用 ====<br />
出现此种错误很可能是fglrx模块与系统的ACPI硬件调用配合不够默契而自身禁用,屏幕也就不会有输出。<br />
<br />
果真那样,运行:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== 注销后KDM消失 ===<br />
<br />
若使用Catalyst,当注销后你会获取tty1这个控制台而不是KDM的欢迎界面。每次注销后你必须让kdm重启X服务器:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
将标题为{{ic|[X-:*-Core]}}段里下面行前的注释删掉:<br />
<br />
TerminateServer=True<br />
<br />
当前注销KDE后KDM就会出现。<br />
<br />
=== 直接渲染无效 ===<br />
<br />
{{警告|在安装或升级catalyst后却没重启系统,也有可能出现此种错误,因为系统需要加载fglrx.ko模块来让驱动正常工作。}}<br />
若直接渲染有问题,运行:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
从此命令输出的第一行至末尾都与直接渲染无效有关,且非常详细。<br />
<br />
常见错误提示和解决办法:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* 若使用AGP的芯片组,确保加载fglrx模块之前加载正确的agp模块。要确定哪些agp模块,先运行{{ic|hwdetect --show-agp}},若使用SysVinit,则将之前命令所列的模块名称添加到rc.conf的{{ic|1=MODULES=}}行(若有fglrx, 则要全位于fglrx'''之前''');否则,打开{{ic|/etc/modules-load.d}}下的{{ic|fglrx.conf}},将agp模块添加到fglrx行'''之前'''。<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* 某些软件未正确安装。在错误提示中,若路径为{{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}},彻底注销,然后重新登录。若使用图形化的登录管理器(gdm, kdm, xdm),确保每次登录时{{ic|/etc/profile}}都会被读取。将{{ic|source /etc/profile}}添加到{{ic|~/.xsession}}或{{ic|~/.xinitrc}}通过都达到以上目的(不同的登录管理器修改的文件不一样)。<br />
<br />
* 若路径为{{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}},试着重装{{ic|catalyst}}包。<br />
<br />
若错误信息为:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
可能是因为系统装了多个版本的{{ic|libGL.so}},运行:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
结果如下:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
系统应只有3个libGL.so文件,若不止(例如{{ic|/usr/X11R6/lib/libGL.so.1.2}}),则将其删除。<br />
<br />
若使用X11R7且系统中有下列文件,系统并不会给出任何错误提示,一定要将他们删除:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== 休眠问题 ===<br />
<br />
==== 视频播放不能从休眠状态中恢复 ====<br />
<br />
若启动了framebuffer,Catalyst不能从挂机状态中恢复。在内核参数选项中添加'''vga=0'''可禁用framebuffer。如在Grub Legacy的{{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
其他加载器,参考[[#Disable kernel mode setting]]。<br />
<br />
=== 系统冻结或硬件锁死 ===<br />
<br />
* 过去,{{ic|radeonfb}}的framebuffer驱动很容易导致这个问题。若内核编译时启用对radeonfb的支持,应换内核看是否能解决此问题。<br />
<br />
* 若退出桌面环境(关机、挂机和切换到tty等)时系统冻结,很可能忘记禁用KMS。(参见 [[#Disable kernel mode setting]])<br />
<br />
=== 硬件冲突 ===<br />
<br />
当和某些版本的nForce3芯片组一起使用时,Radeon不能3D加速。目前虽还未找到具体原因,但有资料表明: indicate that it may be possible to get acceleration with this combination of hardware by booting with the drivers from 先用nVIDIA驱动启动到Windows然后再重启系统就可能获得3D加速。在root控制台使用下列命令可识别此问题:<br />
<br />
$ dmesg | grep agp<br />
<br />
与下列相似(使用基于nForce3系统)的输出:<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
或以下命令...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...与下面相似的输出:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
则就有问题。<br />
<br />
有些资料说在某些情形下降级主板的BIOS可能有助于解决问题,但注意此方法并不是在各种情况下都适用,而且'''方法不对则很可能让显卡报废。'''<br />
<br />
参考[http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport]。<br />
<br />
=== 播放视频时系统短时间死机 ===<br />
<br />
使用Catalyst可导致此问题。<br />
<br />
当用mplayer,若不定时出现几秒到几分钟的死机。查看 /var/log/messages.log,若有与下面相似的信息:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
给内核参数添加nopat,至少在我的电脑上此方法适用。<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
若运行:<br />
<br />
# sudo aticonfig --initial<br />
<br />
输出:<br />
<br />
aticonfig: No supported adaptaters detected<br />
但你确实有AMD的显卡(or APU),在{{ic|etc/X11/xorg.conf}}中设置device就可能让Catalyst正常工作。<br />
<br />
在{{ic|/etc/X11/xorg.conf}}将device段设置为:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
此处''****''为设备型号(6870 for the HD 6870的显卡为6870,APU E-350为6310,通过网络是很容易查到的).<br />
<br />
Xorg启动后很可能使用{{ic|amdcccle}}而不是{{ic|aticonfig}}。这里会有一个"AMD不支持硬件"水印。<br />
<br />
用下面脚本可将此水印删除:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
然后重启。<br />
<br />
=== 让chromium支持WebGL ===<br />
<br />
在Google的Chromium/Chrome浏览器里,Linux的Catalyst驱动被列入了黑名单。<br />
编辑{{ic|/usr/share/applications/chromium.desktop}}文件,添加{{ic|--ignore-gpu-blacklist}}标识到'''Exec'''行,它看起来应像下面这样:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
也可在终端中用相同的标识运行chromium:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{警告|Catalyst并不支持GL_ARB_robustness扩展,因此一些恶意网站可能使用WebGL对你的显卡发动DoS攻击。参考[http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== 用阿道比(就是Adobe,网友的搞笑翻译)的flashplugin观看flash,画面迟滞或冻结 ===<br />
<br />
将{{ic|/etc/adobe/mms.cfg}}编辑为下面这样(也就是禁用的硬件加速):<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== GNOME3中移动窗口很慢 ===<br />
大多数情况下,此方法有效。<br />
<br />
将下面行添加到{{ic|~/.profile}}或{{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
重启X或操作系统。<br />
<br />
=== 在1920x1080分辨率下不能全屏 ===<br />
<br />
在标准默认情况下,ATI会在xorg.conf添加:<br />
<br />
Option "DPMS" "true"<br />
<br />
On the Monitor section, as full example would look like this<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=230804AMD Catalyst (简体中文)2012-10-23T12:34:36Z<p>Micy1985: /* WebGL support in Chromium */</p>
<hr />
<div>[[Category:Graphics (简体中文)]]<br />
[[Category:X Server (简体中文)]]<br />
{{TranslationStatus (简体中文)|AMD_Catalyst|2012-10-21|229195}}<br />
"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs完全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx 显卡驱动分开开发,因此在你选择何种安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用普通Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的普通Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上面对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败和丢失Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make脚本, 最好换一名称保存。否则将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
通过访问{{ic|/etc/ati/amdpcsdb}}文件它几乎能配置显卡的各项参数。了解完整的配置选项{{ic|aticonfig}}可运行:<br />
<br />
# aticonfig --help | less<br />
<br />
{{警告|在将各项配置参数提交到/etc/X11/xorg.conf之前使用--output选项,/etc/X11/xorg.conf.d中的所有内容都会被覆盖。}}<br />
<br />
{{注意|如果坚持使用xorg.conf.d下的新配置文件:为了让Device section与{{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}相匹配,在{{ic|aticonfig}}后追加''--output''。但这有一个缺点,很多依赖xorg.conf的{{ic|aticonfig}}选项都无法使用。}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,但不同Xorg版本的默认参数可能会有所不同,最好明确指定一些参数.<br />
<br />
给一个示例配置 (注意) '''仅供参考'''. 标'#'必须有,标'##'很可能会用到:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{注意|一旦升级Catalyst就要通过后面的方法删除'''amdpcsdb'''文件: 关闭X,删除{{ic|/etc/ati/amdpcsdb}},启动X然后运行{{ic|amdcccle}} -否则amdcccle将会显示错误的Catalyst版本号}}<br />
<br />
''更多信息参考[http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== 启动时加载模块 ====<br />
不同的初始化系统(SysVinit和systemd)的设置方式不一样,但无论哪一种,都得在{{ic|/etc/modprobe.d/modprobe.conf}}禁用''radeon''。具体可参见[[Modprobe|blacklisting in this article]]. '''通过Arch官方安装Catalyst则无需此步骤,安装包会自动处理'''。<br />
<br />
{{注意|强烈推荐使用systemd进行系统初始化,因为最新Arch安装镜像已默认使用systemd,通过rc.conf设置系统启动服务迟早会遭淘汰}}。<br />
<br />
===== 在使用systemd上 =====<br />
* 删除{{ic|/etc/modules-load.d/}}下任何名称包含{{ic|radeon}}的文件若该文件中含有其他多个模块,则只删除radeon)。<br />
* 在{{ic|/etc/modules-load.d/}}的现有文件中添加{{ic|fglrx}}或新建含有该行的文件。<br />
<br />
===== 在使用SysVinit上 =====<br />
编辑{{ic|/etc/rc.conf}}:<br />
* 自MODULES中删除{{ic|radeon}}。<br />
* 在MODULES中添加 {{ic|fglrx}}。<br />
<br />
{{注意|若使用AGP接口的显卡还需添加''agp''。}}<br />
<br />
==== 禁用KMS ====<br />
<br />
由于Catalyst根本不使用[[KMS]],得将其禁用。否则,当系统切换至tyy或在桌面环境下关机时,系统可能会冻结。<br />
<br />
若使用[[GRUB Legacy|GRUB Legacy]],在{{ic|menu.lst}}添加{{ic|nomodeset}}给内核参数,如:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
若使用[[GRUB2|GRUB 2]],在{{ic|/etc/default/grub}}添加''nomodeset''给内核参数,如:<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
然后以root身份运行;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
若使用[[Syslinux|Syslinux]],在{{ic|/boot/syslinux/syslinux.cfg}}添加''nomodeset''到{{ic|APPEND}}行,如:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== 检查安装是否成功 ====<br />
<br />
重启电脑并登录, 运行下列命令可查看fglrx是否正确运行:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
若两者均有输出, 安装成功。进行桌面环境并运行以下命令检查直接渲染模式是否启用:<br />
<br />
$ glxinfo | grep direct<br />
<br />
若显示"direct rendering: yes",恭喜你,到位了! 若无glxinfo命令,安装{{Pkg|mesa-demos}} package。<br />
<br />
{{警告|最近几版Xorg,库函数路径变了,因此即使安装{{ic|libGL.so}}也不一定能正确人加载。请检查GL是否工作,可阅读"Troubleshooting"段落}}<br />
<br />
若有问题,参阅[[#Troubleshooting]].<br />
<br />
=== 自我编译内核 ===<br />
<br />
在手动编译的内核上,你必须构建你自己{{ic|catalyst-$kernel}}包.<br />
<br />
如果你讨厌打包或毫无经验,可先阅读[[ABS]]。<br />
<br />
#从[[AUR|Catalyst]]上获取{{ic|PKGBUILD}} 和 {{ic|catalyst.install}}文件。<br />
# 编辑PKGBUILD. 两个地方需要修改:<br />
## 将{{ic|1=pkgname=catalyst}} 修改为 {{ic|1=pkgname=catalyst-$kernel_name}},$kernel_name可以随意取(如:custom, mm)。<br />
## 将{{ic|linux}}的依赖修改为{{ic|$kernel_name}}。<br />
# 构建并安装软件包;运行{{ic|makepkg -i}} 和 {{ic|makepkg}},接着运行 {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{注意|如果在安装有多内核的系统上,你必须为所有内核安装Catalyst-utils包。这不会引起冲突}}<br />
<br />
{{注意|Catalyst-generator能为你自动构建catalyst-{kernver},因此这些步骤根本就可省略。 请参考[[#Tools| Tools section]].}}<br />
<br />
== Xorg软件库 ==<br />
Catalyst由于其缓慢的更新而被人大为诟病。因升级Xorg而造成两者不兼容是稀松平常的事。也就意味着Catalyst用户要么不升级Xorg要么使用一个只包含Xorg包的回溯软件库,该库中不提供更新版Xorg以确保兼容性。 Vi0L0提供好几个这样的库. <br />
<br />
若想让pacman更新其他软件而不更新Xorg,查看[[pacman|skip package from being upgraded]]。不更新的软件是:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
若要使用这类软件库,在{{ic|/etc/pacman.conf}}的所有库(甚至Catalyst)前面添加下面中的一个 。<br />
<br />
===[xorg112]===<br />
截止目前,当前Catalyst 不支持1.13。<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
低于 12.6的Catalyst不支持xorg-server 1.12。<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== 工具 ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook]是一个针对[[mkinitcpio|mkinitcpio]]的钩子。'''跟 catalyst-dkms一样''',每当内核更新时,它会自动升级fglrx模块。在更新fglrx之前,它会尝试更新{{Pkg|linux-headers}}。<br />
<br />
当更新内核时,钩子会调用''catalyst_build_module''命令来更新fglrx模块以使两者相匹配。此外,它还可调用''catalyst_build_module remove''来删除不需要的旧flgrx模块<br />
<br />
{{注意|若使用此功能,'''一定要''' 关注的内核的安装提示,Catalyst-hook会显示是否一切顺利。}}<br />
<br />
{{注意|若是'''自编译内核'''且使用'''非标准的mkinitcpio配置文件'''(如:linux-zen使用/etc/mkinitcpio-zen.conf),那必须在你非标准的配置文件中添加'''fglrx'''至 HOOKS行,以便当内核更新时能自动重新编译。}}<br />
<br />
{{注意|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator]包能构建并安装fglrx模块,该模块与pacman兼容 的catalyst-${内核版本}相适应。与Catalyst-hook的区别是必须手动使用此命令,而Catalyst-hook则不需。<br />
<br />
通过[[makepkg]],它能构建catalyst-${内核版本}二进制包并用[[pacman]]安装。<br />
<br />
非特权用户使用{{ic|catalyst_build_module}}来构建并安装catalyst-${内核版本}包。安装时会提示输入root密码。<br />
<br />
简单说一下如何使用此包:<br />
<br />
# root用户: 使用{{ic|catalyst_build_module remove}}。此举会删除无用的{{ic|catalyst-{kernver} }}包。<br />
# 非特权用户: 使用{{ic|catalyst_build_module ${内核版本}}}, ${内核版本}是指升级过后的内核版本。也可通过{{ic|catalyst_build_module all}}为所有安装的内核构建catalyst-${内核版本}。<br />
# 若要删除{{ic|catalyst-generator}}, 在使用{{ic|catalyst_build_module remove_all}}命令删除catalyst-generator之前最好切换到root用户,'''这会删除得极为彻底。'''<br />
<br />
当删除Catalyst-generator时,Catalyst-generator不能自动删除那些catalyst-{内核版本}包,这是因为pacman不允许有一个以上的实例同时运行。若在使用{{ic|pacman -R catalyst-generator}}前忘记运行{{ic|catalyst_build_module remove_all}}, catalyst-generator将会询问删除catalyst-generator自身后要删除哪个catalyst-{内核版本}包。<br />
<br />
{{注意|在构建catalyst-{内核版本}时,若看到下列警告,乃正常情况,不必莫名惊诧:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension}}<br />
<br />
=== Catalyst-daemon ===<br />
{{警告|由于systemd与普通initscript daemons不兼容,所以systemd用户不能使用此工具。}}<br />
<br />
每次启动时,[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon]守护进程会检查内核是否更新过。若更新过,它会重建fglrx模块;若没有,则加载前次构建的模块。在2.4 GHz CPU电脑上,整个过程只需20ms。<br />
<br />
Catalyst-daemon的自动重新编译功能是通过一个叫''autofglrx''的初始化脚本实现的。Autofglrx的检查方式为比较启动内核(由{{ic|uname -v}}提供)和使用当前fglrx模块内核的构建时间。之所以能这样比较,是因为编译时,它将{{ic|uname -v}}的信息添加到fglrx模块描述里。<br />
<br />
重构过程中,autofglrx会调用''catalyst_build_module''构建模块,调用''catalyst_build_module remove''删除老旧无用的fglrx模块。运行后,它并不会一直驻留在系统内存。<br />
<br />
{{注意|安装autofglrx后,在{{ic|/etc/rc.conf}}将{{ic|autofglrx}}添加到{{ic|DAEMONS}}。要将它放在DM(显示管理器)之前(若是通过此配置运行DM)并且'''不要'''在后台运行(不能在其前添加@符号)。}}<br />
<br />
{{注意|若使用'''你自己的编译标识'''导致此工具有问题 - 请将你的标识写入/usr/bin/catalyst_build_module文件。}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
在'''Catalyst 11.1'''中,很可能是添加了三重缓存和v-sync,''Tear Free Desktop''减少了2D,3D视频应用的屏幕撕裂毛病。但这需要额外的GPU处理。<br />
<br />
要启用'Tear Free Desktop',运行{{ic|amdcccle}},然后设置{{ic|Display Options}} → {{ic|Tear Free}}。<br />
<br />
或以root身份运行:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
若禁用,使用{{ic|amdcccle}}或以root身份运行:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== 视频加速 ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)'''是为基于Linux/UNIX操作系统提供利用GPU加速视频处理的一个开源函数库和应用程序接口规范。启用视频加速后,通过各种入口(VLD, IDCT, Motion Compensation, deblocking)它能加速常用编码标准(MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3)视频文件的解码过程(俗称硬解)。<br />
<br />
VA-API在{{AUR|xvba-video}}上有一个私有后端(2009年10月), 它允许使用VA-API的程序通过[http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)]函数库来充分利用拥有uvd2(第二代通用视频解码单元)芯片组的视频加速功能.<br />
<br />
xvba-video和支持XvBA的软件仍还在开发,'''但在大多数情况下它都能很好的工作'''. 通过AUR构建或直接通过[community]安装{{AUR|xvba-video}}包,并安装{{Pkg|mplayer-vaapi}} and {{Pkg|libva}}。然后将视频播放器的视频输出设置为vaapi:gl:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
此选项可添加到mplayer的配置文件,参考[[MPlayer]]。<br />
<br />
针对 '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{注意|如果启用了Tear Free Desktop,则按下列步骤:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
若视频输出中没有'''vaapi:gl'''选项 - 可使用:<br />
'''vaapi''', '''vaapi:gl2''' or 简单的 '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
针对 '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
它有助于在'''amdcccle'''中启用v-sync:<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{注意|若使用'''Compiz/KWin''',消除'''画面抖动'''的唯一方法就是切换至'''全屏'''并且 '''关闭Redirected Fullscreen'''。<br />
<br />
使用'''compiz''',需在ccsm的General Options中设置'''Redirected Direct Rendering'''。若此举无效,则将其关闭。'''KWin'''默认关闭此功能,若出现画面抖动则通过System Settings → Desktop Effects → Advanced将"Suspend desktop effects for fullscreen windows"开启或关闭。}}<br />
<br />
=== 显卡/显存频率, 温度, 风扇转速, 超频工具 ===<br />
<br />
{{ic|$ aticonfig --od-getclocks}}可以获知当前显卡/显存频率。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}可以获知风扇转速(显卡);<br />
<br />
{{ic|$ aticonfig --odgt}}可以获知显卡温度。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}}可以设置风扇转速,其中查询索引50代表速度百分比。<br />
<br />
若超频或与之相反,则使用图形工具反而相对容易些,如需要qt的'''ATi Overclocking Utility'''。<br />
<br />
i686版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here];x86_64版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]。下载后直接运行。<br />
更复杂'''AMDOverdriveCtrl'''也能达到此目的,它的主页是[http://sourceforge.net/projects/amdovdrvctrl here]。可通过[https://aur.archlinux.org/packages.php?ID=45298 AUR]或Vi0L0's非官方软件库构建安装包。<br />
<br />
=== 双屏显示 ===<br />
<br />
==== 介绍 ====<br />
<br />
{{警告|由于安装方式的不同,并且每种安装方式需要与其相对应进行配置,因此设置双屏显示并没有特定的解决办办法。这也是你必须根据你自己的需要采用相应步骤的原因。当然可以多尝试几种方法。'''所以,在修改之前,将你的配置保存到{{ic|/etc/X11/xorg.conf}},以便遇到问题是你可以从命令行恢复。'''}}<br />
<br />
* 本节讲述如何配置"BIG Desktop"效果。主要是不同尺寸的屏幕如何通过两个不同的输出接口(DVI + HDMI)共享一个显卡。<br />
<br />
* Xinerama解决办法有些不便,尤其是不能与XrandR兼容。因为XrandR对于我们所讲的来说是必须的,所以不使用Xinerama。<br />
<br />
* 双头显示能让你有两个不同的会话(一个屏幕一个)。你可以随心所欲地干任何事情,但不能将窗口从一个屏幕移动到另一个屏幕。若只有一个屏幕,你得在Xorg会话里为Server Layout section的每个会话定义鼠标,具体方法查看:<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
ATI的图形工具非常有用,我们将尽可能地使用它。运行下面命令可启用它:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{警告|'''千万不要'''直接使用sudo。 Sudo虽能给予管理员权限,却使用用户账户的信息(如环境变量)。GNOME下使用''gksu'',KDE下使用''kdesu''。}}<br />
<br />
==== 安装 ====<br />
<br />
开始之前,确保你的硬件接插正确,电源开启,而且你得你的硬件属性(2D还是3D屏,屏幕尺寸,刷新率等)。通常情况下,在启动阶段两个显示器都会被识别却不需正确区分先后顺序,而是依赖热插拔功能。尤其在不使用({{ic|/etc/X11/xorg.conf}})配置时。<br />
<br />
首先要让你的桌面环境和X认识你的显示器。为此,要为你两个显示器生成基本的Xorg配置文件:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
或<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{注意|{{ic|overlay}}非常重要,因为它能让两个显示器拥有1种(多种)像素。<br />
{{提示|运行{{ic|aticonfig --help}}了解所有可用的命令。}}<br />
<br />
现在可编辑基本的Xorg配置文件(如:添加分辨率)。分辨率一定要正确,尤其是使用不同尺寸的显示器。分辨率在"Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
这以后就不需手动编辑{{ic|xorg.conf}},而ATI的图形化工具。重启X,确保正确支持两个显示器和识别屏幕分辨率(两个屏幕相互独立而不是完全一样。<br />
<br />
==== 设置 ====<br />
<br />
现在只需以root身份启动ATI控制中心,在显示菜单设置你需要的选项(下拉菜单中的小箭头)。设置好后重启X就大功造成(你和我都可松口气了,这段翻译有点难度,呵呵)!<br />
<br />
重启X之前,不要忘了核实{{ic|xorg.conf}}。主要是核实"Display"下的"Screen"节, 在"Virtual"行里,两个显示器的分辨率应该一样。"Server Layout"节则是剩下的参数。<br />
<br />
== 故障排除 ==<br />
若能启动到命令行,问题很可能出在{{ic|/etc/X11/xorg.conf}}<br />
<br />
可阅读{{ic|/var/log/Xorg.0.log}}或通过下列命令查找线索:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
若看不懂显示的是什么东东,可将其提交到[http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]论坛,注意要提交两者显示的信息。<br />
<br />
=== 在Wine上3D应用冻结 ===<br />
若在Wine上3D应用挂起,禁用TLS。使用{{ic|aticonfig}}或编辑{{ic|/etc/X11/xorg.conf}}。使用{{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
或以root身份打开{{ic|/etc/X11/xorg.conf}},在''Device''段添加{{ic|Option "UseFastTLS" "off"}}。<br />
<br />
只需来个二选一,然后重启X让其生效。<br />
<br />
=== 视频颜色不正常 ===<br />
<br />
仍然使用{{ic|vaapi:gl}}来防止画面抖动,但这样不会有视频加速:<br />
<br />
* 不使用{{ic|-vo vaapi}}运行'''mplayer'''。<br />
<br />
* 若是'''smplayer''',在Options → Preferences → Advanced → Options for MPlayer → Options:中删除{{ic|-vo vaapi}}。<br />
<br />
此后还可以启动'''smplayer'''的截屏功能。<br />
<br />
=== KWin and composite ===<br />
<br />
根据你的显卡,在OpenGL和XRender渲染方式中选择一种更快的。在某些情况下,XRender还可以解决一些人为的错误。<br />
<br />
=== 重启或启动x后,黑屏并且一直不退出 ===<br />
<br />
检查在启动加载器的内核参数行是否添加了'''nomodeset'''(参考 [[#Disable kernel mode setting]])。<br />
<br />
==== 错误的ACPI硬件调用 ====<br />
出现此种错误很可能是fglrx模块与系统的ACPI硬件调用配合不够默契而自身禁用,屏幕也就不会有输出。<br />
<br />
果真那样,运行:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== 注销后KDM消失 ===<br />
<br />
若使用Catalyst,当注销后你会获取tty1这个控制台而不是KDM的欢迎界面。每次注销后你必须让kdm重启X服务器:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
将标题为{{ic|[X-:*-Core]}}段里下面行前的注释删掉:<br />
<br />
TerminateServer=True<br />
<br />
当前注销KDE后KDM就会出现。<br />
<br />
=== 直接渲染无效 ===<br />
<br />
{{警告|在安装或升级catalyst后却没重启系统,也有可能出现此种错误,因为系统需要加载fglrx.ko模块来让驱动正常工作。}}<br />
若直接渲染有问题,运行:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
从此命令输出的第一行至末尾都与直接渲染无效有关,且非常详细。<br />
<br />
常见错误提示和解决办法:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* 若使用AGP的芯片组,确保加载fglrx模块之前加载正确的agp模块。要确定哪些agp模块,先运行{{ic|hwdetect --show-agp}},若使用SysVinit,则将之前命令所列的模块名称添加到rc.conf的{{ic|1=MODULES=}}行(若有fglrx, 则要全位于fglrx'''之前''');否则,打开{{ic|/etc/modules-load.d}}下的{{ic|fglrx.conf}},将agp模块添加到fglrx行'''之前'''。<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* 某些软件未正确安装。在错误提示中,若路径为{{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}},彻底注销,然后重新登录。若使用图形化的登录管理器(gdm, kdm, xdm),确保每次登录时{{ic|/etc/profile}}都会被读取。将{{ic|source /etc/profile}}添加到{{ic|~/.xsession}}或{{ic|~/.xinitrc}}通过都达到以上目的(不同的登录管理器修改的文件不一样)。<br />
<br />
* 若路径为{{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}},试着重装{{ic|catalyst}}包。<br />
<br />
若错误信息为:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
可能是因为系统装了多个版本的{{ic|libGL.so}},运行:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
结果如下:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
系统应只有3个libGL.so文件,若不止(例如{{ic|/usr/X11R6/lib/libGL.so.1.2}}),则将其删除。<br />
<br />
若使用X11R7且系统中有下列文件,系统并不会给出任何错误提示,一定要将他们删除:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== 休眠问题 ===<br />
<br />
==== 视频播放不能从休眠状态中恢复 ====<br />
<br />
若启动了framebuffer,Catalyst不能从挂机状态中恢复。在内核参数选项中添加'''vga=0'''可禁用framebuffer。如在Grub Legacy的{{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
其他加载器,参考[[#Disable kernel mode setting]]。<br />
<br />
=== 系统冻结或硬件锁死 ===<br />
<br />
* 过去,{{ic|radeonfb}}的framebuffer驱动很容易导致这个问题。若内核编译时启用对radeonfb的支持,应换内核看是否能解决此问题。<br />
<br />
* 若退出桌面环境(关机、挂机和切换到tty等)时系统冻结,很可能忘记禁用KMS。(参见 [[#Disable kernel mode setting]])<br />
<br />
=== 硬件冲突 ===<br />
<br />
当和某些版本的nForce3芯片组一起使用时,Radeon不能3D加速。目前虽还未找到具体原因,但有资料表明: indicate that it may be possible to get acceleration with this combination of hardware by booting with the drivers from 先用nVIDIA驱动启动到Windows然后再重启系统就可能获得3D加速。在root控制台使用下列命令可识别此问题:<br />
<br />
$ dmesg | grep agp<br />
<br />
与下列相似(使用基于nForce3系统)的输出:<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
或以下命令...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...与下面相似的输出:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
则就有问题。<br />
<br />
有些资料说在某些情形下降级主板的BIOS可能有助于解决问题,但注意此方法并不是在各种情况下都适用,而且'''方法不对则很可能让显卡报废。'''<br />
<br />
参考[http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport]。<br />
<br />
=== 播放视频时系统短时间死机 ===<br />
<br />
使用Catalyst可导致此问题。<br />
<br />
当用mplayer,若不定时出现几秒到几分钟的死机。查看 /var/log/messages.log,若有与下面相似的信息:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
给内核参数添加nopat,至少在我的电脑上此方法适用。<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
若运行:<br />
<br />
# sudo aticonfig --initial<br />
<br />
输出:<br />
<br />
aticonfig: No supported adaptaters detected<br />
但你确实有AMD的显卡(or APU),在{{ic|etc/X11/xorg.conf}}中设置device就可能让Catalyst正常工作。<br />
<br />
在{{ic|/etc/X11/xorg.conf}}将device段设置为:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
此处''****''为设备型号(6870 for the HD 6870的显卡为6870,APU E-350为6310,通过网络是很容易查到的).<br />
<br />
Xorg启动后很可能使用{{ic|amdcccle}}而不是{{ic|aticonfig}}。这里会有一个"AMD不支持硬件"水印。<br />
<br />
用下面脚本可将此水印删除:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
然后重启。<br />
<br />
=== 让chromium支持WebGL ===<br />
<br />
在Google的Chromium/Chrome浏览器里,Linux的Catalyst驱动被列入了黑名单。<br />
编辑{{ic|/usr/share/applications/chromium.desktop}}文件,添加{{ic|--ignore-gpu-blacklist}}标识到'''Exec'''行,它看起来应像下面这样:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
也可在终端中用相同的标识运行chromium:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{警告|Catalyst并不支持GL_ARB_robustness扩展,因此一些恶意网站可能使用WebGL对你的显卡发动DoS攻击。参考[http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== Laggs/freezes when watching flash videos via Adobe's flashplugin ===<br />
<br />
Edit {{ic|/etc/adobe/mms.cfg}} and make it look like this:<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== Laggs/slow windows movement in GNOME3 ===<br />
<br />
You can try this solution out, it's working for many people.<br />
<br />
Add this line into {{ic|~/.profile}} or into {{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
Restart X server or reboot your system.<br />
<br />
=== Not using fullscreen in the 1920x1080 resolution ===<br />
<br />
The ATI has scaling by default add this to your xorg.conf<br />
<br />
Option "DPMS" "true"<br />
<br />
On the Monitor section, as full example would look like this<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=230803AMD Catalyst (简体中文)2012-10-23T12:17:58Z<p>Micy1985: /* "aticonfig: No supported adaptaters detected" */</p>
<hr />
<div>[[Category:Graphics (简体中文)]]<br />
[[Category:X Server (简体中文)]]<br />
{{TranslationStatus (简体中文)|AMD_Catalyst|2012-10-21|229195}}<br />
"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs完全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx 显卡驱动分开开发,因此在你选择何种安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用普通Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的普通Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上面对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败和丢失Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make脚本, 最好换一名称保存。否则将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
通过访问{{ic|/etc/ati/amdpcsdb}}文件它几乎能配置显卡的各项参数。了解完整的配置选项{{ic|aticonfig}}可运行:<br />
<br />
# aticonfig --help | less<br />
<br />
{{警告|在将各项配置参数提交到/etc/X11/xorg.conf之前使用--output选项,/etc/X11/xorg.conf.d中的所有内容都会被覆盖。}}<br />
<br />
{{注意|如果坚持使用xorg.conf.d下的新配置文件:为了让Device section与{{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}相匹配,在{{ic|aticonfig}}后追加''--output''。但这有一个缺点,很多依赖xorg.conf的{{ic|aticonfig}}选项都无法使用。}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,但不同Xorg版本的默认参数可能会有所不同,最好明确指定一些参数.<br />
<br />
给一个示例配置 (注意) '''仅供参考'''. 标'#'必须有,标'##'很可能会用到:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{注意|一旦升级Catalyst就要通过后面的方法删除'''amdpcsdb'''文件: 关闭X,删除{{ic|/etc/ati/amdpcsdb}},启动X然后运行{{ic|amdcccle}} -否则amdcccle将会显示错误的Catalyst版本号}}<br />
<br />
''更多信息参考[http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== 启动时加载模块 ====<br />
不同的初始化系统(SysVinit和systemd)的设置方式不一样,但无论哪一种,都得在{{ic|/etc/modprobe.d/modprobe.conf}}禁用''radeon''。具体可参见[[Modprobe|blacklisting in this article]]. '''通过Arch官方安装Catalyst则无需此步骤,安装包会自动处理'''。<br />
<br />
{{注意|强烈推荐使用systemd进行系统初始化,因为最新Arch安装镜像已默认使用systemd,通过rc.conf设置系统启动服务迟早会遭淘汰}}。<br />
<br />
===== 在使用systemd上 =====<br />
* 删除{{ic|/etc/modules-load.d/}}下任何名称包含{{ic|radeon}}的文件若该文件中含有其他多个模块,则只删除radeon)。<br />
* 在{{ic|/etc/modules-load.d/}}的现有文件中添加{{ic|fglrx}}或新建含有该行的文件。<br />
<br />
===== 在使用SysVinit上 =====<br />
编辑{{ic|/etc/rc.conf}}:<br />
* 自MODULES中删除{{ic|radeon}}。<br />
* 在MODULES中添加 {{ic|fglrx}}。<br />
<br />
{{注意|若使用AGP接口的显卡还需添加''agp''。}}<br />
<br />
==== 禁用KMS ====<br />
<br />
由于Catalyst根本不使用[[KMS]],得将其禁用。否则,当系统切换至tyy或在桌面环境下关机时,系统可能会冻结。<br />
<br />
若使用[[GRUB Legacy|GRUB Legacy]],在{{ic|menu.lst}}添加{{ic|nomodeset}}给内核参数,如:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
若使用[[GRUB2|GRUB 2]],在{{ic|/etc/default/grub}}添加''nomodeset''给内核参数,如:<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
然后以root身份运行;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
若使用[[Syslinux|Syslinux]],在{{ic|/boot/syslinux/syslinux.cfg}}添加''nomodeset''到{{ic|APPEND}}行,如:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== 检查安装是否成功 ====<br />
<br />
重启电脑并登录, 运行下列命令可查看fglrx是否正确运行:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
若两者均有输出, 安装成功。进行桌面环境并运行以下命令检查直接渲染模式是否启用:<br />
<br />
$ glxinfo | grep direct<br />
<br />
若显示"direct rendering: yes",恭喜你,到位了! 若无glxinfo命令,安装{{Pkg|mesa-demos}} package。<br />
<br />
{{警告|最近几版Xorg,库函数路径变了,因此即使安装{{ic|libGL.so}}也不一定能正确人加载。请检查GL是否工作,可阅读"Troubleshooting"段落}}<br />
<br />
若有问题,参阅[[#Troubleshooting]].<br />
<br />
=== 自我编译内核 ===<br />
<br />
在手动编译的内核上,你必须构建你自己{{ic|catalyst-$kernel}}包.<br />
<br />
如果你讨厌打包或毫无经验,可先阅读[[ABS]]。<br />
<br />
#从[[AUR|Catalyst]]上获取{{ic|PKGBUILD}} 和 {{ic|catalyst.install}}文件。<br />
# 编辑PKGBUILD. 两个地方需要修改:<br />
## 将{{ic|1=pkgname=catalyst}} 修改为 {{ic|1=pkgname=catalyst-$kernel_name}},$kernel_name可以随意取(如:custom, mm)。<br />
## 将{{ic|linux}}的依赖修改为{{ic|$kernel_name}}。<br />
# 构建并安装软件包;运行{{ic|makepkg -i}} 和 {{ic|makepkg}},接着运行 {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{注意|如果在安装有多内核的系统上,你必须为所有内核安装Catalyst-utils包。这不会引起冲突}}<br />
<br />
{{注意|Catalyst-generator能为你自动构建catalyst-{kernver},因此这些步骤根本就可省略。 请参考[[#Tools| Tools section]].}}<br />
<br />
== Xorg软件库 ==<br />
Catalyst由于其缓慢的更新而被人大为诟病。因升级Xorg而造成两者不兼容是稀松平常的事。也就意味着Catalyst用户要么不升级Xorg要么使用一个只包含Xorg包的回溯软件库,该库中不提供更新版Xorg以确保兼容性。 Vi0L0提供好几个这样的库. <br />
<br />
若想让pacman更新其他软件而不更新Xorg,查看[[pacman|skip package from being upgraded]]。不更新的软件是:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
若要使用这类软件库,在{{ic|/etc/pacman.conf}}的所有库(甚至Catalyst)前面添加下面中的一个 。<br />
<br />
===[xorg112]===<br />
截止目前,当前Catalyst 不支持1.13。<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
低于 12.6的Catalyst不支持xorg-server 1.12。<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== 工具 ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook]是一个针对[[mkinitcpio|mkinitcpio]]的钩子。'''跟 catalyst-dkms一样''',每当内核更新时,它会自动升级fglrx模块。在更新fglrx之前,它会尝试更新{{Pkg|linux-headers}}。<br />
<br />
当更新内核时,钩子会调用''catalyst_build_module''命令来更新fglrx模块以使两者相匹配。此外,它还可调用''catalyst_build_module remove''来删除不需要的旧flgrx模块<br />
<br />
{{注意|若使用此功能,'''一定要''' 关注的内核的安装提示,Catalyst-hook会显示是否一切顺利。}}<br />
<br />
{{注意|若是'''自编译内核'''且使用'''非标准的mkinitcpio配置文件'''(如:linux-zen使用/etc/mkinitcpio-zen.conf),那必须在你非标准的配置文件中添加'''fglrx'''至 HOOKS行,以便当内核更新时能自动重新编译。}}<br />
<br />
{{注意|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator]包能构建并安装fglrx模块,该模块与pacman兼容 的catalyst-${内核版本}相适应。与Catalyst-hook的区别是必须手动使用此命令,而Catalyst-hook则不需。<br />
<br />
通过[[makepkg]],它能构建catalyst-${内核版本}二进制包并用[[pacman]]安装。<br />
<br />
非特权用户使用{{ic|catalyst_build_module}}来构建并安装catalyst-${内核版本}包。安装时会提示输入root密码。<br />
<br />
简单说一下如何使用此包:<br />
<br />
# root用户: 使用{{ic|catalyst_build_module remove}}。此举会删除无用的{{ic|catalyst-{kernver} }}包。<br />
# 非特权用户: 使用{{ic|catalyst_build_module ${内核版本}}}, ${内核版本}是指升级过后的内核版本。也可通过{{ic|catalyst_build_module all}}为所有安装的内核构建catalyst-${内核版本}。<br />
# 若要删除{{ic|catalyst-generator}}, 在使用{{ic|catalyst_build_module remove_all}}命令删除catalyst-generator之前最好切换到root用户,'''这会删除得极为彻底。'''<br />
<br />
当删除Catalyst-generator时,Catalyst-generator不能自动删除那些catalyst-{内核版本}包,这是因为pacman不允许有一个以上的实例同时运行。若在使用{{ic|pacman -R catalyst-generator}}前忘记运行{{ic|catalyst_build_module remove_all}}, catalyst-generator将会询问删除catalyst-generator自身后要删除哪个catalyst-{内核版本}包。<br />
<br />
{{注意|在构建catalyst-{内核版本}时,若看到下列警告,乃正常情况,不必莫名惊诧:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension}}<br />
<br />
=== Catalyst-daemon ===<br />
{{警告|由于systemd与普通initscript daemons不兼容,所以systemd用户不能使用此工具。}}<br />
<br />
每次启动时,[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon]守护进程会检查内核是否更新过。若更新过,它会重建fglrx模块;若没有,则加载前次构建的模块。在2.4 GHz CPU电脑上,整个过程只需20ms。<br />
<br />
Catalyst-daemon的自动重新编译功能是通过一个叫''autofglrx''的初始化脚本实现的。Autofglrx的检查方式为比较启动内核(由{{ic|uname -v}}提供)和使用当前fglrx模块内核的构建时间。之所以能这样比较,是因为编译时,它将{{ic|uname -v}}的信息添加到fglrx模块描述里。<br />
<br />
重构过程中,autofglrx会调用''catalyst_build_module''构建模块,调用''catalyst_build_module remove''删除老旧无用的fglrx模块。运行后,它并不会一直驻留在系统内存。<br />
<br />
{{注意|安装autofglrx后,在{{ic|/etc/rc.conf}}将{{ic|autofglrx}}添加到{{ic|DAEMONS}}。要将它放在DM(显示管理器)之前(若是通过此配置运行DM)并且'''不要'''在后台运行(不能在其前添加@符号)。}}<br />
<br />
{{注意|若使用'''你自己的编译标识'''导致此工具有问题 - 请将你的标识写入/usr/bin/catalyst_build_module文件。}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
在'''Catalyst 11.1'''中,很可能是添加了三重缓存和v-sync,''Tear Free Desktop''减少了2D,3D视频应用的屏幕撕裂毛病。但这需要额外的GPU处理。<br />
<br />
要启用'Tear Free Desktop',运行{{ic|amdcccle}},然后设置{{ic|Display Options}} → {{ic|Tear Free}}。<br />
<br />
或以root身份运行:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
若禁用,使用{{ic|amdcccle}}或以root身份运行:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== 视频加速 ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)'''是为基于Linux/UNIX操作系统提供利用GPU加速视频处理的一个开源函数库和应用程序接口规范。启用视频加速后,通过各种入口(VLD, IDCT, Motion Compensation, deblocking)它能加速常用编码标准(MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3)视频文件的解码过程(俗称硬解)。<br />
<br />
VA-API在{{AUR|xvba-video}}上有一个私有后端(2009年10月), 它允许使用VA-API的程序通过[http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)]函数库来充分利用拥有uvd2(第二代通用视频解码单元)芯片组的视频加速功能.<br />
<br />
xvba-video和支持XvBA的软件仍还在开发,'''但在大多数情况下它都能很好的工作'''. 通过AUR构建或直接通过[community]安装{{AUR|xvba-video}}包,并安装{{Pkg|mplayer-vaapi}} and {{Pkg|libva}}。然后将视频播放器的视频输出设置为vaapi:gl:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
此选项可添加到mplayer的配置文件,参考[[MPlayer]]。<br />
<br />
针对 '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{注意|如果启用了Tear Free Desktop,则按下列步骤:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
若视频输出中没有'''vaapi:gl'''选项 - 可使用:<br />
'''vaapi''', '''vaapi:gl2''' or 简单的 '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
针对 '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
它有助于在'''amdcccle'''中启用v-sync:<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{注意|若使用'''Compiz/KWin''',消除'''画面抖动'''的唯一方法就是切换至'''全屏'''并且 '''关闭Redirected Fullscreen'''。<br />
<br />
使用'''compiz''',需在ccsm的General Options中设置'''Redirected Direct Rendering'''。若此举无效,则将其关闭。'''KWin'''默认关闭此功能,若出现画面抖动则通过System Settings → Desktop Effects → Advanced将"Suspend desktop effects for fullscreen windows"开启或关闭。}}<br />
<br />
=== 显卡/显存频率, 温度, 风扇转速, 超频工具 ===<br />
<br />
{{ic|$ aticonfig --od-getclocks}}可以获知当前显卡/显存频率。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}可以获知风扇转速(显卡);<br />
<br />
{{ic|$ aticonfig --odgt}}可以获知显卡温度。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}}可以设置风扇转速,其中查询索引50代表速度百分比。<br />
<br />
若超频或与之相反,则使用图形工具反而相对容易些,如需要qt的'''ATi Overclocking Utility'''。<br />
<br />
i686版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here];x86_64版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]。下载后直接运行。<br />
更复杂'''AMDOverdriveCtrl'''也能达到此目的,它的主页是[http://sourceforge.net/projects/amdovdrvctrl here]。可通过[https://aur.archlinux.org/packages.php?ID=45298 AUR]或Vi0L0's非官方软件库构建安装包。<br />
<br />
=== 双屏显示 ===<br />
<br />
==== 介绍 ====<br />
<br />
{{警告|由于安装方式的不同,并且每种安装方式需要与其相对应进行配置,因此设置双屏显示并没有特定的解决办办法。这也是你必须根据你自己的需要采用相应步骤的原因。当然可以多尝试几种方法。'''所以,在修改之前,将你的配置保存到{{ic|/etc/X11/xorg.conf}},以便遇到问题是你可以从命令行恢复。'''}}<br />
<br />
* 本节讲述如何配置"BIG Desktop"效果。主要是不同尺寸的屏幕如何通过两个不同的输出接口(DVI + HDMI)共享一个显卡。<br />
<br />
* Xinerama解决办法有些不便,尤其是不能与XrandR兼容。因为XrandR对于我们所讲的来说是必须的,所以不使用Xinerama。<br />
<br />
* 双头显示能让你有两个不同的会话(一个屏幕一个)。你可以随心所欲地干任何事情,但不能将窗口从一个屏幕移动到另一个屏幕。若只有一个屏幕,你得在Xorg会话里为Server Layout section的每个会话定义鼠标,具体方法查看:<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
ATI的图形工具非常有用,我们将尽可能地使用它。运行下面命令可启用它:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{警告|'''千万不要'''直接使用sudo。 Sudo虽能给予管理员权限,却使用用户账户的信息(如环境变量)。GNOME下使用''gksu'',KDE下使用''kdesu''。}}<br />
<br />
==== 安装 ====<br />
<br />
开始之前,确保你的硬件接插正确,电源开启,而且你得你的硬件属性(2D还是3D屏,屏幕尺寸,刷新率等)。通常情况下,在启动阶段两个显示器都会被识别却不需正确区分先后顺序,而是依赖热插拔功能。尤其在不使用({{ic|/etc/X11/xorg.conf}})配置时。<br />
<br />
首先要让你的桌面环境和X认识你的显示器。为此,要为你两个显示器生成基本的Xorg配置文件:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
或<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{注意|{{ic|overlay}}非常重要,因为它能让两个显示器拥有1种(多种)像素。<br />
{{提示|运行{{ic|aticonfig --help}}了解所有可用的命令。}}<br />
<br />
现在可编辑基本的Xorg配置文件(如:添加分辨率)。分辨率一定要正确,尤其是使用不同尺寸的显示器。分辨率在"Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
这以后就不需手动编辑{{ic|xorg.conf}},而ATI的图形化工具。重启X,确保正确支持两个显示器和识别屏幕分辨率(两个屏幕相互独立而不是完全一样。<br />
<br />
==== 设置 ====<br />
<br />
现在只需以root身份启动ATI控制中心,在显示菜单设置你需要的选项(下拉菜单中的小箭头)。设置好后重启X就大功造成(你和我都可松口气了,这段翻译有点难度,呵呵)!<br />
<br />
重启X之前,不要忘了核实{{ic|xorg.conf}}。主要是核实"Display"下的"Screen"节, 在"Virtual"行里,两个显示器的分辨率应该一样。"Server Layout"节则是剩下的参数。<br />
<br />
== 故障排除 ==<br />
若能启动到命令行,问题很可能出在{{ic|/etc/X11/xorg.conf}}<br />
<br />
可阅读{{ic|/var/log/Xorg.0.log}}或通过下列命令查找线索:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
若看不懂显示的是什么东东,可将其提交到[http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]论坛,注意要提交两者显示的信息。<br />
<br />
=== 在Wine上3D应用冻结 ===<br />
若在Wine上3D应用挂起,禁用TLS。使用{{ic|aticonfig}}或编辑{{ic|/etc/X11/xorg.conf}}。使用{{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
或以root身份打开{{ic|/etc/X11/xorg.conf}},在''Device''段添加{{ic|Option "UseFastTLS" "off"}}。<br />
<br />
只需来个二选一,然后重启X让其生效。<br />
<br />
=== 视频颜色不正常 ===<br />
<br />
仍然使用{{ic|vaapi:gl}}来防止画面抖动,但这样不会有视频加速:<br />
<br />
* 不使用{{ic|-vo vaapi}}运行'''mplayer'''。<br />
<br />
* 若是'''smplayer''',在Options → Preferences → Advanced → Options for MPlayer → Options:中删除{{ic|-vo vaapi}}。<br />
<br />
此后还可以启动'''smplayer'''的截屏功能。<br />
<br />
=== KWin and composite ===<br />
<br />
根据你的显卡,在OpenGL和XRender渲染方式中选择一种更快的。在某些情况下,XRender还可以解决一些人为的错误。<br />
<br />
=== 重启或启动x后,黑屏并且一直不退出 ===<br />
<br />
检查在启动加载器的内核参数行是否添加了'''nomodeset'''(参考 [[#Disable kernel mode setting]])。<br />
<br />
==== 错误的ACPI硬件调用 ====<br />
出现此种错误很可能是fglrx模块与系统的ACPI硬件调用配合不够默契而自身禁用,屏幕也就不会有输出。<br />
<br />
果真那样,运行:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== 注销后KDM消失 ===<br />
<br />
若使用Catalyst,当注销后你会获取tty1这个控制台而不是KDM的欢迎界面。每次注销后你必须让kdm重启X服务器:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
将标题为{{ic|[X-:*-Core]}}段里下面行前的注释删掉:<br />
<br />
TerminateServer=True<br />
<br />
当前注销KDE后KDM就会出现。<br />
<br />
=== 直接渲染无效 ===<br />
<br />
{{警告|在安装或升级catalyst后却没重启系统,也有可能出现此种错误,因为系统需要加载fglrx.ko模块来让驱动正常工作。}}<br />
若直接渲染有问题,运行:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
从此命令输出的第一行至末尾都与直接渲染无效有关,且非常详细。<br />
<br />
常见错误提示和解决办法:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* 若使用AGP的芯片组,确保加载fglrx模块之前加载正确的agp模块。要确定哪些agp模块,先运行{{ic|hwdetect --show-agp}},若使用SysVinit,则将之前命令所列的模块名称添加到rc.conf的{{ic|1=MODULES=}}行(若有fglrx, 则要全位于fglrx'''之前''');否则,打开{{ic|/etc/modules-load.d}}下的{{ic|fglrx.conf}},将agp模块添加到fglrx行'''之前'''。<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* 某些软件未正确安装。在错误提示中,若路径为{{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}},彻底注销,然后重新登录。若使用图形化的登录管理器(gdm, kdm, xdm),确保每次登录时{{ic|/etc/profile}}都会被读取。将{{ic|source /etc/profile}}添加到{{ic|~/.xsession}}或{{ic|~/.xinitrc}}通过都达到以上目的(不同的登录管理器修改的文件不一样)。<br />
<br />
* 若路径为{{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}},试着重装{{ic|catalyst}}包。<br />
<br />
若错误信息为:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
可能是因为系统装了多个版本的{{ic|libGL.so}},运行:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
结果如下:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
系统应只有3个libGL.so文件,若不止(例如{{ic|/usr/X11R6/lib/libGL.so.1.2}}),则将其删除。<br />
<br />
若使用X11R7且系统中有下列文件,系统并不会给出任何错误提示,一定要将他们删除:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== 休眠问题 ===<br />
<br />
==== 视频播放不能从休眠状态中恢复 ====<br />
<br />
若启动了framebuffer,Catalyst不能从挂机状态中恢复。在内核参数选项中添加'''vga=0'''可禁用framebuffer。如在Grub Legacy的{{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
其他加载器,参考[[#Disable kernel mode setting]]。<br />
<br />
=== 系统冻结或硬件锁死 ===<br />
<br />
* 过去,{{ic|radeonfb}}的framebuffer驱动很容易导致这个问题。若内核编译时启用对radeonfb的支持,应换内核看是否能解决此问题。<br />
<br />
* 若退出桌面环境(关机、挂机和切换到tty等)时系统冻结,很可能忘记禁用KMS。(参见 [[#Disable kernel mode setting]])<br />
<br />
=== 硬件冲突 ===<br />
<br />
当和某些版本的nForce3芯片组一起使用时,Radeon不能3D加速。目前虽还未找到具体原因,但有资料表明: indicate that it may be possible to get acceleration with this combination of hardware by booting with the drivers from 先用nVIDIA驱动启动到Windows然后再重启系统就可能获得3D加速。在root控制台使用下列命令可识别此问题:<br />
<br />
$ dmesg | grep agp<br />
<br />
与下列相似(使用基于nForce3系统)的输出:<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
或以下命令...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...与下面相似的输出:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
则就有问题。<br />
<br />
有些资料说在某些情形下降级主板的BIOS可能有助于解决问题,但注意此方法并不是在各种情况下都适用,而且'''方法不对则很可能让显卡报废。'''<br />
<br />
参考[http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport]。<br />
<br />
=== 播放视频时系统短时间死机 ===<br />
<br />
使用Catalyst可导致此问题。<br />
<br />
当用mplayer,若不定时出现几秒到几分钟的死机。查看 /var/log/messages.log,若有与下面相似的信息:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
给内核参数添加nopat,至少在我的电脑上此方法适用。<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
若运行:<br />
<br />
# sudo aticonfig --initial<br />
<br />
输出:<br />
<br />
aticonfig: No supported adaptaters detected<br />
但你确实有AMD的显卡(or APU),在{{ic|etc/X11/xorg.conf}}中设置device就可能让Catalyst正常工作。<br />
<br />
在{{ic|/etc/X11/xorg.conf}}将device段设置为:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
此处''****''为设备型号(6870 for the HD 6870的显卡为6870,APU E-350为6310,通过网络是很容易查到的).<br />
<br />
Xorg启动后很可能使用{{ic|amdcccle}}而不是{{ic|aticonfig}}。这里会有一个"AMD不支持硬件"水印。<br />
<br />
用下面脚本可将此水印删除:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
然后重启。<br />
<br />
=== WebGL support in Chromium ===<br />
<br />
Google has blacklisted Linux's Catalyst driver from supporting webGL in their Chromium/Chrome browsers.<br />
<br />
You can turn webGL on by editing {{ic|/usr/share/applications/chromium.desktop}} file and adding {{ic|--ignore-gpu-blacklist}} flag into the '''Exec''' line so it looks like this:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
You can also run chromium from console with the same {{ic|--ignore-gpu-blacklist}} flag:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{Warning|Catalyst does not support the GL_ARB_robustness extension, so it is possible that a malicious site could use WebGL to perform a DoS attack on your graphic card. For more info, read [http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== Laggs/freezes when watching flash videos via Adobe's flashplugin ===<br />
<br />
Edit {{ic|/etc/adobe/mms.cfg}} and make it look like this:<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== Laggs/slow windows movement in GNOME3 ===<br />
<br />
You can try this solution out, it's working for many people.<br />
<br />
Add this line into {{ic|~/.profile}} or into {{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
Restart X server or reboot your system.<br />
<br />
=== Not using fullscreen in the 1920x1080 resolution ===<br />
<br />
The ATI has scaling by default add this to your xorg.conf<br />
<br />
Option "DPMS" "true"<br />
<br />
On the Monitor section, as full example would look like this<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=230802AMD Catalyst (简体中文)2012-10-23T12:00:37Z<p>Micy1985: /* 播放视频时系统短时间死机 */</p>
<hr />
<div>[[Category:Graphics (简体中文)]]<br />
[[Category:X Server (简体中文)]]<br />
{{TranslationStatus (简体中文)|AMD_Catalyst|2012-10-21|229195}}<br />
"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs完全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx 显卡驱动分开开发,因此在你选择何种安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用普通Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的普通Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上面对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败和丢失Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make脚本, 最好换一名称保存。否则将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
通过访问{{ic|/etc/ati/amdpcsdb}}文件它几乎能配置显卡的各项参数。了解完整的配置选项{{ic|aticonfig}}可运行:<br />
<br />
# aticonfig --help | less<br />
<br />
{{警告|在将各项配置参数提交到/etc/X11/xorg.conf之前使用--output选项,/etc/X11/xorg.conf.d中的所有内容都会被覆盖。}}<br />
<br />
{{注意|如果坚持使用xorg.conf.d下的新配置文件:为了让Device section与{{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}相匹配,在{{ic|aticonfig}}后追加''--output''。但这有一个缺点,很多依赖xorg.conf的{{ic|aticonfig}}选项都无法使用。}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,但不同Xorg版本的默认参数可能会有所不同,最好明确指定一些参数.<br />
<br />
给一个示例配置 (注意) '''仅供参考'''. 标'#'必须有,标'##'很可能会用到:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{注意|一旦升级Catalyst就要通过后面的方法删除'''amdpcsdb'''文件: 关闭X,删除{{ic|/etc/ati/amdpcsdb}},启动X然后运行{{ic|amdcccle}} -否则amdcccle将会显示错误的Catalyst版本号}}<br />
<br />
''更多信息参考[http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== 启动时加载模块 ====<br />
不同的初始化系统(SysVinit和systemd)的设置方式不一样,但无论哪一种,都得在{{ic|/etc/modprobe.d/modprobe.conf}}禁用''radeon''。具体可参见[[Modprobe|blacklisting in this article]]. '''通过Arch官方安装Catalyst则无需此步骤,安装包会自动处理'''。<br />
<br />
{{注意|强烈推荐使用systemd进行系统初始化,因为最新Arch安装镜像已默认使用systemd,通过rc.conf设置系统启动服务迟早会遭淘汰}}。<br />
<br />
===== 在使用systemd上 =====<br />
* 删除{{ic|/etc/modules-load.d/}}下任何名称包含{{ic|radeon}}的文件若该文件中含有其他多个模块,则只删除radeon)。<br />
* 在{{ic|/etc/modules-load.d/}}的现有文件中添加{{ic|fglrx}}或新建含有该行的文件。<br />
<br />
===== 在使用SysVinit上 =====<br />
编辑{{ic|/etc/rc.conf}}:<br />
* 自MODULES中删除{{ic|radeon}}。<br />
* 在MODULES中添加 {{ic|fglrx}}。<br />
<br />
{{注意|若使用AGP接口的显卡还需添加''agp''。}}<br />
<br />
==== 禁用KMS ====<br />
<br />
由于Catalyst根本不使用[[KMS]],得将其禁用。否则,当系统切换至tyy或在桌面环境下关机时,系统可能会冻结。<br />
<br />
若使用[[GRUB Legacy|GRUB Legacy]],在{{ic|menu.lst}}添加{{ic|nomodeset}}给内核参数,如:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
若使用[[GRUB2|GRUB 2]],在{{ic|/etc/default/grub}}添加''nomodeset''给内核参数,如:<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
然后以root身份运行;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
若使用[[Syslinux|Syslinux]],在{{ic|/boot/syslinux/syslinux.cfg}}添加''nomodeset''到{{ic|APPEND}}行,如:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== 检查安装是否成功 ====<br />
<br />
重启电脑并登录, 运行下列命令可查看fglrx是否正确运行:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
若两者均有输出, 安装成功。进行桌面环境并运行以下命令检查直接渲染模式是否启用:<br />
<br />
$ glxinfo | grep direct<br />
<br />
若显示"direct rendering: yes",恭喜你,到位了! 若无glxinfo命令,安装{{Pkg|mesa-demos}} package。<br />
<br />
{{警告|最近几版Xorg,库函数路径变了,因此即使安装{{ic|libGL.so}}也不一定能正确人加载。请检查GL是否工作,可阅读"Troubleshooting"段落}}<br />
<br />
若有问题,参阅[[#Troubleshooting]].<br />
<br />
=== 自我编译内核 ===<br />
<br />
在手动编译的内核上,你必须构建你自己{{ic|catalyst-$kernel}}包.<br />
<br />
如果你讨厌打包或毫无经验,可先阅读[[ABS]]。<br />
<br />
#从[[AUR|Catalyst]]上获取{{ic|PKGBUILD}} 和 {{ic|catalyst.install}}文件。<br />
# 编辑PKGBUILD. 两个地方需要修改:<br />
## 将{{ic|1=pkgname=catalyst}} 修改为 {{ic|1=pkgname=catalyst-$kernel_name}},$kernel_name可以随意取(如:custom, mm)。<br />
## 将{{ic|linux}}的依赖修改为{{ic|$kernel_name}}。<br />
# 构建并安装软件包;运行{{ic|makepkg -i}} 和 {{ic|makepkg}},接着运行 {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{注意|如果在安装有多内核的系统上,你必须为所有内核安装Catalyst-utils包。这不会引起冲突}}<br />
<br />
{{注意|Catalyst-generator能为你自动构建catalyst-{kernver},因此这些步骤根本就可省略。 请参考[[#Tools| Tools section]].}}<br />
<br />
== Xorg软件库 ==<br />
Catalyst由于其缓慢的更新而被人大为诟病。因升级Xorg而造成两者不兼容是稀松平常的事。也就意味着Catalyst用户要么不升级Xorg要么使用一个只包含Xorg包的回溯软件库,该库中不提供更新版Xorg以确保兼容性。 Vi0L0提供好几个这样的库. <br />
<br />
若想让pacman更新其他软件而不更新Xorg,查看[[pacman|skip package from being upgraded]]。不更新的软件是:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
若要使用这类软件库,在{{ic|/etc/pacman.conf}}的所有库(甚至Catalyst)前面添加下面中的一个 。<br />
<br />
===[xorg112]===<br />
截止目前,当前Catalyst 不支持1.13。<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
低于 12.6的Catalyst不支持xorg-server 1.12。<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== 工具 ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook]是一个针对[[mkinitcpio|mkinitcpio]]的钩子。'''跟 catalyst-dkms一样''',每当内核更新时,它会自动升级fglrx模块。在更新fglrx之前,它会尝试更新{{Pkg|linux-headers}}。<br />
<br />
当更新内核时,钩子会调用''catalyst_build_module''命令来更新fglrx模块以使两者相匹配。此外,它还可调用''catalyst_build_module remove''来删除不需要的旧flgrx模块<br />
<br />
{{注意|若使用此功能,'''一定要''' 关注的内核的安装提示,Catalyst-hook会显示是否一切顺利。}}<br />
<br />
{{注意|若是'''自编译内核'''且使用'''非标准的mkinitcpio配置文件'''(如:linux-zen使用/etc/mkinitcpio-zen.conf),那必须在你非标准的配置文件中添加'''fglrx'''至 HOOKS行,以便当内核更新时能自动重新编译。}}<br />
<br />
{{注意|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator]包能构建并安装fglrx模块,该模块与pacman兼容 的catalyst-${内核版本}相适应。与Catalyst-hook的区别是必须手动使用此命令,而Catalyst-hook则不需。<br />
<br />
通过[[makepkg]],它能构建catalyst-${内核版本}二进制包并用[[pacman]]安装。<br />
<br />
非特权用户使用{{ic|catalyst_build_module}}来构建并安装catalyst-${内核版本}包。安装时会提示输入root密码。<br />
<br />
简单说一下如何使用此包:<br />
<br />
# root用户: 使用{{ic|catalyst_build_module remove}}。此举会删除无用的{{ic|catalyst-{kernver} }}包。<br />
# 非特权用户: 使用{{ic|catalyst_build_module ${内核版本}}}, ${内核版本}是指升级过后的内核版本。也可通过{{ic|catalyst_build_module all}}为所有安装的内核构建catalyst-${内核版本}。<br />
# 若要删除{{ic|catalyst-generator}}, 在使用{{ic|catalyst_build_module remove_all}}命令删除catalyst-generator之前最好切换到root用户,'''这会删除得极为彻底。'''<br />
<br />
当删除Catalyst-generator时,Catalyst-generator不能自动删除那些catalyst-{内核版本}包,这是因为pacman不允许有一个以上的实例同时运行。若在使用{{ic|pacman -R catalyst-generator}}前忘记运行{{ic|catalyst_build_module remove_all}}, catalyst-generator将会询问删除catalyst-generator自身后要删除哪个catalyst-{内核版本}包。<br />
<br />
{{注意|在构建catalyst-{内核版本}时,若看到下列警告,乃正常情况,不必莫名惊诧:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension}}<br />
<br />
=== Catalyst-daemon ===<br />
{{警告|由于systemd与普通initscript daemons不兼容,所以systemd用户不能使用此工具。}}<br />
<br />
每次启动时,[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon]守护进程会检查内核是否更新过。若更新过,它会重建fglrx模块;若没有,则加载前次构建的模块。在2.4 GHz CPU电脑上,整个过程只需20ms。<br />
<br />
Catalyst-daemon的自动重新编译功能是通过一个叫''autofglrx''的初始化脚本实现的。Autofglrx的检查方式为比较启动内核(由{{ic|uname -v}}提供)和使用当前fglrx模块内核的构建时间。之所以能这样比较,是因为编译时,它将{{ic|uname -v}}的信息添加到fglrx模块描述里。<br />
<br />
重构过程中,autofglrx会调用''catalyst_build_module''构建模块,调用''catalyst_build_module remove''删除老旧无用的fglrx模块。运行后,它并不会一直驻留在系统内存。<br />
<br />
{{注意|安装autofglrx后,在{{ic|/etc/rc.conf}}将{{ic|autofglrx}}添加到{{ic|DAEMONS}}。要将它放在DM(显示管理器)之前(若是通过此配置运行DM)并且'''不要'''在后台运行(不能在其前添加@符号)。}}<br />
<br />
{{注意|若使用'''你自己的编译标识'''导致此工具有问题 - 请将你的标识写入/usr/bin/catalyst_build_module文件。}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
在'''Catalyst 11.1'''中,很可能是添加了三重缓存和v-sync,''Tear Free Desktop''减少了2D,3D视频应用的屏幕撕裂毛病。但这需要额外的GPU处理。<br />
<br />
要启用'Tear Free Desktop',运行{{ic|amdcccle}},然后设置{{ic|Display Options}} → {{ic|Tear Free}}。<br />
<br />
或以root身份运行:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
若禁用,使用{{ic|amdcccle}}或以root身份运行:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== 视频加速 ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)'''是为基于Linux/UNIX操作系统提供利用GPU加速视频处理的一个开源函数库和应用程序接口规范。启用视频加速后,通过各种入口(VLD, IDCT, Motion Compensation, deblocking)它能加速常用编码标准(MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3)视频文件的解码过程(俗称硬解)。<br />
<br />
VA-API在{{AUR|xvba-video}}上有一个私有后端(2009年10月), 它允许使用VA-API的程序通过[http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)]函数库来充分利用拥有uvd2(第二代通用视频解码单元)芯片组的视频加速功能.<br />
<br />
xvba-video和支持XvBA的软件仍还在开发,'''但在大多数情况下它都能很好的工作'''. 通过AUR构建或直接通过[community]安装{{AUR|xvba-video}}包,并安装{{Pkg|mplayer-vaapi}} and {{Pkg|libva}}。然后将视频播放器的视频输出设置为vaapi:gl:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
此选项可添加到mplayer的配置文件,参考[[MPlayer]]。<br />
<br />
针对 '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{注意|如果启用了Tear Free Desktop,则按下列步骤:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
若视频输出中没有'''vaapi:gl'''选项 - 可使用:<br />
'''vaapi''', '''vaapi:gl2''' or 简单的 '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
针对 '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
它有助于在'''amdcccle'''中启用v-sync:<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{注意|若使用'''Compiz/KWin''',消除'''画面抖动'''的唯一方法就是切换至'''全屏'''并且 '''关闭Redirected Fullscreen'''。<br />
<br />
使用'''compiz''',需在ccsm的General Options中设置'''Redirected Direct Rendering'''。若此举无效,则将其关闭。'''KWin'''默认关闭此功能,若出现画面抖动则通过System Settings → Desktop Effects → Advanced将"Suspend desktop effects for fullscreen windows"开启或关闭。}}<br />
<br />
=== 显卡/显存频率, 温度, 风扇转速, 超频工具 ===<br />
<br />
{{ic|$ aticonfig --od-getclocks}}可以获知当前显卡/显存频率。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}可以获知风扇转速(显卡);<br />
<br />
{{ic|$ aticonfig --odgt}}可以获知显卡温度。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}}可以设置风扇转速,其中查询索引50代表速度百分比。<br />
<br />
若超频或与之相反,则使用图形工具反而相对容易些,如需要qt的'''ATi Overclocking Utility'''。<br />
<br />
i686版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here];x86_64版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]。下载后直接运行。<br />
更复杂'''AMDOverdriveCtrl'''也能达到此目的,它的主页是[http://sourceforge.net/projects/amdovdrvctrl here]。可通过[https://aur.archlinux.org/packages.php?ID=45298 AUR]或Vi0L0's非官方软件库构建安装包。<br />
<br />
=== 双屏显示 ===<br />
<br />
==== 介绍 ====<br />
<br />
{{警告|由于安装方式的不同,并且每种安装方式需要与其相对应进行配置,因此设置双屏显示并没有特定的解决办办法。这也是你必须根据你自己的需要采用相应步骤的原因。当然可以多尝试几种方法。'''所以,在修改之前,将你的配置保存到{{ic|/etc/X11/xorg.conf}},以便遇到问题是你可以从命令行恢复。'''}}<br />
<br />
* 本节讲述如何配置"BIG Desktop"效果。主要是不同尺寸的屏幕如何通过两个不同的输出接口(DVI + HDMI)共享一个显卡。<br />
<br />
* Xinerama解决办法有些不便,尤其是不能与XrandR兼容。因为XrandR对于我们所讲的来说是必须的,所以不使用Xinerama。<br />
<br />
* 双头显示能让你有两个不同的会话(一个屏幕一个)。你可以随心所欲地干任何事情,但不能将窗口从一个屏幕移动到另一个屏幕。若只有一个屏幕,你得在Xorg会话里为Server Layout section的每个会话定义鼠标,具体方法查看:<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
ATI的图形工具非常有用,我们将尽可能地使用它。运行下面命令可启用它:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{警告|'''千万不要'''直接使用sudo。 Sudo虽能给予管理员权限,却使用用户账户的信息(如环境变量)。GNOME下使用''gksu'',KDE下使用''kdesu''。}}<br />
<br />
==== 安装 ====<br />
<br />
开始之前,确保你的硬件接插正确,电源开启,而且你得你的硬件属性(2D还是3D屏,屏幕尺寸,刷新率等)。通常情况下,在启动阶段两个显示器都会被识别却不需正确区分先后顺序,而是依赖热插拔功能。尤其在不使用({{ic|/etc/X11/xorg.conf}})配置时。<br />
<br />
首先要让你的桌面环境和X认识你的显示器。为此,要为你两个显示器生成基本的Xorg配置文件:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
或<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{注意|{{ic|overlay}}非常重要,因为它能让两个显示器拥有1种(多种)像素。<br />
{{提示|运行{{ic|aticonfig --help}}了解所有可用的命令。}}<br />
<br />
现在可编辑基本的Xorg配置文件(如:添加分辨率)。分辨率一定要正确,尤其是使用不同尺寸的显示器。分辨率在"Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
这以后就不需手动编辑{{ic|xorg.conf}},而ATI的图形化工具。重启X,确保正确支持两个显示器和识别屏幕分辨率(两个屏幕相互独立而不是完全一样。<br />
<br />
==== 设置 ====<br />
<br />
现在只需以root身份启动ATI控制中心,在显示菜单设置你需要的选项(下拉菜单中的小箭头)。设置好后重启X就大功造成(你和我都可松口气了,这段翻译有点难度,呵呵)!<br />
<br />
重启X之前,不要忘了核实{{ic|xorg.conf}}。主要是核实"Display"下的"Screen"节, 在"Virtual"行里,两个显示器的分辨率应该一样。"Server Layout"节则是剩下的参数。<br />
<br />
== 故障排除 ==<br />
若能启动到命令行,问题很可能出在{{ic|/etc/X11/xorg.conf}}<br />
<br />
可阅读{{ic|/var/log/Xorg.0.log}}或通过下列命令查找线索:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
若看不懂显示的是什么东东,可将其提交到[http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]论坛,注意要提交两者显示的信息。<br />
<br />
=== 在Wine上3D应用冻结 ===<br />
若在Wine上3D应用挂起,禁用TLS。使用{{ic|aticonfig}}或编辑{{ic|/etc/X11/xorg.conf}}。使用{{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
或以root身份打开{{ic|/etc/X11/xorg.conf}},在''Device''段添加{{ic|Option "UseFastTLS" "off"}}。<br />
<br />
只需来个二选一,然后重启X让其生效。<br />
<br />
=== 视频颜色不正常 ===<br />
<br />
仍然使用{{ic|vaapi:gl}}来防止画面抖动,但这样不会有视频加速:<br />
<br />
* 不使用{{ic|-vo vaapi}}运行'''mplayer'''。<br />
<br />
* 若是'''smplayer''',在Options → Preferences → Advanced → Options for MPlayer → Options:中删除{{ic|-vo vaapi}}。<br />
<br />
此后还可以启动'''smplayer'''的截屏功能。<br />
<br />
=== KWin and composite ===<br />
<br />
根据你的显卡,在OpenGL和XRender渲染方式中选择一种更快的。在某些情况下,XRender还可以解决一些人为的错误。<br />
<br />
=== 重启或启动x后,黑屏并且一直不退出 ===<br />
<br />
检查在启动加载器的内核参数行是否添加了'''nomodeset'''(参考 [[#Disable kernel mode setting]])。<br />
<br />
==== 错误的ACPI硬件调用 ====<br />
出现此种错误很可能是fglrx模块与系统的ACPI硬件调用配合不够默契而自身禁用,屏幕也就不会有输出。<br />
<br />
果真那样,运行:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== 注销后KDM消失 ===<br />
<br />
若使用Catalyst,当注销后你会获取tty1这个控制台而不是KDM的欢迎界面。每次注销后你必须让kdm重启X服务器:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
将标题为{{ic|[X-:*-Core]}}段里下面行前的注释删掉:<br />
<br />
TerminateServer=True<br />
<br />
当前注销KDE后KDM就会出现。<br />
<br />
=== 直接渲染无效 ===<br />
<br />
{{警告|在安装或升级catalyst后却没重启系统,也有可能出现此种错误,因为系统需要加载fglrx.ko模块来让驱动正常工作。}}<br />
若直接渲染有问题,运行:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
从此命令输出的第一行至末尾都与直接渲染无效有关,且非常详细。<br />
<br />
常见错误提示和解决办法:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* 若使用AGP的芯片组,确保加载fglrx模块之前加载正确的agp模块。要确定哪些agp模块,先运行{{ic|hwdetect --show-agp}},若使用SysVinit,则将之前命令所列的模块名称添加到rc.conf的{{ic|1=MODULES=}}行(若有fglrx, 则要全位于fglrx'''之前''');否则,打开{{ic|/etc/modules-load.d}}下的{{ic|fglrx.conf}},将agp模块添加到fglrx行'''之前'''。<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* 某些软件未正确安装。在错误提示中,若路径为{{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}},彻底注销,然后重新登录。若使用图形化的登录管理器(gdm, kdm, xdm),确保每次登录时{{ic|/etc/profile}}都会被读取。将{{ic|source /etc/profile}}添加到{{ic|~/.xsession}}或{{ic|~/.xinitrc}}通过都达到以上目的(不同的登录管理器修改的文件不一样)。<br />
<br />
* 若路径为{{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}},试着重装{{ic|catalyst}}包。<br />
<br />
若错误信息为:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
可能是因为系统装了多个版本的{{ic|libGL.so}},运行:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
结果如下:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
系统应只有3个libGL.so文件,若不止(例如{{ic|/usr/X11R6/lib/libGL.so.1.2}}),则将其删除。<br />
<br />
若使用X11R7且系统中有下列文件,系统并不会给出任何错误提示,一定要将他们删除:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== 休眠问题 ===<br />
<br />
==== 视频播放不能从休眠状态中恢复 ====<br />
<br />
若启动了framebuffer,Catalyst不能从挂机状态中恢复。在内核参数选项中添加'''vga=0'''可禁用framebuffer。如在Grub Legacy的{{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
其他加载器,参考[[#Disable kernel mode setting]]。<br />
<br />
=== 系统冻结或硬件锁死 ===<br />
<br />
* 过去,{{ic|radeonfb}}的framebuffer驱动很容易导致这个问题。若内核编译时启用对radeonfb的支持,应换内核看是否能解决此问题。<br />
<br />
* 若退出桌面环境(关机、挂机和切换到tty等)时系统冻结,很可能忘记禁用KMS。(参见 [[#Disable kernel mode setting]])<br />
<br />
=== 硬件冲突 ===<br />
<br />
当和某些版本的nForce3芯片组一起使用时,Radeon不能3D加速。目前虽还未找到具体原因,但有资料表明: indicate that it may be possible to get acceleration with this combination of hardware by booting with the drivers from 先用nVIDIA驱动启动到Windows然后再重启系统就可能获得3D加速。在root控制台使用下列命令可识别此问题:<br />
<br />
$ dmesg | grep agp<br />
<br />
与下列相似(使用基于nForce3系统)的输出:<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
或以下命令...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...与下面相似的输出:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
则就有问题。<br />
<br />
有些资料说在某些情形下降级主板的BIOS可能有助于解决问题,但注意此方法并不是在各种情况下都适用,而且'''方法不对则很可能让显卡报废。'''<br />
<br />
参考[http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport]。<br />
<br />
=== 播放视频时系统短时间死机 ===<br />
<br />
使用Catalyst可导致此问题。<br />
<br />
当用mplayer,若不定时出现几秒到几分钟的死机。查看 /var/log/messages.log,若有与下面相似的信息:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
给内核参数添加nopat,至少在我的电脑上此方法适用。<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
If when running<br />
<br />
# sudo aticonfig --initial<br />
<br />
you get:<br />
<br />
aticonfig: No supported adaptaters detected<br />
<br />
But you do have an AMD GPU (or APU), it may still be possible to get Catalyst working by manually setting the device in your your {{ic|etc/X11/xorg.conf}} file.<br />
<br />
You can do so by setting the device section of {{ic|/etc/X11/xorg.conf}} to:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
Where ''****'' should be replaced with your device's marketing number (e.g. 6870 for the HD 6870 and 6310 for the E-350 APU).<br />
<br />
Xorg will start and it is possible to use {{ic|amdcccle}} instead of {{ic|aticonfig}}. There will be an "AMD Unsupported hardware" watermark.<br />
<br />
You can remove this watermark using the following script:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
<br />
and rebooting.<br />
<br />
=== WebGL support in Chromium ===<br />
<br />
Google has blacklisted Linux's Catalyst driver from supporting webGL in their Chromium/Chrome browsers.<br />
<br />
You can turn webGL on by editing {{ic|/usr/share/applications/chromium.desktop}} file and adding {{ic|--ignore-gpu-blacklist}} flag into the '''Exec''' line so it looks like this:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
You can also run chromium from console with the same {{ic|--ignore-gpu-blacklist}} flag:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{Warning|Catalyst does not support the GL_ARB_robustness extension, so it is possible that a malicious site could use WebGL to perform a DoS attack on your graphic card. For more info, read [http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== Laggs/freezes when watching flash videos via Adobe's flashplugin ===<br />
<br />
Edit {{ic|/etc/adobe/mms.cfg}} and make it look like this:<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== Laggs/slow windows movement in GNOME3 ===<br />
<br />
You can try this solution out, it's working for many people.<br />
<br />
Add this line into {{ic|~/.profile}} or into {{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
Restart X server or reboot your system.<br />
<br />
=== Not using fullscreen in the 1920x1080 resolution ===<br />
<br />
The ATI has scaling by default add this to your xorg.conf<br />
<br />
Option "DPMS" "true"<br />
<br />
On the Monitor section, as full example would look like this<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=230795AMD Catalyst (简体中文)2012-10-23T10:23:47Z<p>Micy1985: </p>
<hr />
<div>[[Category:Graphics (简体中文)]]<br />
[[Category:X Server (简体中文)]]<br />
{{TranslationStatus (简体中文)|AMD_Catalyst|2012-10-21|229195}}<br />
"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs完全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx 显卡驱动分开开发,因此在你选择何种安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用普通Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的普通Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上面对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败和丢失Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make脚本, 最好换一名称保存。否则将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
通过访问{{ic|/etc/ati/amdpcsdb}}文件它几乎能配置显卡的各项参数。了解完整的配置选项{{ic|aticonfig}}可运行:<br />
<br />
# aticonfig --help | less<br />
<br />
{{警告|在将各项配置参数提交到/etc/X11/xorg.conf之前使用--output选项,/etc/X11/xorg.conf.d中的所有内容都会被覆盖。}}<br />
<br />
{{注意|如果坚持使用xorg.conf.d下的新配置文件:为了让Device section与{{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}相匹配,在{{ic|aticonfig}}后追加''--output''。但这有一个缺点,很多依赖xorg.conf的{{ic|aticonfig}}选项都无法使用。}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,但不同Xorg版本的默认参数可能会有所不同,最好明确指定一些参数.<br />
<br />
给一个示例配置 (注意) '''仅供参考'''. 标'#'必须有,标'##'很可能会用到:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{注意|一旦升级Catalyst就要通过后面的方法删除'''amdpcsdb'''文件: 关闭X,删除{{ic|/etc/ati/amdpcsdb}},启动X然后运行{{ic|amdcccle}} -否则amdcccle将会显示错误的Catalyst版本号}}<br />
<br />
''更多信息参考[http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== 启动时加载模块 ====<br />
不同的初始化系统(SysVinit和systemd)的设置方式不一样,但无论哪一种,都得在{{ic|/etc/modprobe.d/modprobe.conf}}禁用''radeon''。具体可参见[[Modprobe|blacklisting in this article]]. '''通过Arch官方安装Catalyst则无需此步骤,安装包会自动处理'''。<br />
<br />
{{注意|强烈推荐使用systemd进行系统初始化,因为最新Arch安装镜像已默认使用systemd,通过rc.conf设置系统启动服务迟早会遭淘汰}}。<br />
<br />
===== 在使用systemd上 =====<br />
* 删除{{ic|/etc/modules-load.d/}}下任何名称包含{{ic|radeon}}的文件若该文件中含有其他多个模块,则只删除radeon)。<br />
* 在{{ic|/etc/modules-load.d/}}的现有文件中添加{{ic|fglrx}}或新建含有该行的文件。<br />
<br />
===== 在使用SysVinit上 =====<br />
编辑{{ic|/etc/rc.conf}}:<br />
* 自MODULES中删除{{ic|radeon}}。<br />
* 在MODULES中添加 {{ic|fglrx}}。<br />
<br />
{{注意|若使用AGP接口的显卡还需添加''agp''。}}<br />
<br />
==== 禁用KMS ====<br />
<br />
由于Catalyst根本不使用[[KMS]],得将其禁用。否则,当系统切换至tyy或在桌面环境下关机时,系统可能会冻结。<br />
<br />
若使用[[GRUB Legacy|GRUB Legacy]],在{{ic|menu.lst}}添加{{ic|nomodeset}}给内核参数,如:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
若使用[[GRUB2|GRUB 2]],在{{ic|/etc/default/grub}}添加''nomodeset''给内核参数,如:<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
然后以root身份运行;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
若使用[[Syslinux|Syslinux]],在{{ic|/boot/syslinux/syslinux.cfg}}添加''nomodeset''到{{ic|APPEND}}行,如:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== 检查安装是否成功 ====<br />
<br />
重启电脑并登录, 运行下列命令可查看fglrx是否正确运行:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
若两者均有输出, 安装成功。进行桌面环境并运行以下命令检查直接渲染模式是否启用:<br />
<br />
$ glxinfo | grep direct<br />
<br />
若显示"direct rendering: yes",恭喜你,到位了! 若无glxinfo命令,安装{{Pkg|mesa-demos}} package。<br />
<br />
{{警告|最近几版Xorg,库函数路径变了,因此即使安装{{ic|libGL.so}}也不一定能正确人加载。请检查GL是否工作,可阅读"Troubleshooting"段落}}<br />
<br />
若有问题,参阅[[#Troubleshooting]].<br />
<br />
=== 自我编译内核 ===<br />
<br />
在手动编译的内核上,你必须构建你自己{{ic|catalyst-$kernel}}包.<br />
<br />
如果你讨厌打包或毫无经验,可先阅读[[ABS]]。<br />
<br />
#从[[AUR|Catalyst]]上获取{{ic|PKGBUILD}} 和 {{ic|catalyst.install}}文件。<br />
# 编辑PKGBUILD. 两个地方需要修改:<br />
## 将{{ic|1=pkgname=catalyst}} 修改为 {{ic|1=pkgname=catalyst-$kernel_name}},$kernel_name可以随意取(如:custom, mm)。<br />
## 将{{ic|linux}}的依赖修改为{{ic|$kernel_name}}。<br />
# 构建并安装软件包;运行{{ic|makepkg -i}} 和 {{ic|makepkg}},接着运行 {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{注意|如果在安装有多内核的系统上,你必须为所有内核安装Catalyst-utils包。这不会引起冲突}}<br />
<br />
{{注意|Catalyst-generator能为你自动构建catalyst-{kernver},因此这些步骤根本就可省略。 请参考[[#Tools| Tools section]].}}<br />
<br />
== Xorg软件库 ==<br />
Catalyst由于其缓慢的更新而被人大为诟病。因升级Xorg而造成两者不兼容是稀松平常的事。也就意味着Catalyst用户要么不升级Xorg要么使用一个只包含Xorg包的回溯软件库,该库中不提供更新版Xorg以确保兼容性。 Vi0L0提供好几个这样的库. <br />
<br />
若想让pacman更新其他软件而不更新Xorg,查看[[pacman|skip package from being upgraded]]。不更新的软件是:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
若要使用这类软件库,在{{ic|/etc/pacman.conf}}的所有库(甚至Catalyst)前面添加下面中的一个 。<br />
<br />
===[xorg112]===<br />
截止目前,当前Catalyst 不支持1.13。<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
低于 12.6的Catalyst不支持xorg-server 1.12。<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== 工具 ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook]是一个针对[[mkinitcpio|mkinitcpio]]的钩子。'''跟 catalyst-dkms一样''',每当内核更新时,它会自动升级fglrx模块。在更新fglrx之前,它会尝试更新{{Pkg|linux-headers}}。<br />
<br />
当更新内核时,钩子会调用''catalyst_build_module''命令来更新fglrx模块以使两者相匹配。此外,它还可调用''catalyst_build_module remove''来删除不需要的旧flgrx模块<br />
<br />
{{注意|若使用此功能,'''一定要''' 关注的内核的安装提示,Catalyst-hook会显示是否一切顺利。}}<br />
<br />
{{注意|若是'''自编译内核'''且使用'''非标准的mkinitcpio配置文件'''(如:linux-zen使用/etc/mkinitcpio-zen.conf),那必须在你非标准的配置文件中添加'''fglrx'''至 HOOKS行,以便当内核更新时能自动重新编译。}}<br />
<br />
{{注意|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator]包能构建并安装fglrx模块,该模块与pacman兼容 的catalyst-${内核版本}相适应。与Catalyst-hook的区别是必须手动使用此命令,而Catalyst-hook则不需。<br />
<br />
通过[[makepkg]],它能构建catalyst-${内核版本}二进制包并用[[pacman]]安装。<br />
<br />
非特权用户使用{{ic|catalyst_build_module}}来构建并安装catalyst-${内核版本}包。安装时会提示输入root密码。<br />
<br />
简单说一下如何使用此包:<br />
<br />
# root用户: 使用{{ic|catalyst_build_module remove}}。此举会删除无用的{{ic|catalyst-{kernver} }}包。<br />
# 非特权用户: 使用{{ic|catalyst_build_module ${内核版本}}}, ${内核版本}是指升级过后的内核版本。也可通过{{ic|catalyst_build_module all}}为所有安装的内核构建catalyst-${内核版本}。<br />
# 若要删除{{ic|catalyst-generator}}, 在使用{{ic|catalyst_build_module remove_all}}命令删除catalyst-generator之前最好切换到root用户,'''这会删除得极为彻底。'''<br />
<br />
当删除Catalyst-generator时,Catalyst-generator不能自动删除那些catalyst-{内核版本}包,这是因为pacman不允许有一个以上的实例同时运行。若在使用{{ic|pacman -R catalyst-generator}}前忘记运行{{ic|catalyst_build_module remove_all}}, catalyst-generator将会询问删除catalyst-generator自身后要删除哪个catalyst-{内核版本}包。<br />
<br />
{{注意|在构建catalyst-{内核版本}时,若看到下列警告,乃正常情况,不必莫名惊诧:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension}}<br />
<br />
=== Catalyst-daemon ===<br />
{{警告|由于systemd与普通initscript daemons不兼容,所以systemd用户不能使用此工具。}}<br />
<br />
每次启动时,[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon]守护进程会检查内核是否更新过。若更新过,它会重建fglrx模块;若没有,则加载前次构建的模块。在2.4 GHz CPU电脑上,整个过程只需20ms。<br />
<br />
Catalyst-daemon的自动重新编译功能是通过一个叫''autofglrx''的初始化脚本实现的。Autofglrx的检查方式为比较启动内核(由{{ic|uname -v}}提供)和使用当前fglrx模块内核的构建时间。之所以能这样比较,是因为编译时,它将{{ic|uname -v}}的信息添加到fglrx模块描述里。<br />
<br />
重构过程中,autofglrx会调用''catalyst_build_module''构建模块,调用''catalyst_build_module remove''删除老旧无用的fglrx模块。运行后,它并不会一直驻留在系统内存。<br />
<br />
{{注意|安装autofglrx后,在{{ic|/etc/rc.conf}}将{{ic|autofglrx}}添加到{{ic|DAEMONS}}。要将它放在DM(显示管理器)之前(若是通过此配置运行DM)并且'''不要'''在后台运行(不能在其前添加@符号)。}}<br />
<br />
{{注意|若使用'''你自己的编译标识'''导致此工具有问题 - 请将你的标识写入/usr/bin/catalyst_build_module文件。}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
在'''Catalyst 11.1'''中,很可能是添加了三重缓存和v-sync,''Tear Free Desktop''减少了2D,3D视频应用的屏幕撕裂毛病。但这需要额外的GPU处理。<br />
<br />
要启用'Tear Free Desktop',运行{{ic|amdcccle}},然后设置{{ic|Display Options}} → {{ic|Tear Free}}。<br />
<br />
或以root身份运行:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
若禁用,使用{{ic|amdcccle}}或以root身份运行:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== 视频加速 ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)'''是为基于Linux/UNIX操作系统提供利用GPU加速视频处理的一个开源函数库和应用程序接口规范。启用视频加速后,通过各种入口(VLD, IDCT, Motion Compensation, deblocking)它能加速常用编码标准(MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3)视频文件的解码过程(俗称硬解)。<br />
<br />
VA-API在{{AUR|xvba-video}}上有一个私有后端(2009年10月), 它允许使用VA-API的程序通过[http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)]函数库来充分利用拥有uvd2(第二代通用视频解码单元)芯片组的视频加速功能.<br />
<br />
xvba-video和支持XvBA的软件仍还在开发,'''但在大多数情况下它都能很好的工作'''. 通过AUR构建或直接通过[community]安装{{AUR|xvba-video}}包,并安装{{Pkg|mplayer-vaapi}} and {{Pkg|libva}}。然后将视频播放器的视频输出设置为vaapi:gl:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
此选项可添加到mplayer的配置文件,参考[[MPlayer]]。<br />
<br />
针对 '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{注意|如果启用了Tear Free Desktop,则按下列步骤:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
若视频输出中没有'''vaapi:gl'''选项 - 可使用:<br />
'''vaapi''', '''vaapi:gl2''' or 简单的 '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
针对 '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
它有助于在'''amdcccle'''中启用v-sync:<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{注意|若使用'''Compiz/KWin''',消除'''画面抖动'''的唯一方法就是切换至'''全屏'''并且 '''关闭Redirected Fullscreen'''。<br />
<br />
使用'''compiz''',需在ccsm的General Options中设置'''Redirected Direct Rendering'''。若此举无效,则将其关闭。'''KWin'''默认关闭此功能,若出现画面抖动则通过System Settings → Desktop Effects → Advanced将"Suspend desktop effects for fullscreen windows"开启或关闭。}}<br />
<br />
=== 显卡/显存频率, 温度, 风扇转速, 超频工具 ===<br />
<br />
{{ic|$ aticonfig --od-getclocks}}可以获知当前显卡/显存频率。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}可以获知风扇转速(显卡);<br />
<br />
{{ic|$ aticonfig --odgt}}可以获知显卡温度。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}}可以设置风扇转速,其中查询索引50代表速度百分比。<br />
<br />
若超频或与之相反,则使用图形工具反而相对容易些,如需要qt的'''ATi Overclocking Utility'''。<br />
<br />
i686版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here];x86_64版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]。下载后直接运行。<br />
更复杂'''AMDOverdriveCtrl'''也能达到此目的,它的主页是[http://sourceforge.net/projects/amdovdrvctrl here]。可通过[https://aur.archlinux.org/packages.php?ID=45298 AUR]或Vi0L0's非官方软件库构建安装包。<br />
<br />
=== 双屏显示 ===<br />
<br />
==== 介绍 ====<br />
<br />
{{警告|由于安装方式的不同,并且每种安装方式需要与其相对应进行配置,因此设置双屏显示并没有特定的解决办办法。这也是你必须根据你自己的需要采用相应步骤的原因。当然可以多尝试几种方法。'''所以,在修改之前,将你的配置保存到{{ic|/etc/X11/xorg.conf}},以便遇到问题是你可以从命令行恢复。'''}}<br />
<br />
* 本节讲述如何配置"BIG Desktop"效果。主要是不同尺寸的屏幕如何通过两个不同的输出接口(DVI + HDMI)共享一个显卡。<br />
<br />
* Xinerama解决办法有些不便,尤其是不能与XrandR兼容。因为XrandR对于我们所讲的来说是必须的,所以不使用Xinerama。<br />
<br />
* 双头显示能让你有两个不同的会话(一个屏幕一个)。你可以随心所欲地干任何事情,但不能将窗口从一个屏幕移动到另一个屏幕。若只有一个屏幕,你得在Xorg会话里为Server Layout section的每个会话定义鼠标,具体方法查看:<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
ATI的图形工具非常有用,我们将尽可能地使用它。运行下面命令可启用它:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{警告|'''千万不要'''直接使用sudo。 Sudo虽能给予管理员权限,却使用用户账户的信息(如环境变量)。GNOME下使用''gksu'',KDE下使用''kdesu''。}}<br />
<br />
==== 安装 ====<br />
<br />
开始之前,确保你的硬件接插正确,电源开启,而且你得你的硬件属性(2D还是3D屏,屏幕尺寸,刷新率等)。通常情况下,在启动阶段两个显示器都会被识别却不需正确区分先后顺序,而是依赖热插拔功能。尤其在不使用({{ic|/etc/X11/xorg.conf}})配置时。<br />
<br />
首先要让你的桌面环境和X认识你的显示器。为此,要为你两个显示器生成基本的Xorg配置文件:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
或<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{注意|{{ic|overlay}}非常重要,因为它能让两个显示器拥有1种(多种)像素。<br />
{{提示|运行{{ic|aticonfig --help}}了解所有可用的命令。}}<br />
<br />
现在可编辑基本的Xorg配置文件(如:添加分辨率)。分辨率一定要正确,尤其是使用不同尺寸的显示器。分辨率在"Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
这以后就不需手动编辑{{ic|xorg.conf}},而ATI的图形化工具。重启X,确保正确支持两个显示器和识别屏幕分辨率(两个屏幕相互独立而不是完全一样。<br />
<br />
==== 设置 ====<br />
<br />
现在只需以root身份启动ATI控制中心,在显示菜单设置你需要的选项(下拉菜单中的小箭头)。设置好后重启X就大功造成(你和我都可松口气了,这段翻译有点难度,呵呵)!<br />
<br />
重启X之前,不要忘了核实{{ic|xorg.conf}}。主要是核实"Display"下的"Screen"节, 在"Virtual"行里,两个显示器的分辨率应该一样。"Server Layout"节则是剩下的参数。<br />
<br />
== 故障排除 ==<br />
若能启动到命令行,问题很可能出在{{ic|/etc/X11/xorg.conf}}<br />
<br />
可阅读{{ic|/var/log/Xorg.0.log}}或通过下列命令查找线索:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
若看不懂显示的是什么东东,可将其提交到[http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]论坛,注意要提交两者显示的信息。<br />
<br />
=== 在Wine上3D应用冻结 ===<br />
若在Wine上3D应用挂起,禁用TLS。使用{{ic|aticonfig}}或编辑{{ic|/etc/X11/xorg.conf}}。使用{{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
或以root身份打开{{ic|/etc/X11/xorg.conf}},在''Device''段添加{{ic|Option "UseFastTLS" "off"}}。<br />
<br />
只需来个二选一,然后重启X让其生效。<br />
<br />
=== 视频颜色不正常 ===<br />
<br />
仍然使用{{ic|vaapi:gl}}来防止画面抖动,但这样不会有视频加速:<br />
<br />
* 不使用{{ic|-vo vaapi}}运行'''mplayer'''。<br />
<br />
* 若是'''smplayer''',在Options → Preferences → Advanced → Options for MPlayer → Options:中删除{{ic|-vo vaapi}}。<br />
<br />
此后还可以启动'''smplayer'''的截屏功能。<br />
<br />
=== KWin and composite ===<br />
<br />
根据你的显卡,在OpenGL和XRender渲染方式中选择一种更快的。在某些情况下,XRender还可以解决一些人为的错误。<br />
<br />
=== 重启或启动x后,黑屏并且一直不退出 ===<br />
<br />
检查在启动加载器的内核参数行是否添加了'''nomodeset'''(参考 [[#Disable kernel mode setting]])。<br />
<br />
==== 错误的ACPI硬件调用 ====<br />
出现此种错误很可能是fglrx模块与系统的ACPI硬件调用配合不够默契而自身禁用,屏幕也就不会有输出。<br />
<br />
果真那样,运行:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== 注销后KDM消失 ===<br />
<br />
若使用Catalyst,当注销后你会获取tty1这个控制台而不是KDM的欢迎界面。每次注销后你必须让kdm重启X服务器:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
将标题为{{ic|[X-:*-Core]}}段里下面行前的注释删掉:<br />
<br />
TerminateServer=True<br />
<br />
当前注销KDE后KDM就会出现。<br />
<br />
=== 直接渲染无效 ===<br />
<br />
{{警告|在安装或升级catalyst后却没重启系统,也有可能出现此种错误,因为系统需要加载fglrx.ko模块来让驱动正常工作。}}<br />
若直接渲染有问题,运行:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
从此命令输出的第一行至末尾都与直接渲染无效有关,且非常详细。<br />
<br />
常见错误提示和解决办法:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* 若使用AGP的芯片组,确保加载fglrx模块之前加载正确的agp模块。要确定哪些agp模块,先运行{{ic|hwdetect --show-agp}},若使用SysVinit,则将之前命令所列的模块名称添加到rc.conf的{{ic|1=MODULES=}}行(若有fglrx, 则要全位于fglrx'''之前''');否则,打开{{ic|/etc/modules-load.d}}下的{{ic|fglrx.conf}},将agp模块添加到fglrx行'''之前'''。<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* 某些软件未正确安装。在错误提示中,若路径为{{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}},彻底注销,然后重新登录。若使用图形化的登录管理器(gdm, kdm, xdm),确保每次登录时{{ic|/etc/profile}}都会被读取。将{{ic|source /etc/profile}}添加到{{ic|~/.xsession}}或{{ic|~/.xinitrc}}通过都达到以上目的(不同的登录管理器修改的文件不一样)。<br />
<br />
* 若路径为{{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}},试着重装{{ic|catalyst}}包。<br />
<br />
若错误信息为:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
可能是因为系统装了多个版本的{{ic|libGL.so}},运行:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
结果如下:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
系统应只有3个libGL.so文件,若不止(例如{{ic|/usr/X11R6/lib/libGL.so.1.2}}),则将其删除。<br />
<br />
若使用X11R7且系统中有下列文件,系统并不会给出任何错误提示,一定要将他们删除:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== 休眠问题 ===<br />
<br />
==== 视频播放不能从休眠状态中恢复 ====<br />
<br />
若启动了framebuffer,Catalyst不能从挂机状态中恢复。在内核参数选项中添加'''vga=0'''可禁用framebuffer。如在Grub Legacy的{{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
其他加载器,参考[[#Disable kernel mode setting]]。<br />
<br />
=== 系统冻结或硬件锁死 ===<br />
<br />
* 过去,{{ic|radeonfb}}的framebuffer驱动很容易导致这个问题。若内核编译时启用对radeonfb的支持,应换内核看是否能解决此问题。<br />
<br />
* 若退出桌面环境(关机、挂机和切换到tty等)时系统冻结,很可能忘记禁用KMS。(参见 [[#Disable kernel mode setting]])<br />
<br />
=== 硬件冲突 ===<br />
<br />
当和某些版本的nForce3芯片组一起使用时,Radeon不能3D加速。目前虽还未找到具体原因,但有资料表明: indicate that it may be possible to get acceleration with this combination of hardware by booting with the drivers from 先用nVIDIA驱动启动到Windows然后再重启系统就可能获得3D加速。在root控制台使用下列命令可识别此问题:<br />
<br />
$ dmesg | grep agp<br />
<br />
与下列相似(使用基于nForce3系统)的输出:<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
或以下命令...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...与下面相似的输出:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
则就有问题。<br />
<br />
有些资料说在某些情形下降级主板的BIOS可能有助于解决问题,但注意此方法并不是在各种情况下都适用,而且'''方法不对则很可能让显卡报废。'''<br />
<br />
参考[http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport]。<br />
<br />
=== 播放视频时系统短时间死机 ===<br />
<br />
使用Catalyst可导致此问题。<br />
<br />
当用mplayer,若不定时出现几秒到几分钟的死机。查看 /var/log/messages.log,若有与下面相似的信息:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
Adding the nopat kernel option to your kernel options in your bootloader and rebooting fixed the problem at least for me. To see how to do this for different bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
If when running<br />
<br />
# sudo aticonfig --initial<br />
<br />
you get:<br />
<br />
aticonfig: No supported adaptaters detected<br />
<br />
But you do have an AMD GPU (or APU), it may still be possible to get Catalyst working by manually setting the device in your your {{ic|etc/X11/xorg.conf}} file.<br />
<br />
You can do so by setting the device section of {{ic|/etc/X11/xorg.conf}} to:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
Where ''****'' should be replaced with your device's marketing number (e.g. 6870 for the HD 6870 and 6310 for the E-350 APU).<br />
<br />
Xorg will start and it is possible to use {{ic|amdcccle}} instead of {{ic|aticonfig}}. There will be an "AMD Unsupported hardware" watermark.<br />
<br />
You can remove this watermark using the following script:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
<br />
and rebooting.<br />
<br />
=== WebGL support in Chromium ===<br />
<br />
Google has blacklisted Linux's Catalyst driver from supporting webGL in their Chromium/Chrome browsers.<br />
<br />
You can turn webGL on by editing {{ic|/usr/share/applications/chromium.desktop}} file and adding {{ic|--ignore-gpu-blacklist}} flag into the '''Exec''' line so it looks like this:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
You can also run chromium from console with the same {{ic|--ignore-gpu-blacklist}} flag:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{Warning|Catalyst does not support the GL_ARB_robustness extension, so it is possible that a malicious site could use WebGL to perform a DoS attack on your graphic card. For more info, read [http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== Laggs/freezes when watching flash videos via Adobe's flashplugin ===<br />
<br />
Edit {{ic|/etc/adobe/mms.cfg}} and make it look like this:<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== Laggs/slow windows movement in GNOME3 ===<br />
<br />
You can try this solution out, it's working for many people.<br />
<br />
Add this line into {{ic|~/.profile}} or into {{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
Restart X server or reboot your system.<br />
<br />
=== Not using fullscreen in the 1920x1080 resolution ===<br />
<br />
The ATI has scaling by default add this to your xorg.conf<br />
<br />
Option "DPMS" "true"<br />
<br />
On the Monitor section, as full example would look like this<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=230390AMD Catalyst (简体中文)2012-10-21T13:24:25Z<p>Micy1985: </p>
<hr />
<div>[[Category:Graphics (简体中文)]]<br />
[[Category:X Server (简体中文)]]<br />
{{TranslationStatus (简体中文)|AMD_Catalyst|2012-10-21|229195}}<br />
"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs完全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx 显卡驱动分开开发,因此在你选择何种安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用普通Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的普通Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上面对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败和丢失Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make脚本, 最好换一名称保存。否则将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
通过访问{{ic|/etc/ati/amdpcsdb}}文件它几乎能配置显卡的各项参数。了解完整的配置选项{{ic|aticonfig}}可运行:<br />
<br />
# aticonfig --help | less<br />
<br />
{{警告|在将各项配置参数提交到/etc/X11/xorg.conf之前使用--output选项,/etc/X11/xorg.conf.d中的所有内容都会被覆盖。}}<br />
<br />
{{注意|如果坚持使用xorg.conf.d下的新配置文件:为了让Device section与{{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}相匹配,在{{ic|aticonfig}}后追加''--output''。但这有一个缺点,很多依赖xorg.conf的{{ic|aticonfig}}选项都无法使用。}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,但不同Xorg版本的默认参数可能会有所不同,最好明确指定一些参数.<br />
<br />
给一个示例配置 (注意) '''仅供参考'''. 标'#'必须有,标'##'很可能会用到:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{注意|一旦升级Catalyst就要通过后面的方法删除'''amdpcsdb'''文件: 关闭X,删除{{ic|/etc/ati/amdpcsdb}},启动X然后运行{{ic|amdcccle}} -否则amdcccle将会显示错误的Catalyst版本号}}<br />
<br />
''更多信息参考[http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== 启动时加载模块 ====<br />
不同的初始化系统(SysVinit和systemd)的设置方式不一样,但无论哪一种,都得在{{ic|/etc/modprobe.d/modprobe.conf}}禁用''radeon''。具体可参见[[Modprobe|blacklisting in this article]]. '''通过Arch官方安装Catalyst则无需此步骤,安装包会自动处理'''。<br />
<br />
{{注意|强烈推荐使用systemd进行系统初始化,因为最新Arch安装镜像已默认使用systemd,通过rc.conf设置系统启动服务迟早会遭淘汰}}。<br />
<br />
===== 在使用systemd上 =====<br />
* 删除{{ic|/etc/modules-load.d/}}下任何名称包含{{ic|radeon}}的文件若该文件中含有其他多个模块,则只删除radeon)。<br />
* 在{{ic|/etc/modules-load.d/}}的现有文件中添加{{ic|fglrx}}或新建含有该行的文件。<br />
<br />
===== 在使用SysVinit上 =====<br />
编辑{{ic|/etc/rc.conf}}:<br />
* 自MODULES中删除{{ic|radeon}}。<br />
* 在MODULES中添加 {{ic|fglrx}}。<br />
<br />
{{注意|若使用AGP接口的显卡还需添加''agp''。}}<br />
<br />
==== 禁用KMS ====<br />
<br />
由于Catalyst根本不使用[[KMS]],得将其禁用。否则,当系统切换至tyy或在桌面环境下关机时,系统可能会冻结。<br />
<br />
若使用[[GRUB Legacy|GRUB Legacy]],在{{ic|menu.lst}}添加{{ic|nomodeset}}给内核参数,如:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
若使用[[GRUB2|GRUB 2]],在{{ic|/etc/default/grub}}添加''nomodeset''给内核参数,如:<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
然后以root身份运行;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
若使用[[Syslinux|Syslinux]],在{{ic|/boot/syslinux/syslinux.cfg}}添加''nomodeset''到{{ic|APPEND}}行,如:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== 检查安装是否成功 ====<br />
<br />
重启电脑并登录, 运行下列命令可查看fglrx是否正确运行:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
若两者均有输出, 安装成功。进行桌面环境并运行以下命令检查直接渲染模式是否启用:<br />
<br />
$ glxinfo | grep direct<br />
<br />
若显示"direct rendering: yes",恭喜你,到位了! 若无glxinfo命令,安装{{Pkg|mesa-demos}} package。<br />
<br />
{{警告|最近几版Xorg,库函数路径变了,因此即使安装{{ic|libGL.so}}也不一定能正确人加载。请检查GL是否工作,可阅读"Troubleshooting"段落}}<br />
<br />
若有问题,参阅[[#Troubleshooting]].<br />
<br />
=== 自我编译内核 ===<br />
<br />
在手动编译的内核上,你必须构建你自己{{ic|catalyst-$kernel}}包.<br />
<br />
如果你讨厌打包或毫无经验,可先阅读[[ABS]]。<br />
<br />
#从[[AUR|Catalyst]]上获取{{ic|PKGBUILD}} 和 {{ic|catalyst.install}}文件。<br />
# 编辑PKGBUILD. 两个地方需要修改:<br />
## 将{{ic|1=pkgname=catalyst}} 修改为 {{ic|1=pkgname=catalyst-$kernel_name}},$kernel_name可以随意取(如:custom, mm)。<br />
## 将{{ic|linux}}的依赖修改为{{ic|$kernel_name}}。<br />
# 构建并安装软件包;运行{{ic|makepkg -i}} 和 {{ic|makepkg}},接着运行 {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{注意|如果在安装有多内核的系统上,你必须为所有内核安装Catalyst-utils包。这不会引起冲突}}<br />
<br />
{{注意|Catalyst-generator能为你自动构建catalyst-{kernver},因此这些步骤根本就可省略。 请参考[[#Tools| Tools section]].}}<br />
<br />
== Xorg软件库 ==<br />
Catalyst由于其缓慢的更新而被人大为诟病。因升级Xorg而造成两者不兼容是稀松平常的事。也就意味着Catalyst用户要么不升级Xorg要么使用一个只包含Xorg包的回溯软件库,该库中不提供更新版Xorg以确保兼容性。 Vi0L0提供好几个这样的库. <br />
<br />
若想让pacman更新其他软件而不更新Xorg,查看[[pacman|skip package from being upgraded]]。不更新的软件是:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
若要使用这类软件库,在{{ic|/etc/pacman.conf}}的所有库(甚至Catalyst)前面添加下面中的一个 。<br />
<br />
===[xorg112]===<br />
截止目前,当前Catalyst 不支持1.13。<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
低于 12.6的Catalyst不支持xorg-server 1.12。<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== 工具 ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook]是一个针对[[mkinitcpio|mkinitcpio]]的钩子。'''跟 catalyst-dkms一样''',每当内核更新时,它会自动升级fglrx模块。在更新fglrx之前,它会尝试更新{{Pkg|linux-headers}}。<br />
<br />
当更新内核时,钩子会调用''catalyst_build_module''命令来更新fglrx模块以使两者相匹配。此外,它还可调用''catalyst_build_module remove''来删除不需要的旧flgrx模块<br />
<br />
{{注意|若使用此功能,'''一定要''' 关注的内核的安装提示,Catalyst-hook会显示是否一切顺利。}}<br />
<br />
{{注意|若是'''自编译内核'''且使用'''非标准的mkinitcpio配置文件'''(如:linux-zen使用/etc/mkinitcpio-zen.conf),那必须在你非标准的配置文件中添加'''fglrx'''至 HOOKS行,以便当内核更新时能自动重新编译。}}<br />
<br />
{{注意|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator]包能构建并安装fglrx模块,该模块与pacman兼容 的catalyst-${内核版本}相适应。与Catalyst-hook的区别是必须手动使用此命令,而Catalyst-hook则不需。<br />
<br />
通过[[makepkg]],它能构建catalyst-${内核版本}二进制包并用[[pacman]]安装。<br />
<br />
非特权用户使用{{ic|catalyst_build_module}}来构建并安装catalyst-${内核版本}包。安装时会提示输入root密码。<br />
<br />
简单说一下如何使用此包:<br />
<br />
# root用户: 使用{{ic|catalyst_build_module remove}}。此举会删除无用的{{ic|catalyst-{kernver} }}包。<br />
# 非特权用户: 使用{{ic|catalyst_build_module ${内核版本}}}, ${内核版本}是指升级过后的内核版本。也可通过{{ic|catalyst_build_module all}}为所有安装的内核构建catalyst-${内核版本}。<br />
# 若要删除{{ic|catalyst-generator}}, 在使用{{ic|catalyst_build_module remove_all}}命令删除catalyst-generator之前最好切换到root用户,'''这会删除得极为彻底。'''<br />
<br />
当删除Catalyst-generator时,Catalyst-generator不能自动删除那些catalyst-{内核版本}包,这是因为pacman不允许有一个以上的实例同时运行。若在使用{{ic|pacman -R catalyst-generator}}前忘记运行{{ic|catalyst_build_module remove_all}}, catalyst-generator将会询问删除catalyst-generator自身后要删除哪个catalyst-{内核版本}包。<br />
<br />
{{注意|在构建catalyst-{内核版本}时,若看到下列警告,乃正常情况,不必莫名惊诧:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension}}<br />
<br />
=== Catalyst-daemon ===<br />
{{警告|由于systemd与普通initscript daemons不兼容,所以systemd用户不能使用此工具。}}<br />
<br />
每次启动时,[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon]守护进程会检查内核是否更新过。若更新过,它会重建fglrx模块;若没有,则加载前次构建的模块。在2.4 GHz CPU电脑上,整个过程只需20ms。<br />
<br />
Catalyst-daemon的自动重新编译功能是通过一个叫''autofglrx''的初始化脚本实现的。Autofglrx的检查方式为比较启动内核(由{{ic|uname -v}}提供)和使用当前fglrx模块内核的构建时间。之所以能这样比较,是因为编译时,它将{{ic|uname -v}}的信息添加到fglrx模块描述里。<br />
<br />
重构过程中,autofglrx会调用''catalyst_build_module''构建模块,调用''catalyst_build_module remove''删除老旧无用的fglrx模块。运行后,它并不会一直驻留在系统内存。<br />
<br />
{{注意|安装autofglrx后,在{{ic|/etc/rc.conf}}将{{ic|autofglrx}}添加到{{ic|DAEMONS}}。要将它放在DM(显示管理器)之前(若是通过此配置运行DM)并且'''不要'''在后台运行(不能在其前添加@符号)。}}<br />
<br />
{{注意|若使用'''你自己的编译标识'''导致此工具有问题 - 请将你的标识写入/usr/bin/catalyst_build_module文件。}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
在'''Catalyst 11.1'''中,很可能是添加了三重缓存和v-sync,''Tear Free Desktop''减少了2D,3D视频应用的屏幕撕裂毛病。但这需要额外的GPU处理。<br />
<br />
要启用'Tear Free Desktop',运行{{ic|amdcccle}},然后设置{{ic|Display Options}} → {{ic|Tear Free}}。<br />
<br />
或以root身份运行:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
若禁用,使用{{ic|amdcccle}}或以root身份运行:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== 视频加速 ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)'''是为基于Linux/UNIX操作系统提供利用GPU加速视频处理的一个开源函数库和应用程序接口规范。启用视频加速后,通过各种入口(VLD, IDCT, Motion Compensation, deblocking)它能加速常用编码标准(MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3)视频文件的解码过程(俗称硬解)。<br />
<br />
VA-API在{{AUR|xvba-video}}上有一个私有后端(2009年10月), 它允许使用VA-API的程序通过[http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)]函数库来充分利用拥有uvd2(第二代通用视频解码单元)芯片组的视频加速功能.<br />
<br />
xvba-video和支持XvBA的软件仍还在开发,'''但在大多数情况下它都能很好的工作'''. 通过AUR构建或直接通过[community]安装{{AUR|xvba-video}}包,并安装{{Pkg|mplayer-vaapi}} and {{Pkg|libva}}。然后将视频播放器的视频输出设置为vaapi:gl:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
此选项可添加到mplayer的配置文件,参考[[MPlayer]]。<br />
<br />
针对 '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{注意|如果启用了Tear Free Desktop,则按下列步骤:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
若视频输出中没有'''vaapi:gl'''选项 - 可使用:<br />
'''vaapi''', '''vaapi:gl2''' or 简单的 '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
针对 '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
它有助于在'''amdcccle'''中启用v-sync:<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{注意|若使用'''Compiz/KWin''',消除'''画面抖动'''的唯一方法就是切换至'''全屏'''并且 '''关闭Redirected Fullscreen'''。<br />
<br />
使用'''compiz''',需在ccsm的General Options中设置'''Redirected Direct Rendering'''。若此举无效,则将其关闭。'''KWin'''默认关闭此功能,若出现画面抖动则通过System Settings → Desktop Effects → Advanced将"Suspend desktop effects for fullscreen windows"开启或关闭。}}<br />
<br />
=== 显卡/显存频率, 温度, 风扇转速, 超频工具 ===<br />
<br />
{{ic|$ aticonfig --od-getclocks}}可以获知当前显卡/显存频率。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}可以获知风扇转速(显卡);<br />
<br />
{{ic|$ aticonfig --odgt}}可以获知显卡温度。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}}可以设置风扇转速,其中查询索引50代表速度百分比。<br />
<br />
若超频或与之相反,则使用图形工具反而相对容易些,如需要qt的'''ATi Overclocking Utility'''。<br />
<br />
i686版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here];x86_64版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]。下载后直接运行。<br />
更复杂'''AMDOverdriveCtrl'''也能达到此目的,它的主页是[http://sourceforge.net/projects/amdovdrvctrl here]。可通过[https://aur.archlinux.org/packages.php?ID=45298 AUR]或Vi0L0's非官方软件库构建安装包。<br />
<br />
=== 双屏显示 ===<br />
<br />
==== 介绍 ====<br />
<br />
{{警告|由于安装方式的不同,并且每种安装方式需要与其相对应进行配置,因此设置双屏显示并没有特定的解决办办法。这也是你必须根据你自己的需要采用相应步骤的原因。当然可以多尝试几种方法。'''所以,在修改之前,将你的配置保存到{{ic|/etc/X11/xorg.conf}},以便遇到问题是你可以从命令行恢复。'''}}<br />
<br />
* 本节讲述如何配置"BIG Desktop"效果。主要是不同尺寸的屏幕如何通过两个不同的输出接口(DVI + HDMI)共享一个显卡。<br />
<br />
* Xinerama解决办法有些不便,尤其是不能与XrandR兼容。因为XrandR对于我们所讲的来说是必须的,所以不使用Xinerama。<br />
<br />
* 双头显示能让你有两个不同的会话(一个屏幕一个)。你可以随心所欲地干任何事情,但不能将窗口从一个屏幕移动到另一个屏幕。若只有一个屏幕,你得在Xorg会话里为Server Layout section的每个会话定义鼠标,具体方法查看:<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
ATI的图形工具非常有用,我们将尽可能地使用它。运行下面命令可启用它:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{警告|'''千万不要'''直接使用sudo。 Sudo虽能给予管理员权限,却使用用户账户的信息(如环境变量)。GNOME下使用''gksu'',KDE下使用''kdesu''。}}<br />
<br />
==== 安装 ====<br />
<br />
开始之前,确保你的硬件接插正确,电源开启,而且你得你的硬件属性(2D还是3D屏,屏幕尺寸,刷新率等)。通常情况下,在启动阶段两个显示器都会被识别却不需正确区分先后顺序,而是依赖热插拔功能。尤其在不使用({{ic|/etc/X11/xorg.conf}})配置时。<br />
<br />
首先要让你的桌面环境和X认识你的显示器。为此,要为你两个显示器生成基本的Xorg配置文件:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
或<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{注意|{{ic|overlay}}非常重要,因为它能让两个显示器拥有1种(多种)像素。<br />
{{提示|运行{{ic|aticonfig --help}}了解所有可用的命令。}}<br />
<br />
现在可编辑基本的Xorg配置文件(如:添加分辨率)。分辨率一定要正确,尤其是使用不同尺寸的显示器。分辨率在"Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
这以后就不需手动编辑{{ic|xorg.conf}},而ATI的图形化工具。重启X,确保正确支持两个显示器和识别屏幕分辨率(两个屏幕相互独立而不是完全一样。<br />
<br />
==== 设置 ====<br />
<br />
现在只需以root身份启动ATI控制中心,在显示菜单设置你需要的选项(下拉菜单中的小箭头)。设置好后重启X就大功造成(你和我都可松口气了,这段翻译有点难度,呵呵)!<br />
<br />
重启X之前,不要忘了核实{{ic|xorg.conf}}。主要是核实"Display"下的"Screen"节, 在"Virtual"行里,两个显示器的分辨率应该一样。"Server Layout"节则是剩下的参数。<br />
<br />
== 故障排除 ==<br />
若能启动到命令行,问题很可能出在{{ic|/etc/X11/xorg.conf}}<br />
<br />
可阅读{{ic|/var/log/Xorg.0.log}}或通过下列命令查找线索:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
若看不懂显示的是什么东东,可将其提交到[http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]论坛,注意要提交两者显示的信息。<br />
<br />
=== 在Wine上3D应用冻结 ===<br />
若在Wine上3D应用挂起,禁用TLS。使用{{ic|aticonfig}}或编辑{{ic|/etc/X11/xorg.conf}}。使用{{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
或以root身份打开{{ic|/etc/X11/xorg.conf}},在''Device''段添加{{ic|Option "UseFastTLS" "off"}}。<br />
<br />
只需来个二选一,然后重启X让其生效。<br />
<br />
=== 视频颜色不正常 ===<br />
<br />
仍然使用{{ic|vaapi:gl}}来防止画面抖动,但这样不会有视频加速:<br />
<br />
* 不使用{{ic|-vo vaapi}}运行'''mplayer'''。<br />
<br />
* 若是'''smplayer''',在Options → Preferences → Advanced → Options for MPlayer → Options:中删除{{ic|-vo vaapi}}。<br />
<br />
此后还可以启动'''smplayer'''的截屏功能。<br />
<br />
=== KWin and composite ===<br />
<br />
根据你的显卡,在OpenGL和XRender渲染方式中选择一种更快的。在某些情况下,XRender还可以解决一些人为的错误。<br />
<br />
=== 重启或启动x后,黑屏并且一直不退出 ===<br />
<br />
检查在启动加载器的内核参数行是否添加了'''nomodeset'''(参考 [[#Disable kernel mode setting]])。<br />
<br />
==== 错误的ACPI硬件调用 ====<br />
出现此种错误很可能是fglrx模块与系统的ACPI硬件调用配合不够默契而自身禁用,屏幕也就不会有输出。<br />
<br />
果真那样,运行:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== 注销后KDM消失 ===<br />
<br />
若使用Catalyst,当注销后你会获取tty1这个控制台而不是KDM的欢迎界面。每次注销后你必须让kdm重启X服务器:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
将标题为{{ic|[X-:*-Core]}}段里下面行前的注释删掉:<br />
<br />
TerminateServer=True<br />
<br />
当前注销KDE后KDM就会出现。<br />
<br />
=== 直接渲染无效 ===<br />
<br />
{{警告|在安装或升级catalyst后却没重启系统,也有可能出现此种错误,因为系统需要加载fglrx.ko模块来让驱动正常工作。}}<br />
若直接渲染有问题,运行:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
从此命令输出的第一行至末尾都与直接渲染无效有关,且非常详细。<br />
<br />
常见错误提示和解决办法:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* 若使用AGP的芯片组,确保加载fglrx模块之前加载正确的agp模块。要确定哪些agp模块,先运行{{ic|hwdetect --show-agp}},若使用SysVinit,则将之前命令所列的模块名称添加到rc.conf的{{ic|1=MODULES=}}行(若有fglrx, 则要全位于fglrx'''之前''');否则,打开{{ic|/etc/modules-load.d}}下的{{ic|fglrx.conf}},将agp模块添加到fglrx行'''之前'''。<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* 某些软件未正确安装。在错误提示中,若路径为{{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}},彻底注销,然后重新登录。若使用图形化的登录管理器(gdm, kdm, xdm),确保每次登录时{{ic|/etc/profile}}都会被读取。将{{ic|source /etc/profile}}添加到{{ic|~/.xsession}}或{{ic|~/.xinitrc}}通过都达到以上目的(不同的登录管理器修改的文件不一样)。<br />
<br />
* 若路径为{{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}},试着重装{{ic|catalyst}}包。<br />
<br />
若错误信息为:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
可能是因为系统装了多个版本的{{ic|libGL.so}},运行:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
结果如下:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
系统应只有3个libGL.so文件,若不止(例如{{ic|/usr/X11R6/lib/libGL.so.1.2}}),则将其删除。<br />
<br />
若使用X11R7且系统中有下列文件,系统并不会给出任何错误提示,一定要将他们删除:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== Hibernate/Sleep Issues ===<br />
<br />
==== Video fails to resume from suspend2ram ====<br />
<br />
ATI's proprietary Catalyst driver cannot resume from suspend if the framebuffer is enabled. To disable the framebuffer, add '''vga=0''' to your kernel options in for example, Grub Legacy's {{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
To see where you need to add this with other bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== System Freezes/Hard locks ===<br />
<br />
* The {{ic|radeonfb}} framebuffer drivers have been known in the past to cause problems of this nature. If your kernel has radeonfb support compiled in, you may want to try a different kernel and see if this helps.<br />
<br />
* If you experience system freezes when exiting your DE (shut down, suspend, switching to tty etc.) you probably forgot to deactivate KMS. (See [[#Disable kernel mode setting]])<br />
<br />
=== Hardware Conflicts ===<br />
<br />
Radeon cards used in conjunction with some versions of the nForce3 chipset (e.g. nForce 3 250Gb) won't have 3D acceleration. Currently the cause of this issue is unknown, but some sources indicate that it may be possible to get acceleration with this combination of hardware by booting Windows with the drivers from nVIDIA and then rebooting the system. This can be verified by issuing in a root console the following command:<br />
<br />
$ dmesg | grep agp<br />
<br />
If you get something similar to this (using an nForce3-based system):<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
and also if issuing this command...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...gets something similar to:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
Then you have this bug.<br />
<br />
Some sources indicate that in some situations, downgrading the motherboard BIOS may help, but this cannot be verified in all cases. Also, '''a bad BIOS downgrade can render your hardware useless, so beware.'''<br />
<br />
See [http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport] for more information and a potential fix.<br />
<br />
=== Temporary hangs when playing video ===<br />
<br />
This problem may occur when using the proprietary Catalyst.<br />
<br />
If you experience temporary hangs lasting from a few seconds to several minutes occuring randomly during playback with mplayer, check /var/log/messages.log for output like:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
Adding the nopat kernel option to your kernel options in your bootloader and rebooting fixed the problem at least for me. To see how to do this for different bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
If when running<br />
<br />
# sudo aticonfig --initial<br />
<br />
you get:<br />
<br />
aticonfig: No supported adaptaters detected<br />
<br />
But you do have an AMD GPU (or APU), it may still be possible to get Catalyst working by manually setting the device in your your {{ic|etc/X11/xorg.conf}} file.<br />
<br />
You can do so by setting the device section of {{ic|/etc/X11/xorg.conf}} to:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
Where ''****'' should be replaced with your device's marketing number (e.g. 6870 for the HD 6870 and 6310 for the E-350 APU).<br />
<br />
Xorg will start and it is possible to use {{ic|amdcccle}} instead of {{ic|aticonfig}}. There will be an "AMD Unsupported hardware" watermark.<br />
<br />
You can remove this watermark using the following script:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
<br />
and rebooting.<br />
<br />
=== WebGL support in Chromium ===<br />
<br />
Google has blacklisted Linux's Catalyst driver from supporting webGL in their Chromium/Chrome browsers.<br />
<br />
You can turn webGL on by editing {{ic|/usr/share/applications/chromium.desktop}} file and adding {{ic|--ignore-gpu-blacklist}} flag into the '''Exec''' line so it looks like this:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
You can also run chromium from console with the same {{ic|--ignore-gpu-blacklist}} flag:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{Warning|Catalyst does not support the GL_ARB_robustness extension, so it is possible that a malicious site could use WebGL to perform a DoS attack on your graphic card. For more info, read [http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== Laggs/freezes when watching flash videos via Adobe's flashplugin ===<br />
<br />
Edit {{ic|/etc/adobe/mms.cfg}} and make it look like this:<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== Laggs/slow windows movement in GNOME3 ===<br />
<br />
You can try this solution out, it's working for many people.<br />
<br />
Add this line into {{ic|~/.profile}} or into {{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
Restart X server or reboot your system.<br />
<br />
=== Not using fullscreen in the 1920x1080 resolution ===<br />
<br />
The ATI has scaling by default add this to your xorg.conf<br />
<br />
Option "DPMS" "true"<br />
<br />
On the Monitor section, as full example would look like this<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=230389AMD Catalyst (简体中文)2012-10-21T13:17:40Z<p>Micy1985: </p>
<hr />
<div>[[Category:Graphics (简体中文)]]<br />
[[Category:X Server (简体中文)]]<br />
{{TranslationStatus (简体中文)|AMD_Catalyst|2012-10-19|229195}}<br />
"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs完全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx 显卡驱动分开开发,因此在你选择何种安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用普通Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的普通Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上面对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败和丢失Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make脚本, 最好换一名称保存。否则将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
通过访问{{ic|/etc/ati/amdpcsdb}}文件它几乎能配置显卡的各项参数。了解完整的配置选项{{ic|aticonfig}}可运行:<br />
<br />
# aticonfig --help | less<br />
<br />
{{警告|在将各项配置参数提交到/etc/X11/xorg.conf之前使用--output选项,/etc/X11/xorg.conf.d中的所有内容都会被覆盖。}}<br />
<br />
{{注意|如果坚持使用xorg.conf.d下的新配置文件:为了让Device section与{{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}相匹配,在{{ic|aticonfig}}后追加''--output''。但这有一个缺点,很多依赖xorg.conf的{{ic|aticonfig}}选项都无法使用。}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,但不同Xorg版本的默认参数可能会有所不同,最好明确指定一些参数.<br />
<br />
给一个示例配置 (注意) '''仅供参考'''. 标'#'必须有,标'##'很可能会用到:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{注意|一旦升级Catalyst就要通过后面的方法删除'''amdpcsdb'''文件: 关闭X,删除{{ic|/etc/ati/amdpcsdb}},启动X然后运行{{ic|amdcccle}} -否则amdcccle将会显示错误的Catalyst版本号}}<br />
<br />
''更多信息参考[http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== 启动时加载模块 ====<br />
不同的初始化系统(SysVinit和systemd)的设置方式不一样,但无论哪一种,都得在{{ic|/etc/modprobe.d/modprobe.conf}}禁用''radeon''。具体可参见[[Modprobe|blacklisting in this article]]. '''通过Arch官方安装Catalyst则无需此步骤,安装包会自动处理'''。<br />
<br />
{{注意|强烈推荐使用systemd进行系统初始化,因为最新Arch安装镜像已默认使用systemd,通过rc.conf设置系统启动服务迟早会遭淘汰}}。<br />
<br />
===== 在使用systemd上 =====<br />
* 删除{{ic|/etc/modules-load.d/}}下任何名称包含{{ic|radeon}}的文件若该文件中含有其他多个模块,则只删除radeon)。<br />
* 在{{ic|/etc/modules-load.d/}}的现有文件中添加{{ic|fglrx}}或新建含有该行的文件。<br />
<br />
===== 在使用SysVinit上 =====<br />
编辑{{ic|/etc/rc.conf}}:<br />
* 自MODULES中删除{{ic|radeon}}。<br />
* 在MODULES中添加 {{ic|fglrx}}。<br />
<br />
{{注意|若使用AGP接口的显卡还需添加''agp''。}}<br />
<br />
==== 禁用KMS ====<br />
<br />
由于Catalyst根本不使用[[KMS]],得将其禁用。否则,当系统切换至tyy或在桌面环境下关机时,系统可能会冻结。<br />
<br />
若使用[[GRUB Legacy|GRUB Legacy]],在{{ic|menu.lst}}添加{{ic|nomodeset}}给内核参数,如:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
若使用[[GRUB2|GRUB 2]],在{{ic|/etc/default/grub}}添加''nomodeset''给内核参数,如:<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
然后以root身份运行;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
若使用[[Syslinux|Syslinux]],在{{ic|/boot/syslinux/syslinux.cfg}}添加''nomodeset''到{{ic|APPEND}}行,如:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== 检查安装是否成功 ====<br />
<br />
重启电脑并登录, 运行下列命令可查看fglrx是否正确运行:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
若两者均有输出, 安装成功。进行桌面环境并运行以下命令检查直接渲染模式是否启用:<br />
<br />
$ glxinfo | grep direct<br />
<br />
若显示"direct rendering: yes",恭喜你,到位了! 若无glxinfo命令,安装{{Pkg|mesa-demos}} package。<br />
<br />
{{警告|最近几版Xorg,库函数路径变了,因此即使安装{{ic|libGL.so}}也不一定能正确人加载。请检查GL是否工作,可阅读"Troubleshooting"段落}}<br />
<br />
若有问题,参阅[[#Troubleshooting]].<br />
<br />
=== 自我编译内核 ===<br />
<br />
在手动编译的内核上,你必须构建你自己{{ic|catalyst-$kernel}}包.<br />
<br />
如果你讨厌打包或毫无经验,可先阅读[[ABS]]。<br />
<br />
#从[[AUR|Catalyst]]上获取{{ic|PKGBUILD}} 和 {{ic|catalyst.install}}文件。<br />
# 编辑PKGBUILD. 两个地方需要修改:<br />
## 将{{ic|1=pkgname=catalyst}} 修改为 {{ic|1=pkgname=catalyst-$kernel_name}},$kernel_name可以随意取(如:custom, mm)。<br />
## 将{{ic|linux}}的依赖修改为{{ic|$kernel_name}}。<br />
# 构建并安装软件包;运行{{ic|makepkg -i}} 和 {{ic|makepkg}},接着运行 {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{注意|如果在安装有多内核的系统上,你必须为所有内核安装Catalyst-utils包。这不会引起冲突}}<br />
<br />
{{注意|Catalyst-generator能为你自动构建catalyst-{kernver},因此这些步骤根本就可省略。 请参考[[#Tools| Tools section]].}}<br />
<br />
== Xorg软件库 ==<br />
Catalyst由于其缓慢的更新而被人大为诟病。因升级Xorg而造成两者不兼容是稀松平常的事。也就意味着Catalyst用户要么不升级Xorg要么使用一个只包含Xorg包的回溯软件库,该库中不提供更新版Xorg以确保兼容性。 Vi0L0提供好几个这样的库. <br />
<br />
若想让pacman更新其他软件而不更新Xorg,查看[[pacman|skip package from being upgraded]]。不更新的软件是:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
若要使用这类软件库,在{{ic|/etc/pacman.conf}}的所有库(甚至Catalyst)前面添加下面中的一个 。<br />
<br />
===[xorg112]===<br />
截止目前,当前Catalyst 不支持1.13。<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
低于 12.6的Catalyst不支持xorg-server 1.12。<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== 工具 ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook]是一个针对[[mkinitcpio|mkinitcpio]]的钩子。'''跟 catalyst-dkms一样''',每当内核更新时,它会自动升级fglrx模块。在更新fglrx之前,它会尝试更新{{Pkg|linux-headers}}。<br />
<br />
当更新内核时,钩子会调用''catalyst_build_module''命令来更新fglrx模块以使两者相匹配。此外,它还可调用''catalyst_build_module remove''来删除不需要的旧flgrx模块<br />
<br />
{{注意|若使用此功能,'''一定要''' 关注的内核的安装提示,Catalyst-hook会显示是否一切顺利。}}<br />
<br />
{{注意|若是'''自编译内核'''且使用'''非标准的mkinitcpio配置文件'''(如:linux-zen使用/etc/mkinitcpio-zen.conf),那必须在你非标准的配置文件中添加'''fglrx'''至 HOOKS行,以便当内核更新时能自动重新编译。}}<br />
<br />
{{注意|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator]包能构建并安装fglrx模块,该模块与pacman兼容 的catalyst-${内核版本}相适应。与Catalyst-hook的区别是必须手动使用此命令,而Catalyst-hook则不需。<br />
<br />
通过[[makepkg]],它能构建catalyst-${内核版本}二进制包并用[[pacman]]安装。<br />
<br />
非特权用户使用{{ic|catalyst_build_module}}来构建并安装catalyst-${内核版本}包。安装时会提示输入root密码。<br />
<br />
简单说一下如何使用此包:<br />
<br />
# root用户: 使用{{ic|catalyst_build_module remove}}。此举会删除无用的{{ic|catalyst-{kernver} }}包。<br />
# 非特权用户: 使用{{ic|catalyst_build_module ${内核版本}}}, ${内核版本}是指升级过后的内核版本。也可通过{{ic|catalyst_build_module all}}为所有安装的内核构建catalyst-${内核版本}。<br />
# 若要删除{{ic|catalyst-generator}}, 在使用{{ic|catalyst_build_module remove_all}}命令删除catalyst-generator之前最好切换到root用户,'''这会删除得极为彻底。'''<br />
<br />
当删除Catalyst-generator时,Catalyst-generator不能自动删除那些catalyst-{内核版本}包,这是因为pacman不允许有一个以上的实例同时运行。若在使用{{ic|pacman -R catalyst-generator}}前忘记运行{{ic|catalyst_build_module remove_all}}, catalyst-generator将会询问删除catalyst-generator自身后要删除哪个catalyst-{内核版本}包。<br />
<br />
{{注意|在构建catalyst-{内核版本}时,若看到下列警告,乃正常情况,不必莫名惊诧:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension}}<br />
<br />
=== Catalyst-daemon ===<br />
{{警告|由于systemd与普通initscript daemons不兼容,所以systemd用户不能使用此工具。}}<br />
<br />
每次启动时,[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon]守护进程会检查内核是否更新过。若更新过,它会重建fglrx模块;若没有,则加载前次构建的模块。在2.4 GHz CPU电脑上,整个过程只需20ms。<br />
<br />
Catalyst-daemon的自动重新编译功能是通过一个叫''autofglrx''的初始化脚本实现的。Autofglrx的检查方式为比较启动内核(由{{ic|uname -v}}提供)和使用当前fglrx模块内核的构建时间。之所以能这样比较,是因为编译时,它将{{ic|uname -v}}的信息添加到fglrx模块描述里。<br />
<br />
重构过程中,autofglrx会调用''catalyst_build_module''构建模块,调用''catalyst_build_module remove''删除老旧无用的fglrx模块。运行后,它并不会一直驻留在系统内存。<br />
<br />
{{注意|安装autofglrx后,在{{ic|/etc/rc.conf}}将{{ic|autofglrx}}添加到{{ic|DAEMONS}}。要将它放在DM(显示管理器)之前(若是通过此配置运行DM)并且'''不要'''在后台运行(不能在其前添加@符号)。}}<br />
<br />
{{注意|若使用'''你自己的编译标识'''导致此工具有问题 - 请将你的标识写入/usr/bin/catalyst_build_module文件。}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
在'''Catalyst 11.1'''中,很可能是添加了三重缓存和v-sync,''Tear Free Desktop''减少了2D,3D视频应用的屏幕撕裂毛病。但这需要额外的GPU处理。<br />
<br />
要启用'Tear Free Desktop',运行{{ic|amdcccle}},然后设置{{ic|Display Options}} → {{ic|Tear Free}}。<br />
<br />
或以root身份运行:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
若禁用,使用{{ic|amdcccle}}或以root身份运行:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== 视频加速 ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)'''是为基于Linux/UNIX操作系统提供利用GPU加速视频处理的一个开源函数库和应用程序接口规范。启用视频加速后,通过各种入口(VLD, IDCT, Motion Compensation, deblocking)它能加速常用编码标准(MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3)视频文件的解码过程(俗称硬解)。<br />
<br />
VA-API在{{AUR|xvba-video}}上有一个私有后端(2009年10月), 它允许使用VA-API的程序通过[http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)]函数库来充分利用拥有uvd2(第二代通用视频解码单元)芯片组的视频加速功能.<br />
<br />
xvba-video和支持XvBA的软件仍还在开发,'''但在大多数情况下它都能很好的工作'''. 通过AUR构建或直接通过[community]安装{{AUR|xvba-video}}包,并安装{{Pkg|mplayer-vaapi}} and {{Pkg|libva}}。然后将视频播放器的视频输出设置为vaapi:gl:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
此选项可添加到mplayer的配置文件,参考[[MPlayer]]。<br />
<br />
针对 '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{注意|如果启用了Tear Free Desktop,则按下列步骤:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
若视频输出中没有'''vaapi:gl'''选项 - 可使用:<br />
'''vaapi''', '''vaapi:gl2''' or 简单的 '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
针对 '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
它有助于在'''amdcccle'''中启用v-sync:<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{注意|若使用'''Compiz/KWin''',消除'''画面抖动'''的唯一方法就是切换至'''全屏'''并且 '''关闭Redirected Fullscreen'''。<br />
<br />
使用'''compiz''',需在ccsm的General Options中设置'''Redirected Direct Rendering'''。若此举无效,则将其关闭。'''KWin'''默认关闭此功能,若出现画面抖动则通过System Settings → Desktop Effects → Advanced将"Suspend desktop effects for fullscreen windows"开启或关闭。}}<br />
<br />
=== 显卡/显存频率, 温度, 风扇转速, 超频工具 ===<br />
<br />
{{ic|$ aticonfig --od-getclocks}}可以获知当前显卡/显存频率。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}可以获知风扇转速(显卡);<br />
<br />
{{ic|$ aticonfig --odgt}}可以获知显卡温度。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}}可以设置风扇转速,其中查询索引50代表速度百分比。<br />
<br />
若超频或与之相反,则使用图形工具反而相对容易些,如需要qt的'''ATi Overclocking Utility'''。<br />
<br />
i686版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here];x86_64版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]。下载后直接运行。<br />
更复杂'''AMDOverdriveCtrl'''也能达到此目的,它的主页是[http://sourceforge.net/projects/amdovdrvctrl here]。可通过[https://aur.archlinux.org/packages.php?ID=45298 AUR]或Vi0L0's非官方软件库构建安装包。<br />
<br />
=== 双屏显示 ===<br />
<br />
==== 介绍 ====<br />
<br />
{{警告|由于安装方式的不同,并且每种安装方式需要与其相对应进行配置,因此设置双屏显示并没有特定的解决办办法。这也是你必须根据你自己的需要采用相应步骤的原因。当然可以多尝试几种方法。'''所以,在修改之前,将你的配置保存到{{ic|/etc/X11/xorg.conf}},以便遇到问题是你可以从命令行恢复。'''}}<br />
<br />
* 本节讲述如何配置"BIG Desktop"效果。主要是不同尺寸的屏幕如何通过两个不同的输出接口(DVI + HDMI)共享一个显卡。<br />
<br />
* Xinerama解决办法有些不便,尤其是不能与XrandR兼容。因为XrandR对于我们所讲的来说是必须的,所以不使用Xinerama。<br />
<br />
* 双头显示能让你有两个不同的会话(一个屏幕一个)。你可以随心所欲地干任何事情,但不能将窗口从一个屏幕移动到另一个屏幕。若只有一个屏幕,你得在Xorg会话里为Server Layout section的每个会话定义鼠标,具体方法查看:<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
ATI的图形工具非常有用,我们将尽可能地使用它。运行下面命令可启用它:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{警告|'''千万不要'''直接使用sudo。 Sudo虽能给予管理员权限,却使用用户账户的信息(如环境变量)。GNOME下使用''gksu'',KDE下使用''kdesu''。}}<br />
<br />
==== 安装 ====<br />
<br />
开始之前,确保你的硬件接插正确,电源开启,而且你得你的硬件属性(2D还是3D屏,屏幕尺寸,刷新率等)。通常情况下,在启动阶段两个显示器都会被识别却不需正确区分先后顺序,而是依赖热插拔功能。尤其在不使用({{ic|/etc/X11/xorg.conf}})配置时。<br />
<br />
首先要让你的桌面环境和X认识你的显示器。为此,要为你两个显示器生成基本的Xorg配置文件:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
或<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{注意|{{ic|overlay}}非常重要,因为它能让两个显示器拥有1种(多种)像素。<br />
{{提示|运行{{ic|aticonfig --help}}了解所有可用的命令。}}<br />
<br />
现在可编辑基本的Xorg配置文件(如:添加分辨率)。分辨率一定要正确,尤其是使用不同尺寸的显示器。分辨率在"Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
这以后就不需手动编辑{{ic|xorg.conf}},而ATI的图形化工具。重启X,确保正确支持两个显示器和识别屏幕分辨率(两个屏幕相互独立而不是完全一样。<br />
<br />
==== 设置 ====<br />
<br />
现在只需以root身份启动ATI控制中心,在显示菜单设置你需要的选项(下拉菜单中的小箭头)。设置好后重启X就大功造成(你和我都可松口气了,这段翻译有点难度,呵呵)!<br />
<br />
重启X之前,不要忘了核实{{ic|xorg.conf}}。主要是核实"Display"下的"Screen"节, 在"Virtual"行里,两个显示器的分辨率应该一样。"Server Layout"节则是剩下的参数。<br />
<br />
== 故障排除 ==<br />
若能启动到命令行,问题很可能出在{{ic|/etc/X11/xorg.conf}}<br />
<br />
可阅读{{ic|/var/log/Xorg.0.log}}或通过下列命令查找线索:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
若看不懂显示的是什么东东,可将其提交到[http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]论坛,注意要提交两者显示的信息。<br />
<br />
=== 在Wine上3D应用冻结 ===<br />
若在Wine上3D应用挂起,禁用TLS。使用{{ic|aticonfig}}或编辑{{ic|/etc/X11/xorg.conf}}。使用{{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
或以root身份打开{{ic|/etc/X11/xorg.conf}},在''Device''段添加{{ic|Option "UseFastTLS" "off"}}。<br />
<br />
只需来个二选一,然后重启X让其生效。<br />
<br />
=== 视频颜色不正常 ===<br />
<br />
仍然使用{{ic|vaapi:gl}}来防止画面抖动,但这样不会有视频加速:<br />
<br />
* 不使用{{ic|-vo vaapi}}运行'''mplayer'''。<br />
<br />
* 若是'''smplayer''',在Options → Preferences → Advanced → Options for MPlayer → Options:中删除{{ic|-vo vaapi}}。<br />
<br />
此后还可以启动'''smplayer'''的截屏功能。<br />
<br />
=== KWin and composite ===<br />
<br />
根据你的显卡,在OpenGL和XRender渲染方式中选择一种更快的。在某些情况下,XRender还可以解决一些人为的错误。<br />
<br />
=== 重启或启动x后,黑屏并且一直不退出 ===<br />
<br />
检查在启动加载器的内核参数行是否添加了'''nomodeset'''(参考 [[#Disable kernel mode setting]])。<br />
<br />
==== 错误的ACPI硬件调用 ====<br />
出现此种错误很可能是fglrx模块与系统的ACPI硬件调用配合不够默契而自身禁用,屏幕也就不会有输出。<br />
<br />
果真那样,运行:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== 注销后KDM消失 ===<br />
<br />
若使用Catalyst,当注销后你会获取tty1这个控制台而不是KDM的欢迎界面。每次注销后你必须让kdm重启X服务器:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
将标题为{{ic|[X-:*-Core]}}段里下面行前的注释删掉:<br />
<br />
TerminateServer=True<br />
<br />
当前注销KDE后KDM就会出现。<br />
<br />
=== 直接渲染无效 ===<br />
<br />
{{警告|在安装或升级catalyst后却没重启系统,也有可能出现此种错误,因为系统需要加载fglrx.ko模块来让驱动正常工作。}}<br />
若直接渲染有问题,运行:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
从此命令输出的第一行至末尾都与直接渲染无效有关,且非常详细。<br />
<br />
常见错误提示和解决办法:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* 若使用AGP的芯片组,确保加载fglrx模块之前加载正确的agp模块。要确定哪些agp模块,先运行{{ic|hwdetect --show-agp}},若使用SysVinit,则将之前命令所列的模块名称添加到rc.conf的{{ic|1=MODULES=}}行(若有fglrx, 则要全位于fglrx'''之前''');否则,打开{{ic|/etc/modules-load.d}}下的{{ic|fglrx.conf}},将agp模块添加到fglrx行'''之前'''。<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* 某些软件未正确安装。在错误提示中,若路径为{{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}},彻底注销,然后重新登录。若使用图形化的登录管理器(gdm, kdm, xdm),确保每次登录时{{ic|/etc/profile}}都会被读取。将{{ic|source /etc/profile}}添加到{{ic|~/.xsession}}或{{ic|~/.xinitrc}}通过都达到以上目的(不同的登录管理器修改的文件不一样)。<br />
<br />
* 若路径为{{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}},试着重装{{ic|catalyst}}包。<br />
<br />
若错误信息为:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
可能是因为系统装了多个版本的{{ic|libGL.so}},运行:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
结果如下:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
系统应只有3个libGL.so文件,若不止(例如{{ic|/usr/X11R6/lib/libGL.so.1.2}}),则将其删除。<br />
<br />
若使用X11R7且系统中有下列文件,系统并不会给出任何错误提示,一定要将他们删除:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== Hibernate/Sleep Issues ===<br />
<br />
==== Video fails to resume from suspend2ram ====<br />
<br />
ATI's proprietary Catalyst driver cannot resume from suspend if the framebuffer is enabled. To disable the framebuffer, add '''vga=0''' to your kernel options in for example, Grub Legacy's {{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
To see where you need to add this with other bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== System Freezes/Hard locks ===<br />
<br />
* The {{ic|radeonfb}} framebuffer drivers have been known in the past to cause problems of this nature. If your kernel has radeonfb support compiled in, you may want to try a different kernel and see if this helps.<br />
<br />
* If you experience system freezes when exiting your DE (shut down, suspend, switching to tty etc.) you probably forgot to deactivate KMS. (See [[#Disable kernel mode setting]])<br />
<br />
=== Hardware Conflicts ===<br />
<br />
Radeon cards used in conjunction with some versions of the nForce3 chipset (e.g. nForce 3 250Gb) won't have 3D acceleration. Currently the cause of this issue is unknown, but some sources indicate that it may be possible to get acceleration with this combination of hardware by booting Windows with the drivers from nVIDIA and then rebooting the system. This can be verified by issuing in a root console the following command:<br />
<br />
$ dmesg | grep agp<br />
<br />
If you get something similar to this (using an nForce3-based system):<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
and also if issuing this command...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...gets something similar to:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
Then you have this bug.<br />
<br />
Some sources indicate that in some situations, downgrading the motherboard BIOS may help, but this cannot be verified in all cases. Also, '''a bad BIOS downgrade can render your hardware useless, so beware.'''<br />
<br />
See [http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport] for more information and a potential fix.<br />
<br />
=== Temporary hangs when playing video ===<br />
<br />
This problem may occur when using the proprietary Catalyst.<br />
<br />
If you experience temporary hangs lasting from a few seconds to several minutes occuring randomly during playback with mplayer, check /var/log/messages.log for output like:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
Adding the nopat kernel option to your kernel options in your bootloader and rebooting fixed the problem at least for me. To see how to do this for different bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
If when running<br />
<br />
# sudo aticonfig --initial<br />
<br />
you get:<br />
<br />
aticonfig: No supported adaptaters detected<br />
<br />
But you do have an AMD GPU (or APU), it may still be possible to get Catalyst working by manually setting the device in your your {{ic|etc/X11/xorg.conf}} file.<br />
<br />
You can do so by setting the device section of {{ic|/etc/X11/xorg.conf}} to:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
Where ''****'' should be replaced with your device's marketing number (e.g. 6870 for the HD 6870 and 6310 for the E-350 APU).<br />
<br />
Xorg will start and it is possible to use {{ic|amdcccle}} instead of {{ic|aticonfig}}. There will be an "AMD Unsupported hardware" watermark.<br />
<br />
You can remove this watermark using the following script:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
<br />
and rebooting.<br />
<br />
=== WebGL support in Chromium ===<br />
<br />
Google has blacklisted Linux's Catalyst driver from supporting webGL in their Chromium/Chrome browsers.<br />
<br />
You can turn webGL on by editing {{ic|/usr/share/applications/chromium.desktop}} file and adding {{ic|--ignore-gpu-blacklist}} flag into the '''Exec''' line so it looks like this:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
You can also run chromium from console with the same {{ic|--ignore-gpu-blacklist}} flag:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{Warning|Catalyst does not support the GL_ARB_robustness extension, so it is possible that a malicious site could use WebGL to perform a DoS attack on your graphic card. For more info, read [http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== Laggs/freezes when watching flash videos via Adobe's flashplugin ===<br />
<br />
Edit {{ic|/etc/adobe/mms.cfg}} and make it look like this:<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== Laggs/slow windows movement in GNOME3 ===<br />
<br />
You can try this solution out, it's working for many people.<br />
<br />
Add this line into {{ic|~/.profile}} or into {{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
Restart X server or reboot your system.<br />
<br />
=== Not using fullscreen in the 1920x1080 resolution ===<br />
<br />
The ATI has scaling by default add this to your xorg.conf<br />
<br />
Option "DPMS" "true"<br />
<br />
On the Monitor section, as full example would look like this<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=230341AMD Catalyst (简体中文)2012-10-21T09:42:06Z<p>Micy1985: </p>
<hr />
<div>[[Category:Graphics (简体中文)]]<br />
[[Category:X Server (简体中文)]]<br />
{{TranslationStatus (简体中文)|AMD_Catalyst|2012-10-19|229195}}<br />
"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs完全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx 显卡驱动分开开发,因此在你选择何种安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用普通Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的普通Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上面对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败和丢失Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make脚本, 最好换一名称保存。否则将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
通过访问{{ic|/etc/ati/amdpcsdb}}文件它几乎能配置显卡的各项参数。了解完整的配置选项{{ic|aticonfig}}可运行:<br />
<br />
# aticonfig --help | less<br />
<br />
{{警告|在将各项配置参数提交到/etc/X11/xorg.conf之前使用--output选项,/etc/X11/xorg.conf.d中的所有内容都会被覆盖。}}<br />
<br />
{{注意|如果坚持使用xorg.conf.d下的新配置文件:为了让Device section与{{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}相匹配,在{{ic|aticonfig}}后追加''--output''。但这有一个缺点,很多依赖xorg.conf的{{ic|aticonfig}}选项都无法使用。}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,但不同Xorg版本的默认参数可能会有所不同,最好明确指定一些参数.<br />
<br />
给一个示例配置 (注意) '''仅供参考'''. 标'#'必须有,标'##'很可能会用到:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{注意|一旦升级Catalyst就要通过后面的方法删除'''amdpcsdb'''文件: 关闭X,删除{{ic|/etc/ati/amdpcsdb}},启动X然后运行{{ic|amdcccle}} -否则amdcccle将会显示错误的Catalyst版本号}}<br />
<br />
''更多信息参考[http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== 启动时加载模块 ====<br />
不同的初始化系统(SysVinit和systemd)的设置方式不一样,但无论哪一种,都得在{{ic|/etc/modprobe.d/modprobe.conf}}禁用''radeon''。具体可参见[[Modprobe|blacklisting in this article]]. '''通过Arch官方安装Catalyst则无需此步骤,安装包会自动处理'''。<br />
<br />
{{注意|强烈推荐使用systemd进行系统初始化,因为最新Arch安装镜像已默认使用systemd,通过rc.conf设置系统启动服务迟早会遭淘汰}}。<br />
<br />
===== 在使用systemd上 =====<br />
* 删除{{ic|/etc/modules-load.d/}}下任何名称包含{{ic|radeon}}的文件若该文件中含有其他多个模块,则只删除radeon)。<br />
* 在{{ic|/etc/modules-load.d/}}的现有文件中添加{{ic|fglrx}}或新建含有该行的文件。<br />
<br />
===== 在使用SysVinit上 =====<br />
编辑{{ic|/etc/rc.conf}}:<br />
* 自MODULES中删除{{ic|radeon}}。<br />
* 在MODULES中添加 {{ic|fglrx}}。<br />
<br />
{{注意|若使用AGP接口的显卡还需添加''agp''。}}<br />
<br />
==== 禁用KMS ====<br />
<br />
由于Catalyst根本不使用[[KMS]],得将其禁用。否则,当系统切换至tyy或在桌面环境下关机时,系统可能会冻结。<br />
<br />
若使用[[GRUB Legacy|GRUB Legacy]],在{{ic|menu.lst}}添加{{ic|nomodeset}}给内核参数,如:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
若使用[[GRUB2|GRUB 2]],在{{ic|/etc/default/grub}}添加''nomodeset''给内核参数,如:<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
然后以root身份运行;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
若使用[[Syslinux|Syslinux]],在{{ic|/boot/syslinux/syslinux.cfg}}添加''nomodeset''到{{ic|APPEND}}行,如:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== 检查安装是否成功 ====<br />
<br />
重启电脑并登录, 运行下列命令可查看fglrx是否正确运行:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
若两者均有输出, 安装成功。进行桌面环境并运行以下命令检查直接渲染模式是否启用:<br />
<br />
$ glxinfo | grep direct<br />
<br />
若显示"direct rendering: yes",恭喜你,到位了! 若无glxinfo命令,安装{{Pkg|mesa-demos}} package。<br />
<br />
{{警告|最近几版Xorg,库函数路径变了,因此即使安装{{ic|libGL.so}}也不一定能正确人加载。请检查GL是否工作,可阅读"Troubleshooting"段落}}<br />
<br />
若有问题,参阅[[#Troubleshooting]].<br />
<br />
=== 自我编译内核 ===<br />
<br />
在手动编译的内核上,你必须构建你自己{{ic|catalyst-$kernel}}包.<br />
<br />
如果你讨厌打包或毫无经验,可先阅读[[ABS]]。<br />
<br />
#从[[AUR|Catalyst]]上获取{{ic|PKGBUILD}} 和 {{ic|catalyst.install}}文件。<br />
# 编辑PKGBUILD. 两个地方需要修改:<br />
## 将{{ic|1=pkgname=catalyst}} 修改为 {{ic|1=pkgname=catalyst-$kernel_name}},$kernel_name可以随意取(如:custom, mm)。<br />
## 将{{ic|linux}}的依赖修改为{{ic|$kernel_name}}。<br />
# 构建并安装软件包;运行{{ic|makepkg -i}} 和 {{ic|makepkg}},接着运行 {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{注意|如果在安装有多内核的系统上,你必须为所有内核安装Catalyst-utils包。这不会引起冲突}}<br />
<br />
{{注意|Catalyst-generator能为你自动构建catalyst-{kernver},因此这些步骤根本就可省略。 请参考[[#Tools| Tools section]].}}<br />
<br />
== Xorg软件库 ==<br />
Catalyst由于其缓慢的更新而被人大为诟病。因升级Xorg而造成两者不兼容是稀松平常的事。也就意味着Catalyst用户要么不升级Xorg要么使用一个只包含Xorg包的回溯软件库,该库中不提供更新版Xorg以确保兼容性。 Vi0L0提供好几个这样的库. <br />
<br />
若想让pacman更新其他软件而不更新Xorg,查看[[pacman|skip package from being upgraded]]。不更新的软件是:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
若要使用这类软件库,在{{ic|/etc/pacman.conf}}的所有库(甚至Catalyst)前面添加下面中的一个 。<br />
<br />
===[xorg112]===<br />
截止目前,当前Catalyst 不支持1.13。<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
低于 12.6的Catalyst不支持xorg-server 1.12。<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== 工具 ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook]是一个针对[[mkinitcpio|mkinitcpio]]的钩子。'''跟 catalyst-dkms一样''',每当内核更新时,它会自动升级fglrx模块。在更新fglrx之前,它会尝试更新{{Pkg|linux-headers}}。<br />
<br />
当更新内核时,钩子会调用''catalyst_build_module''命令来更新fglrx模块以使两者相匹配。此外,它还可调用''catalyst_build_module remove''来删除不需要的旧flgrx模块<br />
<br />
{{注意|若使用此功能,'''一定要''' 关注的内核的安装提示,Catalyst-hook会显示是否一切顺利。}}<br />
<br />
{{注意|若是'''自编译内核'''且使用'''非标准的mkinitcpio配置文件'''(如:linux-zen使用/etc/mkinitcpio-zen.conf),那必须在你非标准的配置文件中添加'''fglrx'''至 HOOKS行,以便当内核更新时能自动重新编译。}}<br />
<br />
{{注意|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator]包能构建并安装fglrx模块,该模块与pacman兼容 的catalyst-${内核版本}相适应。与Catalyst-hook的区别是必须手动使用此命令,而Catalyst-hook则不需。<br />
<br />
通过[[makepkg]],它能构建catalyst-${内核版本}二进制包并用[[pacman]]安装。<br />
<br />
非特权用户使用{{ic|catalyst_build_module}}来构建并安装catalyst-${内核版本}包。安装时会提示输入root密码。<br />
<br />
简单说一下如何使用此包:<br />
<br />
# root用户: 使用{{ic|catalyst_build_module remove}}。此举会删除无用的{{ic|catalyst-{kernver} }}包。<br />
# 非特权用户: 使用{{ic|catalyst_build_module ${内核版本}}}, ${内核版本}是指升级过后的内核版本。也可通过{{ic|catalyst_build_module all}}为所有安装的内核构建catalyst-${内核版本}。<br />
# 若要删除{{ic|catalyst-generator}}, 在使用{{ic|catalyst_build_module remove_all}}命令删除catalyst-generator之前最好切换到root用户,'''这会删除得极为彻底。'''<br />
<br />
当删除Catalyst-generator时,Catalyst-generator不能自动删除那些catalyst-{内核版本}包,这是因为pacman不允许有一个以上的实例同时运行。若在使用{{ic|pacman -R catalyst-generator}}前忘记运行{{ic|catalyst_build_module remove_all}}, catalyst-generator将会询问删除catalyst-generator自身后要删除哪个catalyst-{内核版本}包。<br />
<br />
{{注意|在构建catalyst-{内核版本}时,若看到下列警告,乃正常情况,不必莫名惊诧:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension}}<br />
<br />
=== Catalyst-daemon ===<br />
{{警告|由于systemd与普通initscript daemons不兼容,所以systemd用户不能使用此工具。}}<br />
<br />
每次启动时,[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon]守护进程会检查内核是否更新过。若更新过,它会重建fglrx模块;若没有,则加载前次构建的模块。在2.4 GHz CPU电脑上,整个过程只需20ms。<br />
<br />
Catalyst-daemon的自动重新编译功能是通过一个叫''autofglrx''的初始化脚本实现的。Autofglrx的检查方式为比较启动内核(由{{ic|uname -v}}提供)和使用当前fglrx模块内核的构建时间。之所以能这样比较,是因为编译时,它将{{ic|uname -v}}的信息添加到fglrx模块描述里。<br />
<br />
重构过程中,autofglrx会调用''catalyst_build_module''构建模块,调用''catalyst_build_module remove''删除老旧无用的fglrx模块。运行后,它并不会一直驻留在系统内存。<br />
<br />
{{注意|安装autofglrx后,在{{ic|/etc/rc.conf}}将{{ic|autofglrx}}添加到{{ic|DAEMONS}}。要将它放在DM(显示管理器)之前(若是通过此配置运行DM)并且'''不要'''在后台运行(不能在其前添加@符号)。}}<br />
<br />
{{注意|若使用'''你自己的编译标识'''导致此工具有问题 - 请将你的标识写入/usr/bin/catalyst_build_module文件。}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
在'''Catalyst 11.1'''中,很可能是添加了三重缓存和v-sync,''Tear Free Desktop''减少了2D,3D视频应用的屏幕撕裂毛病。但这需要额外的GPU处理。<br />
<br />
要启用'Tear Free Desktop',运行{{ic|amdcccle}},然后设置{{ic|Display Options}} → {{ic|Tear Free}}。<br />
<br />
或以root身份运行:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
若禁用,使用{{ic|amdcccle}}或以root身份运行:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== 视频加速 ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)'''是为基于Linux/UNIX操作系统提供利用GPU加速视频处理的一个开源函数库和应用程序接口规范。启用视频加速后,通过各种入口(VLD, IDCT, Motion Compensation, deblocking)它能加速常用编码标准(MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3)视频文件的解码过程(俗称硬解)。<br />
<br />
VA-API在{{AUR|xvba-video}}上有一个私有后端(2009年10月), 它允许使用VA-API的程序通过[http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)]函数库来充分利用拥有uvd2(第二代通用视频解码单元)芯片组的视频加速功能.<br />
<br />
xvba-video和支持XvBA的软件仍还在开发,'''但在大多数情况下它都能很好的工作'''. 通过AUR构建或直接通过[community]安装{{AUR|xvba-video}}包,并安装{{Pkg|mplayer-vaapi}} and {{Pkg|libva}}。然后将视频播放器的视频输出设置为vaapi:gl:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
此选项可添加到mplayer的配置文件,参考[[MPlayer]]。<br />
<br />
针对 '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{注意|如果启用了Tear Free Desktop,则按下列步骤:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
若视频输出中没有'''vaapi:gl'''选项 - 可使用:<br />
'''vaapi''', '''vaapi:gl2''' or 简单的 '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
针对 '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
它有助于在'''amdcccle'''中启用v-sync:<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{注意|若使用'''Compiz/KWin''',消除'''画面抖动'''的唯一方法就是切换至'''全屏'''并且 '''关闭Redirected Fullscreen'''。<br />
<br />
使用'''compiz''',需在ccsm的General Options中设置'''Redirected Direct Rendering'''。若此举无效,则将其关闭。'''KWin'''默认关闭此功能,若出现画面抖动则通过System Settings → Desktop Effects → Advanced将"Suspend desktop effects for fullscreen windows"开启或关闭。}}<br />
<br />
=== 显卡/显存频率, 温度, 风扇转速, 超频工具 ===<br />
<br />
{{ic|$ aticonfig --od-getclocks}}可以获知当前显卡/显存频率。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}可以获知风扇转速(显卡);<br />
<br />
{{ic|$ aticonfig --odgt}}可以获知显卡温度。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}}可以设置风扇转速,其中查询索引50代表速度百分比。<br />
<br />
若超频或与之相反,则使用图形工具反而相对容易些,如需要qt的'''ATi Overclocking Utility'''。<br />
<br />
i686版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here];x86_64版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]。下载后直接运行。<br />
更复杂'''AMDOverdriveCtrl'''也能达到此目的,它的主页是[http://sourceforge.net/projects/amdovdrvctrl here]。可通过[https://aur.archlinux.org/packages.php?ID=45298 AUR]或Vi0L0's非官方软件库构建安装包。<br />
<br />
=== 双屏显示 ===<br />
<br />
==== 介绍 ====<br />
<br />
{{警告|由于安装方式的不同,并且每种安装方式需要与其相对应进行配置,因此设置双屏显示并没有特定的解决办办法。这也是你必须根据你自己的需要采用相应步骤的原因。当然可以多尝试几种方法。'''所以,在修改之前,将你的配置保存到{{ic|/etc/X11/xorg.conf}},以便遇到问题是你可以从命令行恢复。'''}}<br />
<br />
* 本节讲述如何配置"BIG Desktop"效果。主要是不同尺寸的屏幕如何通过两个不同的输出接口(DVI + HDMI)共享一个显卡。<br />
<br />
* Xinerama解决办法有些不便,尤其是不能与XrandR兼容。因为XrandR对于我们所讲的来说是必须的,所以不使用Xinerama。<br />
<br />
* 双头显示能让你有两个不同的会话(一个屏幕一个)。你可以随心所欲地干任何事情,但不能将窗口从一个屏幕移动到另一个屏幕。若只有一个屏幕,你得在Xorg会话里为Server Layout section的每个会话定义鼠标,具体方法查看:<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
ATI的图形工具非常有用,我们将尽可能地使用它。运行下面命令可启用它:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{警告|'''千万不要'''直接使用sudo。 Sudo虽能给予管理员权限,却使用用户账户的信息(如环境变量)。GNOME下使用''gksu'',KDE下使用''kdesu''。}}<br />
<br />
==== 安装 ====<br />
<br />
开始之前,确保你的硬件接插正确,电源开启,而且你得你的硬件属性(2D还是3D屏,屏幕尺寸,刷新率等)。通常情况下,在启动阶段两个显示器都会被识别却不需正确区分先后顺序,而是依赖热插拔功能。尤其在不使用({{ic|/etc/X11/xorg.conf}})配置时。<br />
<br />
首先要让你的桌面环境和X认识你的显示器。为此,要为你两个显示器生成基本的Xorg配置文件:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
或<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{注意|{{ic|overlay}}非常重要,因为它能让两个显示器拥有1种(多种)像素。<br />
{{提示|运行{{ic|aticonfig --help}}了解所有可用的命令。}}<br />
<br />
现在可编辑基本的Xorg配置文件(如:添加分辨率)。分辨率一定要正确,尤其是使用不同尺寸的显示器。分辨率在"Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
这以后就不需手动编辑{{ic|xorg.conf}},而ATI的图形化工具。重启X,确保正确支持两个显示器和识别屏幕分辨率(两个屏幕相互独立而不是完全一样。<br />
<br />
==== 设置 ====<br />
<br />
现在只需以root身份启动ATI控制中心,在显示菜单设置你需要的选项(下拉菜单中的小箭头)。设置好后重启X就大功造成(你和我都可松口气了,这段翻译有点难度,呵呵)!<br />
<br />
重启X之前,不要忘了核实{{ic|xorg.conf}}。主要是核实"Display"下的"Screen"节, 在"Virtual"行里,两个显示器的分辨率应该一样。"Server Layout"节则是剩下的参数。<br />
<br />
== 故障排除 ==<br />
若能启动到命令行,问题很可能出在{{ic|/etc/X11/xorg.conf}}<br />
<br />
可阅读{{ic|/var/log/Xorg.0.log}}或通过下列命令查找线索:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
若看不懂显示的是什么东东,可将其提交到[http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]论坛,注意要提交两者显示的信息。<br />
<br />
=== 在Wine上3D应用冻结 ===<br />
若在Wine上3D应用挂起,禁用TLS。使用{{ic|aticonfig}}或编辑{{ic|/etc/X11/xorg.conf}}。使用{{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
或以root身份打开{{ic|/etc/X11/xorg.conf}},在''Device''段添加{{ic|Option "UseFastTLS" "off"}}。<br />
<br />
只需来个二选一,然后重启X让其生效。<br />
<br />
=== 视频颜色不正常 ===<br />
<br />
仍然使用{{ic|vaapi:gl}}来防止画面抖动,但这样不会有视频加速:<br />
<br />
* 不使用{{ic|-vo vaapi}}运行'''mplayer'''。<br />
<br />
* 若是'''smplayer''',在Options → Preferences → Advanced → Options for MPlayer → Options:中删除{{ic|-vo vaapi}}。<br />
<br />
此后还可以启动'''smplayer'''的截屏功能。<br />
<br />
=== KWin and composite ===<br />
<br />
You may use XRender if the rendering with OpenGL is slow. However, XRender might also be slower than OpenGL depending on your card.<br />
XRender also solves artifact issues in some cases.<br />
<br />
=== Black screen with complete lockups and/or hangs after reboot or startx ===<br />
<br />
Ensure you have added the '''nomodeset''' option to the kernel options line in your bootloader (see [[#Disable kernel mode setting]]).<br />
<br />
==== Faulty ACPI hardware calls ====<br />
It is possible that fglrx doesn't cooperate well with the system's ACPI hardware calls, so it auto-disables itself and there is no screen output.<br />
<br />
If so, try to run this:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== KDM disappears after logout ===<br />
<br />
If you are running Catalyst proprietary driver and you get a console (tty1) instead of the expected KDM greeting when you log out, you must instruct KDM to restart the X server after each logout:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
Uncomment the following line under the section titled {{ic|[X-:*-Core]}}:<br />
<br />
TerminateServer=True<br />
<br />
KDM should now appear when you log out of KDE.<br />
<br />
=== Direct Rendering does not work ===<br />
<br />
This problem may occur when using the proprietary '''Catalyst''' driver.<br />
<br />
{{Warning|This error would also appear if you have not '''rebooted''' your system after the installation or upgrade of catalyst. The system needs to load the fglrx.ko module in order to make the driver work.}}<br />
<br />
If you have problem with direct rendering, run:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
at the command prompt. At the very start of the output, it'll usually give you a nice error message saying why you do not have direct rendering.<br />
<br />
Common errors and their solutions, are:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* Ensure that you are loading the correct agp modules for your AGP chipset before you load the fglrx kernel module. To determine which agp modules you'll need, run {{ic|hwdetect --show-agp}}, then ensure that all modules listed from that command are in the {{ic|1=MODULES=}} array in rc.conf, '''before''' fglrx if using SysVinit, otherwise open your {{ic|fglrx.conf}} file in {{ic|/etc/modules-load.d}} and add the agp module on a line '''before''' the fglrx line.<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* Something has not been installed correctly. If the paths in the error message are {{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}}, then ensure you've logged completely out of your system, then back in. If you're using a graphical login manager (gdm, kdm, xdm), ensure that {{ic|/etc/profile}} is sourced every time you log in. This is usually accomplished by adding {{ic|source /etc/profile}} into {{ic|~/.xsession}} or {{ic|~/.xinitrc}}, but this may vary between login managers.<br />
<br />
* If the paths above in your error message ''are'' {{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}}, then something has not been correctly installed. Try reinstalling the {{ic|catalyst}} package.<br />
<br />
Errors such as:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
could be caused by having multiple versions of {{ic|libGL.so}} on your system. Run:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
This should return the following output:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
These are the only three libGL.so files you should have on your system. If you have any more (e.g. {{ic|/usr/X11R6/lib/libGL.so.1.2}}), then remove them. This should fix your problem.<br />
<br />
You might not get any error to indicate that this is a problem. If you are using X11R7, make sure you do '''not''' have these files on your system:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== Hibernate/Sleep Issues ===<br />
<br />
==== Video fails to resume from suspend2ram ====<br />
<br />
ATI's proprietary Catalyst driver cannot resume from suspend if the framebuffer is enabled. To disable the framebuffer, add '''vga=0''' to your kernel options in for example, Grub Legacy's {{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
To see where you need to add this with other bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== System Freezes/Hard locks ===<br />
<br />
* The {{ic|radeonfb}} framebuffer drivers have been known in the past to cause problems of this nature. If your kernel has radeonfb support compiled in, you may want to try a different kernel and see if this helps.<br />
<br />
* If you experience system freezes when exiting your DE (shut down, suspend, switching to tty etc.) you probably forgot to deactivate KMS. (See [[#Disable kernel mode setting]])<br />
<br />
=== Hardware Conflicts ===<br />
<br />
Radeon cards used in conjunction with some versions of the nForce3 chipset (e.g. nForce 3 250Gb) won't have 3D acceleration. Currently the cause of this issue is unknown, but some sources indicate that it may be possible to get acceleration with this combination of hardware by booting Windows with the drivers from nVIDIA and then rebooting the system. This can be verified by issuing in a root console the following command:<br />
<br />
$ dmesg | grep agp<br />
<br />
If you get something similar to this (using an nForce3-based system):<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
and also if issuing this command...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...gets something similar to:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
Then you have this bug.<br />
<br />
Some sources indicate that in some situations, downgrading the motherboard BIOS may help, but this cannot be verified in all cases. Also, '''a bad BIOS downgrade can render your hardware useless, so beware.'''<br />
<br />
See [http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport] for more information and a potential fix.<br />
<br />
=== Temporary hangs when playing video ===<br />
<br />
This problem may occur when using the proprietary Catalyst.<br />
<br />
If you experience temporary hangs lasting from a few seconds to several minutes occuring randomly during playback with mplayer, check /var/log/messages.log for output like:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
Adding the nopat kernel option to your kernel options in your bootloader and rebooting fixed the problem at least for me. To see how to do this for different bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
If when running<br />
<br />
# sudo aticonfig --initial<br />
<br />
you get:<br />
<br />
aticonfig: No supported adaptaters detected<br />
<br />
But you do have an AMD GPU (or APU), it may still be possible to get Catalyst working by manually setting the device in your your {{ic|etc/X11/xorg.conf}} file.<br />
<br />
You can do so by setting the device section of {{ic|/etc/X11/xorg.conf}} to:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
Where ''****'' should be replaced with your device's marketing number (e.g. 6870 for the HD 6870 and 6310 for the E-350 APU).<br />
<br />
Xorg will start and it is possible to use {{ic|amdcccle}} instead of {{ic|aticonfig}}. There will be an "AMD Unsupported hardware" watermark.<br />
<br />
You can remove this watermark using the following script:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
<br />
and rebooting.<br />
<br />
=== WebGL support in Chromium ===<br />
<br />
Google has blacklisted Linux's Catalyst driver from supporting webGL in their Chromium/Chrome browsers.<br />
<br />
You can turn webGL on by editing {{ic|/usr/share/applications/chromium.desktop}} file and adding {{ic|--ignore-gpu-blacklist}} flag into the '''Exec''' line so it looks like this:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
You can also run chromium from console with the same {{ic|--ignore-gpu-blacklist}} flag:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{Warning|Catalyst does not support the GL_ARB_robustness extension, so it is possible that a malicious site could use WebGL to perform a DoS attack on your graphic card. For more info, read [http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== Laggs/freezes when watching flash videos via Adobe's flashplugin ===<br />
<br />
Edit {{ic|/etc/adobe/mms.cfg}} and make it look like this:<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== Laggs/slow windows movement in GNOME3 ===<br />
<br />
You can try this solution out, it's working for many people.<br />
<br />
Add this line into {{ic|~/.profile}} or into {{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
Restart X server or reboot your system.<br />
<br />
=== Not using fullscreen in the 1920x1080 resolution ===<br />
<br />
The ATI has scaling by default add this to your xorg.conf<br />
<br />
Option "DPMS" "true"<br />
<br />
On the Monitor section, as full example would look like this<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=229996AMD Catalyst (简体中文)2012-10-20T14:32:12Z<p>Micy1985: /* 安装 */</p>
<hr />
<div>[[Category:Graphics (简体中文)]]<br />
[[Category:X Server (简体中文)]]<br />
{{TranslationStatus (简体中文)|AMD_Catalyst|2012-10-19|229195}}<br />
"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs完全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx 显卡驱动分开开发,因此在你选择何种安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用普通Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的普通Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上面对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败和丢失Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make脚本, 最好换一名称保存。否则将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
通过访问{{ic|/etc/ati/amdpcsdb}}文件它几乎能配置显卡的各项参数。了解完整的配置选项{{ic|aticonfig}}可运行:<br />
<br />
# aticonfig --help | less<br />
<br />
{{警告|在将各项配置参数提交到/etc/X11/xorg.conf之前使用--output选项,/etc/X11/xorg.conf.d中的所有内容都会被覆盖。}}<br />
<br />
{{注意|如果坚持使用xorg.conf.d下的新配置文件:为了让Device section与{{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}相匹配,在{{ic|aticonfig}}后追加''--output''。但这有一个缺点,很多依赖xorg.conf的{{ic|aticonfig}}选项都无法使用。}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,但不同Xorg版本的默认参数可能会有所不同,最好明确指定一些参数.<br />
<br />
给一个示例配置 (注意) '''仅供参考'''. 标'#'必须有,标'##'很可能会用到:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{注意|一旦升级Catalyst就要通过后面的方法删除'''amdpcsdb'''文件: 关闭X,删除{{ic|/etc/ati/amdpcsdb}},启动X然后运行{{ic|amdcccle}} -否则amdcccle将会显示错误的Catalyst版本号}}<br />
<br />
''更多信息参考[http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== 启动时加载模块 ====<br />
不同的初始化系统(SysVinit和systemd)的设置方式不一样,但无论哪一种,都得在{{ic|/etc/modprobe.d/modprobe.conf}}禁用''radeon''。具体可参见[[Modprobe|blacklisting in this article]]. '''通过Arch官方安装Catalyst则无需此步骤,安装包会自动处理'''。<br />
<br />
{{注意|强烈推荐使用systemd进行系统初始化,因为最新Arch安装镜像已默认使用systemd,通过rc.conf设置系统启动服务迟早会遭淘汰}}。<br />
<br />
===== 在使用systemd上 =====<br />
* 删除{{ic|/etc/modules-load.d/}}下任何名称包含{{ic|radeon}}的文件若该文件中含有其他多个模块,则只删除radeon)。<br />
* 在{{ic|/etc/modules-load.d/}}的现有文件中添加{{ic|fglrx}}或新建含有该行的文件。<br />
<br />
===== 在使用SysVinit上 =====<br />
编辑{{ic|/etc/rc.conf}}:<br />
* 自MODULES中删除{{ic|radeon}}。<br />
* 在MODULES中添加 {{ic|fglrx}}。<br />
<br />
{{注意|若使用AGP接口的显卡还需添加''agp''。}}<br />
<br />
==== 禁用KMS ====<br />
<br />
由于Catalyst根本不使用[[KMS]],得将其禁用。否则,当系统切换至tyy或在桌面环境下关机时,系统可能会冻结。<br />
<br />
若使用[[GRUB Legacy|GRUB Legacy]],在{{ic|menu.lst}}添加{{ic|nomodeset}}给内核参数,如:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
若使用[[GRUB2|GRUB 2]],在{{ic|/etc/default/grub}}添加''nomodeset''给内核参数,如:<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
然后以root身份运行;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
若使用[[Syslinux|Syslinux]],在{{ic|/boot/syslinux/syslinux.cfg}}添加''nomodeset''到{{ic|APPEND}}行,如:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== 检查安装是否成功 ====<br />
<br />
重启电脑并登录, 运行下列命令可查看fglrx是否正确运行:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
若两者均有输出, 安装成功。进行桌面环境并运行以下命令检查直接渲染模式是否启用:<br />
<br />
$ glxinfo | grep direct<br />
<br />
若显示"direct rendering: yes",恭喜你,到位了! 若无glxinfo命令,安装{{Pkg|mesa-demos}} package。<br />
<br />
{{警告|最近几版Xorg,库函数路径变了,因此即使安装{{ic|libGL.so}}也不一定能正确人加载。请检查GL是否工作,可阅读"Troubleshooting"段落}}<br />
<br />
若有问题,参阅[[#Troubleshooting]].<br />
<br />
=== 自我编译内核 ===<br />
<br />
在手动编译的内核上,你必须构建你自己{{ic|catalyst-$kernel}}包.<br />
<br />
如果你讨厌打包或毫无经验,可先阅读[[ABS]]。<br />
<br />
#从[[AUR|Catalyst]]上获取{{ic|PKGBUILD}} 和 {{ic|catalyst.install}}文件。<br />
# 编辑PKGBUILD. 两个地方需要修改:<br />
## 将{{ic|1=pkgname=catalyst}} 修改为 {{ic|1=pkgname=catalyst-$kernel_name}},$kernel_name可以随意取(如:custom, mm)。<br />
## 将{{ic|linux}}的依赖修改为{{ic|$kernel_name}}。<br />
# 构建并安装软件包;运行{{ic|makepkg -i}} 和 {{ic|makepkg}},接着运行 {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{注意|如果在安装有多内核的系统上,你必须为所有内核安装Catalyst-utils包。这不会引起冲突}}<br />
<br />
{{注意|Catalyst-generator能为你自动构建catalyst-{kernver},因此这些步骤根本就可省略。 请参考[[#Tools| Tools section]].}}<br />
<br />
== Xorg软件库 ==<br />
Catalyst由于其缓慢的更新而被人大为诟病。因升级Xorg而造成两者不兼容是稀松平常的事。也就意味着Catalyst用户要么不升级Xorg要么使用一个只包含Xorg包的回溯软件库,该库中不提供更新版Xorg以确保兼容性。 Vi0L0提供好几个这样的库. <br />
<br />
若想让pacman更新其他软件而不更新Xorg,查看[[pacman|skip package from being upgraded]]。不更新的软件是:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
若要使用这类软件库,在{{ic|/etc/pacman.conf}}的所有库(甚至Catalyst)前面添加下面中的一个 。<br />
<br />
===[xorg112]===<br />
截止目前,当前Catalyst 不支持1.13。<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
低于 12.6的Catalyst不支持xorg-server 1.12。<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== 工具 ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook]是一个针对[[mkinitcpio|mkinitcpio]]的钩子。'''跟 catalyst-dkms一样''',每当内核更新时,它会自动升级fglrx模块。在更新fglrx之前,它会尝试更新{{Pkg|linux-headers}}。<br />
<br />
当更新内核时,钩子会调用''catalyst_build_module''命令来更新fglrx模块以使两者相匹配。此外,它还可调用''catalyst_build_module remove''来删除不需要的旧flgrx模块<br />
<br />
{{注意|若使用此功能,'''一定要''' 关注的内核的安装提示,Catalyst-hook会显示是否一切顺利。}}<br />
<br />
{{注意|若是'''自编译内核'''且使用'''非标准的mkinitcpio配置文件'''(如:linux-zen使用/etc/mkinitcpio-zen.conf),那必须在你非标准的配置文件中添加'''fglrx'''至 HOOKS行,以便当内核更新时能自动重新编译。}}<br />
<br />
{{注意|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator]包能构建并安装fglrx模块,该模块与pacman兼容 的catalyst-${内核版本}相适应。与Catalyst-hook的区别是必须手动使用此命令,而Catalyst-hook则不需。<br />
<br />
通过[[makepkg]],它能构建catalyst-${内核版本}二进制包并用[[pacman]]安装。<br />
<br />
非特权用户使用{{ic|catalyst_build_module}}来构建并安装catalyst-${内核版本}包。安装时会提示输入root密码。<br />
<br />
简单说一下如何使用此包:<br />
<br />
# root用户: 使用{{ic|catalyst_build_module remove}}。此举会删除无用的{{ic|catalyst-{kernver} }}包。<br />
# 非特权用户: 使用{{ic|catalyst_build_module ${内核版本}}}, ${内核版本}是指升级过后的内核版本。也可通过{{ic|catalyst_build_module all}}为所有安装的内核构建catalyst-${内核版本}。<br />
# 若要删除{{ic|catalyst-generator}}, 在使用{{ic|catalyst_build_module remove_all}}命令删除catalyst-generator之前最好切换到root用户,'''这会删除得极为彻底。'''<br />
<br />
当删除Catalyst-generator时,Catalyst-generator不能自动删除那些catalyst-{内核版本}包,这是因为pacman不允许有一个以上的实例同时运行。若在使用{{ic|pacman -R catalyst-generator}}前忘记运行{{ic|catalyst_build_module remove_all}}, catalyst-generator将会询问删除catalyst-generator自身后要删除哪个catalyst-{内核版本}包。<br />
<br />
{{注意|在构建catalyst-{内核版本}时,若看到下列警告,乃正常情况,不必莫名惊诧:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension}}<br />
<br />
=== Catalyst-daemon ===<br />
{{警告|由于systemd与普通initscript daemons不兼容,所以systemd用户不能使用此工具。}}<br />
<br />
每次启动时,[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon]守护进程会检查内核是否更新过。若更新过,它会重建fglrx模块;若没有,则加载前次构建的模块。在2.4 GHz CPU电脑上,整个过程只需20ms。<br />
<br />
Catalyst-daemon的自动重新编译功能是通过一个叫''autofglrx''的初始化脚本实现的。Autofglrx的检查方式为比较启动内核(由{{ic|uname -v}}提供)和使用当前fglrx模块内核的构建时间。之所以能这样比较,是因为编译时,它将{{ic|uname -v}}的信息添加到fglrx模块描述里。<br />
<br />
重构过程中,autofglrx会调用''catalyst_build_module''构建模块,调用''catalyst_build_module remove''删除老旧无用的fglrx模块。运行后,它并不会一直驻留在系统内存。<br />
<br />
{{注意|安装autofglrx后,在{{ic|/etc/rc.conf}}将{{ic|autofglrx}}添加到{{ic|DAEMONS}}。要将它放在DM(显示管理器)之前(若是通过此配置运行DM)并且'''不要'''在后台运行(不能在其前添加@符号)。}}<br />
<br />
{{注意|若使用'''你自己的编译标识'''导致此工具有问题 - 请将你的标识写入/usr/bin/catalyst_build_module文件。}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
在'''Catalyst 11.1'''中,很可能是添加了三重缓存和v-sync,''Tear Free Desktop''减少了2D,3D视频应用的屏幕撕裂毛病。但这需要额外的GPU处理。<br />
<br />
要启用'Tear Free Desktop',运行{{ic|amdcccle}},然后设置{{ic|Display Options}} → {{ic|Tear Free}}。<br />
<br />
或以root身份运行:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
若禁用,使用{{ic|amdcccle}}或以root身份运行:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== 视频加速 ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)'''是为基于Linux/UNIX操作系统提供利用GPU加速视频处理的一个开源函数库和应用程序接口规范。启用视频加速后,通过各种入口(VLD, IDCT, Motion Compensation, deblocking)它能加速常用编码标准(MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3)视频文件的解码过程(俗称硬解)。<br />
<br />
VA-API在{{AUR|xvba-video}}上有一个私有后端(2009年10月), 它允许使用VA-API的程序通过[http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)]函数库来充分利用拥有uvd2(第二代通用视频解码单元)芯片组的视频加速功能.<br />
<br />
xvba-video和支持XvBA的软件仍还在开发,'''但在大多数情况下它都能很好的工作'''. 通过AUR构建或直接通过[community]安装{{AUR|xvba-video}}包,并安装{{Pkg|mplayer-vaapi}} and {{Pkg|libva}}。然后将视频播放器的视频输出设置为vaapi:gl:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
此选项可添加到mplayer的配置文件,参考[[MPlayer]]。<br />
<br />
针对 '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{注意|如果启用了Tear Free Desktop,则按下列步骤:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
若视频输出中没有'''vaapi:gl'''选项 - 可使用:<br />
'''vaapi''', '''vaapi:gl2''' or 简单的 '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
针对 '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
它有助于在'''amdcccle'''中启用v-sync:<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{注意|若使用'''Compiz/KWin''',消除'''画面抖动'''的唯一方法就是切换至'''全屏'''并且 '''关闭Redirected Fullscreen'''。<br />
<br />
使用'''compiz''',需在ccsm的General Options中设置'''Redirected Direct Rendering'''。若此举无效,则将其关闭。'''KWin'''默认关闭此功能,若出现画面抖动则通过System Settings → Desktop Effects → Advanced将"Suspend desktop effects for fullscreen windows"开启或关闭。}}<br />
<br />
=== 显卡/显存频率, 温度, 风扇转速, 超频工具 ===<br />
<br />
{{ic|$ aticonfig --od-getclocks}}可以获知当前显卡/显存频率。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}可以获知风扇转速(显卡);<br />
<br />
{{ic|$ aticonfig --odgt}}可以获知显卡温度。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}}可以设置风扇转速,其中查询索引50代表速度百分比。<br />
<br />
若超频或与之相反,则使用图形工具反而相对容易些,如需要qt的'''ATi Overclocking Utility'''。<br />
<br />
i686版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here];x86_64版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]。下载后直接运行。<br />
更复杂'''AMDOverdriveCtrl'''也能达到此目的,它的主页是[http://sourceforge.net/projects/amdovdrvctrl here]。可通过[https://aur.archlinux.org/packages.php?ID=45298 AUR]或Vi0L0's非官方软件库构建安装包。<br />
<br />
=== 双屏显示 ===<br />
<br />
==== 介绍 ====<br />
<br />
{{警告|由于安装方式的不同,并且每种安装方式需要与其相对应进行配置,因此设置双屏显示并没有特定的解决办办法。这也是你必须根据你自己的需要采用相应步骤的原因。当然可以多尝试几种方法。'''所以,在修改之前,将你的配置保存到{{ic|/etc/X11/xorg.conf}},以便遇到问题是你可以从命令行恢复。'''}}<br />
<br />
* 本节讲述如何配置"BIG Desktop"效果。主要是不同尺寸的屏幕如何通过两个不同的输出接口(DVI + HDMI)共享一个显卡。<br />
<br />
* Xinerama解决办法有些不便,尤其是不能与XrandR兼容。因为XrandR对于我们所讲的来说是必须的,所以不使用Xinerama。<br />
<br />
* 双头显示能让你有两个不同的会话(一个屏幕一个)。你可以随心所欲地干任何事情,但不能将窗口从一个屏幕移动到另一个屏幕。若只有一个屏幕,你得在Xorg会话里为Server Layout section的每个会话定义鼠标,具体方法查看:<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
ATI的图形工具非常有用,我们将尽可能地使用它。运行下面命令可启用它:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{警告|'''千万不要'''直接使用sudo。 Sudo虽能给予管理员权限,却使用用户账户的信息(如环境变量)。GNOME下使用''gksu'',KDE下使用''kdesu''。}}<br />
<br />
==== 安装 ====<br />
<br />
开始之前,确保你的硬件接插正确,电源开启,而且你得你的硬件属性(2D还是3D屏,屏幕尺寸,刷新率等)。通常情况下,在启动阶段两个显示器都会被识别却不需正确区分先后顺序,而是依赖热插拔功能。尤其在不使用({{ic|/etc/X11/xorg.conf}})配置时。<br />
<br />
首先要让你的桌面环境和X认识你的显示器。为此,要为你两个显示器生成基本的Xorg配置文件:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
或<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{注意|{{ic|overlay}}非常重要,因为它能让两个显示器拥有1种(多种)像素。<br />
{{提示|运行{{ic|aticonfig --help}}了解所有可用的命令。}}<br />
<br />
现在可编辑基本的Xorg配置文件(如:添加分辨率)。分辨率一定要正确,尤其是使用不同尺寸的显示器。分辨率在"Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
这以后就不需手动编辑{{ic|xorg.conf}},而ATI的图形化工具。重启X,确保正确支持两个显示器和识别屏幕分辨率(两个屏幕相互独立而不是完全一样。<br />
<br />
==== 设置 ====<br />
<br />
现在只需以root身份启动ATI控制中心,在显示菜单设置你需要的选项(下拉菜单中的小箭头)。设置好后重启X就大功造成(你和我都可松口气了,这段翻译有点难度,呵呵)!<br />
<br />
重启X之前,不要忘了核实{{ic|xorg.conf}}。主要是核实"Display"下的"Screen"节, 在"Virtual"行里,两个显示器的分辨率应该一样。"Server Layout"节则是剩下的参数。<br />
<br />
== Troubleshooting ==<br />
<br />
If you can still boot to command-line, then the problem probably lies in {{ic|/etc/X11/xorg.conf}}<br />
<br />
You can parse the whole {{ic|/var/log/Xorg.0.log}} or, for clues:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
If you are at lost of what to do, you can always post a message in the see [http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]. When you do so, please do provide the information you get from both commands mentioned above.<br />
<br />
=== 3D Wine applications freeze ===<br />
If you use a 3D Wine application and it hangs, you have to disable TLS. To do this, either use {{ic|aticonfig}} or edit {{ic|/etc/X11/xorg.conf}}. To use {{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
Or, to edit {{ic|/etc/X11/xorg.conf}}; first open the file in an editor as root and then add {{ic|Option "UseFastTLS" "off"}} to the ''Device'' section of this file. <br />
<br />
After applying either of the solutions, restart X for it to take effect.<br />
<br />
=== Problems with video colours ===<br />
<br />
You may still use {{ic|vaapi:gl}} to avoid video flickering, but without video acceleration:<br />
<br />
* Run '''mplayer''' without {{ic|-vo vaapi}} switch.<br />
<br />
* Run '''smplayer''' remove {{ic|-vo vaapi}} from Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
<br />
Plus for '''smplayer''' you may now safely turn screenshots on.<br />
<br />
=== KWin and composite ===<br />
<br />
You may use XRender if the rendering with OpenGL is slow. However, XRender might also be slower than OpenGL depending on your card.<br />
XRender also solves artifact issues in some cases.<br />
<br />
=== Black screen with complete lockups and/or hangs after reboot or startx ===<br />
<br />
Ensure you have added the '''nomodeset''' option to the kernel options line in your bootloader (see [[#Disable kernel mode setting]]).<br />
<br />
==== Faulty ACPI hardware calls ====<br />
It is possible that fglrx doesn't cooperate well with the system's ACPI hardware calls, so it auto-disables itself and there is no screen output.<br />
<br />
If so, try to run this:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== KDM disappears after logout ===<br />
<br />
If you are running Catalyst proprietary driver and you get a console (tty1) instead of the expected KDM greeting when you log out, you must instruct KDM to restart the X server after each logout:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
Uncomment the following line under the section titled {{ic|[X-:*-Core]}}:<br />
<br />
TerminateServer=True<br />
<br />
KDM should now appear when you log out of KDE.<br />
<br />
=== Direct Rendering does not work ===<br />
<br />
This problem may occur when using the proprietary '''Catalyst''' driver.<br />
<br />
{{Warning|This error would also appear if you have not '''rebooted''' your system after the installation or upgrade of catalyst. The system needs to load the fglrx.ko module in order to make the driver work.}}<br />
<br />
If you have problem with direct rendering, run:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
at the command prompt. At the very start of the output, it'll usually give you a nice error message saying why you do not have direct rendering.<br />
<br />
Common errors and their solutions, are:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* Ensure that you are loading the correct agp modules for your AGP chipset before you load the fglrx kernel module. To determine which agp modules you'll need, run {{ic|hwdetect --show-agp}}, then ensure that all modules listed from that command are in the {{ic|1=MODULES=}} array in rc.conf, '''before''' fglrx if using SysVinit, otherwise open your {{ic|fglrx.conf}} file in {{ic|/etc/modules-load.d}} and add the agp module on a line '''before''' the fglrx line.<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* Something has not been installed correctly. If the paths in the error message are {{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}}, then ensure you've logged completely out of your system, then back in. If you're using a graphical login manager (gdm, kdm, xdm), ensure that {{ic|/etc/profile}} is sourced every time you log in. This is usually accomplished by adding {{ic|source /etc/profile}} into {{ic|~/.xsession}} or {{ic|~/.xinitrc}}, but this may vary between login managers.<br />
<br />
* If the paths above in your error message ''are'' {{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}}, then something has not been correctly installed. Try reinstalling the {{ic|catalyst}} package.<br />
<br />
Errors such as:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
could be caused by having multiple versions of {{ic|libGL.so}} on your system. Run:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
This should return the following output:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
These are the only three libGL.so files you should have on your system. If you have any more (e.g. {{ic|/usr/X11R6/lib/libGL.so.1.2}}), then remove them. This should fix your problem.<br />
<br />
You might not get any error to indicate that this is a problem. If you are using X11R7, make sure you do '''not''' have these files on your system:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== Hibernate/Sleep Issues ===<br />
<br />
==== Video fails to resume from suspend2ram ====<br />
<br />
ATI's proprietary Catalyst driver cannot resume from suspend if the framebuffer is enabled. To disable the framebuffer, add '''vga=0''' to your kernel options in for example, Grub Legacy's {{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
To see where you need to add this with other bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== System Freezes/Hard locks ===<br />
<br />
* The {{ic|radeonfb}} framebuffer drivers have been known in the past to cause problems of this nature. If your kernel has radeonfb support compiled in, you may want to try a different kernel and see if this helps.<br />
<br />
* If you experience system freezes when exiting your DE (shut down, suspend, switching to tty etc.) you probably forgot to deactivate KMS. (See [[#Disable kernel mode setting]])<br />
<br />
=== Hardware Conflicts ===<br />
<br />
Radeon cards used in conjunction with some versions of the nForce3 chipset (e.g. nForce 3 250Gb) won't have 3D acceleration. Currently the cause of this issue is unknown, but some sources indicate that it may be possible to get acceleration with this combination of hardware by booting Windows with the drivers from nVIDIA and then rebooting the system. This can be verified by issuing in a root console the following command:<br />
<br />
$ dmesg | grep agp<br />
<br />
If you get something similar to this (using an nForce3-based system):<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
and also if issuing this command...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...gets something similar to:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
Then you have this bug.<br />
<br />
Some sources indicate that in some situations, downgrading the motherboard BIOS may help, but this cannot be verified in all cases. Also, '''a bad BIOS downgrade can render your hardware useless, so beware.'''<br />
<br />
See [http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport] for more information and a potential fix.<br />
<br />
=== Temporary hangs when playing video ===<br />
<br />
This problem may occur when using the proprietary Catalyst.<br />
<br />
If you experience temporary hangs lasting from a few seconds to several minutes occuring randomly during playback with mplayer, check /var/log/messages.log for output like:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
Adding the nopat kernel option to your kernel options in your bootloader and rebooting fixed the problem at least for me. To see how to do this for different bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
If when running<br />
<br />
# sudo aticonfig --initial<br />
<br />
you get:<br />
<br />
aticonfig: No supported adaptaters detected<br />
<br />
But you do have an AMD GPU (or APU), it may still be possible to get Catalyst working by manually setting the device in your your {{ic|etc/X11/xorg.conf}} file.<br />
<br />
You can do so by setting the device section of {{ic|/etc/X11/xorg.conf}} to:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
Where ''****'' should be replaced with your device's marketing number (e.g. 6870 for the HD 6870 and 6310 for the E-350 APU).<br />
<br />
Xorg will start and it is possible to use {{ic|amdcccle}} instead of {{ic|aticonfig}}. There will be an "AMD Unsupported hardware" watermark.<br />
<br />
You can remove this watermark using the following script:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
<br />
and rebooting.<br />
<br />
=== WebGL support in Chromium ===<br />
<br />
Google has blacklisted Linux's Catalyst driver from supporting webGL in their Chromium/Chrome browsers.<br />
<br />
You can turn webGL on by editing {{ic|/usr/share/applications/chromium.desktop}} file and adding {{ic|--ignore-gpu-blacklist}} flag into the '''Exec''' line so it looks like this:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
You can also run chromium from console with the same {{ic|--ignore-gpu-blacklist}} flag:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{Warning|Catalyst does not support the GL_ARB_robustness extension, so it is possible that a malicious site could use WebGL to perform a DoS attack on your graphic card. For more info, read [http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== Laggs/freezes when watching flash videos via Adobe's flashplugin ===<br />
<br />
Edit {{ic|/etc/adobe/mms.cfg}} and make it look like this:<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== Laggs/slow windows movement in GNOME3 ===<br />
<br />
You can try this solution out, it's working for many people.<br />
<br />
Add this line into {{ic|~/.profile}} or into {{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
Restart X server or reboot your system.<br />
<br />
=== Not using fullscreen in the 1920x1080 resolution ===<br />
<br />
The ATI has scaling by default add this to your xorg.conf<br />
<br />
Option "DPMS" "true"<br />
<br />
On the Monitor section, as full example would look like this<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=229995AMD Catalyst (简体中文)2012-10-20T14:30:33Z<p>Micy1985: /* ATI Catalyst Control Center */</p>
<hr />
<div>[[Category:Graphics (简体中文)]]<br />
[[Category:X Server (简体中文)]]<br />
{{TranslationStatus (简体中文)|AMD_Catalyst|2012-10-19|229195}}<br />
"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs完全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx 显卡驱动分开开发,因此在你选择何种安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用普通Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的普通Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上面对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败和丢失Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make脚本, 最好换一名称保存。否则将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
通过访问{{ic|/etc/ati/amdpcsdb}}文件它几乎能配置显卡的各项参数。了解完整的配置选项{{ic|aticonfig}}可运行:<br />
<br />
# aticonfig --help | less<br />
<br />
{{警告|在将各项配置参数提交到/etc/X11/xorg.conf之前使用--output选项,/etc/X11/xorg.conf.d中的所有内容都会被覆盖。}}<br />
<br />
{{注意|如果坚持使用xorg.conf.d下的新配置文件:为了让Device section与{{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}相匹配,在{{ic|aticonfig}}后追加''--output''。但这有一个缺点,很多依赖xorg.conf的{{ic|aticonfig}}选项都无法使用。}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,但不同Xorg版本的默认参数可能会有所不同,最好明确指定一些参数.<br />
<br />
给一个示例配置 (注意) '''仅供参考'''. 标'#'必须有,标'##'很可能会用到:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{注意|一旦升级Catalyst就要通过后面的方法删除'''amdpcsdb'''文件: 关闭X,删除{{ic|/etc/ati/amdpcsdb}},启动X然后运行{{ic|amdcccle}} -否则amdcccle将会显示错误的Catalyst版本号}}<br />
<br />
''更多信息参考[http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== 启动时加载模块 ====<br />
不同的初始化系统(SysVinit和systemd)的设置方式不一样,但无论哪一种,都得在{{ic|/etc/modprobe.d/modprobe.conf}}禁用''radeon''。具体可参见[[Modprobe|blacklisting in this article]]. '''通过Arch官方安装Catalyst则无需此步骤,安装包会自动处理'''。<br />
<br />
{{注意|强烈推荐使用systemd进行系统初始化,因为最新Arch安装镜像已默认使用systemd,通过rc.conf设置系统启动服务迟早会遭淘汰}}。<br />
<br />
===== 在使用systemd上 =====<br />
* 删除{{ic|/etc/modules-load.d/}}下任何名称包含{{ic|radeon}}的文件若该文件中含有其他多个模块,则只删除radeon)。<br />
* 在{{ic|/etc/modules-load.d/}}的现有文件中添加{{ic|fglrx}}或新建含有该行的文件。<br />
<br />
===== 在使用SysVinit上 =====<br />
编辑{{ic|/etc/rc.conf}}:<br />
* 自MODULES中删除{{ic|radeon}}。<br />
* 在MODULES中添加 {{ic|fglrx}}。<br />
<br />
{{注意|若使用AGP接口的显卡还需添加''agp''。}}<br />
<br />
==== 禁用KMS ====<br />
<br />
由于Catalyst根本不使用[[KMS]],得将其禁用。否则,当系统切换至tyy或在桌面环境下关机时,系统可能会冻结。<br />
<br />
若使用[[GRUB Legacy|GRUB Legacy]],在{{ic|menu.lst}}添加{{ic|nomodeset}}给内核参数,如:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
若使用[[GRUB2|GRUB 2]],在{{ic|/etc/default/grub}}添加''nomodeset''给内核参数,如:<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
然后以root身份运行;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
若使用[[Syslinux|Syslinux]],在{{ic|/boot/syslinux/syslinux.cfg}}添加''nomodeset''到{{ic|APPEND}}行,如:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== 检查安装是否成功 ====<br />
<br />
重启电脑并登录, 运行下列命令可查看fglrx是否正确运行:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
若两者均有输出, 安装成功。进行桌面环境并运行以下命令检查直接渲染模式是否启用:<br />
<br />
$ glxinfo | grep direct<br />
<br />
若显示"direct rendering: yes",恭喜你,到位了! 若无glxinfo命令,安装{{Pkg|mesa-demos}} package。<br />
<br />
{{警告|最近几版Xorg,库函数路径变了,因此即使安装{{ic|libGL.so}}也不一定能正确人加载。请检查GL是否工作,可阅读"Troubleshooting"段落}}<br />
<br />
若有问题,参阅[[#Troubleshooting]].<br />
<br />
=== 自我编译内核 ===<br />
<br />
在手动编译的内核上,你必须构建你自己{{ic|catalyst-$kernel}}包.<br />
<br />
如果你讨厌打包或毫无经验,可先阅读[[ABS]]。<br />
<br />
#从[[AUR|Catalyst]]上获取{{ic|PKGBUILD}} 和 {{ic|catalyst.install}}文件。<br />
# 编辑PKGBUILD. 两个地方需要修改:<br />
## 将{{ic|1=pkgname=catalyst}} 修改为 {{ic|1=pkgname=catalyst-$kernel_name}},$kernel_name可以随意取(如:custom, mm)。<br />
## 将{{ic|linux}}的依赖修改为{{ic|$kernel_name}}。<br />
# 构建并安装软件包;运行{{ic|makepkg -i}} 和 {{ic|makepkg}},接着运行 {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{注意|如果在安装有多内核的系统上,你必须为所有内核安装Catalyst-utils包。这不会引起冲突}}<br />
<br />
{{注意|Catalyst-generator能为你自动构建catalyst-{kernver},因此这些步骤根本就可省略。 请参考[[#Tools| Tools section]].}}<br />
<br />
== Xorg软件库 ==<br />
Catalyst由于其缓慢的更新而被人大为诟病。因升级Xorg而造成两者不兼容是稀松平常的事。也就意味着Catalyst用户要么不升级Xorg要么使用一个只包含Xorg包的回溯软件库,该库中不提供更新版Xorg以确保兼容性。 Vi0L0提供好几个这样的库. <br />
<br />
若想让pacman更新其他软件而不更新Xorg,查看[[pacman|skip package from being upgraded]]。不更新的软件是:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
若要使用这类软件库,在{{ic|/etc/pacman.conf}}的所有库(甚至Catalyst)前面添加下面中的一个 。<br />
<br />
===[xorg112]===<br />
截止目前,当前Catalyst 不支持1.13。<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
低于 12.6的Catalyst不支持xorg-server 1.12。<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== 工具 ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook]是一个针对[[mkinitcpio|mkinitcpio]]的钩子。'''跟 catalyst-dkms一样''',每当内核更新时,它会自动升级fglrx模块。在更新fglrx之前,它会尝试更新{{Pkg|linux-headers}}。<br />
<br />
当更新内核时,钩子会调用''catalyst_build_module''命令来更新fglrx模块以使两者相匹配。此外,它还可调用''catalyst_build_module remove''来删除不需要的旧flgrx模块<br />
<br />
{{注意|若使用此功能,'''一定要''' 关注的内核的安装提示,Catalyst-hook会显示是否一切顺利。}}<br />
<br />
{{注意|若是'''自编译内核'''且使用'''非标准的mkinitcpio配置文件'''(如:linux-zen使用/etc/mkinitcpio-zen.conf),那必须在你非标准的配置文件中添加'''fglrx'''至 HOOKS行,以便当内核更新时能自动重新编译。}}<br />
<br />
{{注意|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator]包能构建并安装fglrx模块,该模块与pacman兼容 的catalyst-${内核版本}相适应。与Catalyst-hook的区别是必须手动使用此命令,而Catalyst-hook则不需。<br />
<br />
通过[[makepkg]],它能构建catalyst-${内核版本}二进制包并用[[pacman]]安装。<br />
<br />
非特权用户使用{{ic|catalyst_build_module}}来构建并安装catalyst-${内核版本}包。安装时会提示输入root密码。<br />
<br />
简单说一下如何使用此包:<br />
<br />
# root用户: 使用{{ic|catalyst_build_module remove}}。此举会删除无用的{{ic|catalyst-{kernver} }}包。<br />
# 非特权用户: 使用{{ic|catalyst_build_module ${内核版本}}}, ${内核版本}是指升级过后的内核版本。也可通过{{ic|catalyst_build_module all}}为所有安装的内核构建catalyst-${内核版本}。<br />
# 若要删除{{ic|catalyst-generator}}, 在使用{{ic|catalyst_build_module remove_all}}命令删除catalyst-generator之前最好切换到root用户,'''这会删除得极为彻底。'''<br />
<br />
当删除Catalyst-generator时,Catalyst-generator不能自动删除那些catalyst-{内核版本}包,这是因为pacman不允许有一个以上的实例同时运行。若在使用{{ic|pacman -R catalyst-generator}}前忘记运行{{ic|catalyst_build_module remove_all}}, catalyst-generator将会询问删除catalyst-generator自身后要删除哪个catalyst-{内核版本}包。<br />
<br />
{{注意|在构建catalyst-{内核版本}时,若看到下列警告,乃正常情况,不必莫名惊诧:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension}}<br />
<br />
=== Catalyst-daemon ===<br />
{{警告|由于systemd与普通initscript daemons不兼容,所以systemd用户不能使用此工具。}}<br />
<br />
每次启动时,[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon]守护进程会检查内核是否更新过。若更新过,它会重建fglrx模块;若没有,则加载前次构建的模块。在2.4 GHz CPU电脑上,整个过程只需20ms。<br />
<br />
Catalyst-daemon的自动重新编译功能是通过一个叫''autofglrx''的初始化脚本实现的。Autofglrx的检查方式为比较启动内核(由{{ic|uname -v}}提供)和使用当前fglrx模块内核的构建时间。之所以能这样比较,是因为编译时,它将{{ic|uname -v}}的信息添加到fglrx模块描述里。<br />
<br />
重构过程中,autofglrx会调用''catalyst_build_module''构建模块,调用''catalyst_build_module remove''删除老旧无用的fglrx模块。运行后,它并不会一直驻留在系统内存。<br />
<br />
{{注意|安装autofglrx后,在{{ic|/etc/rc.conf}}将{{ic|autofglrx}}添加到{{ic|DAEMONS}}。要将它放在DM(显示管理器)之前(若是通过此配置运行DM)并且'''不要'''在后台运行(不能在其前添加@符号)。}}<br />
<br />
{{注意|若使用'''你自己的编译标识'''导致此工具有问题 - 请将你的标识写入/usr/bin/catalyst_build_module文件。}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
在'''Catalyst 11.1'''中,很可能是添加了三重缓存和v-sync,''Tear Free Desktop''减少了2D,3D视频应用的屏幕撕裂毛病。但这需要额外的GPU处理。<br />
<br />
要启用'Tear Free Desktop',运行{{ic|amdcccle}},然后设置{{ic|Display Options}} → {{ic|Tear Free}}。<br />
<br />
或以root身份运行:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
若禁用,使用{{ic|amdcccle}}或以root身份运行:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== 视频加速 ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)'''是为基于Linux/UNIX操作系统提供利用GPU加速视频处理的一个开源函数库和应用程序接口规范。启用视频加速后,通过各种入口(VLD, IDCT, Motion Compensation, deblocking)它能加速常用编码标准(MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3)视频文件的解码过程(俗称硬解)。<br />
<br />
VA-API在{{AUR|xvba-video}}上有一个私有后端(2009年10月), 它允许使用VA-API的程序通过[http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)]函数库来充分利用拥有uvd2(第二代通用视频解码单元)芯片组的视频加速功能.<br />
<br />
xvba-video和支持XvBA的软件仍还在开发,'''但在大多数情况下它都能很好的工作'''. 通过AUR构建或直接通过[community]安装{{AUR|xvba-video}}包,并安装{{Pkg|mplayer-vaapi}} and {{Pkg|libva}}。然后将视频播放器的视频输出设置为vaapi:gl:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
此选项可添加到mplayer的配置文件,参考[[MPlayer]]。<br />
<br />
针对 '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{注意|如果启用了Tear Free Desktop,则按下列步骤:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
若视频输出中没有'''vaapi:gl'''选项 - 可使用:<br />
'''vaapi''', '''vaapi:gl2''' or 简单的 '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
针对 '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
它有助于在'''amdcccle'''中启用v-sync:<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{注意|若使用'''Compiz/KWin''',消除'''画面抖动'''的唯一方法就是切换至'''全屏'''并且 '''关闭Redirected Fullscreen'''。<br />
<br />
使用'''compiz''',需在ccsm的General Options中设置'''Redirected Direct Rendering'''。若此举无效,则将其关闭。'''KWin'''默认关闭此功能,若出现画面抖动则通过System Settings → Desktop Effects → Advanced将"Suspend desktop effects for fullscreen windows"开启或关闭。}}<br />
<br />
=== 显卡/显存频率, 温度, 风扇转速, 超频工具 ===<br />
<br />
{{ic|$ aticonfig --od-getclocks}}可以获知当前显卡/显存频率。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}可以获知风扇转速(显卡);<br />
<br />
{{ic|$ aticonfig --odgt}}可以获知显卡温度。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}}可以设置风扇转速,其中查询索引50代表速度百分比。<br />
<br />
若超频或与之相反,则使用图形工具反而相对容易些,如需要qt的'''ATi Overclocking Utility'''。<br />
<br />
i686版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here];x86_64版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]。下载后直接运行。<br />
更复杂'''AMDOverdriveCtrl'''也能达到此目的,它的主页是[http://sourceforge.net/projects/amdovdrvctrl here]。可通过[https://aur.archlinux.org/packages.php?ID=45298 AUR]或Vi0L0's非官方软件库构建安装包。<br />
<br />
=== 双屏显示 ===<br />
<br />
==== 介绍 ====<br />
<br />
{{警告|由于安装方式的不同,并且每种安装方式需要与其相对应进行配置,因此设置双屏显示并没有特定的解决办办法。这也是你必须根据你自己的需要采用相应步骤的原因。当然可以多尝试几种方法。'''所以,在修改之前,将你的配置保存到{{ic|/etc/X11/xorg.conf}},以便遇到问题是你可以从命令行恢复。'''}}<br />
<br />
* 本节讲述如何配置"BIG Desktop"效果。主要是不同尺寸的屏幕如何通过两个不同的输出接口(DVI + HDMI)共享一个显卡。<br />
<br />
* Xinerama解决办法有些不便,尤其是不能与XrandR兼容。因为XrandR对于我们所讲的来说是必须的,所以不使用Xinerama。<br />
<br />
* 双头显示能让你有两个不同的会话(一个屏幕一个)。你可以随心所欲地干任何事情,但不能将窗口从一个屏幕移动到另一个屏幕。若只有一个屏幕,你得在Xorg会话里为Server Layout section的每个会话定义鼠标,具体方法查看:<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
ATI的图形工具非常有用,我们将尽可能地使用它。运行下面命令可启用它:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{警告|'''千万不要'''直接使用sudo。 Sudo虽能给予管理员权限,却使用用户账户的信息(如环境变量)。GNOME下使用''gksu'',KDE下使用''kdesu''。}}<br />
<br />
==== 安装 ====<br />
<br />
开始之前,确保你的硬件接插正确,电源开启,而且你得你的硬件属性(2D还是3D屏,屏幕尺寸,刷新率等)。通常情况下,在启动阶段两个显示器都会被识别却不需正确区分先后顺序,而是信赖热插拔功能。尤其在不使用({{ic|/etc/X11/xorg.conf}})配置时。<br />
<br />
首先要让你的桌面环境和X认识你的显示器。为此,要为你两个显示器生成基本的Xorg配置文件:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
或<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{注意|{{ic|overlay}}非常重要,因为它能让两个显示器拥有1种(多种)像素。<br />
{{提示|运行{{ic|aticonfig --help}}了解所有可用的命令。}}<br />
<br />
现在可编辑基本的Xorg配置文件(如:添加分辨率)。分辨率一定要正确,尤其是使用不同尺寸的显示器。分辨率在"Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
这以后就不需手动编辑{{ic|xorg.conf}},而ATI的图形化工具。重启X,确保正确支持两个显示器和识别屏幕分辨率(两个屏幕相互独立而不是完全一样。<br />
<br />
==== 设置 ====<br />
<br />
现在只需以root身份启动ATI控制中心,在显示菜单设置你需要的选项(下拉菜单中的小箭头)。设置好后重启X就大功造成(你和我都可松口气了,这段翻译有点难度,呵呵)!<br />
<br />
重启X之前,还要忘了核实{ic|xorg.conf}}。主要是核实"Display"下的"Screen"段, 在"Virtual"行里,两个显示器的分辨率应该一样。"Server Layout"段则是剩下的参数。<br />
<br />
== Troubleshooting ==<br />
<br />
If you can still boot to command-line, then the problem probably lies in {{ic|/etc/X11/xorg.conf}}<br />
<br />
You can parse the whole {{ic|/var/log/Xorg.0.log}} or, for clues:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
If you are at lost of what to do, you can always post a message in the see [http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]. When you do so, please do provide the information you get from both commands mentioned above.<br />
<br />
=== 3D Wine applications freeze ===<br />
If you use a 3D Wine application and it hangs, you have to disable TLS. To do this, either use {{ic|aticonfig}} or edit {{ic|/etc/X11/xorg.conf}}. To use {{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
Or, to edit {{ic|/etc/X11/xorg.conf}}; first open the file in an editor as root and then add {{ic|Option "UseFastTLS" "off"}} to the ''Device'' section of this file. <br />
<br />
After applying either of the solutions, restart X for it to take effect.<br />
<br />
=== Problems with video colours ===<br />
<br />
You may still use {{ic|vaapi:gl}} to avoid video flickering, but without video acceleration:<br />
<br />
* Run '''mplayer''' without {{ic|-vo vaapi}} switch.<br />
<br />
* Run '''smplayer''' remove {{ic|-vo vaapi}} from Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
<br />
Plus for '''smplayer''' you may now safely turn screenshots on.<br />
<br />
=== KWin and composite ===<br />
<br />
You may use XRender if the rendering with OpenGL is slow. However, XRender might also be slower than OpenGL depending on your card.<br />
XRender also solves artifact issues in some cases.<br />
<br />
=== Black screen with complete lockups and/or hangs after reboot or startx ===<br />
<br />
Ensure you have added the '''nomodeset''' option to the kernel options line in your bootloader (see [[#Disable kernel mode setting]]).<br />
<br />
==== Faulty ACPI hardware calls ====<br />
It is possible that fglrx doesn't cooperate well with the system's ACPI hardware calls, so it auto-disables itself and there is no screen output.<br />
<br />
If so, try to run this:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== KDM disappears after logout ===<br />
<br />
If you are running Catalyst proprietary driver and you get a console (tty1) instead of the expected KDM greeting when you log out, you must instruct KDM to restart the X server after each logout:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
Uncomment the following line under the section titled {{ic|[X-:*-Core]}}:<br />
<br />
TerminateServer=True<br />
<br />
KDM should now appear when you log out of KDE.<br />
<br />
=== Direct Rendering does not work ===<br />
<br />
This problem may occur when using the proprietary '''Catalyst''' driver.<br />
<br />
{{Warning|This error would also appear if you have not '''rebooted''' your system after the installation or upgrade of catalyst. The system needs to load the fglrx.ko module in order to make the driver work.}}<br />
<br />
If you have problem with direct rendering, run:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
at the command prompt. At the very start of the output, it'll usually give you a nice error message saying why you do not have direct rendering.<br />
<br />
Common errors and their solutions, are:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* Ensure that you are loading the correct agp modules for your AGP chipset before you load the fglrx kernel module. To determine which agp modules you'll need, run {{ic|hwdetect --show-agp}}, then ensure that all modules listed from that command are in the {{ic|1=MODULES=}} array in rc.conf, '''before''' fglrx if using SysVinit, otherwise open your {{ic|fglrx.conf}} file in {{ic|/etc/modules-load.d}} and add the agp module on a line '''before''' the fglrx line.<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* Something has not been installed correctly. If the paths in the error message are {{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}}, then ensure you've logged completely out of your system, then back in. If you're using a graphical login manager (gdm, kdm, xdm), ensure that {{ic|/etc/profile}} is sourced every time you log in. This is usually accomplished by adding {{ic|source /etc/profile}} into {{ic|~/.xsession}} or {{ic|~/.xinitrc}}, but this may vary between login managers.<br />
<br />
* If the paths above in your error message ''are'' {{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}}, then something has not been correctly installed. Try reinstalling the {{ic|catalyst}} package.<br />
<br />
Errors such as:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
could be caused by having multiple versions of {{ic|libGL.so}} on your system. Run:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
This should return the following output:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
These are the only three libGL.so files you should have on your system. If you have any more (e.g. {{ic|/usr/X11R6/lib/libGL.so.1.2}}), then remove them. This should fix your problem.<br />
<br />
You might not get any error to indicate that this is a problem. If you are using X11R7, make sure you do '''not''' have these files on your system:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== Hibernate/Sleep Issues ===<br />
<br />
==== Video fails to resume from suspend2ram ====<br />
<br />
ATI's proprietary Catalyst driver cannot resume from suspend if the framebuffer is enabled. To disable the framebuffer, add '''vga=0''' to your kernel options in for example, Grub Legacy's {{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
To see where you need to add this with other bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== System Freezes/Hard locks ===<br />
<br />
* The {{ic|radeonfb}} framebuffer drivers have been known in the past to cause problems of this nature. If your kernel has radeonfb support compiled in, you may want to try a different kernel and see if this helps.<br />
<br />
* If you experience system freezes when exiting your DE (shut down, suspend, switching to tty etc.) you probably forgot to deactivate KMS. (See [[#Disable kernel mode setting]])<br />
<br />
=== Hardware Conflicts ===<br />
<br />
Radeon cards used in conjunction with some versions of the nForce3 chipset (e.g. nForce 3 250Gb) won't have 3D acceleration. Currently the cause of this issue is unknown, but some sources indicate that it may be possible to get acceleration with this combination of hardware by booting Windows with the drivers from nVIDIA and then rebooting the system. This can be verified by issuing in a root console the following command:<br />
<br />
$ dmesg | grep agp<br />
<br />
If you get something similar to this (using an nForce3-based system):<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
and also if issuing this command...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...gets something similar to:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
Then you have this bug.<br />
<br />
Some sources indicate that in some situations, downgrading the motherboard BIOS may help, but this cannot be verified in all cases. Also, '''a bad BIOS downgrade can render your hardware useless, so beware.'''<br />
<br />
See [http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport] for more information and a potential fix.<br />
<br />
=== Temporary hangs when playing video ===<br />
<br />
This problem may occur when using the proprietary Catalyst.<br />
<br />
If you experience temporary hangs lasting from a few seconds to several minutes occuring randomly during playback with mplayer, check /var/log/messages.log for output like:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
Adding the nopat kernel option to your kernel options in your bootloader and rebooting fixed the problem at least for me. To see how to do this for different bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
If when running<br />
<br />
# sudo aticonfig --initial<br />
<br />
you get:<br />
<br />
aticonfig: No supported adaptaters detected<br />
<br />
But you do have an AMD GPU (or APU), it may still be possible to get Catalyst working by manually setting the device in your your {{ic|etc/X11/xorg.conf}} file.<br />
<br />
You can do so by setting the device section of {{ic|/etc/X11/xorg.conf}} to:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
Where ''****'' should be replaced with your device's marketing number (e.g. 6870 for the HD 6870 and 6310 for the E-350 APU).<br />
<br />
Xorg will start and it is possible to use {{ic|amdcccle}} instead of {{ic|aticonfig}}. There will be an "AMD Unsupported hardware" watermark.<br />
<br />
You can remove this watermark using the following script:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
<br />
and rebooting.<br />
<br />
=== WebGL support in Chromium ===<br />
<br />
Google has blacklisted Linux's Catalyst driver from supporting webGL in their Chromium/Chrome browsers.<br />
<br />
You can turn webGL on by editing {{ic|/usr/share/applications/chromium.desktop}} file and adding {{ic|--ignore-gpu-blacklist}} flag into the '''Exec''' line so it looks like this:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
You can also run chromium from console with the same {{ic|--ignore-gpu-blacklist}} flag:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{Warning|Catalyst does not support the GL_ARB_robustness extension, so it is possible that a malicious site could use WebGL to perform a DoS attack on your graphic card. For more info, read [http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== Laggs/freezes when watching flash videos via Adobe's flashplugin ===<br />
<br />
Edit {{ic|/etc/adobe/mms.cfg}} and make it look like this:<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== Laggs/slow windows movement in GNOME3 ===<br />
<br />
You can try this solution out, it's working for many people.<br />
<br />
Add this line into {{ic|~/.profile}} or into {{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
Restart X server or reboot your system.<br />
<br />
=== Not using fullscreen in the 1920x1080 resolution ===<br />
<br />
The ATI has scaling by default add this to your xorg.conf<br />
<br />
Option "DPMS" "true"<br />
<br />
On the Monitor section, as full example would look like this<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=229994AMD Catalyst (简体中文)2012-10-20T14:29:38Z<p>Micy1985: </p>
<hr />
<div>[[Category:Graphics (简体中文)]]<br />
[[Category:X Server (简体中文)]]<br />
{{TranslationStatus (简体中文)|AMD_Catalyst|2012-10-19|229195}}<br />
"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs完全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx 显卡驱动分开开发,因此在你选择何种安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用普通Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的普通Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上面对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败和丢失Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make脚本, 最好换一名称保存。否则将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
通过访问{{ic|/etc/ati/amdpcsdb}}文件它几乎能配置显卡的各项参数。了解完整的配置选项{{ic|aticonfig}}可运行:<br />
<br />
# aticonfig --help | less<br />
<br />
{{警告|在将各项配置参数提交到/etc/X11/xorg.conf之前使用--output选项,/etc/X11/xorg.conf.d中的所有内容都会被覆盖。}}<br />
<br />
{{注意|如果坚持使用xorg.conf.d下的新配置文件:为了让Device section与{{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}相匹配,在{{ic|aticonfig}}后追加''--output''。但这有一个缺点,很多依赖xorg.conf的{{ic|aticonfig}}选项都无法使用。}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,但不同Xorg版本的默认参数可能会有所不同,最好明确指定一些参数.<br />
<br />
给一个示例配置 (注意) '''仅供参考'''. 标'#'必须有,标'##'很可能会用到:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{注意|一旦升级Catalyst就要通过后面的方法删除'''amdpcsdb'''文件: 关闭X,删除{{ic|/etc/ati/amdpcsdb}},启动X然后运行{{ic|amdcccle}} -否则amdcccle将会显示错误的Catalyst版本号}}<br />
<br />
''更多信息参考[http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== 启动时加载模块 ====<br />
不同的初始化系统(SysVinit和systemd)的设置方式不一样,但无论哪一种,都得在{{ic|/etc/modprobe.d/modprobe.conf}}禁用''radeon''。具体可参见[[Modprobe|blacklisting in this article]]. '''通过Arch官方安装Catalyst则无需此步骤,安装包会自动处理'''。<br />
<br />
{{注意|强烈推荐使用systemd进行系统初始化,因为最新Arch安装镜像已默认使用systemd,通过rc.conf设置系统启动服务迟早会遭淘汰}}。<br />
<br />
===== 在使用systemd上 =====<br />
* 删除{{ic|/etc/modules-load.d/}}下任何名称包含{{ic|radeon}}的文件若该文件中含有其他多个模块,则只删除radeon)。<br />
* 在{{ic|/etc/modules-load.d/}}的现有文件中添加{{ic|fglrx}}或新建含有该行的文件。<br />
<br />
===== 在使用SysVinit上 =====<br />
编辑{{ic|/etc/rc.conf}}:<br />
* 自MODULES中删除{{ic|radeon}}。<br />
* 在MODULES中添加 {{ic|fglrx}}。<br />
<br />
{{注意|若使用AGP接口的显卡还需添加''agp''。}}<br />
<br />
==== 禁用KMS ====<br />
<br />
由于Catalyst根本不使用[[KMS]],得将其禁用。否则,当系统切换至tyy或在桌面环境下关机时,系统可能会冻结。<br />
<br />
若使用[[GRUB Legacy|GRUB Legacy]],在{{ic|menu.lst}}添加{{ic|nomodeset}}给内核参数,如:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
若使用[[GRUB2|GRUB 2]],在{{ic|/etc/default/grub}}添加''nomodeset''给内核参数,如:<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
然后以root身份运行;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
若使用[[Syslinux|Syslinux]],在{{ic|/boot/syslinux/syslinux.cfg}}添加''nomodeset''到{{ic|APPEND}}行,如:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== 检查安装是否成功 ====<br />
<br />
重启电脑并登录, 运行下列命令可查看fglrx是否正确运行:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
若两者均有输出, 安装成功。进行桌面环境并运行以下命令检查直接渲染模式是否启用:<br />
<br />
$ glxinfo | grep direct<br />
<br />
若显示"direct rendering: yes",恭喜你,到位了! 若无glxinfo命令,安装{{Pkg|mesa-demos}} package。<br />
<br />
{{警告|最近几版Xorg,库函数路径变了,因此即使安装{{ic|libGL.so}}也不一定能正确人加载。请检查GL是否工作,可阅读"Troubleshooting"段落}}<br />
<br />
若有问题,参阅[[#Troubleshooting]].<br />
<br />
=== 自我编译内核 ===<br />
<br />
在手动编译的内核上,你必须构建你自己{{ic|catalyst-$kernel}}包.<br />
<br />
如果你讨厌打包或毫无经验,可先阅读[[ABS]]。<br />
<br />
#从[[AUR|Catalyst]]上获取{{ic|PKGBUILD}} 和 {{ic|catalyst.install}}文件。<br />
# 编辑PKGBUILD. 两个地方需要修改:<br />
## 将{{ic|1=pkgname=catalyst}} 修改为 {{ic|1=pkgname=catalyst-$kernel_name}},$kernel_name可以随意取(如:custom, mm)。<br />
## 将{{ic|linux}}的依赖修改为{{ic|$kernel_name}}。<br />
# 构建并安装软件包;运行{{ic|makepkg -i}} 和 {{ic|makepkg}},接着运行 {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{注意|如果在安装有多内核的系统上,你必须为所有内核安装Catalyst-utils包。这不会引起冲突}}<br />
<br />
{{注意|Catalyst-generator能为你自动构建catalyst-{kernver},因此这些步骤根本就可省略。 请参考[[#Tools| Tools section]].}}<br />
<br />
== Xorg软件库 ==<br />
Catalyst由于其缓慢的更新而被人大为诟病。因升级Xorg而造成两者不兼容是稀松平常的事。也就意味着Catalyst用户要么不升级Xorg要么使用一个只包含Xorg包的回溯软件库,该库中不提供更新版Xorg以确保兼容性。 Vi0L0提供好几个这样的库. <br />
<br />
若想让pacman更新其他软件而不更新Xorg,查看[[pacman|skip package from being upgraded]]。不更新的软件是:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
若要使用这类软件库,在{{ic|/etc/pacman.conf}}的所有库(甚至Catalyst)前面添加下面中的一个 。<br />
<br />
===[xorg112]===<br />
截止目前,当前Catalyst 不支持1.13。<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
低于 12.6的Catalyst不支持xorg-server 1.12。<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== 工具 ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook]是一个针对[[mkinitcpio|mkinitcpio]]的钩子。'''跟 catalyst-dkms一样''',每当内核更新时,它会自动升级fglrx模块。在更新fglrx之前,它会尝试更新{{Pkg|linux-headers}}。<br />
<br />
当更新内核时,钩子会调用''catalyst_build_module''命令来更新fglrx模块以使两者相匹配。此外,它还可调用''catalyst_build_module remove''来删除不需要的旧flgrx模块<br />
<br />
{{注意|若使用此功能,'''一定要''' 关注的内核的安装提示,Catalyst-hook会显示是否一切顺利。}}<br />
<br />
{{注意|若是'''自编译内核'''且使用'''非标准的mkinitcpio配置文件'''(如:linux-zen使用/etc/mkinitcpio-zen.conf),那必须在你非标准的配置文件中添加'''fglrx'''至 HOOKS行,以便当内核更新时能自动重新编译。}}<br />
<br />
{{注意|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator]包能构建并安装fglrx模块,该模块与pacman兼容 的catalyst-${内核版本}相适应。与Catalyst-hook的区别是必须手动使用此命令,而Catalyst-hook则不需。<br />
<br />
通过[[makepkg]],它能构建catalyst-${内核版本}二进制包并用[[pacman]]安装。<br />
<br />
非特权用户使用{{ic|catalyst_build_module}}来构建并安装catalyst-${内核版本}包。安装时会提示输入root密码。<br />
<br />
简单说一下如何使用此包:<br />
<br />
# root用户: 使用{{ic|catalyst_build_module remove}}。此举会删除无用的{{ic|catalyst-{kernver} }}包。<br />
# 非特权用户: 使用{{ic|catalyst_build_module ${内核版本}}}, ${内核版本}是指升级过后的内核版本。也可通过{{ic|catalyst_build_module all}}为所有安装的内核构建catalyst-${内核版本}。<br />
# 若要删除{{ic|catalyst-generator}}, 在使用{{ic|catalyst_build_module remove_all}}命令删除catalyst-generator之前最好切换到root用户,'''这会删除得极为彻底。'''<br />
<br />
当删除Catalyst-generator时,Catalyst-generator不能自动删除那些catalyst-{内核版本}包,这是因为pacman不允许有一个以上的实例同时运行。若在使用{{ic|pacman -R catalyst-generator}}前忘记运行{{ic|catalyst_build_module remove_all}}, catalyst-generator将会询问删除catalyst-generator自身后要删除哪个catalyst-{内核版本}包。<br />
<br />
{{注意|在构建catalyst-{内核版本}时,若看到下列警告,乃正常情况,不必莫名惊诧:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension}}<br />
<br />
=== Catalyst-daemon ===<br />
{{警告|由于systemd与普通initscript daemons不兼容,所以systemd用户不能使用此工具。}}<br />
<br />
每次启动时,[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon]守护进程会检查内核是否更新过。若更新过,它会重建fglrx模块;若没有,则加载前次构建的模块。在2.4 GHz CPU电脑上,整个过程只需20ms。<br />
<br />
Catalyst-daemon的自动重新编译功能是通过一个叫''autofglrx''的初始化脚本实现的。Autofglrx的检查方式为比较启动内核(由{{ic|uname -v}}提供)和使用当前fglrx模块内核的构建时间。之所以能这样比较,是因为编译时,它将{{ic|uname -v}}的信息添加到fglrx模块描述里。<br />
<br />
重构过程中,autofglrx会调用''catalyst_build_module''构建模块,调用''catalyst_build_module remove''删除老旧无用的fglrx模块。运行后,它并不会一直驻留在系统内存。<br />
<br />
{{注意|安装autofglrx后,在{{ic|/etc/rc.conf}}将{{ic|autofglrx}}添加到{{ic|DAEMONS}}。要将它放在DM(显示管理器)之前(若是通过此配置运行DM)并且'''不要'''在后台运行(不能在其前添加@符号)。}}<br />
<br />
{{注意|若使用'''你自己的编译标识'''导致此工具有问题 - 请将你的标识写入/usr/bin/catalyst_build_module文件。}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
在'''Catalyst 11.1'''中,很可能是添加了三重缓存和v-sync,''Tear Free Desktop''减少了2D,3D视频应用的屏幕撕裂毛病。但这需要额外的GPU处理。<br />
<br />
要启用'Tear Free Desktop',运行{{ic|amdcccle}},然后设置{{ic|Display Options}} → {{ic|Tear Free}}。<br />
<br />
或以root身份运行:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
若禁用,使用{{ic|amdcccle}}或以root身份运行:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== 视频加速 ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)'''是为基于Linux/UNIX操作系统提供利用GPU加速视频处理的一个开源函数库和应用程序接口规范。启用视频加速后,通过各种入口(VLD, IDCT, Motion Compensation, deblocking)它能加速常用编码标准(MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3)视频文件的解码过程(俗称硬解)。<br />
<br />
VA-API在{{AUR|xvba-video}}上有一个私有后端(2009年10月), 它允许使用VA-API的程序通过[http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)]函数库来充分利用拥有uvd2(第二代通用视频解码单元)芯片组的视频加速功能.<br />
<br />
xvba-video和支持XvBA的软件仍还在开发,'''但在大多数情况下它都能很好的工作'''. 通过AUR构建或直接通过[community]安装{{AUR|xvba-video}}包,并安装{{Pkg|mplayer-vaapi}} and {{Pkg|libva}}。然后将视频播放器的视频输出设置为vaapi:gl:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
此选项可添加到mplayer的配置文件,参考[[MPlayer]]。<br />
<br />
针对 '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{注意|如果启用了Tear Free Desktop,则按下列步骤:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
若视频输出中没有'''vaapi:gl'''选项 - 可使用:<br />
'''vaapi''', '''vaapi:gl2''' or 简单的 '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
针对 '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
它有助于在'''amdcccle'''中启用v-sync:<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{注意|若使用'''Compiz/KWin''',消除'''画面抖动'''的唯一方法就是切换至'''全屏'''并且 '''关闭Redirected Fullscreen'''。<br />
<br />
使用'''compiz''',需在ccsm的General Options中设置'''Redirected Direct Rendering'''。若此举无效,则将其关闭。'''KWin'''默认关闭此功能,若出现画面抖动则通过System Settings → Desktop Effects → Advanced将"Suspend desktop effects for fullscreen windows"开启或关闭。}}<br />
<br />
=== 显卡/显存频率, 温度, 风扇转速, 超频工具 ===<br />
<br />
{{ic|$ aticonfig --od-getclocks}}可以获知当前显卡/显存频率。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}可以获知风扇转速(显卡);<br />
<br />
{{ic|$ aticonfig --odgt}}可以获知显卡温度。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}}可以设置风扇转速,其中查询索引50代表速度百分比。<br />
<br />
若超频或与之相反,则使用图形工具反而相对容易些,如需要qt的'''ATi Overclocking Utility'''。<br />
<br />
i686版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here];x86_64版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]。下载后直接运行。<br />
更复杂'''AMDOverdriveCtrl'''也能达到此目的,它的主页是[http://sourceforge.net/projects/amdovdrvctrl here]。可通过[https://aur.archlinux.org/packages.php?ID=45298 AUR]或Vi0L0's非官方软件库构建安装包。<br />
<br />
=== 双屏显示 ===<br />
<br />
==== 介绍 ====<br />
<br />
{{警告|由于安装方式的不同,并且每种安装方式需要与其相对应进行配置,因此设置双屏显示并没有特定的解决办办法。这也是你必须根据你自己的需要采用相应步骤的原因。当然可以多尝试几种方法。'''所以,在修改之前,将你的配置保存到{{ic|/etc/X11/xorg.conf}},以便遇到问题是你可以从命令行恢复。'''}}<br />
<br />
* 本节讲述如何配置"BIG Desktop"效果。主要是不同尺寸的屏幕如何通过两个不同的输出接口(DVI + HDMI)共享一个显卡。<br />
<br />
* Xinerama解决办法有些不便,尤其是不能与XrandR兼容。因为XrandR对于我们所讲的来说是必须的,所以不使用Xinerama。<br />
<br />
* 双头显示能让你有两个不同的会话(一个屏幕一个)。你可以随心所欲地干任何事情,但不能将窗口从一个屏幕移动到另一个屏幕。若只有一个屏幕,你得在Xorg会话里为Server Layout section的每个会话定义鼠标,具体方法查看:<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
ATI的图形工具非常有用,我们将尽可能地使用它。运行下面命令可启用它:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{警告|'''千万还要'''直接使用sudo。 Sudo虽能给予管理员权限,却使用用户账户的信息(如环境变量)。GNOME下使用''gksu'',KDE下使用''kdesu''。}}<br />
<br />
==== 安装 ====<br />
<br />
开始之前,确保你的硬件接插正确,电源开启,而且你得你的硬件属性(2D还是3D屏,屏幕尺寸,刷新率等)。通常情况下,在启动阶段两个显示器都会被识别却不需正确区分先后顺序,而是信赖热插拔功能。尤其在不使用({{ic|/etc/X11/xorg.conf}})配置时。<br />
<br />
首先要让你的桌面环境和X认识你的显示器。为此,要为你两个显示器生成基本的Xorg配置文件:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
或<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{注意|{{ic|overlay}}非常重要,因为它能让两个显示器拥有1种(多种)像素。<br />
{{提示|运行{{ic|aticonfig --help}}了解所有可用的命令。}}<br />
<br />
现在可编辑基本的Xorg配置文件(如:添加分辨率)。分辨率一定要正确,尤其是使用不同尺寸的显示器。分辨率在"Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
这以后就不需手动编辑{{ic|xorg.conf}},而ATI的图形化工具。重启X,确保正确支持两个显示器和识别屏幕分辨率(两个屏幕相互独立而不是完全一样。<br />
<br />
==== 设置 ====<br />
<br />
现在只需以root身份启动ATI控制中心,在显示菜单设置你需要的选项(下拉菜单中的小箭头)。设置好后重启X就大功造成(你和我都可松口气了,这段翻译有点难度,呵呵)!<br />
<br />
重启X之前,还要忘了核实{ic|xorg.conf}}。主要是核实"Display"下的"Screen"段, 在"Virtual"行里,两个显示器的分辨率应该一样。"Server Layout"段则是剩下的参数。<br />
<br />
== Troubleshooting ==<br />
<br />
If you can still boot to command-line, then the problem probably lies in {{ic|/etc/X11/xorg.conf}}<br />
<br />
You can parse the whole {{ic|/var/log/Xorg.0.log}} or, for clues:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
If you are at lost of what to do, you can always post a message in the see [http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]. When you do so, please do provide the information you get from both commands mentioned above.<br />
<br />
=== 3D Wine applications freeze ===<br />
If you use a 3D Wine application and it hangs, you have to disable TLS. To do this, either use {{ic|aticonfig}} or edit {{ic|/etc/X11/xorg.conf}}. To use {{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
Or, to edit {{ic|/etc/X11/xorg.conf}}; first open the file in an editor as root and then add {{ic|Option "UseFastTLS" "off"}} to the ''Device'' section of this file. <br />
<br />
After applying either of the solutions, restart X for it to take effect.<br />
<br />
=== Problems with video colours ===<br />
<br />
You may still use {{ic|vaapi:gl}} to avoid video flickering, but without video acceleration:<br />
<br />
* Run '''mplayer''' without {{ic|-vo vaapi}} switch.<br />
<br />
* Run '''smplayer''' remove {{ic|-vo vaapi}} from Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
<br />
Plus for '''smplayer''' you may now safely turn screenshots on.<br />
<br />
=== KWin and composite ===<br />
<br />
You may use XRender if the rendering with OpenGL is slow. However, XRender might also be slower than OpenGL depending on your card.<br />
XRender also solves artifact issues in some cases.<br />
<br />
=== Black screen with complete lockups and/or hangs after reboot or startx ===<br />
<br />
Ensure you have added the '''nomodeset''' option to the kernel options line in your bootloader (see [[#Disable kernel mode setting]]).<br />
<br />
==== Faulty ACPI hardware calls ====<br />
It is possible that fglrx doesn't cooperate well with the system's ACPI hardware calls, so it auto-disables itself and there is no screen output.<br />
<br />
If so, try to run this:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== KDM disappears after logout ===<br />
<br />
If you are running Catalyst proprietary driver and you get a console (tty1) instead of the expected KDM greeting when you log out, you must instruct KDM to restart the X server after each logout:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
Uncomment the following line under the section titled {{ic|[X-:*-Core]}}:<br />
<br />
TerminateServer=True<br />
<br />
KDM should now appear when you log out of KDE.<br />
<br />
=== Direct Rendering does not work ===<br />
<br />
This problem may occur when using the proprietary '''Catalyst''' driver.<br />
<br />
{{Warning|This error would also appear if you have not '''rebooted''' your system after the installation or upgrade of catalyst. The system needs to load the fglrx.ko module in order to make the driver work.}}<br />
<br />
If you have problem with direct rendering, run:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
at the command prompt. At the very start of the output, it'll usually give you a nice error message saying why you do not have direct rendering.<br />
<br />
Common errors and their solutions, are:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* Ensure that you are loading the correct agp modules for your AGP chipset before you load the fglrx kernel module. To determine which agp modules you'll need, run {{ic|hwdetect --show-agp}}, then ensure that all modules listed from that command are in the {{ic|1=MODULES=}} array in rc.conf, '''before''' fglrx if using SysVinit, otherwise open your {{ic|fglrx.conf}} file in {{ic|/etc/modules-load.d}} and add the agp module on a line '''before''' the fglrx line.<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* Something has not been installed correctly. If the paths in the error message are {{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}}, then ensure you've logged completely out of your system, then back in. If you're using a graphical login manager (gdm, kdm, xdm), ensure that {{ic|/etc/profile}} is sourced every time you log in. This is usually accomplished by adding {{ic|source /etc/profile}} into {{ic|~/.xsession}} or {{ic|~/.xinitrc}}, but this may vary between login managers.<br />
<br />
* If the paths above in your error message ''are'' {{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}}, then something has not been correctly installed. Try reinstalling the {{ic|catalyst}} package.<br />
<br />
Errors such as:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
could be caused by having multiple versions of {{ic|libGL.so}} on your system. Run:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
This should return the following output:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
These are the only three libGL.so files you should have on your system. If you have any more (e.g. {{ic|/usr/X11R6/lib/libGL.so.1.2}}), then remove them. This should fix your problem.<br />
<br />
You might not get any error to indicate that this is a problem. If you are using X11R7, make sure you do '''not''' have these files on your system:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== Hibernate/Sleep Issues ===<br />
<br />
==== Video fails to resume from suspend2ram ====<br />
<br />
ATI's proprietary Catalyst driver cannot resume from suspend if the framebuffer is enabled. To disable the framebuffer, add '''vga=0''' to your kernel options in for example, Grub Legacy's {{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
To see where you need to add this with other bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== System Freezes/Hard locks ===<br />
<br />
* The {{ic|radeonfb}} framebuffer drivers have been known in the past to cause problems of this nature. If your kernel has radeonfb support compiled in, you may want to try a different kernel and see if this helps.<br />
<br />
* If you experience system freezes when exiting your DE (shut down, suspend, switching to tty etc.) you probably forgot to deactivate KMS. (See [[#Disable kernel mode setting]])<br />
<br />
=== Hardware Conflicts ===<br />
<br />
Radeon cards used in conjunction with some versions of the nForce3 chipset (e.g. nForce 3 250Gb) won't have 3D acceleration. Currently the cause of this issue is unknown, but some sources indicate that it may be possible to get acceleration with this combination of hardware by booting Windows with the drivers from nVIDIA and then rebooting the system. This can be verified by issuing in a root console the following command:<br />
<br />
$ dmesg | grep agp<br />
<br />
If you get something similar to this (using an nForce3-based system):<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
and also if issuing this command...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...gets something similar to:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
Then you have this bug.<br />
<br />
Some sources indicate that in some situations, downgrading the motherboard BIOS may help, but this cannot be verified in all cases. Also, '''a bad BIOS downgrade can render your hardware useless, so beware.'''<br />
<br />
See [http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport] for more information and a potential fix.<br />
<br />
=== Temporary hangs when playing video ===<br />
<br />
This problem may occur when using the proprietary Catalyst.<br />
<br />
If you experience temporary hangs lasting from a few seconds to several minutes occuring randomly during playback with mplayer, check /var/log/messages.log for output like:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
Adding the nopat kernel option to your kernel options in your bootloader and rebooting fixed the problem at least for me. To see how to do this for different bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
If when running<br />
<br />
# sudo aticonfig --initial<br />
<br />
you get:<br />
<br />
aticonfig: No supported adaptaters detected<br />
<br />
But you do have an AMD GPU (or APU), it may still be possible to get Catalyst working by manually setting the device in your your {{ic|etc/X11/xorg.conf}} file.<br />
<br />
You can do so by setting the device section of {{ic|/etc/X11/xorg.conf}} to:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
Where ''****'' should be replaced with your device's marketing number (e.g. 6870 for the HD 6870 and 6310 for the E-350 APU).<br />
<br />
Xorg will start and it is possible to use {{ic|amdcccle}} instead of {{ic|aticonfig}}. There will be an "AMD Unsupported hardware" watermark.<br />
<br />
You can remove this watermark using the following script:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
<br />
and rebooting.<br />
<br />
=== WebGL support in Chromium ===<br />
<br />
Google has blacklisted Linux's Catalyst driver from supporting webGL in their Chromium/Chrome browsers.<br />
<br />
You can turn webGL on by editing {{ic|/usr/share/applications/chromium.desktop}} file and adding {{ic|--ignore-gpu-blacklist}} flag into the '''Exec''' line so it looks like this:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
You can also run chromium from console with the same {{ic|--ignore-gpu-blacklist}} flag:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{Warning|Catalyst does not support the GL_ARB_robustness extension, so it is possible that a malicious site could use WebGL to perform a DoS attack on your graphic card. For more info, read [http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== Laggs/freezes when watching flash videos via Adobe's flashplugin ===<br />
<br />
Edit {{ic|/etc/adobe/mms.cfg}} and make it look like this:<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== Laggs/slow windows movement in GNOME3 ===<br />
<br />
You can try this solution out, it's working for many people.<br />
<br />
Add this line into {{ic|~/.profile}} or into {{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
Restart X server or reboot your system.<br />
<br />
=== Not using fullscreen in the 1920x1080 resolution ===<br />
<br />
The ATI has scaling by default add this to your xorg.conf<br />
<br />
Option "DPMS" "true"<br />
<br />
On the Monitor section, as full example would look like this<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=229990AMD Catalyst (简体中文)2012-10-20T13:56:37Z<p>Micy1985: </p>
<hr />
<div>[[Category:Graphics (简体中文)]]<br />
[[Category:X Server (简体中文)]]<br />
{{TranslationStatus (简体中文)|AMD_Catalyst|2012-10-19|229195}}<br />
"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs完全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx 显卡驱动分开开发,因此在你选择何种安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用普通Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的普通Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上面对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败和丢失Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make脚本, 最好换一名称保存。否则将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
通过访问{{ic|/etc/ati/amdpcsdb}}文件它几乎能配置显卡的各项参数。了解完整的配置选项{{ic|aticonfig}}可运行:<br />
<br />
# aticonfig --help | less<br />
<br />
{{警告|在将各项配置参数提交到/etc/X11/xorg.conf之前使用--output选项,/etc/X11/xorg.conf.d中的所有内容都会被覆盖。}}<br />
<br />
{{注意|如果坚持使用xorg.conf.d下的新配置文件:为了让Device section与{{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}相匹配,在{{ic|aticonfig}}后追加''--output''。但这有一个缺点,很多依赖xorg.conf的{{ic|aticonfig}}选项都无法使用。}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,但不同Xorg版本的默认参数可能会有所不同,最好明确指定一些参数.<br />
<br />
给一个示例配置 (注意) '''仅供参考'''. 标'#'必须有,标'##'很可能会用到:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{注意|一旦升级Catalyst就要通过后面的方法删除'''amdpcsdb'''文件: 关闭X,删除{{ic|/etc/ati/amdpcsdb}},启动X然后运行{{ic|amdcccle}} -否则amdcccle将会显示错误的Catalyst版本号}}<br />
<br />
''更多信息参考[http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== 启动时加载模块 ====<br />
不同的初始化系统(SysVinit和systemd)的设置方式不一样,但无论哪一种,都得在{{ic|/etc/modprobe.d/modprobe.conf}}禁用''radeon''。具体可参见[[Modprobe|blacklisting in this article]]. '''通过Arch官方安装Catalyst则无需此步骤,安装包会自动处理'''。<br />
<br />
{{注意|强烈推荐使用systemd进行系统初始化,因为最新Arch安装镜像已默认使用systemd,通过rc.conf设置系统启动服务迟早会遭淘汰}}。<br />
<br />
===== 在使用systemd上 =====<br />
* 删除{{ic|/etc/modules-load.d/}}下任何名称包含{{ic|radeon}}的文件若该文件中含有其他多个模块,则只删除radeon)。<br />
* 在{{ic|/etc/modules-load.d/}}的现有文件中添加{{ic|fglrx}}或新建含有该行的文件。<br />
<br />
===== 在使用SysVinit上 =====<br />
编辑{{ic|/etc/rc.conf}}:<br />
* 自MODULES中删除{{ic|radeon}}。<br />
* 在MODULES中添加 {{ic|fglrx}}。<br />
<br />
{{注意|若使用AGP接口的显卡还需添加''agp''。}}<br />
<br />
==== 禁用KMS ====<br />
<br />
由于Catalyst根本不使用[[KMS]],得将其禁用。否则,当系统切换至tyy或在桌面环境下关机时,系统可能会冻结。<br />
<br />
若使用[[GRUB Legacy|GRUB Legacy]],在{{ic|menu.lst}}添加{{ic|nomodeset}}给内核参数,如:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
若使用[[GRUB2|GRUB 2]],在{{ic|/etc/default/grub}}添加''nomodeset''给内核参数,如:<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
然后以root身份运行;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
若使用[[Syslinux|Syslinux]],在{{ic|/boot/syslinux/syslinux.cfg}}添加''nomodeset''到{{ic|APPEND}}行,如:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== 检查安装是否成功 ====<br />
<br />
重启电脑并登录, 运行下列命令可查看fglrx是否正确运行:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
若两者均有输出, 安装成功。进行桌面环境并运行以下命令检查直接渲染模式是否启用:<br />
<br />
$ glxinfo | grep direct<br />
<br />
若显示"direct rendering: yes",恭喜你,到位了! 若无glxinfo命令,安装{{Pkg|mesa-demos}} package。<br />
<br />
{{警告|最近几版Xorg,库函数路径变了,因此即使安装{{ic|libGL.so}}也不一定能正确人加载。请检查GL是否工作,可阅读"Troubleshooting"段落}}<br />
<br />
若有问题,参阅[[#Troubleshooting]].<br />
<br />
=== 自我编译内核 ===<br />
<br />
在手动编译的内核上,你必须构建你自己{{ic|catalyst-$kernel}}包.<br />
<br />
如果你讨厌打包或毫无经验,可先阅读[[ABS]]。<br />
<br />
#从[[AUR|Catalyst]]上获取{{ic|PKGBUILD}} 和 {{ic|catalyst.install}}文件。<br />
# 编辑PKGBUILD. 两个地方需要修改:<br />
## 将{{ic|1=pkgname=catalyst}} 修改为 {{ic|1=pkgname=catalyst-$kernel_name}},$kernel_name可以随意取(如:custom, mm)。<br />
## 将{{ic|linux}}的依赖修改为{{ic|$kernel_name}}。<br />
# 构建并安装软件包;运行{{ic|makepkg -i}} 和 {{ic|makepkg}},接着运行 {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{注意|如果在安装有多内核的系统上,你必须为所有内核安装Catalyst-utils包。这不会引起冲突}}<br />
<br />
{{注意|Catalyst-generator能为你自动构建catalyst-{kernver},因此这些步骤根本就可省略。 请参考[[#Tools| Tools section]].}}<br />
<br />
== Xorg软件库 ==<br />
Catalyst由于其缓慢的更新而被人大为诟病。因升级Xorg而造成两者不兼容是稀松平常的事。也就意味着Catalyst用户要么不升级Xorg要么使用一个只包含Xorg包的回溯软件库,该库中不提供更新版Xorg以确保兼容性。 Vi0L0提供好几个这样的库. <br />
<br />
若想让pacman更新其他软件而不更新Xorg,查看[[pacman|skip package from being upgraded]]。不更新的软件是:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
若要使用这类软件库,在{{ic|/etc/pacman.conf}}的所有库(甚至Catalyst)前面添加下面中的一个 。<br />
<br />
===[xorg112]===<br />
截止目前,当前Catalyst 不支持1.13。<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
低于 12.6的Catalyst不支持xorg-server 1.12。<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== 工具 ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook]是一个针对[[mkinitcpio|mkinitcpio]]的钩子。'''跟 catalyst-dkms一样''',每当内核更新时,它会自动升级fglrx模块。在更新fglrx之前,它会尝试更新{{Pkg|linux-headers}}。<br />
<br />
当更新内核时,钩子会调用''catalyst_build_module''命令来更新fglrx模块以使两者相匹配。此外,它还可调用''catalyst_build_module remove''来删除不需要的旧flgrx模块<br />
<br />
{{注意|若使用此功能,'''一定要''' 关注的内核的安装提示,Catalyst-hook会显示是否一切顺利。}}<br />
<br />
{{注意|若是'''自编译内核'''且使用'''非标准的mkinitcpio配置文件'''(如:linux-zen使用/etc/mkinitcpio-zen.conf),那必须在你非标准的配置文件中添加'''fglrx'''至 HOOKS行,以便当内核更新时能自动重新编译。}}<br />
<br />
{{注意|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator]包能构建并安装fglrx模块,该模块与pacman兼容 的catalyst-${内核版本}相适应。与Catalyst-hook的区别是必须手动使用此命令,而Catalyst-hook则不需。<br />
<br />
通过[[makepkg]],它能构建catalyst-${内核版本}二进制包并用[[pacman]]安装。<br />
<br />
非特权用户使用{{ic|catalyst_build_module}}来构建并安装catalyst-${内核版本}包。安装时会提示输入root密码。<br />
<br />
简单说一下如何使用此包:<br />
<br />
# root用户: 使用{{ic|catalyst_build_module remove}}。此举会删除无用的{{ic|catalyst-{kernver} }}包。<br />
# 非特权用户: 使用{{ic|catalyst_build_module ${内核版本}}}, ${内核版本}是指升级过后的内核版本。也可通过{{ic|catalyst_build_module all}}为所有安装的内核构建catalyst-${内核版本}。<br />
# 若要删除{{ic|catalyst-generator}}, 在使用{{ic|catalyst_build_module remove_all}}命令删除catalyst-generator之前最好切换到root用户,'''这会删除得极为彻底。'''<br />
<br />
当删除Catalyst-generator时,Catalyst-generator不能自动删除那些catalyst-{内核版本}包,这是因为pacman不允许有一个以上的实例同时运行。若在使用{{ic|pacman -R catalyst-generator}}前忘记运行{{ic|catalyst_build_module remove_all}}, catalyst-generator将会询问删除catalyst-generator自身后要删除哪个catalyst-{内核版本}包。<br />
<br />
{{注意|在构建catalyst-{内核版本}时,若看到下列警告,乃正常情况,不必莫名惊诧:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension}}<br />
<br />
=== Catalyst-daemon ===<br />
{{警告|由于systemd与普通initscript daemons不兼容,所以systemd用户不能使用此工具。}}<br />
<br />
每次启动时,[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon]守护进程会检查内核是否更新过。若更新过,它会重建fglrx模块;若没有,则加载前次构建的模块。在2.4 GHz CPU电脑上,整个过程只需20ms。<br />
<br />
Catalyst-daemon的自动重新编译功能是通过一个叫''autofglrx''的初始化脚本实现的。Autofglrx的检查方式为比较启动内核(由{{ic|uname -v}}提供)和使用当前fglrx模块内核的构建时间。之所以能这样比较,是因为编译时,它将{{ic|uname -v}}的信息添加到fglrx模块描述里。<br />
<br />
重构过程中,autofglrx会调用''catalyst_build_module''构建模块,调用''catalyst_build_module remove''删除老旧无用的fglrx模块。运行后,它并不会一直驻留在系统内存。<br />
<br />
{{注意|安装autofglrx后,在{{ic|/etc/rc.conf}}将{{ic|autofglrx}}添加到{{ic|DAEMONS}}。要将它放在DM(显示管理器)之前(若是通过此配置运行DM)并且'''不要'''在后台运行(不能在其前添加@符号)。}}<br />
<br />
{{注意|若使用'''你自己的编译标识'''导致此工具有问题 - 请将你的标识写入/usr/bin/catalyst_build_module文件。}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
在'''Catalyst 11.1'''中,很可能是添加了三重缓存和v-sync,''Tear Free Desktop''减少了2D,3D视频应用的屏幕撕裂毛病。但这需要额外的GPU处理。<br />
<br />
要启用'Tear Free Desktop',运行{{ic|amdcccle}},然后设置{{ic|Display Options}} → {{ic|Tear Free}}。<br />
<br />
或以root身份运行:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
若禁用,使用{{ic|amdcccle}}或以root身份运行:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== 视频加速 ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)'''是为基于Linux/UNIX操作系统提供利用GPU加速视频处理的一个开源函数库和应用程序接口规范。启用视频加速后,通过各种入口(VLD, IDCT, Motion Compensation, deblocking)它能加速常用编码标准(MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3)视频文件的解码过程(俗称硬解)。<br />
<br />
VA-API在{{AUR|xvba-video}}上有一个私有后端(2009年10月), 它允许使用VA-API的程序通过[http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)]函数库来充分利用拥有uvd2(第二代通用视频解码单元)芯片组的视频加速功能.<br />
<br />
xvba-video和支持XvBA的软件仍还在开发,'''但在大多数情况下它都能很好的工作'''. 通过AUR构建或直接通过[community]安装{{AUR|xvba-video}}包,并安装{{Pkg|mplayer-vaapi}} and {{Pkg|libva}}。然后将视频播放器的视频输出设置为vaapi:gl:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
此选项可添加到mplayer的配置文件,参考[[MPlayer]]。<br />
<br />
针对 '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{注意|如果启用了Tear Free Desktop,则按下列步骤:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
若视频输出中没有'''vaapi:gl'''选项 - 可使用:<br />
'''vaapi''', '''vaapi:gl2''' or 简单的 '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
针对 '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
它有助于在'''amdcccle'''中启用v-sync:<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{注意|若使用'''Compiz/KWin''',消除'''画面抖动'''的唯一方法就是切换至'''全屏'''并且 '''关闭Redirected Fullscreen'''。<br />
<br />
使用'''compiz''',需在ccsm的General Options中设置'''Redirected Direct Rendering'''。若此举无效,则将其关闭。'''KWin'''默认关闭此功能,若出现画面抖动则通过System Settings → Desktop Effects → Advanced将"Suspend desktop effects for fullscreen windows"开启或关闭。}}<br />
<br />
=== 显卡/显存频率, 温度, 风扇转速, 超频工具 ===<br />
<br />
{{ic|$ aticonfig --od-getclocks}}可以获知当前显卡/显存频率。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}可以获知风扇转速(显卡);<br />
<br />
{{ic|$ aticonfig --odgt}}可以获知显卡温度。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}}可以设置风扇转速,其中查询索引50代表速度百分比。<br />
<br />
若超频或与之相反,则使用图形工具反而相对容易些,如需要qt的'''ATi Overclocking Utility'''。<br />
<br />
i686版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here];x86_64版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]。下载后直接运行。<br />
更复杂'''AMDOverdriveCtrl'''也能达到此目的,它的主页是[http://sourceforge.net/projects/amdovdrvctrl here]。可通过[https://aur.archlinux.org/packages.php?ID=45298 AUR]或Vi0L0's非官方软件库构建安装包。<br />
<br />
=== 双屏显示 ===<br />
<br />
==== 介绍 ====<br />
<br />
{{警告|由于安装方式的不同,并且每种安装方式需要与其相对应进行配置,因此设置双屏显示并没有特定的解决办办法。这也是你必须根据你自己的需要采用相应步骤的原因。当然可以多尝试几种方法。'''所以,在修改之前,将你的配置保存到{{ic|/etc/X11/xorg.conf}},以便遇到问题是你可以从命令行恢复。'''}}<br />
<br />
* 本节讲述如何配置"BIG Desktop"效果。主要是不同尺寸的屏幕如何通过两个不同的输出接口(DVI + HDMI)共享一个显卡。<br />
<br />
* Xinerama解决办法有些不便,尤其是不能与XrandR兼容。因为XrandR对于我们所讲的来说是必须的,所以不使用Xinerama。<br />
<br />
* 双头显示能让你有两个不同的会话(一个屏幕一个)。你可以随心所欲地干任何事情,但不能将窗口从一个屏幕移动到另一个屏幕。若只有一个屏幕,你得在Xorg会话里为Server Layout section的每个会话定义鼠标,具体方法查看:<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
ATI的图形工具非常有用,我们将尽可能地使用它。运行下面命令可启用它:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{警告|'''千万还要'''直接使用sudo。 Sudo虽能给予管理员权限,却使用用户账户的信息(如环境变量)。GNOME下使用''gksu'',KDE下使用''kdesu''。}}<br />
<br />
==== 安装 ====<br />
<br />
开始之前,确保你的硬件接插正确,电源开启,而且你得你的硬件属性(2D还是3D屏,屏幕尺寸,刷新率等)。通常情况下,在启动阶段两个显示器都会被识别却不需正确区分先后顺序,而是信赖热插拔功能。尤其在不使用({{ic|/etc/X11/xorg.conf}})配置时。<br />
<br />
首先要让你的桌面环境和X认识 For this, you need to generate a basic Xorg configuration file for your two screens:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
or<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{Note|{{ic|overlay}} is important because it allows you to have 1 pixel (or more) shared between the 2 screens.}}<br />
{{Tip|For the other possible and available options, do not hesitate to type {{ic|aticonfig --help}} inside a terminal to display all available command lines.}}<br />
<br />
Now you should have a basic Xorg configuration file that you can edit to add your screen resolutions. It is important to use the precise resolution, especially if you have screens of different sizes. These resolutions have to be added in the "Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
From now on, instead of editing the {{ic|xorg.conf}} file manually, let us use the ATI GUI tool. Restart X to be sure that your two screens are properly supported and that the resolutions are properly recognized (Screens must be independent, not mirrored).<br />
<br />
==== Configuration ====<br />
<br />
Now you will only have to launch the ATI control center with root privileges, go to the display menu and choose how you would like to set your configuration (small arrow of the drop down menu). A last restart of X and you should be done!<br />
<br />
Before you restart X, do not hesitate to verify your new {{ic|xorg.conf}} file. At this stage, inside the "Display" sub-section of the "Screen" section, you should see a "Virtual" command line, of which the resolution should be the sum of both screens. The "Server Layout" section says all the rest.<br />
<br />
== Troubleshooting ==<br />
<br />
If you can still boot to command-line, then the problem probably lies in {{ic|/etc/X11/xorg.conf}}<br />
<br />
You can parse the whole {{ic|/var/log/Xorg.0.log}} or, for clues:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
If you are at lost of what to do, you can always post a message in the see [http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]. When you do so, please do provide the information you get from both commands mentioned above.<br />
<br />
=== 3D Wine applications freeze ===<br />
If you use a 3D Wine application and it hangs, you have to disable TLS. To do this, either use {{ic|aticonfig}} or edit {{ic|/etc/X11/xorg.conf}}. To use {{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
Or, to edit {{ic|/etc/X11/xorg.conf}}; first open the file in an editor as root and then add {{ic|Option "UseFastTLS" "off"}} to the ''Device'' section of this file. <br />
<br />
After applying either of the solutions, restart X for it to take effect.<br />
<br />
=== Problems with video colours ===<br />
<br />
You may still use {{ic|vaapi:gl}} to avoid video flickering, but without video acceleration:<br />
<br />
* Run '''mplayer''' without {{ic|-vo vaapi}} switch.<br />
<br />
* Run '''smplayer''' remove {{ic|-vo vaapi}} from Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
<br />
Plus for '''smplayer''' you may now safely turn screenshots on.<br />
<br />
=== KWin and composite ===<br />
<br />
You may use XRender if the rendering with OpenGL is slow. However, XRender might also be slower than OpenGL depending on your card.<br />
XRender also solves artifact issues in some cases.<br />
<br />
=== Black screen with complete lockups and/or hangs after reboot or startx ===<br />
<br />
Ensure you have added the '''nomodeset''' option to the kernel options line in your bootloader (see [[#Disable kernel mode setting]]).<br />
<br />
==== Faulty ACPI hardware calls ====<br />
It is possible that fglrx doesn't cooperate well with the system's ACPI hardware calls, so it auto-disables itself and there is no screen output.<br />
<br />
If so, try to run this:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== KDM disappears after logout ===<br />
<br />
If you are running Catalyst proprietary driver and you get a console (tty1) instead of the expected KDM greeting when you log out, you must instruct KDM to restart the X server after each logout:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
Uncomment the following line under the section titled {{ic|[X-:*-Core]}}:<br />
<br />
TerminateServer=True<br />
<br />
KDM should now appear when you log out of KDE.<br />
<br />
=== Direct Rendering does not work ===<br />
<br />
This problem may occur when using the proprietary '''Catalyst''' driver.<br />
<br />
{{Warning|This error would also appear if you have not '''rebooted''' your system after the installation or upgrade of catalyst. The system needs to load the fglrx.ko module in order to make the driver work.}}<br />
<br />
If you have problem with direct rendering, run:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
at the command prompt. At the very start of the output, it'll usually give you a nice error message saying why you do not have direct rendering.<br />
<br />
Common errors and their solutions, are:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* Ensure that you are loading the correct agp modules for your AGP chipset before you load the fglrx kernel module. To determine which agp modules you'll need, run {{ic|hwdetect --show-agp}}, then ensure that all modules listed from that command are in the {{ic|1=MODULES=}} array in rc.conf, '''before''' fglrx if using SysVinit, otherwise open your {{ic|fglrx.conf}} file in {{ic|/etc/modules-load.d}} and add the agp module on a line '''before''' the fglrx line.<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* Something has not been installed correctly. If the paths in the error message are {{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}}, then ensure you've logged completely out of your system, then back in. If you're using a graphical login manager (gdm, kdm, xdm), ensure that {{ic|/etc/profile}} is sourced every time you log in. This is usually accomplished by adding {{ic|source /etc/profile}} into {{ic|~/.xsession}} or {{ic|~/.xinitrc}}, but this may vary between login managers.<br />
<br />
* If the paths above in your error message ''are'' {{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}}, then something has not been correctly installed. Try reinstalling the {{ic|catalyst}} package.<br />
<br />
Errors such as:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
could be caused by having multiple versions of {{ic|libGL.so}} on your system. Run:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
This should return the following output:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
These are the only three libGL.so files you should have on your system. If you have any more (e.g. {{ic|/usr/X11R6/lib/libGL.so.1.2}}), then remove them. This should fix your problem.<br />
<br />
You might not get any error to indicate that this is a problem. If you are using X11R7, make sure you do '''not''' have these files on your system:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== Hibernate/Sleep Issues ===<br />
<br />
==== Video fails to resume from suspend2ram ====<br />
<br />
ATI's proprietary Catalyst driver cannot resume from suspend if the framebuffer is enabled. To disable the framebuffer, add '''vga=0''' to your kernel options in for example, Grub Legacy's {{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
To see where you need to add this with other bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== System Freezes/Hard locks ===<br />
<br />
* The {{ic|radeonfb}} framebuffer drivers have been known in the past to cause problems of this nature. If your kernel has radeonfb support compiled in, you may want to try a different kernel and see if this helps.<br />
<br />
* If you experience system freezes when exiting your DE (shut down, suspend, switching to tty etc.) you probably forgot to deactivate KMS. (See [[#Disable kernel mode setting]])<br />
<br />
=== Hardware Conflicts ===<br />
<br />
Radeon cards used in conjunction with some versions of the nForce3 chipset (e.g. nForce 3 250Gb) won't have 3D acceleration. Currently the cause of this issue is unknown, but some sources indicate that it may be possible to get acceleration with this combination of hardware by booting Windows with the drivers from nVIDIA and then rebooting the system. This can be verified by issuing in a root console the following command:<br />
<br />
$ dmesg | grep agp<br />
<br />
If you get something similar to this (using an nForce3-based system):<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
and also if issuing this command...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...gets something similar to:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
Then you have this bug.<br />
<br />
Some sources indicate that in some situations, downgrading the motherboard BIOS may help, but this cannot be verified in all cases. Also, '''a bad BIOS downgrade can render your hardware useless, so beware.'''<br />
<br />
See [http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport] for more information and a potential fix.<br />
<br />
=== Temporary hangs when playing video ===<br />
<br />
This problem may occur when using the proprietary Catalyst.<br />
<br />
If you experience temporary hangs lasting from a few seconds to several minutes occuring randomly during playback with mplayer, check /var/log/messages.log for output like:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
Adding the nopat kernel option to your kernel options in your bootloader and rebooting fixed the problem at least for me. To see how to do this for different bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
If when running<br />
<br />
# sudo aticonfig --initial<br />
<br />
you get:<br />
<br />
aticonfig: No supported adaptaters detected<br />
<br />
But you do have an AMD GPU (or APU), it may still be possible to get Catalyst working by manually setting the device in your your {{ic|etc/X11/xorg.conf}} file.<br />
<br />
You can do so by setting the device section of {{ic|/etc/X11/xorg.conf}} to:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
Where ''****'' should be replaced with your device's marketing number (e.g. 6870 for the HD 6870 and 6310 for the E-350 APU).<br />
<br />
Xorg will start and it is possible to use {{ic|amdcccle}} instead of {{ic|aticonfig}}. There will be an "AMD Unsupported hardware" watermark.<br />
<br />
You can remove this watermark using the following script:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
<br />
and rebooting.<br />
<br />
=== WebGL support in Chromium ===<br />
<br />
Google has blacklisted Linux's Catalyst driver from supporting webGL in their Chromium/Chrome browsers.<br />
<br />
You can turn webGL on by editing {{ic|/usr/share/applications/chromium.desktop}} file and adding {{ic|--ignore-gpu-blacklist}} flag into the '''Exec''' line so it looks like this:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
You can also run chromium from console with the same {{ic|--ignore-gpu-blacklist}} flag:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{Warning|Catalyst does not support the GL_ARB_robustness extension, so it is possible that a malicious site could use WebGL to perform a DoS attack on your graphic card. For more info, read [http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== Laggs/freezes when watching flash videos via Adobe's flashplugin ===<br />
<br />
Edit {{ic|/etc/adobe/mms.cfg}} and make it look like this:<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== Laggs/slow windows movement in GNOME3 ===<br />
<br />
You can try this solution out, it's working for many people.<br />
<br />
Add this line into {{ic|~/.profile}} or into {{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
Restart X server or reboot your system.<br />
<br />
=== Not using fullscreen in the 1920x1080 resolution ===<br />
<br />
The ATI has scaling by default add this to your xorg.conf<br />
<br />
Option "DPMS" "true"<br />
<br />
On the Monitor section, as full example would look like this<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=229979AMD Catalyst (简体中文)2012-10-20T12:58:05Z<p>Micy1985: </p>
<hr />
<div>[[Category:Graphics (简体中文)]]<br />
[[Category:X Server (简体中文)]]<br />
{{TranslationStatus (简体中文)|AMD_Catalyst|2012-10-19|229195}}<br />
"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs完全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx 显卡驱动分开开发,因此在你选择何种安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用普通Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的普通Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上面对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败和丢失Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make脚本, 最好换一名称保存。否则将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
通过访问{{ic|/etc/ati/amdpcsdb}}文件它几乎能配置显卡的各项参数。了解完整的配置选项{{ic|aticonfig}}可运行:<br />
<br />
# aticonfig --help | less<br />
<br />
{{警告|在将各项配置参数提交到/etc/X11/xorg.conf之前使用--output选项,/etc/X11/xorg.conf.d中的所有内容都会被覆盖。}}<br />
<br />
{{注意|如果坚持使用xorg.conf.d下的新配置文件:为了让Device section与{{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}相匹配,在{{ic|aticonfig}}后追加''--output''。但这有一个缺点,很多依赖xorg.conf的{{ic|aticonfig}}选项都无法使用。}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,但不同Xorg版本的默认参数可能会有所不同,最好明确指定一些参数.<br />
<br />
给一个示例配置 (注意) '''仅供参考'''. 标'#'必须有,标'##'很可能会用到:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{注意|一旦升级Catalyst就要通过后面的方法删除'''amdpcsdb'''文件: 关闭X,删除{{ic|/etc/ati/amdpcsdb}},启动X然后运行{{ic|amdcccle}} -否则amdcccle将会显示错误的Catalyst版本号}}<br />
<br />
''更多信息参考[http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== 启动时加载模块 ====<br />
不同的初始化系统(SysVinit和systemd)的设置方式不一样,但无论哪一种,都得在{{ic|/etc/modprobe.d/modprobe.conf}}禁用''radeon''。具体可参见[[Modprobe|blacklisting in this article]]. '''通过Arch官方安装Catalyst则无需此步骤,安装包会自动处理'''。<br />
<br />
{{注意|强烈推荐使用systemd进行系统初始化,因为最新Arch安装镜像已默认使用systemd,通过rc.conf设置系统启动服务迟早会遭淘汰}}。<br />
<br />
===== 在使用systemd上 =====<br />
* 删除{{ic|/etc/modules-load.d/}}下任何名称包含{{ic|radeon}}的文件若该文件中含有其他多个模块,则只删除radeon)。<br />
* 在{{ic|/etc/modules-load.d/}}的现有文件中添加{{ic|fglrx}}或新建含有该行的文件。<br />
<br />
===== 在使用SysVinit上 =====<br />
编辑{{ic|/etc/rc.conf}}:<br />
* 自MODULES中删除{{ic|radeon}}。<br />
* 在MODULES中添加 {{ic|fglrx}}。<br />
<br />
{{注意|若使用AGP接口的显卡还需添加''agp''。}}<br />
<br />
==== 禁用KMS ====<br />
<br />
由于Catalyst根本不使用[[KMS]],得将其禁用。否则,当系统切换至tyy或在桌面环境下关机时,系统可能会冻结。<br />
<br />
若使用[[GRUB Legacy|GRUB Legacy]],在{{ic|menu.lst}}添加{{ic|nomodeset}}给内核参数,如:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
若使用[[GRUB2|GRUB 2]],在{{ic|/etc/default/grub}}添加''nomodeset''给内核参数,如:<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
然后以root身份运行;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
若使用[[Syslinux|Syslinux]],在{{ic|/boot/syslinux/syslinux.cfg}}添加''nomodeset''到{{ic|APPEND}}行,如:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== 检查安装是否成功 ====<br />
<br />
重启电脑并登录, 运行下列命令可查看fglrx是否正确运行:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
若两者均有输出, 安装成功。进行桌面环境并运行以下命令检查直接渲染模式是否启用:<br />
<br />
$ glxinfo | grep direct<br />
<br />
若显示"direct rendering: yes",恭喜你,到位了! 若无glxinfo命令,安装{{Pkg|mesa-demos}} package。<br />
<br />
{{警告|最近几版Xorg,库函数路径变了,因此即使安装{{ic|libGL.so}}也不一定能正确人加载。请检查GL是否工作,可阅读"Troubleshooting"段落}}<br />
<br />
若有问题,参阅[[#Troubleshooting]].<br />
<br />
=== 自我编译内核 ===<br />
<br />
在手动编译的内核上,你必须构建你自己{{ic|catalyst-$kernel}}包.<br />
<br />
如果你讨厌打包或毫无经验,可先阅读[[ABS]]。<br />
<br />
#从[[AUR|Catalyst]]上获取{{ic|PKGBUILD}} 和 {{ic|catalyst.install}}文件。<br />
# 编辑PKGBUILD. 两个地方需要修改:<br />
## 将{{ic|1=pkgname=catalyst}} 修改为 {{ic|1=pkgname=catalyst-$kernel_name}},$kernel_name可以随意取(如:custom, mm)。<br />
## 将{{ic|linux}}的依赖修改为{{ic|$kernel_name}}。<br />
# 构建并安装软件包;运行{{ic|makepkg -i}} 和 {{ic|makepkg}},接着运行 {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{注意|如果在安装有多内核的系统上,你必须为所有内核安装Catalyst-utils包。这不会引起冲突}}<br />
<br />
{{注意|Catalyst-generator能为你自动构建catalyst-{kernver},因此这些步骤根本就可省略。 请参考[[#Tools| Tools section]].}}<br />
<br />
== Xorg软件库 ==<br />
Catalyst由于其缓慢的更新而被人大为诟病。因升级Xorg而造成两者不兼容是稀松平常的事。也就意味着Catalyst用户要么不升级Xorg要么使用一个只包含Xorg包的回溯软件库,该库中不提供更新版Xorg以确保兼容性。 Vi0L0提供好几个这样的库. <br />
<br />
若想让pacman更新其他软件而不更新Xorg,查看[[pacman|skip package from being upgraded]]。不更新的软件是:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
若要使用这类软件库,在{{ic|/etc/pacman.conf}}的所有库(甚至Catalyst)前面添加下面中的一个 。<br />
<br />
===[xorg112]===<br />
截止目前,当前Catalyst 不支持1.13。<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
低于 12.6的Catalyst不支持xorg-server 1.12。<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== 工具 ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook]是一个针对[[mkinitcpio|mkinitcpio]]的钩子。'''跟 catalyst-dkms一样''',每当内核更新时,它会自动升级fglrx模块。在更新fglrx之前,它会尝试更新{{Pkg|linux-headers}}。<br />
<br />
当更新内核时,钩子会调用''catalyst_build_module''命令来更新fglrx模块以使两者相匹配。此外,它还可调用''catalyst_build_module remove''来删除不需要的旧flgrx模块<br />
<br />
{{注意|若使用此功能,'''一定要''' 关注的内核的安装提示,Catalyst-hook会显示是否一切顺利。}}<br />
<br />
{{注意|若是'''自编译内核'''且使用'''非标准的mkinitcpio配置文件'''(如:linux-zen使用/etc/mkinitcpio-zen.conf),那必须在你非标准的配置文件中添加'''fglrx'''至 HOOKS行,以便当内核更新时能自动重新编译。}}<br />
<br />
{{注意|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator]包能构建并安装fglrx模块,该模块与pacman兼容 的catalyst-${内核版本}相适应。与Catalyst-hook的区别是必须手动使用此命令,而Catalyst-hook则不需。<br />
<br />
通过[[makepkg]],它能构建catalyst-${内核版本}二进制包并用[[pacman]]安装。<br />
<br />
非特权用户使用{{ic|catalyst_build_module}}来构建并安装catalyst-${内核版本}包。安装时会提示输入root密码。<br />
<br />
简单说一下如何使用此包:<br />
<br />
# root用户: 使用{{ic|catalyst_build_module remove}}。此举会删除无用的{{ic|catalyst-{kernver} }}包。<br />
# 非特权用户: 使用{{ic|catalyst_build_module ${内核版本}}}, ${内核版本}是指升级过后的内核版本。也可通过{{ic|catalyst_build_module all}}为所有安装的内核构建catalyst-${内核版本}。<br />
# 若要删除{{ic|catalyst-generator}}, 在使用{{ic|catalyst_build_module remove_all}}命令删除catalyst-generator之前最好切换到root用户,'''这会删除得极为彻底。'''<br />
<br />
当删除Catalyst-generator时,Catalyst-generator不能自动删除那些catalyst-{内核版本}包,这是因为pacman不允许有一个以上的实例同时运行。若在使用{{ic|pacman -R catalyst-generator}}前忘记运行{{ic|catalyst_build_module remove_all}}, catalyst-generator将会询问删除catalyst-generator自身后要删除哪个catalyst-{内核版本}包。<br />
<br />
{{注意|在构建catalyst-{内核版本}时,若看到下列警告,乃正常情况,不必莫名惊诧:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension}}<br />
<br />
=== Catalyst-daemon ===<br />
{{警告|由于systemd与普通initscript daemons不兼容,所以systemd用户不能使用此工具。}}<br />
<br />
每次启动时,[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon]守护进程会检查内核是否更新过。若更新过,它会重建fglrx模块;若没有,则加载前次构建的模块。在2.4 GHz CPU电脑上,整个过程只需20ms。<br />
<br />
Catalyst-daemon的自动重新编译功能是通过一个叫''autofglrx''的初始化脚本实现的。Autofglrx的检查方式为比较启动内核(由{{ic|uname -v}}提供)和使用当前fglrx模块内核的构建时间。之所以能这样比较,是因为编译时,它将{{ic|uname -v}}的信息添加到fglrx模块描述里。<br />
<br />
重构过程中,autofglrx会调用''catalyst_build_module''构建模块,调用''catalyst_build_module remove''删除老旧无用的fglrx模块。运行后,它并不会一直驻留在系统内存。<br />
<br />
{{注意|安装autofglrx后,在{{ic|/etc/rc.conf}}将{{ic|autofglrx}}添加到{{ic|DAEMONS}}。要将它放在DM(显示管理器)之前(若是通过此配置运行DM)并且'''不要'''在后台运行(不能在其前添加@符号)。}}<br />
<br />
{{注意|若使用'''你自己的编译标识'''导致此工具有问题 - 请将你的标识写入/usr/bin/catalyst_build_module文件。}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
在'''Catalyst 11.1'''中,很可能是添加了三重缓存和v-sync,''Tear Free Desktop''减少了2D,3D视频应用的屏幕撕裂毛病。但这需要额外的GPU处理。<br />
<br />
要启用'Tear Free Desktop',运行{{ic|amdcccle}},然后设置{{ic|Display Options}} → {{ic|Tear Free}}。<br />
<br />
或以root身份运行:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
若禁用,使用{{ic|amdcccle}}或以root身份运行:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== 视频加速 ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)'''是为基于Linux/UNIX操作系统提供利用GPU加速视频处理的一个开源函数库和应用程序接口规范。启用视频加速后,通过各种入口(VLD, IDCT, Motion Compensation, deblocking)它能加速常用编码标准(MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3)视频文件的解码过程(俗称硬解)。<br />
<br />
VA-API在{{AUR|xvba-video}}上有一个私有后端(2009年10月), 它允许使用VA-API的程序通过[http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)]函数库来充分利用拥有uvd2(第二代通用视频解码单元)芯片组的视频加速功能.<br />
<br />
xvba-video和支持XvBA的软件仍还在开发,'''但在大多数情况下它都能很好的工作'''. 通过AUR构建或直接通过[community]安装{{AUR|xvba-video}}包,并安装{{Pkg|mplayer-vaapi}} and {{Pkg|libva}}。然后将视频播放器的视频输出设置为vaapi:gl:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
此选项可添加到mplayer的配置文件,参考[[MPlayer]]。<br />
<br />
针对 '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{注意|如果启用了Tear Free Desktop,则按下列步骤:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
若视频输出中没有'''vaapi:gl'''选项 - 可使用:<br />
'''vaapi''', '''vaapi:gl2''' or 简单的 '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
针对 '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
它有助于在'''amdcccle'''中启用v-sync:<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{注意|若使用'''Compiz/KWin''',消除'''画面抖动'''的唯一方法就是切换至'''全屏'''并且 '''关闭Redirected Fullscreen'''。<br />
<br />
使用'''compiz''',需在ccsm的General Options中设置'''Redirected Direct Rendering'''。若此举无效,则将其关闭。'''KWin'''默认关闭此功能,若出现画面抖动则通过System Settings → Desktop Effects → Advanced将"Suspend desktop effects for fullscreen windows"开启或关闭。}}<br />
<br />
=== 显卡/显存频率, 温度, 风扇转速, 超频工具 ===<br />
<br />
{{ic|$ aticonfig --od-getclocks}}可以获知当前显卡/显存频率。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}可以获知风扇转速(显卡);<br />
<br />
{{ic|$ aticonfig --odgt}}可以获知显卡温度。<br />
<br />
{{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}}可以设置风扇转速,其中查询索引50代表速度百分比。<br />
<br />
若超频或与之相反,则使用图形工具反而相对容易些,如需要qt的'''ATi Overclocking Utility'''。<br />
<br />
i686版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here];x86_64版在[http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]。下载后直接运行。<br />
更复杂'''AMDOverdriveCtrl'''也能达到此目的,它的主页是[http://sourceforge.net/projects/amdovdrvctrl here]。可通过[https://aur.archlinux.org/packages.php?ID=45298 AUR]或Vi0L0's非官方软件库构建安装包。<br />
<br />
=== 双屏显示 ===<br />
<br />
==== 介绍 ====<br />
<br />
{{警告|由于安装方式的不同,并且每种安装方式需要与其相对应进行配置,因此设置双屏显示并没有特定的解决办办法。这也是你必须根据你自己的需要采用相应步骤的原因。当然可以多尝试几种方法。'''所以,在修改之前,将你的配置保存到{{ic|/etc/X11/xorg.conf}},以便遇到问题是你可以从命令行恢复。'''}}<br />
<br />
* 本节讲述如何配置"BIG Desktop"效果。主要是不同尺寸的屏幕如何通过两个不同的输出接口(DVI + HDMI)共享一个显卡。<br />
<br />
* Xinerama解决办法有些不便,尤其是不能与XrandR兼容。因为XrandR对于我们所讲的来说是必须的,所以不使用Xinerama。<br />
<br />
* 双头显示能让你有两个不同的会话(一个屏幕一个)。你可以随心所欲地干任何事情,但不能将窗口从一个屏幕移动到另一个屏幕。If you have only one screen, you will have to define the mouse inside your Xorg session for each of the two sessions inside the Server Layout section。具体方法查看:<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
ATI的图形工具非常有用,我们将尽可能地使用它。运行下面命令可启用它:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{警告|'''千万还要'''直接使用sudo。 Sudo虽能给予管理员权限,却使用用户账户的信息(如环境变量)。GNOME下使用''gksu'',KDE下使用''kdesu''。}}<br />
<br />
==== 安装 ====<br />
<br />
Before we start, make sure that your hardware is plugged in correctly, that power is on and that you know your hardware characteristics (screen dimensions, sizes, refreshment rates, etc.) Normally, both screens are recognized during boot time but not necessarily identified properly, especially if you are not using any Xorg base configuration file ({{ic|/etc/X11/xorg.conf}}) but relying on the hot-plugging feature.<br />
<br />
The first step is to make sure that you screens will be recognized by your DE and by X. For this, you need to generate a basic Xorg configuration file for your two screens:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
or<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{Note|{{ic|overlay}} is important because it allows you to have 1 pixel (or more) shared between the 2 screens.}}<br />
{{Tip|For the other possible and available options, do not hesitate to type {{ic|aticonfig --help}} inside a terminal to display all available command lines.}}<br />
<br />
Now you should have a basic Xorg configuration file that you can edit to add your screen resolutions. It is important to use the precise resolution, especially if you have screens of different sizes. These resolutions have to be added in the "Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
From now on, instead of editing the {{ic|xorg.conf}} file manually, let us use the ATI GUI tool. Restart X to be sure that your two screens are properly supported and that the resolutions are properly recognized (Screens must be independent, not mirrored).<br />
<br />
==== Configuration ====<br />
<br />
Now you will only have to launch the ATI control center with root privileges, go to the display menu and choose how you would like to set your configuration (small arrow of the drop down menu). A last restart of X and you should be done!<br />
<br />
Before you restart X, do not hesitate to verify your new {{ic|xorg.conf}} file. At this stage, inside the "Display" sub-section of the "Screen" section, you should see a "Virtual" command line, of which the resolution should be the sum of both screens. The "Server Layout" section says all the rest.<br />
<br />
== Troubleshooting ==<br />
<br />
If you can still boot to command-line, then the problem probably lies in {{ic|/etc/X11/xorg.conf}}<br />
<br />
You can parse the whole {{ic|/var/log/Xorg.0.log}} or, for clues:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
If you are at lost of what to do, you can always post a message in the see [http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]. When you do so, please do provide the information you get from both commands mentioned above.<br />
<br />
=== 3D Wine applications freeze ===<br />
If you use a 3D Wine application and it hangs, you have to disable TLS. To do this, either use {{ic|aticonfig}} or edit {{ic|/etc/X11/xorg.conf}}. To use {{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
Or, to edit {{ic|/etc/X11/xorg.conf}}; first open the file in an editor as root and then add {{ic|Option "UseFastTLS" "off"}} to the ''Device'' section of this file. <br />
<br />
After applying either of the solutions, restart X for it to take effect.<br />
<br />
=== Problems with video colours ===<br />
<br />
You may still use {{ic|vaapi:gl}} to avoid video flickering, but without video acceleration:<br />
<br />
* Run '''mplayer''' without {{ic|-vo vaapi}} switch.<br />
<br />
* Run '''smplayer''' remove {{ic|-vo vaapi}} from Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
<br />
Plus for '''smplayer''' you may now safely turn screenshots on.<br />
<br />
=== KWin and composite ===<br />
<br />
You may use XRender if the rendering with OpenGL is slow. However, XRender might also be slower than OpenGL depending on your card.<br />
XRender also solves artifact issues in some cases.<br />
<br />
=== Black screen with complete lockups and/or hangs after reboot or startx ===<br />
<br />
Ensure you have added the '''nomodeset''' option to the kernel options line in your bootloader (see [[#Disable kernel mode setting]]).<br />
<br />
==== Faulty ACPI hardware calls ====<br />
It is possible that fglrx doesn't cooperate well with the system's ACPI hardware calls, so it auto-disables itself and there is no screen output.<br />
<br />
If so, try to run this:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== KDM disappears after logout ===<br />
<br />
If you are running Catalyst proprietary driver and you get a console (tty1) instead of the expected KDM greeting when you log out, you must instruct KDM to restart the X server after each logout:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
Uncomment the following line under the section titled {{ic|[X-:*-Core]}}:<br />
<br />
TerminateServer=True<br />
<br />
KDM should now appear when you log out of KDE.<br />
<br />
=== Direct Rendering does not work ===<br />
<br />
This problem may occur when using the proprietary '''Catalyst''' driver.<br />
<br />
{{Warning|This error would also appear if you have not '''rebooted''' your system after the installation or upgrade of catalyst. The system needs to load the fglrx.ko module in order to make the driver work.}}<br />
<br />
If you have problem with direct rendering, run:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
at the command prompt. At the very start of the output, it'll usually give you a nice error message saying why you do not have direct rendering.<br />
<br />
Common errors and their solutions, are:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* Ensure that you are loading the correct agp modules for your AGP chipset before you load the fglrx kernel module. To determine which agp modules you'll need, run {{ic|hwdetect --show-agp}}, then ensure that all modules listed from that command are in the {{ic|1=MODULES=}} array in rc.conf, '''before''' fglrx if using SysVinit, otherwise open your {{ic|fglrx.conf}} file in {{ic|/etc/modules-load.d}} and add the agp module on a line '''before''' the fglrx line.<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* Something has not been installed correctly. If the paths in the error message are {{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}}, then ensure you've logged completely out of your system, then back in. If you're using a graphical login manager (gdm, kdm, xdm), ensure that {{ic|/etc/profile}} is sourced every time you log in. This is usually accomplished by adding {{ic|source /etc/profile}} into {{ic|~/.xsession}} or {{ic|~/.xinitrc}}, but this may vary between login managers.<br />
<br />
* If the paths above in your error message ''are'' {{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}}, then something has not been correctly installed. Try reinstalling the {{ic|catalyst}} package.<br />
<br />
Errors such as:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
could be caused by having multiple versions of {{ic|libGL.so}} on your system. Run:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
This should return the following output:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
These are the only three libGL.so files you should have on your system. If you have any more (e.g. {{ic|/usr/X11R6/lib/libGL.so.1.2}}), then remove them. This should fix your problem.<br />
<br />
You might not get any error to indicate that this is a problem. If you are using X11R7, make sure you do '''not''' have these files on your system:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== Hibernate/Sleep Issues ===<br />
<br />
==== Video fails to resume from suspend2ram ====<br />
<br />
ATI's proprietary Catalyst driver cannot resume from suspend if the framebuffer is enabled. To disable the framebuffer, add '''vga=0''' to your kernel options in for example, Grub Legacy's {{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
To see where you need to add this with other bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== System Freezes/Hard locks ===<br />
<br />
* The {{ic|radeonfb}} framebuffer drivers have been known in the past to cause problems of this nature. If your kernel has radeonfb support compiled in, you may want to try a different kernel and see if this helps.<br />
<br />
* If you experience system freezes when exiting your DE (shut down, suspend, switching to tty etc.) you probably forgot to deactivate KMS. (See [[#Disable kernel mode setting]])<br />
<br />
=== Hardware Conflicts ===<br />
<br />
Radeon cards used in conjunction with some versions of the nForce3 chipset (e.g. nForce 3 250Gb) won't have 3D acceleration. Currently the cause of this issue is unknown, but some sources indicate that it may be possible to get acceleration with this combination of hardware by booting Windows with the drivers from nVIDIA and then rebooting the system. This can be verified by issuing in a root console the following command:<br />
<br />
$ dmesg | grep agp<br />
<br />
If you get something similar to this (using an nForce3-based system):<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
and also if issuing this command...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...gets something similar to:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
Then you have this bug.<br />
<br />
Some sources indicate that in some situations, downgrading the motherboard BIOS may help, but this cannot be verified in all cases. Also, '''a bad BIOS downgrade can render your hardware useless, so beware.'''<br />
<br />
See [http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport] for more information and a potential fix.<br />
<br />
=== Temporary hangs when playing video ===<br />
<br />
This problem may occur when using the proprietary Catalyst.<br />
<br />
If you experience temporary hangs lasting from a few seconds to several minutes occuring randomly during playback with mplayer, check /var/log/messages.log for output like:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
Adding the nopat kernel option to your kernel options in your bootloader and rebooting fixed the problem at least for me. To see how to do this for different bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
If when running<br />
<br />
# sudo aticonfig --initial<br />
<br />
you get:<br />
<br />
aticonfig: No supported adaptaters detected<br />
<br />
But you do have an AMD GPU (or APU), it may still be possible to get Catalyst working by manually setting the device in your your {{ic|etc/X11/xorg.conf}} file.<br />
<br />
You can do so by setting the device section of {{ic|/etc/X11/xorg.conf}} to:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
Where ''****'' should be replaced with your device's marketing number (e.g. 6870 for the HD 6870 and 6310 for the E-350 APU).<br />
<br />
Xorg will start and it is possible to use {{ic|amdcccle}} instead of {{ic|aticonfig}}. There will be an "AMD Unsupported hardware" watermark.<br />
<br />
You can remove this watermark using the following script:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
<br />
and rebooting.<br />
<br />
=== WebGL support in Chromium ===<br />
<br />
Google has blacklisted Linux's Catalyst driver from supporting webGL in their Chromium/Chrome browsers.<br />
<br />
You can turn webGL on by editing {{ic|/usr/share/applications/chromium.desktop}} file and adding {{ic|--ignore-gpu-blacklist}} flag into the '''Exec''' line so it looks like this:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
You can also run chromium from console with the same {{ic|--ignore-gpu-blacklist}} flag:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{Warning|Catalyst does not support the GL_ARB_robustness extension, so it is possible that a malicious site could use WebGL to perform a DoS attack on your graphic card. For more info, read [http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== Laggs/freezes when watching flash videos via Adobe's flashplugin ===<br />
<br />
Edit {{ic|/etc/adobe/mms.cfg}} and make it look like this:<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== Laggs/slow windows movement in GNOME3 ===<br />
<br />
You can try this solution out, it's working for many people.<br />
<br />
Add this line into {{ic|~/.profile}} or into {{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
Restart X server or reboot your system.<br />
<br />
=== Not using fullscreen in the 1920x1080 resolution ===<br />
<br />
The ATI has scaling by default add this to your xorg.conf<br />
<br />
Option "DPMS" "true"<br />
<br />
On the Monitor section, as full example would look like this<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=229852AMD Catalyst (简体中文)2012-10-20T08:41:54Z<p>Micy1985: /* 视频加速 */</p>
<hr />
<div>[[Category:Graphics (简体中文)]]<br />
[[Category:X Server (简体中文)]]<br />
{{TranslationStatus (简体中文)|AMD_Catalyst|2012-10-19|229195}}<br />
"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs完全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx 显卡驱动分开开发,因此在你选择何种安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用普通Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的普通Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上面对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败和丢失Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make脚本, 最好换一名称保存。否则将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
通过访问{{ic|/etc/ati/amdpcsdb}}文件它几乎能配置显卡的各项参数。了解完整的配置选项{{ic|aticonfig}}可运行:<br />
<br />
# aticonfig --help | less<br />
<br />
{{警告|在将各项配置参数提交到/etc/X11/xorg.conf之前使用--output选项,/etc/X11/xorg.conf.d中的所有内容都会被覆盖。}}<br />
<br />
{{注意|如果坚持使用xorg.conf.d下的新配置文件:为了让Device section与{{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}相匹配,在{{ic|aticonfig}}后追加''--output''。但这有一个缺点,很多依赖xorg.conf的{{ic|aticonfig}}选项都无法使用。}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,但不同Xorg版本的默认参数可能会有所不同,最好明确指定一些参数.<br />
<br />
给一个示例配置 (注意) '''仅供参考'''. 标'#'必须有,标'##'很可能会用到:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{注意|一旦升级Catalyst就要通过后面的方法删除'''amdpcsdb'''文件: 关闭X,删除{{ic|/etc/ati/amdpcsdb}},启动X然后运行{{ic|amdcccle}} -否则amdcccle将会显示错误的Catalyst版本号}}<br />
<br />
''更多信息参考[http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== 启动时加载模块 ====<br />
不同的初始化系统(SysVinit和systemd)的设置方式不一样,但无论哪一种,都得在{{ic|/etc/modprobe.d/modprobe.conf}}禁用''radeon''。具体可参见[[Modprobe|blacklisting in this article]]. '''通过Arch官方安装Catalyst则无需此步骤,安装包会自动处理'''。<br />
<br />
{{注意|强烈推荐使用systemd进行系统初始化,因为最新Arch安装镜像已默认使用systemd,通过rc.conf设置系统启动服务迟早会遭淘汰}}。<br />
<br />
===== 在使用systemd上 =====<br />
* 删除{{ic|/etc/modules-load.d/}}下任何名称包含{{ic|radeon}}的文件若该文件中含有其他多个模块,则只删除radeon)。<br />
* 在{{ic|/etc/modules-load.d/}}的现有文件中添加{{ic|fglrx}}或新建含有该行的文件。<br />
<br />
===== 在使用SysVinit上 =====<br />
编辑{{ic|/etc/rc.conf}}:<br />
* 自MODULES中删除{{ic|radeon}}。<br />
* 在MODULES中添加 {{ic|fglrx}}。<br />
<br />
{{注意|若使用AGP接口的显卡还需添加''agp''。}}<br />
<br />
==== 禁用KMS ====<br />
<br />
由于Catalyst根本不使用[[KMS]],得将其禁用。否则,当系统切换至tyy或在桌面环境下关机时,系统可能会冻结。<br />
<br />
若使用[[GRUB Legacy|GRUB Legacy]],在{{ic|menu.lst}}添加{{ic|nomodeset}}给内核参数,如:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
若使用[[GRUB2|GRUB 2]],在{{ic|/etc/default/grub}}添加''nomodeset''给内核参数,如:<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
然后以root身份运行;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
若使用[[Syslinux|Syslinux]],在{{ic|/boot/syslinux/syslinux.cfg}}添加''nomodeset''到{{ic|APPEND}}行,如:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== 检查安装是否成功 ====<br />
<br />
重启电脑并登录, 运行下列命令可查看fglrx是否正确运行:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
若两者均有输出, 安装成功。进行桌面环境并运行以下命令检查直接渲染模式是否启用:<br />
<br />
$ glxinfo | grep direct<br />
<br />
若显示"direct rendering: yes",恭喜你,到位了! 若无glxinfo命令,安装{{Pkg|mesa-demos}} package。<br />
<br />
{{警告|最近几版Xorg,库函数路径变了,因此即使安装{{ic|libGL.so}}也不一定能正确人加载。请检查GL是否工作,可阅读"Troubleshooting"段落}}<br />
<br />
若有问题,参阅[[#Troubleshooting]].<br />
<br />
=== 自我编译内核 ===<br />
<br />
在手动编译的内核上,你必须构建你自己{{ic|catalyst-$kernel}}包.<br />
<br />
如果你讨厌打包或毫无经验,可先阅读[[ABS]]。<br />
<br />
#从[[AUR|Catalyst]]上获取{{ic|PKGBUILD}} 和 {{ic|catalyst.install}}文件。<br />
# 编辑PKGBUILD. 两个地方需要修改:<br />
## 将{{ic|1=pkgname=catalyst}} 修改为 {{ic|1=pkgname=catalyst-$kernel_name}},$kernel_name可以随意取(如:custom, mm)。<br />
## 将{{ic|linux}}的依赖修改为{{ic|$kernel_name}}。<br />
# 构建并安装软件包;运行{{ic|makepkg -i}} 和 {{ic|makepkg}},接着运行 {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{注意|如果在安装有多内核的系统上,你必须为所有内核安装Catalyst-utils包。这不会引起冲突}}<br />
<br />
{{注意|Catalyst-generator能为你自动构建catalyst-{kernver},因此这些步骤根本就可省略。 请参考[[#Tools| Tools section]].}}<br />
<br />
== Xorg软件库 ==<br />
Catalyst由于其缓慢的更新而被人大为诟病。因升级Xorg而造成两者不兼容是稀松平常的事。也就意味着Catalyst用户要么不升级Xorg要么使用一个只包含Xorg包的回溯软件库,该库中不提供更新版Xorg以确保兼容性。 Vi0L0提供好几个这样的库. <br />
<br />
若想让pacman更新其他软件而不更新Xorg,查看[[pacman|skip package from being upgraded]]。不更新的软件是:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
若要使用这类软件库,在{{ic|/etc/pacman.conf}}的所有库(甚至Catalyst)前面添加下面中的一个 。<br />
<br />
===[xorg112]===<br />
截止目前,当前Catalyst 不支持1.13。<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
低于 12.6的Catalyst不支持xorg-server 1.12。<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== 工具 ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook]是一个针对[[mkinitcpio|mkinitcpio]]的钩子。'''跟 catalyst-dkms一样''',每当内核更新时,它会自动升级fglrx模块。在更新fglrx之前,它会尝试更新{{Pkg|linux-headers}}。<br />
<br />
当更新内核时,钩子会调用''catalyst_build_module''命令来更新fglrx模块以使两者相匹配。此外,它还可调用''catalyst_build_module remove''来删除不需要的旧flgrx模块<br />
<br />
{{注意|若使用此功能,'''一定要''' 关注的内核的安装提示,Catalyst-hook会显示是否一切顺利。}}<br />
<br />
{{注意|若是'''自编译内核'''且使用'''非标准的mkinitcpio配置文件'''(如:linux-zen使用/etc/mkinitcpio-zen.conf),那必须在你非标准的配置文件中添加'''fglrx'''至 HOOKS行,以便当内核更新时能自动重新编译。}}<br />
<br />
{{注意|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator]包能构建并安装fglrx模块,该模块与pacman兼容 的catalyst-${内核版本}相适应。与Catalyst-hook的区别是必须手动使用此命令,而Catalyst-hook则不需。<br />
<br />
通过[[makepkg]],它能构建catalyst-${内核版本}二进制包并用[[pacman]]安装。<br />
<br />
非特权用户使用{{ic|catalyst_build_module}}来构建并安装catalyst-${内核版本}包。安装时会提示输入root密码。<br />
<br />
简单说一下如何使用此包:<br />
<br />
# root用户: 使用{{ic|catalyst_build_module remove}}。此举会删除无用的{{ic|catalyst-{kernver} }}包。<br />
# 非特权用户: 使用{{ic|catalyst_build_module ${内核版本}}}, ${内核版本}是指升级过后的内核版本。也可通过{{ic|catalyst_build_module all}}为所有安装的内核构建catalyst-${内核版本}。<br />
# 若要删除{{ic|catalyst-generator}}, 在使用{{ic|catalyst_build_module remove_all}}命令删除catalyst-generator之前最好切换到root用户,'''这会删除得极为彻底。'''<br />
<br />
当删除Catalyst-generator时,Catalyst-generator不能自动删除那些catalyst-{内核版本}包,这是因为pacman不允许有一个以上的实例同时运行。若在使用{{ic|pacman -R catalyst-generator}}前忘记运行{{ic|catalyst_build_module remove_all}}, catalyst-generator将会询问删除catalyst-generator自身后要删除哪个catalyst-{内核版本}包。<br />
<br />
{{注意|在构建catalyst-{内核版本}时,若看到下列警告,乃正常情况,不必莫名惊诧:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension}}<br />
<br />
=== Catalyst-daemon ===<br />
{{警告|由于systemd与普通initscript daemons不兼容,所以systemd用户不能使用此工具。}}<br />
<br />
每次启动时,[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon]守护进程会检查内核是否更新过。若更新过,它会重建fglrx模块;若没有,则加载前次构建的模块。在2.4 GHz CPU电脑上,整个过程只需20ms。<br />
<br />
Catalyst-daemon的自动重新编译功能是通过一个叫''autofglrx''的初始化脚本实现的。Autofglrx的检查方式为比较启动内核(由{{ic|uname -v}}提供)和使用当前fglrx模块内核的构建时间。之所以能这样比较,是因为编译时,它将{{ic|uname -v}}的信息添加到fglrx模块描述里。<br />
<br />
重构过程中,autofglrx会调用''catalyst_build_module''构建模块,调用''catalyst_build_module remove''删除老旧无用的fglrx模块。运行后,它并不会一直驻留在系统内存。<br />
<br />
{{注意|安装autofglrx后,在{{ic|/etc/rc.conf}}将{{ic|autofglrx}}添加到{{ic|DAEMONS}}。要将它放在DM(显示管理器)之前(若是通过此配置运行DM)并且'''不要'''在后台运行(不能在其前添加@符号)。}}<br />
<br />
{{注意|若使用'''你自己的编译标识'''导致此工具有问题 - 请将你的标识写入/usr/bin/catalyst_build_module文件。}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
在'''Catalyst 11.1'''中,很可能是添加了三重缓存和v-sync,''Tear Free Desktop''减少了2D,3D视频应用的屏幕撕裂毛病。但这需要额外的GPU处理。<br />
<br />
要启用'Tear Free Desktop',运行{{ic|amdcccle}},然后设置{{ic|Display Options}} → {{ic|Tear Free}}。<br />
<br />
或以root身份运行:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
若禁用,使用{{ic|amdcccle}}或以root身份运行:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== 视频加速 ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)'''是为基于Linux/UNIX操作系统提供利用GPU加速视频处理的一个开源函数库和应用程序接口规范。启用视频加速后,通过各种入口(VLD, IDCT, Motion Compensation, deblocking)它能加速常用编码标准(MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3)视频文件的解码过程(俗称硬解)。<br />
<br />
VA-API在{{AUR|xvba-video}}上有一个私有后端(2009年10月), 它允许使用VA-API的程序通过[http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)]函数库来充分利用拥有uvd2(第二代通用视频解码单元)芯片组的视频加速功能.<br />
<br />
xvba-video和支持XvBA的软件仍还在开发,'''但在大多数情况下它都能很好的工作'''. 通过AUR构建或直接通过[community]安装{{AUR|xvba-video}}包,并安装{{Pkg|mplayer-vaapi}} and {{Pkg|libva}}。然后将视频播放器的视频输出设置为vaapi:gl:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
此选项可添加到mplayer的配置文件,参考[[MPlayer]]。<br />
<br />
针对 '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{注意|如果启用了Tear Free Desktop,则按下列步骤:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
若视频输出中没有'''vaapi:gl'''选项 - 可使用:<br />
'''vaapi''', '''vaapi:gl2''' or 简单的 '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
针对 '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
它有助于在'''amdcccle'''中启用v-sync:<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{注意|若使用'''Compiz/KWin''',消除'''画面抖动'''的唯一方法就是切换至'''全屏'''并且 '''关闭Redirected Fullscreen'''。<br />
<br />
使用'''compiz''',需在ccsm的General Options中设置'''Redirected Direct Rendering'''。若此举无效,则将其关闭。'''KWin'''默认关闭此功能,若出现画面抖动则通过System Settings → Desktop Effects → Advanced将"Suspend desktop effects for fullscreen windows"开启或关闭。}}<br />
<br />
=== GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities ===<br />
<br />
You can get the GPU/Mem clocks with: {{ic|$ aticonfig --od-getclocks}}.<br />
<br />
You can get the fan speed with: {{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}<br />
<br />
You can get the temperature with: {{ic|$ aticonfig --odgt}}<br />
<br />
To set the fanspeed with: {{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}} Query Index: 50, Speed in percent<br />
<br />
To overclock and/or underclock it's easier to use a GUI, like '''ATi Overclocking Utility''', which is very simple and requires qt to work.<br />
<br />
The i686 version is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here], while the x86_64 is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]. Just download it and run.<br />
<br />
An other, more complex utility to perform such operations is '''AMDOverdriveCtrl'''. Its homepage is [http://sourceforge.net/projects/amdovdrvctrl here] and you can build an Arch package from [https://aur.archlinux.org/packages.php?ID=45298 AUR] or from Vi0L0's unofficial repositories.<br />
<br />
=== Double Screen (Dual Head / Dual Screen / Xinerama) ===<br />
<br />
==== Introduction ====<br />
<br />
{{Warning| you should know that there isn't one specific solution because each setup differs and needs its own configuration. That's why you will have to adapt the steps below to your own needs. It is possible that you have to try more than once. '''Therefore, you should save your working {{ic|/etc/X11/xorg.conf}} before you start modifying and you must be able to recover from a command-line environment.'''}}<br />
<br />
* In this chapter, we will describe the installation of two different-sized screens on only one graphics card with two different output ports (DVI + HDMI) using a "BIG Desktop" configuration.<br />
<br />
* The Xinerama solution has some inconveniences, especially because it is not compatible with XrandR. For that very reason, you should not use this solution, because XrandR is a must for our later configuration.<br />
<br />
* The Dual Head solution would allow you to have 2 different sessions (one for each screen). It could be what you want, but you will not be able to move windows from one screen to another. If you have only one screen, you will have to define the mouse inside your Xorg session for each of the two sessions inside the Server Layout section.<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
The GUI tool shipped by ATI is very useful and we will try to use it as much as we can. To launch it, open a terminal and use the following command:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{Warning|Do '''not''' use sudo directly with a GUI. Sudo gives you admin rights with user account information. Instead, use ''gksu'' (GNOME) or ''kdesu'' (KDE).}}<br />
<br />
==== Installation ====<br />
<br />
Before we start, make sure that your hardware is plugged in correctly, that power is on and that you know your hardware characteristics (screen dimensions, sizes, refreshment rates, etc.) Normally, both screens are recognized during boot time but not necessarily identified properly, especially if you are not using any Xorg base configuration file ({{ic|/etc/X11/xorg.conf}}) but relying on the hot-plugging feature.<br />
<br />
The first step is to make sure that you screens will be recognized by your DE and by X. For this, you need to generate a basic Xorg configuration file for your two screens:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
or<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{Note|{{ic|overlay}} is important because it allows you to have 1 pixel (or more) shared between the 2 screens.}}<br />
{{Tip|For the other possible and available options, do not hesitate to type {{ic|aticonfig --help}} inside a terminal to display all available command lines.}}<br />
<br />
Now you should have a basic Xorg configuration file that you can edit to add your screen resolutions. It is important to use the precise resolution, especially if you have screens of different sizes. These resolutions have to be added in the "Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
From now on, instead of editing the {{ic|xorg.conf}} file manually, let us use the ATI GUI tool. Restart X to be sure that your two screens are properly supported and that the resolutions are properly recognized (Screens must be independent, not mirrored).<br />
<br />
==== Configuration ====<br />
<br />
Now you will only have to launch the ATI control center with root privileges, go to the display menu and choose how you would like to set your configuration (small arrow of the drop down menu). A last restart of X and you should be done!<br />
<br />
Before you restart X, do not hesitate to verify your new {{ic|xorg.conf}} file. At this stage, inside the "Display" sub-section of the "Screen" section, you should see a "Virtual" command line, of which the resolution should be the sum of both screens. The "Server Layout" section says all the rest.<br />
<br />
== Troubleshooting ==<br />
<br />
If you can still boot to command-line, then the problem probably lies in {{ic|/etc/X11/xorg.conf}}<br />
<br />
You can parse the whole {{ic|/var/log/Xorg.0.log}} or, for clues:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
If you are at lost of what to do, you can always post a message in the see [http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]. When you do so, please do provide the information you get from both commands mentioned above.<br />
<br />
=== 3D Wine applications freeze ===<br />
If you use a 3D Wine application and it hangs, you have to disable TLS. To do this, either use {{ic|aticonfig}} or edit {{ic|/etc/X11/xorg.conf}}. To use {{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
Or, to edit {{ic|/etc/X11/xorg.conf}}; first open the file in an editor as root and then add {{ic|Option "UseFastTLS" "off"}} to the ''Device'' section of this file. <br />
<br />
After applying either of the solutions, restart X for it to take effect.<br />
<br />
=== Problems with video colours ===<br />
<br />
You may still use {{ic|vaapi:gl}} to avoid video flickering, but without video acceleration:<br />
<br />
* Run '''mplayer''' without {{ic|-vo vaapi}} switch.<br />
<br />
* Run '''smplayer''' remove {{ic|-vo vaapi}} from Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
<br />
Plus for '''smplayer''' you may now safely turn screenshots on.<br />
<br />
=== KWin and composite ===<br />
<br />
You may use XRender if the rendering with OpenGL is slow. However, XRender might also be slower than OpenGL depending on your card.<br />
XRender also solves artifact issues in some cases.<br />
<br />
=== Black screen with complete lockups and/or hangs after reboot or startx ===<br />
<br />
Ensure you have added the '''nomodeset''' option to the kernel options line in your bootloader (see [[#Disable kernel mode setting]]).<br />
<br />
==== Faulty ACPI hardware calls ====<br />
It is possible that fglrx doesn't cooperate well with the system's ACPI hardware calls, so it auto-disables itself and there is no screen output.<br />
<br />
If so, try to run this:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== KDM disappears after logout ===<br />
<br />
If you are running Catalyst proprietary driver and you get a console (tty1) instead of the expected KDM greeting when you log out, you must instruct KDM to restart the X server after each logout:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
Uncomment the following line under the section titled {{ic|[X-:*-Core]}}:<br />
<br />
TerminateServer=True<br />
<br />
KDM should now appear when you log out of KDE.<br />
<br />
=== Direct Rendering does not work ===<br />
<br />
This problem may occur when using the proprietary '''Catalyst''' driver.<br />
<br />
{{Warning|This error would also appear if you have not '''rebooted''' your system after the installation or upgrade of catalyst. The system needs to load the fglrx.ko module in order to make the driver work.}}<br />
<br />
If you have problem with direct rendering, run:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
at the command prompt. At the very start of the output, it'll usually give you a nice error message saying why you do not have direct rendering.<br />
<br />
Common errors and their solutions, are:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* Ensure that you are loading the correct agp modules for your AGP chipset before you load the fglrx kernel module. To determine which agp modules you'll need, run {{ic|hwdetect --show-agp}}, then ensure that all modules listed from that command are in the {{ic|1=MODULES=}} array in rc.conf, '''before''' fglrx if using SysVinit, otherwise open your {{ic|fglrx.conf}} file in {{ic|/etc/modules-load.d}} and add the agp module on a line '''before''' the fglrx line.<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* Something has not been installed correctly. If the paths in the error message are {{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}}, then ensure you've logged completely out of your system, then back in. If you're using a graphical login manager (gdm, kdm, xdm), ensure that {{ic|/etc/profile}} is sourced every time you log in. This is usually accomplished by adding {{ic|source /etc/profile}} into {{ic|~/.xsession}} or {{ic|~/.xinitrc}}, but this may vary between login managers.<br />
<br />
* If the paths above in your error message ''are'' {{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}}, then something has not been correctly installed. Try reinstalling the {{ic|catalyst}} package.<br />
<br />
Errors such as:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
could be caused by having multiple versions of {{ic|libGL.so}} on your system. Run:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
This should return the following output:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
These are the only three libGL.so files you should have on your system. If you have any more (e.g. {{ic|/usr/X11R6/lib/libGL.so.1.2}}), then remove them. This should fix your problem.<br />
<br />
You might not get any error to indicate that this is a problem. If you are using X11R7, make sure you do '''not''' have these files on your system:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== Hibernate/Sleep Issues ===<br />
<br />
==== Video fails to resume from suspend2ram ====<br />
<br />
ATI's proprietary Catalyst driver cannot resume from suspend if the framebuffer is enabled. To disable the framebuffer, add '''vga=0''' to your kernel options in for example, Grub Legacy's {{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
To see where you need to add this with other bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== System Freezes/Hard locks ===<br />
<br />
* The {{ic|radeonfb}} framebuffer drivers have been known in the past to cause problems of this nature. If your kernel has radeonfb support compiled in, you may want to try a different kernel and see if this helps.<br />
<br />
* If you experience system freezes when exiting your DE (shut down, suspend, switching to tty etc.) you probably forgot to deactivate KMS. (See [[#Disable kernel mode setting]])<br />
<br />
=== Hardware Conflicts ===<br />
<br />
Radeon cards used in conjunction with some versions of the nForce3 chipset (e.g. nForce 3 250Gb) won't have 3D acceleration. Currently the cause of this issue is unknown, but some sources indicate that it may be possible to get acceleration with this combination of hardware by booting Windows with the drivers from nVIDIA and then rebooting the system. This can be verified by issuing in a root console the following command:<br />
<br />
$ dmesg | grep agp<br />
<br />
If you get something similar to this (using an nForce3-based system):<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
and also if issuing this command...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...gets something similar to:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
Then you have this bug.<br />
<br />
Some sources indicate that in some situations, downgrading the motherboard BIOS may help, but this cannot be verified in all cases. Also, '''a bad BIOS downgrade can render your hardware useless, so beware.'''<br />
<br />
See [http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport] for more information and a potential fix.<br />
<br />
=== Temporary hangs when playing video ===<br />
<br />
This problem may occur when using the proprietary Catalyst.<br />
<br />
If you experience temporary hangs lasting from a few seconds to several minutes occuring randomly during playback with mplayer, check /var/log/messages.log for output like:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
Adding the nopat kernel option to your kernel options in your bootloader and rebooting fixed the problem at least for me. To see how to do this for different bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
If when running<br />
<br />
# sudo aticonfig --initial<br />
<br />
you get:<br />
<br />
aticonfig: No supported adaptaters detected<br />
<br />
But you do have an AMD GPU (or APU), it may still be possible to get Catalyst working by manually setting the device in your your {{ic|etc/X11/xorg.conf}} file.<br />
<br />
You can do so by setting the device section of {{ic|/etc/X11/xorg.conf}} to:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
Where ''****'' should be replaced with your device's marketing number (e.g. 6870 for the HD 6870 and 6310 for the E-350 APU).<br />
<br />
Xorg will start and it is possible to use {{ic|amdcccle}} instead of {{ic|aticonfig}}. There will be an "AMD Unsupported hardware" watermark.<br />
<br />
You can remove this watermark using the following script:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
<br />
and rebooting.<br />
<br />
=== WebGL support in Chromium ===<br />
<br />
Google has blacklisted Linux's Catalyst driver from supporting webGL in their Chromium/Chrome browsers.<br />
<br />
You can turn webGL on by editing {{ic|/usr/share/applications/chromium.desktop}} file and adding {{ic|--ignore-gpu-blacklist}} flag into the '''Exec''' line so it looks like this:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
You can also run chromium from console with the same {{ic|--ignore-gpu-blacklist}} flag:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{Warning|Catalyst does not support the GL_ARB_robustness extension, so it is possible that a malicious site could use WebGL to perform a DoS attack on your graphic card. For more info, read [http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== Laggs/freezes when watching flash videos via Adobe's flashplugin ===<br />
<br />
Edit {{ic|/etc/adobe/mms.cfg}} and make it look like this:<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== Laggs/slow windows movement in GNOME3 ===<br />
<br />
You can try this solution out, it's working for many people.<br />
<br />
Add this line into {{ic|~/.profile}} or into {{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
Restart X server or reboot your system.<br />
<br />
=== Not using fullscreen in the 1920x1080 resolution ===<br />
<br />
The ATI has scaling by default add this to your xorg.conf<br />
<br />
Option "DPMS" "true"<br />
<br />
On the Monitor section, as full example would look like this<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=229851AMD Catalyst (简体中文)2012-10-20T08:40:26Z<p>Micy1985: </p>
<hr />
<div>[[Category:Graphics (简体中文)]]<br />
[[Category:X Server (简体中文)]]<br />
{{TranslationStatus (简体中文)|AMD_Catalyst|2012-10-19|229195}}<br />
"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs完全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx 显卡驱动分开开发,因此在你选择何种安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用普通Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的普通Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上面对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败和丢失Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make脚本, 最好换一名称保存。否则将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
通过访问{{ic|/etc/ati/amdpcsdb}}文件它几乎能配置显卡的各项参数。了解完整的配置选项{{ic|aticonfig}}可运行:<br />
<br />
# aticonfig --help | less<br />
<br />
{{警告|在将各项配置参数提交到/etc/X11/xorg.conf之前使用--output选项,/etc/X11/xorg.conf.d中的所有内容都会被覆盖。}}<br />
<br />
{{注意|如果坚持使用xorg.conf.d下的新配置文件:为了让Device section与{{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}相匹配,在{{ic|aticonfig}}后追加''--output''。但这有一个缺点,很多依赖xorg.conf的{{ic|aticonfig}}选项都无法使用。}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,但不同Xorg版本的默认参数可能会有所不同,最好明确指定一些参数.<br />
<br />
给一个示例配置 (注意) '''仅供参考'''. 标'#'必须有,标'##'很可能会用到:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{注意|一旦升级Catalyst就要通过后面的方法删除'''amdpcsdb'''文件: 关闭X,删除{{ic|/etc/ati/amdpcsdb}},启动X然后运行{{ic|amdcccle}} -否则amdcccle将会显示错误的Catalyst版本号}}<br />
<br />
''更多信息参考[http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== 启动时加载模块 ====<br />
不同的初始化系统(SysVinit和systemd)的设置方式不一样,但无论哪一种,都得在{{ic|/etc/modprobe.d/modprobe.conf}}禁用''radeon''。具体可参见[[Modprobe|blacklisting in this article]]. '''通过Arch官方安装Catalyst则无需此步骤,安装包会自动处理'''。<br />
<br />
{{注意|强烈推荐使用systemd进行系统初始化,因为最新Arch安装镜像已默认使用systemd,通过rc.conf设置系统启动服务迟早会遭淘汰}}。<br />
<br />
===== 在使用systemd上 =====<br />
* 删除{{ic|/etc/modules-load.d/}}下任何名称包含{{ic|radeon}}的文件若该文件中含有其他多个模块,则只删除radeon)。<br />
* 在{{ic|/etc/modules-load.d/}}的现有文件中添加{{ic|fglrx}}或新建含有该行的文件。<br />
<br />
===== 在使用SysVinit上 =====<br />
编辑{{ic|/etc/rc.conf}}:<br />
* 自MODULES中删除{{ic|radeon}}。<br />
* 在MODULES中添加 {{ic|fglrx}}。<br />
<br />
{{注意|若使用AGP接口的显卡还需添加''agp''。}}<br />
<br />
==== 禁用KMS ====<br />
<br />
由于Catalyst根本不使用[[KMS]],得将其禁用。否则,当系统切换至tyy或在桌面环境下关机时,系统可能会冻结。<br />
<br />
若使用[[GRUB Legacy|GRUB Legacy]],在{{ic|menu.lst}}添加{{ic|nomodeset}}给内核参数,如:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
若使用[[GRUB2|GRUB 2]],在{{ic|/etc/default/grub}}添加''nomodeset''给内核参数,如:<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
然后以root身份运行;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
若使用[[Syslinux|Syslinux]],在{{ic|/boot/syslinux/syslinux.cfg}}添加''nomodeset''到{{ic|APPEND}}行,如:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== 检查安装是否成功 ====<br />
<br />
重启电脑并登录, 运行下列命令可查看fglrx是否正确运行:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
若两者均有输出, 安装成功。进行桌面环境并运行以下命令检查直接渲染模式是否启用:<br />
<br />
$ glxinfo | grep direct<br />
<br />
若显示"direct rendering: yes",恭喜你,到位了! 若无glxinfo命令,安装{{Pkg|mesa-demos}} package。<br />
<br />
{{警告|最近几版Xorg,库函数路径变了,因此即使安装{{ic|libGL.so}}也不一定能正确人加载。请检查GL是否工作,可阅读"Troubleshooting"段落}}<br />
<br />
若有问题,参阅[[#Troubleshooting]].<br />
<br />
=== 自我编译内核 ===<br />
<br />
在手动编译的内核上,你必须构建你自己{{ic|catalyst-$kernel}}包.<br />
<br />
如果你讨厌打包或毫无经验,可先阅读[[ABS]]。<br />
<br />
#从[[AUR|Catalyst]]上获取{{ic|PKGBUILD}} 和 {{ic|catalyst.install}}文件。<br />
# 编辑PKGBUILD. 两个地方需要修改:<br />
## 将{{ic|1=pkgname=catalyst}} 修改为 {{ic|1=pkgname=catalyst-$kernel_name}},$kernel_name可以随意取(如:custom, mm)。<br />
## 将{{ic|linux}}的依赖修改为{{ic|$kernel_name}}。<br />
# 构建并安装软件包;运行{{ic|makepkg -i}} 和 {{ic|makepkg}},接着运行 {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{注意|如果在安装有多内核的系统上,你必须为所有内核安装Catalyst-utils包。这不会引起冲突}}<br />
<br />
{{注意|Catalyst-generator能为你自动构建catalyst-{kernver},因此这些步骤根本就可省略。 请参考[[#Tools| Tools section]].}}<br />
<br />
== Xorg软件库 ==<br />
Catalyst由于其缓慢的更新而被人大为诟病。因升级Xorg而造成两者不兼容是稀松平常的事。也就意味着Catalyst用户要么不升级Xorg要么使用一个只包含Xorg包的回溯软件库,该库中不提供更新版Xorg以确保兼容性。 Vi0L0提供好几个这样的库. <br />
<br />
若想让pacman更新其他软件而不更新Xorg,查看[[pacman|skip package from being upgraded]]。不更新的软件是:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
若要使用这类软件库,在{{ic|/etc/pacman.conf}}的所有库(甚至Catalyst)前面添加下面中的一个 。<br />
<br />
===[xorg112]===<br />
截止目前,当前Catalyst 不支持1.13。<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
低于 12.6的Catalyst不支持xorg-server 1.12。<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== 工具 ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook]是一个针对[[mkinitcpio|mkinitcpio]]的钩子。'''跟 catalyst-dkms一样''',每当内核更新时,它会自动升级fglrx模块。在更新fglrx之前,它会尝试更新{{Pkg|linux-headers}}。<br />
<br />
当更新内核时,钩子会调用''catalyst_build_module''命令来更新fglrx模块以使两者相匹配。此外,它还可调用''catalyst_build_module remove''来删除不需要的旧flgrx模块<br />
<br />
{{注意|若使用此功能,'''一定要''' 关注的内核的安装提示,Catalyst-hook会显示是否一切顺利。}}<br />
<br />
{{注意|若是'''自编译内核'''且使用'''非标准的mkinitcpio配置文件'''(如:linux-zen使用/etc/mkinitcpio-zen.conf),那必须在你非标准的配置文件中添加'''fglrx'''至 HOOKS行,以便当内核更新时能自动重新编译。}}<br />
<br />
{{注意|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator]包能构建并安装fglrx模块,该模块与pacman兼容 的catalyst-${内核版本}相适应。与Catalyst-hook的区别是必须手动使用此命令,而Catalyst-hook则不需。<br />
<br />
通过[[makepkg]],它能构建catalyst-${内核版本}二进制包并用[[pacman]]安装。<br />
<br />
非特权用户使用{{ic|catalyst_build_module}}来构建并安装catalyst-${内核版本}包。安装时会提示输入root密码。<br />
<br />
简单说一下如何使用此包:<br />
<br />
# root用户: 使用{{ic|catalyst_build_module remove}}。此举会删除无用的{{ic|catalyst-{kernver} }}包。<br />
# 非特权用户: 使用{{ic|catalyst_build_module ${内核版本}}}, ${内核版本}是指升级过后的内核版本。也可通过{{ic|catalyst_build_module all}}为所有安装的内核构建catalyst-${内核版本}。<br />
# 若要删除{{ic|catalyst-generator}}, 在使用{{ic|catalyst_build_module remove_all}}命令删除catalyst-generator之前最好切换到root用户,'''这会删除得极为彻底。'''<br />
<br />
当删除Catalyst-generator时,Catalyst-generator不能自动删除那些catalyst-{内核版本}包,这是因为pacman不允许有一个以上的实例同时运行。若在使用{{ic|pacman -R catalyst-generator}}前忘记运行{{ic|catalyst_build_module remove_all}}, catalyst-generator将会询问删除catalyst-generator自身后要删除哪个catalyst-{内核版本}包。<br />
<br />
{{注意|在构建catalyst-{内核版本}时,若看到下列警告,乃正常情况,不必莫名惊诧:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension}}<br />
<br />
=== Catalyst-daemon ===<br />
{{警告|由于systemd与普通initscript daemons不兼容,所以systemd用户不能使用此工具。}}<br />
<br />
每次启动时,[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon]守护进程会检查内核是否更新过。若更新过,它会重建fglrx模块;若没有,则加载前次构建的模块。在2.4 GHz CPU电脑上,整个过程只需20ms。<br />
<br />
Catalyst-daemon的自动重新编译功能是通过一个叫''autofglrx''的初始化脚本实现的。Autofglrx的检查方式为比较启动内核(由{{ic|uname -v}}提供)和使用当前fglrx模块内核的构建时间。之所以能这样比较,是因为编译时,它将{{ic|uname -v}}的信息添加到fglrx模块描述里。<br />
<br />
重构过程中,autofglrx会调用''catalyst_build_module''构建模块,调用''catalyst_build_module remove''删除老旧无用的fglrx模块。运行后,它并不会一直驻留在系统内存。<br />
<br />
{{注意|安装autofglrx后,在{{ic|/etc/rc.conf}}将{{ic|autofglrx}}添加到{{ic|DAEMONS}}。要将它放在DM(显示管理器)之前(若是通过此配置运行DM)并且'''不要'''在后台运行(不能在其前添加@符号)。}}<br />
<br />
{{注意|若使用'''你自己的编译标识'''导致此工具有问题 - 请将你的标识写入/usr/bin/catalyst_build_module文件。}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
在'''Catalyst 11.1'''中,很可能是添加了三重缓存和v-sync,''Tear Free Desktop''减少了2D,3D视频应用的屏幕撕裂毛病。但这需要额外的GPU处理。<br />
<br />
要启用'Tear Free Desktop',运行{{ic|amdcccle}},然后设置{{ic|Display Options}} → {{ic|Tear Free}}。<br />
<br />
或以root身份运行:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
若禁用,使用{{ic|amdcccle}}或以root身份运行:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== 视频加速 ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)'''是为基于Linux/UNIX操作系统提供利用GPU加速视频处理的一个开源函数库和应用程序接口规范。启用视频加速后,通过各种入口(VLD, IDCT, Motion Compensation, deblocking)它能加速常用编码标准(MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3)视频文件的解码过程(俗称硬解)。<br />
<br />
VA-API在{{AUR|xvba-video}}上有一个私有后端(2009年10月), 它允许使用VA-API的程序通过[http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)]函数库来充分利用拥有uvd2(第二代通用视频解码单元)芯片组的视频加速功能.<br />
<br />
xvba-video和支持XvBA的软件仍还在开发,'''但在大多数情况下它都能很好的工作'''. 通过AUR构建或直接通过[community]安装{{AUR|xvba-video}}包,并安装{{Pkg|mplayer-vaapi}} and {{Pkg|libva}}。然后将视频播放器的视频输出设置为vaapi:gl:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
此选项可添加到mplayer的配置文件,参考[[MPlayer]]。<br />
<br />
针对 '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{注意|如果启用了Tear Free Desktop,则按下列步骤:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
若视频输出中没有'''vaapi:gl'''选项 - 可使用:<br />
'''vaapi''', '''vaapi:gl2''' or 简单的 '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
针对 '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
它有助于在'''amdcccle'''中雇用v-sync:<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{注意|若使用'''Compiz/KWin''',消除'''画面抖动'''的唯一方法就是切换至'''全屏'''并且 '''关闭Redirected Fullscreen'''。<br />
<br />
使用'''compiz''',需在ccsm的General Options中设置'''Redirected Direct Rendering'''。若此举无效,则将其关闭。'''KWin'''默认关闭此功能,若出现画面抖动则通过System Settings → Desktop Effects → Advanced将"Suspend desktop effects for fullscreen windows"开启或关闭。}}<br />
<br />
=== GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities ===<br />
<br />
You can get the GPU/Mem clocks with: {{ic|$ aticonfig --od-getclocks}}.<br />
<br />
You can get the fan speed with: {{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}<br />
<br />
You can get the temperature with: {{ic|$ aticonfig --odgt}}<br />
<br />
To set the fanspeed with: {{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}} Query Index: 50, Speed in percent<br />
<br />
To overclock and/or underclock it's easier to use a GUI, like '''ATi Overclocking Utility''', which is very simple and requires qt to work.<br />
<br />
The i686 version is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here], while the x86_64 is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]. Just download it and run.<br />
<br />
An other, more complex utility to perform such operations is '''AMDOverdriveCtrl'''. Its homepage is [http://sourceforge.net/projects/amdovdrvctrl here] and you can build an Arch package from [https://aur.archlinux.org/packages.php?ID=45298 AUR] or from Vi0L0's unofficial repositories.<br />
<br />
=== Double Screen (Dual Head / Dual Screen / Xinerama) ===<br />
<br />
==== Introduction ====<br />
<br />
{{Warning| you should know that there isn't one specific solution because each setup differs and needs its own configuration. That's why you will have to adapt the steps below to your own needs. It is possible that you have to try more than once. '''Therefore, you should save your working {{ic|/etc/X11/xorg.conf}} before you start modifying and you must be able to recover from a command-line environment.'''}}<br />
<br />
* In this chapter, we will describe the installation of two different-sized screens on only one graphics card with two different output ports (DVI + HDMI) using a "BIG Desktop" configuration.<br />
<br />
* The Xinerama solution has some inconveniences, especially because it is not compatible with XrandR. For that very reason, you should not use this solution, because XrandR is a must for our later configuration.<br />
<br />
* The Dual Head solution would allow you to have 2 different sessions (one for each screen). It could be what you want, but you will not be able to move windows from one screen to another. If you have only one screen, you will have to define the mouse inside your Xorg session for each of the two sessions inside the Server Layout section.<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
The GUI tool shipped by ATI is very useful and we will try to use it as much as we can. To launch it, open a terminal and use the following command:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{Warning|Do '''not''' use sudo directly with a GUI. Sudo gives you admin rights with user account information. Instead, use ''gksu'' (GNOME) or ''kdesu'' (KDE).}}<br />
<br />
==== Installation ====<br />
<br />
Before we start, make sure that your hardware is plugged in correctly, that power is on and that you know your hardware characteristics (screen dimensions, sizes, refreshment rates, etc.) Normally, both screens are recognized during boot time but not necessarily identified properly, especially if you are not using any Xorg base configuration file ({{ic|/etc/X11/xorg.conf}}) but relying on the hot-plugging feature.<br />
<br />
The first step is to make sure that you screens will be recognized by your DE and by X. For this, you need to generate a basic Xorg configuration file for your two screens:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
or<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{Note|{{ic|overlay}} is important because it allows you to have 1 pixel (or more) shared between the 2 screens.}}<br />
{{Tip|For the other possible and available options, do not hesitate to type {{ic|aticonfig --help}} inside a terminal to display all available command lines.}}<br />
<br />
Now you should have a basic Xorg configuration file that you can edit to add your screen resolutions. It is important to use the precise resolution, especially if you have screens of different sizes. These resolutions have to be added in the "Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
From now on, instead of editing the {{ic|xorg.conf}} file manually, let us use the ATI GUI tool. Restart X to be sure that your two screens are properly supported and that the resolutions are properly recognized (Screens must be independent, not mirrored).<br />
<br />
==== Configuration ====<br />
<br />
Now you will only have to launch the ATI control center with root privileges, go to the display menu and choose how you would like to set your configuration (small arrow of the drop down menu). A last restart of X and you should be done!<br />
<br />
Before you restart X, do not hesitate to verify your new {{ic|xorg.conf}} file. At this stage, inside the "Display" sub-section of the "Screen" section, you should see a "Virtual" command line, of which the resolution should be the sum of both screens. The "Server Layout" section says all the rest.<br />
<br />
== Troubleshooting ==<br />
<br />
If you can still boot to command-line, then the problem probably lies in {{ic|/etc/X11/xorg.conf}}<br />
<br />
You can parse the whole {{ic|/var/log/Xorg.0.log}} or, for clues:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
If you are at lost of what to do, you can always post a message in the see [http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]. When you do so, please do provide the information you get from both commands mentioned above.<br />
<br />
=== 3D Wine applications freeze ===<br />
If you use a 3D Wine application and it hangs, you have to disable TLS. To do this, either use {{ic|aticonfig}} or edit {{ic|/etc/X11/xorg.conf}}. To use {{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
Or, to edit {{ic|/etc/X11/xorg.conf}}; first open the file in an editor as root and then add {{ic|Option "UseFastTLS" "off"}} to the ''Device'' section of this file. <br />
<br />
After applying either of the solutions, restart X for it to take effect.<br />
<br />
=== Problems with video colours ===<br />
<br />
You may still use {{ic|vaapi:gl}} to avoid video flickering, but without video acceleration:<br />
<br />
* Run '''mplayer''' without {{ic|-vo vaapi}} switch.<br />
<br />
* Run '''smplayer''' remove {{ic|-vo vaapi}} from Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
<br />
Plus for '''smplayer''' you may now safely turn screenshots on.<br />
<br />
=== KWin and composite ===<br />
<br />
You may use XRender if the rendering with OpenGL is slow. However, XRender might also be slower than OpenGL depending on your card.<br />
XRender also solves artifact issues in some cases.<br />
<br />
=== Black screen with complete lockups and/or hangs after reboot or startx ===<br />
<br />
Ensure you have added the '''nomodeset''' option to the kernel options line in your bootloader (see [[#Disable kernel mode setting]]).<br />
<br />
==== Faulty ACPI hardware calls ====<br />
It is possible that fglrx doesn't cooperate well with the system's ACPI hardware calls, so it auto-disables itself and there is no screen output.<br />
<br />
If so, try to run this:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== KDM disappears after logout ===<br />
<br />
If you are running Catalyst proprietary driver and you get a console (tty1) instead of the expected KDM greeting when you log out, you must instruct KDM to restart the X server after each logout:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
Uncomment the following line under the section titled {{ic|[X-:*-Core]}}:<br />
<br />
TerminateServer=True<br />
<br />
KDM should now appear when you log out of KDE.<br />
<br />
=== Direct Rendering does not work ===<br />
<br />
This problem may occur when using the proprietary '''Catalyst''' driver.<br />
<br />
{{Warning|This error would also appear if you have not '''rebooted''' your system after the installation or upgrade of catalyst. The system needs to load the fglrx.ko module in order to make the driver work.}}<br />
<br />
If you have problem with direct rendering, run:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
at the command prompt. At the very start of the output, it'll usually give you a nice error message saying why you do not have direct rendering.<br />
<br />
Common errors and their solutions, are:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* Ensure that you are loading the correct agp modules for your AGP chipset before you load the fglrx kernel module. To determine which agp modules you'll need, run {{ic|hwdetect --show-agp}}, then ensure that all modules listed from that command are in the {{ic|1=MODULES=}} array in rc.conf, '''before''' fglrx if using SysVinit, otherwise open your {{ic|fglrx.conf}} file in {{ic|/etc/modules-load.d}} and add the agp module on a line '''before''' the fglrx line.<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* Something has not been installed correctly. If the paths in the error message are {{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}}, then ensure you've logged completely out of your system, then back in. If you're using a graphical login manager (gdm, kdm, xdm), ensure that {{ic|/etc/profile}} is sourced every time you log in. This is usually accomplished by adding {{ic|source /etc/profile}} into {{ic|~/.xsession}} or {{ic|~/.xinitrc}}, but this may vary between login managers.<br />
<br />
* If the paths above in your error message ''are'' {{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}}, then something has not been correctly installed. Try reinstalling the {{ic|catalyst}} package.<br />
<br />
Errors such as:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
could be caused by having multiple versions of {{ic|libGL.so}} on your system. Run:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
This should return the following output:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
These are the only three libGL.so files you should have on your system. If you have any more (e.g. {{ic|/usr/X11R6/lib/libGL.so.1.2}}), then remove them. This should fix your problem.<br />
<br />
You might not get any error to indicate that this is a problem. If you are using X11R7, make sure you do '''not''' have these files on your system:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== Hibernate/Sleep Issues ===<br />
<br />
==== Video fails to resume from suspend2ram ====<br />
<br />
ATI's proprietary Catalyst driver cannot resume from suspend if the framebuffer is enabled. To disable the framebuffer, add '''vga=0''' to your kernel options in for example, Grub Legacy's {{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
To see where you need to add this with other bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== System Freezes/Hard locks ===<br />
<br />
* The {{ic|radeonfb}} framebuffer drivers have been known in the past to cause problems of this nature. If your kernel has radeonfb support compiled in, you may want to try a different kernel and see if this helps.<br />
<br />
* If you experience system freezes when exiting your DE (shut down, suspend, switching to tty etc.) you probably forgot to deactivate KMS. (See [[#Disable kernel mode setting]])<br />
<br />
=== Hardware Conflicts ===<br />
<br />
Radeon cards used in conjunction with some versions of the nForce3 chipset (e.g. nForce 3 250Gb) won't have 3D acceleration. Currently the cause of this issue is unknown, but some sources indicate that it may be possible to get acceleration with this combination of hardware by booting Windows with the drivers from nVIDIA and then rebooting the system. This can be verified by issuing in a root console the following command:<br />
<br />
$ dmesg | grep agp<br />
<br />
If you get something similar to this (using an nForce3-based system):<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
and also if issuing this command...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...gets something similar to:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
Then you have this bug.<br />
<br />
Some sources indicate that in some situations, downgrading the motherboard BIOS may help, but this cannot be verified in all cases. Also, '''a bad BIOS downgrade can render your hardware useless, so beware.'''<br />
<br />
See [http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport] for more information and a potential fix.<br />
<br />
=== Temporary hangs when playing video ===<br />
<br />
This problem may occur when using the proprietary Catalyst.<br />
<br />
If you experience temporary hangs lasting from a few seconds to several minutes occuring randomly during playback with mplayer, check /var/log/messages.log for output like:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
Adding the nopat kernel option to your kernel options in your bootloader and rebooting fixed the problem at least for me. To see how to do this for different bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
If when running<br />
<br />
# sudo aticonfig --initial<br />
<br />
you get:<br />
<br />
aticonfig: No supported adaptaters detected<br />
<br />
But you do have an AMD GPU (or APU), it may still be possible to get Catalyst working by manually setting the device in your your {{ic|etc/X11/xorg.conf}} file.<br />
<br />
You can do so by setting the device section of {{ic|/etc/X11/xorg.conf}} to:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
Where ''****'' should be replaced with your device's marketing number (e.g. 6870 for the HD 6870 and 6310 for the E-350 APU).<br />
<br />
Xorg will start and it is possible to use {{ic|amdcccle}} instead of {{ic|aticonfig}}. There will be an "AMD Unsupported hardware" watermark.<br />
<br />
You can remove this watermark using the following script:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
<br />
and rebooting.<br />
<br />
=== WebGL support in Chromium ===<br />
<br />
Google has blacklisted Linux's Catalyst driver from supporting webGL in their Chromium/Chrome browsers.<br />
<br />
You can turn webGL on by editing {{ic|/usr/share/applications/chromium.desktop}} file and adding {{ic|--ignore-gpu-blacklist}} flag into the '''Exec''' line so it looks like this:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
You can also run chromium from console with the same {{ic|--ignore-gpu-blacklist}} flag:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{Warning|Catalyst does not support the GL_ARB_robustness extension, so it is possible that a malicious site could use WebGL to perform a DoS attack on your graphic card. For more info, read [http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== Laggs/freezes when watching flash videos via Adobe's flashplugin ===<br />
<br />
Edit {{ic|/etc/adobe/mms.cfg}} and make it look like this:<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== Laggs/slow windows movement in GNOME3 ===<br />
<br />
You can try this solution out, it's working for many people.<br />
<br />
Add this line into {{ic|~/.profile}} or into {{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
Restart X server or reboot your system.<br />
<br />
=== Not using fullscreen in the 1920x1080 resolution ===<br />
<br />
The ATI has scaling by default add this to your xorg.conf<br />
<br />
Option "DPMS" "true"<br />
<br />
On the Monitor section, as full example would look like this<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=229847AMD Catalyst (简体中文)2012-10-20T07:31:28Z<p>Micy1985: /* Catalyst-daemon */</p>
<hr />
<div>[[Category:Graphics (简体中文)]]<br />
[[Category:X Server (简体中文)]]<br />
{{TranslationStatus (简体中文)|AMD_Catalyst|2012-10-19|229195}}<br />
"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs完全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx 显卡驱动分开开发,因此在你选择何种安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用普通Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的普通Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上面对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败和丢失Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make脚本, 最好换一名称保存。否则将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
通过访问{{ic|/etc/ati/amdpcsdb}}文件它几乎能配置显卡的各项参数。了解完整的配置选项{{ic|aticonfig}}可运行:<br />
<br />
# aticonfig --help | less<br />
<br />
{{警告|在将各项配置参数提交到/etc/X11/xorg.conf之前使用--output选项,/etc/X11/xorg.conf.d中的所有内容都会被覆盖。}}<br />
<br />
{{注意|如果坚持使用xorg.conf.d下的新配置文件:为了让Device section与{{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}相匹配,在{{ic|aticonfig}}后追加''--output''。但这有一个缺点,很多依赖xorg.conf的{{ic|aticonfig}}选项都无法使用。}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,但不同Xorg版本的默认参数可能会有所不同,最好明确指定一些参数.<br />
<br />
给一个示例配置 (注意) '''仅供参考'''. 标'#'必须有,标'##'很可能会用到:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{注意|一旦升级Catalyst就要通过后面的方法删除'''amdpcsdb'''文件: 关闭X,删除{{ic|/etc/ati/amdpcsdb}},启动X然后运行{{ic|amdcccle}} -否则amdcccle将会显示错误的Catalyst版本号}}<br />
<br />
''更多信息参考[http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== 启动时加载模块 ====<br />
不同的初始化系统(SysVinit和systemd)的设置方式不一样,但无论哪一种,都得在{{ic|/etc/modprobe.d/modprobe.conf}}禁用''radeon''。具体可参见[[Modprobe|blacklisting in this article]]. '''通过Arch官方安装Catalyst则无需此步骤,安装包会自动处理'''。<br />
<br />
{{注意|强烈推荐使用systemd进行系统初始化,因为最新Arch安装镜像已默认使用systemd,通过rc.conf设置系统启动服务迟早会遭淘汰}}。<br />
<br />
===== 在使用systemd上 =====<br />
* 删除{{ic|/etc/modules-load.d/}}下任何名称包含{{ic|radeon}}的文件若该文件中含有其他多个模块,则只删除radeon)。<br />
* 在{{ic|/etc/modules-load.d/}}的现有文件中添加{{ic|fglrx}}或新建含有该行的文件。<br />
<br />
===== 在使用SysVinit上 =====<br />
编辑{{ic|/etc/rc.conf}}:<br />
* 自MODULES中删除{{ic|radeon}}。<br />
* 在MODULES中添加 {{ic|fglrx}}。<br />
<br />
{{注意|若使用AGP接口的显卡还需添加''agp''。}}<br />
<br />
==== 禁用KMS ====<br />
<br />
由于Catalyst根本不使用[[KMS]],得将其禁用。否则,当系统切换至tyy或在桌面环境下关机时,系统可能会冻结。<br />
<br />
若使用[[GRUB Legacy|GRUB Legacy]],在{{ic|menu.lst}}添加{{ic|nomodeset}}给内核参数,如:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
若使用[[GRUB2|GRUB 2]],在{{ic|/etc/default/grub}}添加''nomodeset''给内核参数,如:<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
然后以root身份运行;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
若使用[[Syslinux|Syslinux]],在{{ic|/boot/syslinux/syslinux.cfg}}添加''nomodeset''到{{ic|APPEND}}行,如:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== 检查安装是否成功 ====<br />
<br />
重启电脑并登录, 运行下列命令可查看fglrx是否正确运行:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
若两者均有输出, 安装成功。进行桌面环境并运行以下命令检查直接渲染模式是否启用:<br />
<br />
$ glxinfo | grep direct<br />
<br />
若显示"direct rendering: yes",恭喜你,到位了! 若无glxinfo命令,安装{{Pkg|mesa-demos}} package。<br />
<br />
{{警告|最近几版Xorg,库函数路径变了,因此即使安装{{ic|libGL.so}}也不一定能正确人加载。请检查GL是否工作,可阅读"Troubleshooting"段落}}<br />
<br />
若有问题,参阅[[#Troubleshooting]].<br />
<br />
=== 自我编译内核 ===<br />
<br />
在手动编译的内核上,你必须构建你自己{{ic|catalyst-$kernel}}包.<br />
<br />
如果你讨厌打包或毫无经验,可先阅读[[ABS]]。<br />
<br />
#从[[AUR|Catalyst]]上获取{{ic|PKGBUILD}} 和 {{ic|catalyst.install}}文件。<br />
# 编辑PKGBUILD. 两个地方需要修改:<br />
## 将{{ic|1=pkgname=catalyst}} 修改为 {{ic|1=pkgname=catalyst-$kernel_name}},$kernel_name可以随意取(如:custom, mm)。<br />
## 将{{ic|linux}}的依赖修改为{{ic|$kernel_name}}。<br />
# 构建并安装软件包;运行{{ic|makepkg -i}} 和 {{ic|makepkg}},接着运行 {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{注意|如果在安装有多内核的系统上,你必须为所有内核安装Catalyst-utils包。这不会引起冲突}}<br />
<br />
{{注意|Catalyst-generator能为你自动构建catalyst-{kernver},因此这些步骤根本就可省略。 请参考[[#Tools| Tools section]].}}<br />
<br />
== Xorg软件库 ==<br />
Catalyst由于其缓慢的更新而被人大为诟病。因升级Xorg而造成两者不兼容是稀松平常的事。也就意味着Catalyst用户要么不升级Xorg要么使用一个只包含Xorg包的回溯软件库,该库中不提供更新版Xorg以确保兼容性。 Vi0L0提供好几个这样的库. <br />
<br />
若想让pacman更新其他软件而不更新Xorg,查看[[pacman|skip package from being upgraded]]。不更新的软件是:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
若要使用这类软件库,在{{ic|/etc/pacman.conf}}的所有库(甚至Catalyst)前面添加下面中的一个 。<br />
<br />
===[xorg112]===<br />
截止目前,当前Catalyst 不支持1.13。<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
低于 12.6的Catalyst不支持xorg-server 1.12。<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== 工具 ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook]是一个针对[[mkinitcpio|mkinitcpio]]的钩子。'''跟 catalyst-dkms一样''',每当内核更新时,它会自动升级fglrx模块。在更新fglrx之前,它会尝试更新{{Pkg|linux-headers}}。<br />
<br />
当更新内核时,钩子会调用''catalyst_build_module''命令来更新fglrx模块以使两者相匹配。此外,它还可调用''catalyst_build_module remove''来删除不需要的旧flgrx模块<br />
<br />
{{注意|若使用此功能,'''一定要''' 关注的内核的安装提示,Catalyst-hook会显示是否一切顺利。}}<br />
<br />
{{注意|若是'''自编译内核'''且使用'''非标准的mkinitcpio配置文件'''(如:linux-zen使用/etc/mkinitcpio-zen.conf),那必须在你非标准的配置文件中添加'''fglrx'''至 HOOKS行,以便当内核更新时能自动重新编译。}}<br />
<br />
{{注意|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator]包能构建并安装fglrx模块,该模块与pacman兼容 的catalyst-${内核版本}相适应。与Catalyst-hook的区别是必须手动使用此命令,而Catalyst-hook则不需。<br />
<br />
通过[[makepkg]],它能构建catalyst-${内核版本}二进制包并用[[pacman]]安装。<br />
<br />
非特权用户使用{{ic|catalyst_build_module}}来构建并安装catalyst-${内核版本}包。安装时会提示输入root密码。<br />
<br />
简单说一下如何使用此包:<br />
<br />
# root用户: 使用{{ic|catalyst_build_module remove}}。此举会删除无用的{{ic|catalyst-{kernver} }}包。<br />
# 非特权用户: 使用{{ic|catalyst_build_module ${内核版本}}}, ${内核版本}是指升级过后的内核版本。也可通过{{ic|catalyst_build_module all}}为所有安装的内核构建catalyst-${内核版本}。<br />
# 若要删除{{ic|catalyst-generator}}, 在使用{{ic|catalyst_build_module remove_all}}命令删除catalyst-generator之前最好切换到root用户,'''这会删除得极为彻底。'''<br />
<br />
当删除Catalyst-generator时,Catalyst-generator不能自动删除那些catalyst-{内核版本}包,这是因为pacman不允许有一个以上的实例同时运行。若在使用{{ic|pacman -R catalyst-generator}}前忘记运行{{ic|catalyst_build_module remove_all}}, catalyst-generator将会询问删除catalyst-generator自身后要删除哪个catalyst-{内核版本}包。<br />
<br />
{{注意|在构建catalyst-{内核版本}时,若看到下列警告,乃正常情况,不必莫名惊诧:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension}}<br />
<br />
=== Catalyst-daemon ===<br />
{{警告|由于systemd与普通initscript daemons不兼容,所以systemd用户不能使用此工具。}}<br />
<br />
每次启动时,[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon]守护进程会检查内核是否更新过。若更新过,它会重建fglrx模块;若没有,则加载前次构建的模块。在2.4 GHz CPU电脑上,整个过程只需20ms。<br />
<br />
Catalyst-daemon的自动重新编译功能是通过一个叫''autofglrx''的初始化脚本实现的。Autofglrx的检查方式为比较启动内核(由{{ic|uname -v}}提供)和使用当前fglrx模块内核的构建时间。之所以能这样比较,是因为编译时,它将{{ic|uname -v}}的信息添加到fglrx模块描述里。<br />
<br />
重构过程中,autofglrx会调用''catalyst_build_module''构建模块,调用''catalyst_build_module remove''删除老旧无用的fglrx模块。运行后,它并不会一直驻留在系统内存。<br />
<br />
{{注意|安装autofglrx后,在{{ic|/etc/rc.conf}}将{{ic|autofglrx}}添加到{{ic|DAEMONS}}。要将它放在DM(显示管理器)之前(若是通过此配置运行DM)并且'''不要'''在后台运行(不能在其前添加@符号)。}}<br />
<br />
{{注意|若使用'''你自己的编译标识'''导致此工具有问题 - 请将你的标识写入/usr/bin/catalyst_build_module文件。}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
Presented in '''Catalyst 11.1''', the ''Tear Free Desktop'' feature reduces tearing in 2D, 3D and video applications. This likely adds triple-buffering and v-sync. Do note that it requires additional GPU processing.<br />
<br />
To enable 'Tear Free Desktop' run {{ic|amdcccle}} and go to: {{ic|Display Options}} → {{ic|Tear Free}}.<br />
<br />
Or as root run:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
To disable, again use {{ic|amdcccle}} or run as root:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== Video acceleration ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)''' is an open source software library (libVA) and API specification which provides GPU acceleration for video processing on Linux/UNIX based operating systems. The process works by enabling hardware accelerated video decode at various entry-points (VLD, IDCT, Motion Compensation, deblocking) for common encoding standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3).<br />
<br />
VA-API gained a proprietary backend (in November 2009) called {{AUR|xvba-video}}, that allows VA-API programmed applications to take advantage of AMD Radeons UVD2 chipsets via the [http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)] library.<br />
<br />
XvBA support and xvba-video is still under development, however it is '''working very well in most cases'''. Build the {{AUR|xvba-video}} package from AUR or soon, install it from [community] and install {{Pkg|mplayer-vaapi}} and {{Pkg|libva}}. Then just set your video player to use vaapi:gl as video output:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
These options can be added to your mplayer configuration file, see [[MPlayer]].<br />
<br />
For '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{Note|If Tear Free Desktop is enabled it's better to use:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
If Video Output '''vaapi:gl''' isn't working - please check:<br />
'''vaapi''', '''vaapi:gl2''' or simply '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
For '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
It might help to enable v-sync in '''amdcccle''':<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{Note|If you are using '''Compiz/KWin''', the only way to '''avoid video flickering''' is to watch videos in '''full-screen''' and only when '''Unredirect Fullscreen is off'''.<br />
<br />
In '''compiz''' you need to set '''Redirected Direct Rendering''' in General Options of ccsm. If it is still flickering, try to disable this option in CCSM. It's off by default in '''KWin''', but if you see flickering try to turn "Suspend desktop effects for fullscreen windows" on or off in System Settings → Desktop Effects → Advanced.}}<br />
<br />
=== GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities ===<br />
<br />
You can get the GPU/Mem clocks with: {{ic|$ aticonfig --od-getclocks}}.<br />
<br />
You can get the fan speed with: {{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}<br />
<br />
You can get the temperature with: {{ic|$ aticonfig --odgt}}<br />
<br />
To set the fanspeed with: {{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}} Query Index: 50, Speed in percent<br />
<br />
To overclock and/or underclock it's easier to use a GUI, like '''ATi Overclocking Utility''', which is very simple and requires qt to work.<br />
<br />
The i686 version is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here], while the x86_64 is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]. Just download it and run.<br />
<br />
An other, more complex utility to perform such operations is '''AMDOverdriveCtrl'''. Its homepage is [http://sourceforge.net/projects/amdovdrvctrl here] and you can build an Arch package from [https://aur.archlinux.org/packages.php?ID=45298 AUR] or from Vi0L0's unofficial repositories.<br />
<br />
=== Double Screen (Dual Head / Dual Screen / Xinerama) ===<br />
<br />
==== Introduction ====<br />
<br />
{{Warning| you should know that there isn't one specific solution because each setup differs and needs its own configuration. That's why you will have to adapt the steps below to your own needs. It is possible that you have to try more than once. '''Therefore, you should save your working {{ic|/etc/X11/xorg.conf}} before you start modifying and you must be able to recover from a command-line environment.'''}}<br />
<br />
* In this chapter, we will describe the installation of two different-sized screens on only one graphics card with two different output ports (DVI + HDMI) using a "BIG Desktop" configuration.<br />
<br />
* The Xinerama solution has some inconveniences, especially because it is not compatible with XrandR. For that very reason, you should not use this solution, because XrandR is a must for our later configuration.<br />
<br />
* The Dual Head solution would allow you to have 2 different sessions (one for each screen). It could be what you want, but you will not be able to move windows from one screen to another. If you have only one screen, you will have to define the mouse inside your Xorg session for each of the two sessions inside the Server Layout section.<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
The GUI tool shipped by ATI is very useful and we will try to use it as much as we can. To launch it, open a terminal and use the following command:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{Warning|Do '''not''' use sudo directly with a GUI. Sudo gives you admin rights with user account information. Instead, use ''gksu'' (GNOME) or ''kdesu'' (KDE).}}<br />
<br />
==== Installation ====<br />
<br />
Before we start, make sure that your hardware is plugged in correctly, that power is on and that you know your hardware characteristics (screen dimensions, sizes, refreshment rates, etc.) Normally, both screens are recognized during boot time but not necessarily identified properly, especially if you are not using any Xorg base configuration file ({{ic|/etc/X11/xorg.conf}}) but relying on the hot-plugging feature.<br />
<br />
The first step is to make sure that you screens will be recognized by your DE and by X. For this, you need to generate a basic Xorg configuration file for your two screens:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
or<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{Note|{{ic|overlay}} is important because it allows you to have 1 pixel (or more) shared between the 2 screens.}}<br />
{{Tip|For the other possible and available options, do not hesitate to type {{ic|aticonfig --help}} inside a terminal to display all available command lines.}}<br />
<br />
Now you should have a basic Xorg configuration file that you can edit to add your screen resolutions. It is important to use the precise resolution, especially if you have screens of different sizes. These resolutions have to be added in the "Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
From now on, instead of editing the {{ic|xorg.conf}} file manually, let us use the ATI GUI tool. Restart X to be sure that your two screens are properly supported and that the resolutions are properly recognized (Screens must be independent, not mirrored).<br />
<br />
==== Configuration ====<br />
<br />
Now you will only have to launch the ATI control center with root privileges, go to the display menu and choose how you would like to set your configuration (small arrow of the drop down menu). A last restart of X and you should be done!<br />
<br />
Before you restart X, do not hesitate to verify your new {{ic|xorg.conf}} file. At this stage, inside the "Display" sub-section of the "Screen" section, you should see a "Virtual" command line, of which the resolution should be the sum of both screens. The "Server Layout" section says all the rest.<br />
<br />
== Troubleshooting ==<br />
<br />
If you can still boot to command-line, then the problem probably lies in {{ic|/etc/X11/xorg.conf}}<br />
<br />
You can parse the whole {{ic|/var/log/Xorg.0.log}} or, for clues:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
If you are at lost of what to do, you can always post a message in the see [http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]. When you do so, please do provide the information you get from both commands mentioned above.<br />
<br />
=== 3D Wine applications freeze ===<br />
If you use a 3D Wine application and it hangs, you have to disable TLS. To do this, either use {{ic|aticonfig}} or edit {{ic|/etc/X11/xorg.conf}}. To use {{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
Or, to edit {{ic|/etc/X11/xorg.conf}}; first open the file in an editor as root and then add {{ic|Option "UseFastTLS" "off"}} to the ''Device'' section of this file. <br />
<br />
After applying either of the solutions, restart X for it to take effect.<br />
<br />
=== Problems with video colours ===<br />
<br />
You may still use {{ic|vaapi:gl}} to avoid video flickering, but without video acceleration:<br />
<br />
* Run '''mplayer''' without {{ic|-vo vaapi}} switch.<br />
<br />
* Run '''smplayer''' remove {{ic|-vo vaapi}} from Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
<br />
Plus for '''smplayer''' you may now safely turn screenshots on.<br />
<br />
=== KWin and composite ===<br />
<br />
You may use XRender if the rendering with OpenGL is slow. However, XRender might also be slower than OpenGL depending on your card.<br />
XRender also solves artifact issues in some cases.<br />
<br />
=== Black screen with complete lockups and/or hangs after reboot or startx ===<br />
<br />
Ensure you have added the '''nomodeset''' option to the kernel options line in your bootloader (see [[#Disable kernel mode setting]]).<br />
<br />
==== Faulty ACPI hardware calls ====<br />
It is possible that fglrx doesn't cooperate well with the system's ACPI hardware calls, so it auto-disables itself and there is no screen output.<br />
<br />
If so, try to run this:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== KDM disappears after logout ===<br />
<br />
If you are running Catalyst proprietary driver and you get a console (tty1) instead of the expected KDM greeting when you log out, you must instruct KDM to restart the X server after each logout:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
Uncomment the following line under the section titled {{ic|[X-:*-Core]}}:<br />
<br />
TerminateServer=True<br />
<br />
KDM should now appear when you log out of KDE.<br />
<br />
=== Direct Rendering does not work ===<br />
<br />
This problem may occur when using the proprietary '''Catalyst''' driver.<br />
<br />
{{Warning|This error would also appear if you have not '''rebooted''' your system after the installation or upgrade of catalyst. The system needs to load the fglrx.ko module in order to make the driver work.}}<br />
<br />
If you have problem with direct rendering, run:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
at the command prompt. At the very start of the output, it'll usually give you a nice error message saying why you do not have direct rendering.<br />
<br />
Common errors and their solutions, are:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* Ensure that you are loading the correct agp modules for your AGP chipset before you load the fglrx kernel module. To determine which agp modules you'll need, run {{ic|hwdetect --show-agp}}, then ensure that all modules listed from that command are in the {{ic|1=MODULES=}} array in rc.conf, '''before''' fglrx if using SysVinit, otherwise open your {{ic|fglrx.conf}} file in {{ic|/etc/modules-load.d}} and add the agp module on a line '''before''' the fglrx line.<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* Something has not been installed correctly. If the paths in the error message are {{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}}, then ensure you've logged completely out of your system, then back in. If you're using a graphical login manager (gdm, kdm, xdm), ensure that {{ic|/etc/profile}} is sourced every time you log in. This is usually accomplished by adding {{ic|source /etc/profile}} into {{ic|~/.xsession}} or {{ic|~/.xinitrc}}, but this may vary between login managers.<br />
<br />
* If the paths above in your error message ''are'' {{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}}, then something has not been correctly installed. Try reinstalling the {{ic|catalyst}} package.<br />
<br />
Errors such as:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
could be caused by having multiple versions of {{ic|libGL.so}} on your system. Run:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
This should return the following output:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
These are the only three libGL.so files you should have on your system. If you have any more (e.g. {{ic|/usr/X11R6/lib/libGL.so.1.2}}), then remove them. This should fix your problem.<br />
<br />
You might not get any error to indicate that this is a problem. If you are using X11R7, make sure you do '''not''' have these files on your system:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== Hibernate/Sleep Issues ===<br />
<br />
==== Video fails to resume from suspend2ram ====<br />
<br />
ATI's proprietary Catalyst driver cannot resume from suspend if the framebuffer is enabled. To disable the framebuffer, add '''vga=0''' to your kernel options in for example, Grub Legacy's {{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
To see where you need to add this with other bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== System Freezes/Hard locks ===<br />
<br />
* The {{ic|radeonfb}} framebuffer drivers have been known in the past to cause problems of this nature. If your kernel has radeonfb support compiled in, you may want to try a different kernel and see if this helps.<br />
<br />
* If you experience system freezes when exiting your DE (shut down, suspend, switching to tty etc.) you probably forgot to deactivate KMS. (See [[#Disable kernel mode setting]])<br />
<br />
=== Hardware Conflicts ===<br />
<br />
Radeon cards used in conjunction with some versions of the nForce3 chipset (e.g. nForce 3 250Gb) won't have 3D acceleration. Currently the cause of this issue is unknown, but some sources indicate that it may be possible to get acceleration with this combination of hardware by booting Windows with the drivers from nVIDIA and then rebooting the system. This can be verified by issuing in a root console the following command:<br />
<br />
$ dmesg | grep agp<br />
<br />
If you get something similar to this (using an nForce3-based system):<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
and also if issuing this command...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...gets something similar to:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
Then you have this bug.<br />
<br />
Some sources indicate that in some situations, downgrading the motherboard BIOS may help, but this cannot be verified in all cases. Also, '''a bad BIOS downgrade can render your hardware useless, so beware.'''<br />
<br />
See [http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport] for more information and a potential fix.<br />
<br />
=== Temporary hangs when playing video ===<br />
<br />
This problem may occur when using the proprietary Catalyst.<br />
<br />
If you experience temporary hangs lasting from a few seconds to several minutes occuring randomly during playback with mplayer, check /var/log/messages.log for output like:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
Adding the nopat kernel option to your kernel options in your bootloader and rebooting fixed the problem at least for me. To see how to do this for different bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
If when running<br />
<br />
# sudo aticonfig --initial<br />
<br />
you get:<br />
<br />
aticonfig: No supported adaptaters detected<br />
<br />
But you do have an AMD GPU (or APU), it may still be possible to get Catalyst working by manually setting the device in your your {{ic|etc/X11/xorg.conf}} file.<br />
<br />
You can do so by setting the device section of {{ic|/etc/X11/xorg.conf}} to:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
Where ''****'' should be replaced with your device's marketing number (e.g. 6870 for the HD 6870 and 6310 for the E-350 APU).<br />
<br />
Xorg will start and it is possible to use {{ic|amdcccle}} instead of {{ic|aticonfig}}. There will be an "AMD Unsupported hardware" watermark.<br />
<br />
You can remove this watermark using the following script:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
<br />
and rebooting.<br />
<br />
=== WebGL support in Chromium ===<br />
<br />
Google has blacklisted Linux's Catalyst driver from supporting webGL in their Chromium/Chrome browsers.<br />
<br />
You can turn webGL on by editing {{ic|/usr/share/applications/chromium.desktop}} file and adding {{ic|--ignore-gpu-blacklist}} flag into the '''Exec''' line so it looks like this:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
You can also run chromium from console with the same {{ic|--ignore-gpu-blacklist}} flag:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{Warning|Catalyst does not support the GL_ARB_robustness extension, so it is possible that a malicious site could use WebGL to perform a DoS attack on your graphic card. For more info, read [http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== Laggs/freezes when watching flash videos via Adobe's flashplugin ===<br />
<br />
Edit {{ic|/etc/adobe/mms.cfg}} and make it look like this:<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== Laggs/slow windows movement in GNOME3 ===<br />
<br />
You can try this solution out, it's working for many people.<br />
<br />
Add this line into {{ic|~/.profile}} or into {{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
Restart X server or reboot your system.<br />
<br />
=== Not using fullscreen in the 1920x1080 resolution ===<br />
<br />
The ATI has scaling by default add this to your xorg.conf<br />
<br />
Option "DPMS" "true"<br />
<br />
On the Monitor section, as full example would look like this<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=229846AMD Catalyst (简体中文)2012-10-20T07:29:36Z<p>Micy1985: </p>
<hr />
<div>[[Category:Graphics (简体中文)]]<br />
[[Category:X Server (简体中文)]]<br />
{{TranslationStatus (简体中文)|AMD_Catalyst|2012-10-19|229195}}<br />
"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs完全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx 显卡驱动分开开发,因此在你选择何种安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用普通Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的普通Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上面对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败和丢失Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make脚本, 最好换一名称保存。否则将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
通过访问{{ic|/etc/ati/amdpcsdb}}文件它几乎能配置显卡的各项参数。了解完整的配置选项{{ic|aticonfig}}可运行:<br />
<br />
# aticonfig --help | less<br />
<br />
{{警告|在将各项配置参数提交到/etc/X11/xorg.conf之前使用--output选项,/etc/X11/xorg.conf.d中的所有内容都会被覆盖。}}<br />
<br />
{{注意|如果坚持使用xorg.conf.d下的新配置文件:为了让Device section与{{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}相匹配,在{{ic|aticonfig}}后追加''--output''。但这有一个缺点,很多依赖xorg.conf的{{ic|aticonfig}}选项都无法使用。}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,但不同Xorg版本的默认参数可能会有所不同,最好明确指定一些参数.<br />
<br />
给一个示例配置 (注意) '''仅供参考'''. 标'#'必须有,标'##'很可能会用到:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{注意|一旦升级Catalyst就要通过后面的方法删除'''amdpcsdb'''文件: 关闭X,删除{{ic|/etc/ati/amdpcsdb}},启动X然后运行{{ic|amdcccle}} -否则amdcccle将会显示错误的Catalyst版本号}}<br />
<br />
''更多信息参考[http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== 启动时加载模块 ====<br />
不同的初始化系统(SysVinit和systemd)的设置方式不一样,但无论哪一种,都得在{{ic|/etc/modprobe.d/modprobe.conf}}禁用''radeon''。具体可参见[[Modprobe|blacklisting in this article]]. '''通过Arch官方安装Catalyst则无需此步骤,安装包会自动处理'''。<br />
<br />
{{注意|强烈推荐使用systemd进行系统初始化,因为最新Arch安装镜像已默认使用systemd,通过rc.conf设置系统启动服务迟早会遭淘汰}}。<br />
<br />
===== 在使用systemd上 =====<br />
* 删除{{ic|/etc/modules-load.d/}}下任何名称包含{{ic|radeon}}的文件若该文件中含有其他多个模块,则只删除radeon)。<br />
* 在{{ic|/etc/modules-load.d/}}的现有文件中添加{{ic|fglrx}}或新建含有该行的文件。<br />
<br />
===== 在使用SysVinit上 =====<br />
编辑{{ic|/etc/rc.conf}}:<br />
* 自MODULES中删除{{ic|radeon}}。<br />
* 在MODULES中添加 {{ic|fglrx}}。<br />
<br />
{{注意|若使用AGP接口的显卡还需添加''agp''。}}<br />
<br />
==== 禁用KMS ====<br />
<br />
由于Catalyst根本不使用[[KMS]],得将其禁用。否则,当系统切换至tyy或在桌面环境下关机时,系统可能会冻结。<br />
<br />
若使用[[GRUB Legacy|GRUB Legacy]],在{{ic|menu.lst}}添加{{ic|nomodeset}}给内核参数,如:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
若使用[[GRUB2|GRUB 2]],在{{ic|/etc/default/grub}}添加''nomodeset''给内核参数,如:<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
然后以root身份运行;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
若使用[[Syslinux|Syslinux]],在{{ic|/boot/syslinux/syslinux.cfg}}添加''nomodeset''到{{ic|APPEND}}行,如:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== 检查安装是否成功 ====<br />
<br />
重启电脑并登录, 运行下列命令可查看fglrx是否正确运行:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
若两者均有输出, 安装成功。进行桌面环境并运行以下命令检查直接渲染模式是否启用:<br />
<br />
$ glxinfo | grep direct<br />
<br />
若显示"direct rendering: yes",恭喜你,到位了! 若无glxinfo命令,安装{{Pkg|mesa-demos}} package。<br />
<br />
{{警告|最近几版Xorg,库函数路径变了,因此即使安装{{ic|libGL.so}}也不一定能正确人加载。请检查GL是否工作,可阅读"Troubleshooting"段落}}<br />
<br />
若有问题,参阅[[#Troubleshooting]].<br />
<br />
=== 自我编译内核 ===<br />
<br />
在手动编译的内核上,你必须构建你自己{{ic|catalyst-$kernel}}包.<br />
<br />
如果你讨厌打包或毫无经验,可先阅读[[ABS]]。<br />
<br />
#从[[AUR|Catalyst]]上获取{{ic|PKGBUILD}} 和 {{ic|catalyst.install}}文件。<br />
# 编辑PKGBUILD. 两个地方需要修改:<br />
## 将{{ic|1=pkgname=catalyst}} 修改为 {{ic|1=pkgname=catalyst-$kernel_name}},$kernel_name可以随意取(如:custom, mm)。<br />
## 将{{ic|linux}}的依赖修改为{{ic|$kernel_name}}。<br />
# 构建并安装软件包;运行{{ic|makepkg -i}} 和 {{ic|makepkg}},接着运行 {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{注意|如果在安装有多内核的系统上,你必须为所有内核安装Catalyst-utils包。这不会引起冲突}}<br />
<br />
{{注意|Catalyst-generator能为你自动构建catalyst-{kernver},因此这些步骤根本就可省略。 请参考[[#Tools| Tools section]].}}<br />
<br />
== Xorg软件库 ==<br />
Catalyst由于其缓慢的更新而被人大为诟病。因升级Xorg而造成两者不兼容是稀松平常的事。也就意味着Catalyst用户要么不升级Xorg要么使用一个只包含Xorg包的回溯软件库,该库中不提供更新版Xorg以确保兼容性。 Vi0L0提供好几个这样的库. <br />
<br />
若想让pacman更新其他软件而不更新Xorg,查看[[pacman|skip package from being upgraded]]。不更新的软件是:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
若要使用这类软件库,在{{ic|/etc/pacman.conf}}的所有库(甚至Catalyst)前面添加下面中的一个 。<br />
<br />
===[xorg112]===<br />
截止目前,当前Catalyst 不支持1.13。<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
低于 12.6的Catalyst不支持xorg-server 1.12。<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== 工具 ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook]是一个针对[[mkinitcpio|mkinitcpio]]的钩子。'''跟 catalyst-dkms一样''',每当内核更新时,它会自动升级fglrx模块。在更新fglrx之前,它会尝试更新{{Pkg|linux-headers}}。<br />
<br />
当更新内核时,钩子会调用''catalyst_build_module''命令来更新fglrx模块以使两者相匹配。此外,它还可调用''catalyst_build_module remove''来删除不需要的旧flgrx模块<br />
<br />
{{注意|若使用此功能,'''一定要''' 关注的内核的安装提示,Catalyst-hook会显示是否一切顺利。}}<br />
<br />
{{注意|若是'''自编译内核'''且使用'''非标准的mkinitcpio配置文件'''(如:linux-zen使用/etc/mkinitcpio-zen.conf),那必须在你非标准的配置文件中添加'''fglrx'''至 HOOKS行,以便当内核更新时能自动重新编译。}}<br />
<br />
{{注意|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator]包能构建并安装fglrx模块,该模块与pacman兼容 的catalyst-${内核版本}相适应。与Catalyst-hook的区别是必须手动使用此命令,而Catalyst-hook则不需。<br />
<br />
通过[[makepkg]],它能构建catalyst-${内核版本}二进制包并用[[pacman]]安装。<br />
<br />
非特权用户使用{{ic|catalyst_build_module}}来构建并安装catalyst-${内核版本}包。安装时会提示输入root密码。<br />
<br />
简单说一下如何使用此包:<br />
<br />
# root用户: 使用{{ic|catalyst_build_module remove}}。此举会删除无用的{{ic|catalyst-{kernver} }}包。<br />
# 非特权用户: 使用{{ic|catalyst_build_module ${内核版本}}}, ${内核版本}是指升级过后的内核版本。也可通过{{ic|catalyst_build_module all}}为所有安装的内核构建catalyst-${内核版本}。<br />
# 若要删除{{ic|catalyst-generator}}, 在使用{{ic|catalyst_build_module remove_all}}命令删除catalyst-generator之前最好切换到root用户,'''这会删除得极为彻底。'''<br />
<br />
当删除Catalyst-generator时,Catalyst-generator不能自动删除那些catalyst-{内核版本}包,这是因为pacman不允许有一个以上的实例同时运行。若在使用{{ic|pacman -R catalyst-generator}}前忘记运行{{ic|catalyst_build_module remove_all}}, catalyst-generator将会询问删除catalyst-generator自身后要删除哪个catalyst-{内核版本}包。<br />
<br />
{{注意|在构建catalyst-{内核版本}时,若看到下列警告,乃正常情况,不必莫名惊诧:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension}}<br />
<br />
=== Catalyst-daemon ===<br />
{{警告|由于systemd与普通initscript daemons不兼容,所以systemd用户不能使用此工具。}}<br />
<br />
每次启动时,[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon]守护进程会检查内核是否更新过。若更新过,它会重建fglrx模块;若没有,则加载前次构建的模块。在2.4 GHz CPU电脑上,整个过程只需20ms。<br />
<br />
Catalyst-daemon的自动重新编译功能是通过一个叫''autofglrx''的初始化脚本实现的。Autofglrx的检查方式为比较启动内核(由{{ic|uname -v}}提供)和使用当前fglrx模块内核的构建时间。之所以能这样比较,是因为编译时,它将{{ic|uname -v}}的信息添加到fglrx模块描述里。<br />
<br />
重构过程中,autofglrx会调用''catalyst_build_module''构建模块,调用''catalyst_build_module remove''删除老旧无用的fglrx模块。运行后,它并不会一直驻留在系统的内存。<br />
<br />
{{注意|安装autofglrx后,在{{ic|/etc/rc.conf}}将{{ic|autofglrx}}添加到{{ic|DAEMONS}}。要将它放在DM(显示管理器)之前(若是通过此配置运行DM)并且'''不要'''在后台运行(不能在其前添加@符号)。}}<br />
<br />
{{注意|若使用'''你自己的编译标识'''导致此工具有问题 - 请将你的标识写入/usr/bin/catalyst_build_module文件。}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
Presented in '''Catalyst 11.1''', the ''Tear Free Desktop'' feature reduces tearing in 2D, 3D and video applications. This likely adds triple-buffering and v-sync. Do note that it requires additional GPU processing.<br />
<br />
To enable 'Tear Free Desktop' run {{ic|amdcccle}} and go to: {{ic|Display Options}} → {{ic|Tear Free}}.<br />
<br />
Or as root run:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
To disable, again use {{ic|amdcccle}} or run as root:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== Video acceleration ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)''' is an open source software library (libVA) and API specification which provides GPU acceleration for video processing on Linux/UNIX based operating systems. The process works by enabling hardware accelerated video decode at various entry-points (VLD, IDCT, Motion Compensation, deblocking) for common encoding standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3).<br />
<br />
VA-API gained a proprietary backend (in November 2009) called {{AUR|xvba-video}}, that allows VA-API programmed applications to take advantage of AMD Radeons UVD2 chipsets via the [http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)] library.<br />
<br />
XvBA support and xvba-video is still under development, however it is '''working very well in most cases'''. Build the {{AUR|xvba-video}} package from AUR or soon, install it from [community] and install {{Pkg|mplayer-vaapi}} and {{Pkg|libva}}. Then just set your video player to use vaapi:gl as video output:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
These options can be added to your mplayer configuration file, see [[MPlayer]].<br />
<br />
For '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{Note|If Tear Free Desktop is enabled it's better to use:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
If Video Output '''vaapi:gl''' isn't working - please check:<br />
'''vaapi''', '''vaapi:gl2''' or simply '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
For '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
It might help to enable v-sync in '''amdcccle''':<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{Note|If you are using '''Compiz/KWin''', the only way to '''avoid video flickering''' is to watch videos in '''full-screen''' and only when '''Unredirect Fullscreen is off'''.<br />
<br />
In '''compiz''' you need to set '''Redirected Direct Rendering''' in General Options of ccsm. If it is still flickering, try to disable this option in CCSM. It's off by default in '''KWin''', but if you see flickering try to turn "Suspend desktop effects for fullscreen windows" on or off in System Settings → Desktop Effects → Advanced.}}<br />
<br />
=== GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities ===<br />
<br />
You can get the GPU/Mem clocks with: {{ic|$ aticonfig --od-getclocks}}.<br />
<br />
You can get the fan speed with: {{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}<br />
<br />
You can get the temperature with: {{ic|$ aticonfig --odgt}}<br />
<br />
To set the fanspeed with: {{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}} Query Index: 50, Speed in percent<br />
<br />
To overclock and/or underclock it's easier to use a GUI, like '''ATi Overclocking Utility''', which is very simple and requires qt to work.<br />
<br />
The i686 version is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here], while the x86_64 is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]. Just download it and run.<br />
<br />
An other, more complex utility to perform such operations is '''AMDOverdriveCtrl'''. Its homepage is [http://sourceforge.net/projects/amdovdrvctrl here] and you can build an Arch package from [https://aur.archlinux.org/packages.php?ID=45298 AUR] or from Vi0L0's unofficial repositories.<br />
<br />
=== Double Screen (Dual Head / Dual Screen / Xinerama) ===<br />
<br />
==== Introduction ====<br />
<br />
{{Warning| you should know that there isn't one specific solution because each setup differs and needs its own configuration. That's why you will have to adapt the steps below to your own needs. It is possible that you have to try more than once. '''Therefore, you should save your working {{ic|/etc/X11/xorg.conf}} before you start modifying and you must be able to recover from a command-line environment.'''}}<br />
<br />
* In this chapter, we will describe the installation of two different-sized screens on only one graphics card with two different output ports (DVI + HDMI) using a "BIG Desktop" configuration.<br />
<br />
* The Xinerama solution has some inconveniences, especially because it is not compatible with XrandR. For that very reason, you should not use this solution, because XrandR is a must for our later configuration.<br />
<br />
* The Dual Head solution would allow you to have 2 different sessions (one for each screen). It could be what you want, but you will not be able to move windows from one screen to another. If you have only one screen, you will have to define the mouse inside your Xorg session for each of the two sessions inside the Server Layout section.<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
The GUI tool shipped by ATI is very useful and we will try to use it as much as we can. To launch it, open a terminal and use the following command:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{Warning|Do '''not''' use sudo directly with a GUI. Sudo gives you admin rights with user account information. Instead, use ''gksu'' (GNOME) or ''kdesu'' (KDE).}}<br />
<br />
==== Installation ====<br />
<br />
Before we start, make sure that your hardware is plugged in correctly, that power is on and that you know your hardware characteristics (screen dimensions, sizes, refreshment rates, etc.) Normally, both screens are recognized during boot time but not necessarily identified properly, especially if you are not using any Xorg base configuration file ({{ic|/etc/X11/xorg.conf}}) but relying on the hot-plugging feature.<br />
<br />
The first step is to make sure that you screens will be recognized by your DE and by X. For this, you need to generate a basic Xorg configuration file for your two screens:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
or<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{Note|{{ic|overlay}} is important because it allows you to have 1 pixel (or more) shared between the 2 screens.}}<br />
{{Tip|For the other possible and available options, do not hesitate to type {{ic|aticonfig --help}} inside a terminal to display all available command lines.}}<br />
<br />
Now you should have a basic Xorg configuration file that you can edit to add your screen resolutions. It is important to use the precise resolution, especially if you have screens of different sizes. These resolutions have to be added in the "Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
From now on, instead of editing the {{ic|xorg.conf}} file manually, let us use the ATI GUI tool. Restart X to be sure that your two screens are properly supported and that the resolutions are properly recognized (Screens must be independent, not mirrored).<br />
<br />
==== Configuration ====<br />
<br />
Now you will only have to launch the ATI control center with root privileges, go to the display menu and choose how you would like to set your configuration (small arrow of the drop down menu). A last restart of X and you should be done!<br />
<br />
Before you restart X, do not hesitate to verify your new {{ic|xorg.conf}} file. At this stage, inside the "Display" sub-section of the "Screen" section, you should see a "Virtual" command line, of which the resolution should be the sum of both screens. The "Server Layout" section says all the rest.<br />
<br />
== Troubleshooting ==<br />
<br />
If you can still boot to command-line, then the problem probably lies in {{ic|/etc/X11/xorg.conf}}<br />
<br />
You can parse the whole {{ic|/var/log/Xorg.0.log}} or, for clues:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
If you are at lost of what to do, you can always post a message in the see [http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]. When you do so, please do provide the information you get from both commands mentioned above.<br />
<br />
=== 3D Wine applications freeze ===<br />
If you use a 3D Wine application and it hangs, you have to disable TLS. To do this, either use {{ic|aticonfig}} or edit {{ic|/etc/X11/xorg.conf}}. To use {{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
Or, to edit {{ic|/etc/X11/xorg.conf}}; first open the file in an editor as root and then add {{ic|Option "UseFastTLS" "off"}} to the ''Device'' section of this file. <br />
<br />
After applying either of the solutions, restart X for it to take effect.<br />
<br />
=== Problems with video colours ===<br />
<br />
You may still use {{ic|vaapi:gl}} to avoid video flickering, but without video acceleration:<br />
<br />
* Run '''mplayer''' without {{ic|-vo vaapi}} switch.<br />
<br />
* Run '''smplayer''' remove {{ic|-vo vaapi}} from Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
<br />
Plus for '''smplayer''' you may now safely turn screenshots on.<br />
<br />
=== KWin and composite ===<br />
<br />
You may use XRender if the rendering with OpenGL is slow. However, XRender might also be slower than OpenGL depending on your card.<br />
XRender also solves artifact issues in some cases.<br />
<br />
=== Black screen with complete lockups and/or hangs after reboot or startx ===<br />
<br />
Ensure you have added the '''nomodeset''' option to the kernel options line in your bootloader (see [[#Disable kernel mode setting]]).<br />
<br />
==== Faulty ACPI hardware calls ====<br />
It is possible that fglrx doesn't cooperate well with the system's ACPI hardware calls, so it auto-disables itself and there is no screen output.<br />
<br />
If so, try to run this:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== KDM disappears after logout ===<br />
<br />
If you are running Catalyst proprietary driver and you get a console (tty1) instead of the expected KDM greeting when you log out, you must instruct KDM to restart the X server after each logout:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
Uncomment the following line under the section titled {{ic|[X-:*-Core]}}:<br />
<br />
TerminateServer=True<br />
<br />
KDM should now appear when you log out of KDE.<br />
<br />
=== Direct Rendering does not work ===<br />
<br />
This problem may occur when using the proprietary '''Catalyst''' driver.<br />
<br />
{{Warning|This error would also appear if you have not '''rebooted''' your system after the installation or upgrade of catalyst. The system needs to load the fglrx.ko module in order to make the driver work.}}<br />
<br />
If you have problem with direct rendering, run:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
at the command prompt. At the very start of the output, it'll usually give you a nice error message saying why you do not have direct rendering.<br />
<br />
Common errors and their solutions, are:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* Ensure that you are loading the correct agp modules for your AGP chipset before you load the fglrx kernel module. To determine which agp modules you'll need, run {{ic|hwdetect --show-agp}}, then ensure that all modules listed from that command are in the {{ic|1=MODULES=}} array in rc.conf, '''before''' fglrx if using SysVinit, otherwise open your {{ic|fglrx.conf}} file in {{ic|/etc/modules-load.d}} and add the agp module on a line '''before''' the fglrx line.<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* Something has not been installed correctly. If the paths in the error message are {{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}}, then ensure you've logged completely out of your system, then back in. If you're using a graphical login manager (gdm, kdm, xdm), ensure that {{ic|/etc/profile}} is sourced every time you log in. This is usually accomplished by adding {{ic|source /etc/profile}} into {{ic|~/.xsession}} or {{ic|~/.xinitrc}}, but this may vary between login managers.<br />
<br />
* If the paths above in your error message ''are'' {{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}}, then something has not been correctly installed. Try reinstalling the {{ic|catalyst}} package.<br />
<br />
Errors such as:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
could be caused by having multiple versions of {{ic|libGL.so}} on your system. Run:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
This should return the following output:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
These are the only three libGL.so files you should have on your system. If you have any more (e.g. {{ic|/usr/X11R6/lib/libGL.so.1.2}}), then remove them. This should fix your problem.<br />
<br />
You might not get any error to indicate that this is a problem. If you are using X11R7, make sure you do '''not''' have these files on your system:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== Hibernate/Sleep Issues ===<br />
<br />
==== Video fails to resume from suspend2ram ====<br />
<br />
ATI's proprietary Catalyst driver cannot resume from suspend if the framebuffer is enabled. To disable the framebuffer, add '''vga=0''' to your kernel options in for example, Grub Legacy's {{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
To see where you need to add this with other bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== System Freezes/Hard locks ===<br />
<br />
* The {{ic|radeonfb}} framebuffer drivers have been known in the past to cause problems of this nature. If your kernel has radeonfb support compiled in, you may want to try a different kernel and see if this helps.<br />
<br />
* If you experience system freezes when exiting your DE (shut down, suspend, switching to tty etc.) you probably forgot to deactivate KMS. (See [[#Disable kernel mode setting]])<br />
<br />
=== Hardware Conflicts ===<br />
<br />
Radeon cards used in conjunction with some versions of the nForce3 chipset (e.g. nForce 3 250Gb) won't have 3D acceleration. Currently the cause of this issue is unknown, but some sources indicate that it may be possible to get acceleration with this combination of hardware by booting Windows with the drivers from nVIDIA and then rebooting the system. This can be verified by issuing in a root console the following command:<br />
<br />
$ dmesg | grep agp<br />
<br />
If you get something similar to this (using an nForce3-based system):<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
and also if issuing this command...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...gets something similar to:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
Then you have this bug.<br />
<br />
Some sources indicate that in some situations, downgrading the motherboard BIOS may help, but this cannot be verified in all cases. Also, '''a bad BIOS downgrade can render your hardware useless, so beware.'''<br />
<br />
See [http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport] for more information and a potential fix.<br />
<br />
=== Temporary hangs when playing video ===<br />
<br />
This problem may occur when using the proprietary Catalyst.<br />
<br />
If you experience temporary hangs lasting from a few seconds to several minutes occuring randomly during playback with mplayer, check /var/log/messages.log for output like:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
Adding the nopat kernel option to your kernel options in your bootloader and rebooting fixed the problem at least for me. To see how to do this for different bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
If when running<br />
<br />
# sudo aticonfig --initial<br />
<br />
you get:<br />
<br />
aticonfig: No supported adaptaters detected<br />
<br />
But you do have an AMD GPU (or APU), it may still be possible to get Catalyst working by manually setting the device in your your {{ic|etc/X11/xorg.conf}} file.<br />
<br />
You can do so by setting the device section of {{ic|/etc/X11/xorg.conf}} to:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
Where ''****'' should be replaced with your device's marketing number (e.g. 6870 for the HD 6870 and 6310 for the E-350 APU).<br />
<br />
Xorg will start and it is possible to use {{ic|amdcccle}} instead of {{ic|aticonfig}}. There will be an "AMD Unsupported hardware" watermark.<br />
<br />
You can remove this watermark using the following script:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
<br />
and rebooting.<br />
<br />
=== WebGL support in Chromium ===<br />
<br />
Google has blacklisted Linux's Catalyst driver from supporting webGL in their Chromium/Chrome browsers.<br />
<br />
You can turn webGL on by editing {{ic|/usr/share/applications/chromium.desktop}} file and adding {{ic|--ignore-gpu-blacklist}} flag into the '''Exec''' line so it looks like this:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
You can also run chromium from console with the same {{ic|--ignore-gpu-blacklist}} flag:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{Warning|Catalyst does not support the GL_ARB_robustness extension, so it is possible that a malicious site could use WebGL to perform a DoS attack on your graphic card. For more info, read [http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== Laggs/freezes when watching flash videos via Adobe's flashplugin ===<br />
<br />
Edit {{ic|/etc/adobe/mms.cfg}} and make it look like this:<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== Laggs/slow windows movement in GNOME3 ===<br />
<br />
You can try this solution out, it's working for many people.<br />
<br />
Add this line into {{ic|~/.profile}} or into {{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
Restart X server or reboot your system.<br />
<br />
=== Not using fullscreen in the 1920x1080 resolution ===<br />
<br />
The ATI has scaling by default add this to your xorg.conf<br />
<br />
Option "DPMS" "true"<br />
<br />
On the Monitor section, as full example would look like this<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=229629AMD Catalyst (简体中文)2012-10-19T09:57:25Z<p>Micy1985: </p>
<hr />
<div>[[Category:Graphics (简体中文)]]<br />
[[Category:X Server (简体中文)]]<br />
{{TranslationStatus (简体中文)|AMD_Catalyst|2012-10-19|229195}}<br />
"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs完全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx 显卡驱动分开开发,因此在你选择何种安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用普通Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的普通Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上面对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败和丢失Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make脚本, 最好换一名称保存。否则将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
通过访问{{ic|/etc/ati/amdpcsdb}}文件它几乎能配置显卡的各项参数。了解完整的配置选项{{ic|aticonfig}}可运行:<br />
<br />
# aticonfig --help | less<br />
<br />
{{警告|在将各项配置参数提交到/etc/X11/xorg.conf之前使用--output选项,/etc/X11/xorg.conf.d中的所有内容都会被覆盖。}}<br />
<br />
{{注意|如果坚持使用xorg.conf.d下的新配置文件:为了让Device section与{{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}相匹配,在{{ic|aticonfig}}后追加''--output''。但这有一个缺点,很多依赖xorg.conf的{{ic|aticonfig}}选项都无法使用。}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,但不同Xorg版本的默认参数可能会有所不同,最好明确指定一些参数.<br />
<br />
给一个示例配置 (注意) '''仅供参考'''. 标'#'必须有,标'##'很可能会用到:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{注意|一旦升级Catalyst就要通过后面的方法删除'''amdpcsdb'''文件: 关闭X,删除{{ic|/etc/ati/amdpcsdb}},启动X然后运行{{ic|amdcccle}} -否则amdcccle将会显示错误的Catalyst版本号}}<br />
<br />
''更多信息参考[http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== 启动时加载模块 ====<br />
不同的初始化系统(SysVinit和systemd)的设置方式不一样,但无论哪一种,都得在{{ic|/etc/modprobe.d/modprobe.conf}}禁用''radeon''。具体可参见[[Modprobe|blacklisting in this article]]. '''通过Arch官方安装Catalyst则无需此步骤,安装包会自动处理'''。<br />
<br />
{{注意|强烈推荐使用systemd进行系统初始化,因为最新Arch安装镜像已默认使用systemd,通过rc.conf设置系统启动服务迟早会遭淘汰}}。<br />
<br />
===== 在使用systemd上 =====<br />
* 删除{{ic|/etc/modules-load.d/}}下任何名称包含{{ic|radeon}}的文件若该文件中含有其他多个模块,则只删除radeon)。<br />
* 在{{ic|/etc/modules-load.d/}}的现有文件中添加{{ic|fglrx}}或新建含有该行的文件。<br />
<br />
===== 在使用SysVinit上 =====<br />
编辑{{ic|/etc/rc.conf}}:<br />
* 自MODULES中删除{{ic|radeon}}。<br />
* 在MODULES中添加 {{ic|fglrx}}。<br />
<br />
{{注意|若使用AGP接口的显卡还需添加''agp''。}}<br />
<br />
==== 禁用KMS ====<br />
<br />
由于Catalyst根本不使用[[KMS]],得将其禁用。否则,当系统切换至tyy或在桌面环境下关机时,系统可能会冻结。<br />
<br />
若使用[[GRUB Legacy|GRUB Legacy]],在{{ic|menu.lst}}添加{{ic|nomodeset}}给内核参数,如:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
若使用[[GRUB2|GRUB 2]],在{{ic|/etc/default/grub}}添加''nomodeset''给内核参数,如:<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
然后以root身份运行;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
若使用[[Syslinux|Syslinux]],在{{ic|/boot/syslinux/syslinux.cfg}}添加''nomodeset''到{{ic|APPEND}}行,如:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== 检查安装是否成功 ====<br />
<br />
重启电脑并登录, 运行下列命令可查看fglrx是否正确运行:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
若两者均有输出, 安装成功。进行桌面环境并运行以下命令检查直接渲染模式是否启用:<br />
<br />
$ glxinfo | grep direct<br />
<br />
若显示"direct rendering: yes",恭喜你,到位了! 若无glxinfo命令,安装{{Pkg|mesa-demos}} package。<br />
<br />
{{警告|最近几版Xorg,库函数路径变了,因此即使安装{{ic|libGL.so}}也不一定能正确人加载。请检查GL是否工作,可阅读"Troubleshooting"段落}}<br />
<br />
若有问题,参阅[[#Troubleshooting]].<br />
<br />
=== 自我编译内核 ===<br />
<br />
在手动编译的内核上,你必须构建你自己{{ic|catalyst-$kernel}}包.<br />
<br />
如果你讨厌打包或毫无经验,可先阅读[[ABS]]。<br />
<br />
#从[[AUR|Catalyst]]上获取{{ic|PKGBUILD}} 和 {{ic|catalyst.install}}文件。<br />
# 编辑PKGBUILD. 两个地方需要修改:<br />
## 将{{ic|1=pkgname=catalyst}} 修改为 {{ic|1=pkgname=catalyst-$kernel_name}},$kernel_name可以随意取(如:custom, mm)。<br />
## 将{{ic|linux}}的依赖修改为{{ic|$kernel_name}}。<br />
# 构建并安装软件包;运行{{ic|makepkg -i}} 和 {{ic|makepkg}},接着运行 {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{注意|如果在安装有多内核的系统上,你必须为所有内核安装Catalyst-utils包。这不会引起冲突}}<br />
<br />
{{注意|Catalyst-generator能为你自动构建catalyst-{kernver},因此这些步骤根本就可省略。 请参考[[#Tools| Tools section]].}}<br />
<br />
== Xorg软件库 ==<br />
Catalyst由于其缓慢的更新而被人大为诟病。因升级Xorg而造成两者不兼容是稀松平常的事。也就意味着Catalyst用户要么不升级Xorg要么使用一个只包含Xorg包的回溯软件库,该库中不提供更新版Xorg以确保兼容性。 Vi0L0提供好几个这样的库. <br />
<br />
若想让pacman更新其他软件而不更新Xorg,查看[[pacman|skip package from being upgraded]]。不更新的软件是:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
若要使用这类软件库,在{{ic|/etc/pacman.conf}}的所有库(甚至Catalyst)前面添加下面中的一个 。<br />
<br />
===[xorg112]===<br />
截止目前,当前Catalyst 不支持1.13。<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
低于 12.6的Catalyst不支持xorg-server 1.12。<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== 工具 ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook]是一个针对[[mkinitcpio|mkinitcpio]]的钩子。'''跟 catalyst-dkms一样''',每当内核更新时,它会自动升级fglrx模块。在更新fglrx之前,它会尝试更新{{Pkg|linux-headers}}。<br />
<br />
当更新内核时,钩子会调用''catalyst_build_module''命令来更新fglrx模块以使两者相匹配。此外,它还可调用''catalyst_build_module remove''来删除不需要的旧flgrx模块<br />
<br />
{{注意|若使用此功能,'''一定要''' 关注的内核的安装提示,Catalyst-hook会显示是否一切顺利。}}<br />
<br />
{{注意|若是'''自编译内核'''且使用'''非标准的mkinitcpio配置文件'''(如:linux-zen使用/etc/mkinitcpio-zen.conf),那必须在你非标准的配置文件中添加'''fglrx'''至 HOOKS行,以便当内核更新时能自动重新编译。}}<br />
<br />
{{注意|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator]包能构建并安装fglrx模块,该模块与pacman兼容 的catalyst-${内核版本}相适应。与Catalyst-hook的区别是必须手动使用此命令,而Catalyst-hook则不需。<br />
<br />
通过[[makepkg]],它能构建catalyst-${内核版本}二进制包并用[[pacman]]安装。<br />
<br />
非特权用户使用{{ic|catalyst_build_module}}来构建并安装catalyst-${内核版本}包。安装时会提示输入root密码。<br />
<br />
简单说一下如何使用此包:<br />
<br />
# root用户: 使用{{ic|catalyst_build_module remove}}。此举会删除无用的{{ic|catalyst-{kernver} }}包。<br />
# 非特权用户: 使用{{ic|catalyst_build_module ${内核版本}}}, ${内核版本}是指升级过后的内核版本。也可通过{{ic|catalyst_build_module all}}为所有安装的内核构建catalyst-${内核版本}。<br />
# 若要删除{{ic|catalyst-generator}}, 在使用{{ic|catalyst_build_module remove_all}}命令删除catalyst-generator之前最好切换到root用户,'''这会删除得极为彻底。'''<br />
<br />
当删除Catalyst-generator时,Catalyst-generator不能自动删除那些catalyst-{内核版本}包,这是因为pacman不允许有一个以上的实例同时运行。若在使用{{ic|pacman -R catalyst-generator}}前忘记运行{{ic|catalyst_build_module remove_all}}, catalyst-generator将会询问删除catalyst-generator自身后要删除哪个catalyst-{内核版本}包。<br />
<br />
{{注意|在构建catalyst-{内核版本}时,若看到下列警告,乃正常情况,不必莫名惊诧:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension}}<br />
<br />
=== Catalyst-daemon ===<br />
{{Warning| systemd users have no use for this, as systemd is not compatible with regular initscript daemons.}}<br />
<br />
[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon] is, as its name suggests, a daemon that will run upon every boot to check if the kernel was updated. If it was, it will rebuild the fglrx module - if it wasn't, it will load the previously built fglrx module. This whole operation takes only 20ms on a 2.4 GHz CPU.<br />
<br />
The automatic re-compilation functionality of Catalyst-daemon is done by an init script called ''autofglrx''. Autofglrx's check function is comparing the built time of the just booted kernel (provided by {{ic|uname -v}}) with the built time of a kernel for which the previously used fglrx module was built. It is able to do such a comparison because it adds {{ic|uname -v}} information to the fglrx module description whilst compiling it. <br />
<br />
Whilst rebuilding, autofglrx will call the ''catalyst_build_module'' to build a module and ''catalyst_build_module remove'' to remove the old, unneeded fglrx module. It doesn't remain in the system's memory after being run.<br />
<br />
{{Note|After installing autofglrx, you have to add {{ic|autofglrx}} to the beginning of the {{ic|DAEMONS}} array {{ic|/etc/rc.conf}}. Be sure to place it before your DM (if you run that from here) and do '''not''' run it in the background (e.g. do not at a @ symbol in front of it).}}<br />
<br />
{{Note|If you are using '''your own compilation flags''' and get problems with the daemon - please add those flags into /usr/bin/catalyst_build_module file.}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
Presented in '''Catalyst 11.1''', the ''Tear Free Desktop'' feature reduces tearing in 2D, 3D and video applications. This likely adds triple-buffering and v-sync. Do note that it requires additional GPU processing.<br />
<br />
To enable 'Tear Free Desktop' run {{ic|amdcccle}} and go to: {{ic|Display Options}} → {{ic|Tear Free}}.<br />
<br />
Or as root run:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
To disable, again use {{ic|amdcccle}} or run as root:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== Video acceleration ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)''' is an open source software library (libVA) and API specification which provides GPU acceleration for video processing on Linux/UNIX based operating systems. The process works by enabling hardware accelerated video decode at various entry-points (VLD, IDCT, Motion Compensation, deblocking) for common encoding standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3).<br />
<br />
VA-API gained a proprietary backend (in November 2009) called {{AUR|xvba-video}}, that allows VA-API programmed applications to take advantage of AMD Radeons UVD2 chipsets via the [http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)] library.<br />
<br />
XvBA support and xvba-video is still under development, however it is '''working very well in most cases'''. Build the {{AUR|xvba-video}} package from AUR or soon, install it from [community] and install {{Pkg|mplayer-vaapi}} and {{Pkg|libva}}. Then just set your video player to use vaapi:gl as video output:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
These options can be added to your mplayer configuration file, see [[MPlayer]].<br />
<br />
For '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{Note|If Tear Free Desktop is enabled it's better to use:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
If Video Output '''vaapi:gl''' isn't working - please check:<br />
'''vaapi''', '''vaapi:gl2''' or simply '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
For '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
It might help to enable v-sync in '''amdcccle''':<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{Note|If you are using '''Compiz/KWin''', the only way to '''avoid video flickering''' is to watch videos in '''full-screen''' and only when '''Unredirect Fullscreen is off'''.<br />
<br />
In '''compiz''' you need to set '''Redirected Direct Rendering''' in General Options of ccsm. If it is still flickering, try to disable this option in CCSM. It's off by default in '''KWin''', but if you see flickering try to turn "Suspend desktop effects for fullscreen windows" on or off in System Settings → Desktop Effects → Advanced.}}<br />
<br />
=== GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities ===<br />
<br />
You can get the GPU/Mem clocks with: {{ic|$ aticonfig --od-getclocks}}.<br />
<br />
You can get the fan speed with: {{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}<br />
<br />
You can get the temperature with: {{ic|$ aticonfig --odgt}}<br />
<br />
To set the fanspeed with: {{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}} Query Index: 50, Speed in percent<br />
<br />
To overclock and/or underclock it's easier to use a GUI, like '''ATi Overclocking Utility''', which is very simple and requires qt to work.<br />
<br />
The i686 version is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here], while the x86_64 is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]. Just download it and run.<br />
<br />
An other, more complex utility to perform such operations is '''AMDOverdriveCtrl'''. Its homepage is [http://sourceforge.net/projects/amdovdrvctrl here] and you can build an Arch package from [https://aur.archlinux.org/packages.php?ID=45298 AUR] or from Vi0L0's unofficial repositories.<br />
<br />
=== Double Screen (Dual Head / Dual Screen / Xinerama) ===<br />
<br />
==== Introduction ====<br />
<br />
{{Warning| you should know that there isn't one specific solution because each setup differs and needs its own configuration. That's why you will have to adapt the steps below to your own needs. It is possible that you have to try more than once. '''Therefore, you should save your working {{ic|/etc/X11/xorg.conf}} before you start modifying and you must be able to recover from a command-line environment.'''}}<br />
<br />
* In this chapter, we will describe the installation of two different-sized screens on only one graphics card with two different output ports (DVI + HDMI) using a "BIG Desktop" configuration.<br />
<br />
* The Xinerama solution has some inconveniences, especially because it is not compatible with XrandR. For that very reason, you should not use this solution, because XrandR is a must for our later configuration.<br />
<br />
* The Dual Head solution would allow you to have 2 different sessions (one for each screen). It could be what you want, but you will not be able to move windows from one screen to another. If you have only one screen, you will have to define the mouse inside your Xorg session for each of the two sessions inside the Server Layout section.<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
The GUI tool shipped by ATI is very useful and we will try to use it as much as we can. To launch it, open a terminal and use the following command:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{Warning|Do '''not''' use sudo directly with a GUI. Sudo gives you admin rights with user account information. Instead, use ''gksu'' (GNOME) or ''kdesu'' (KDE).}}<br />
<br />
==== Installation ====<br />
<br />
Before we start, make sure that your hardware is plugged in correctly, that power is on and that you know your hardware characteristics (screen dimensions, sizes, refreshment rates, etc.) Normally, both screens are recognized during boot time but not necessarily identified properly, especially if you are not using any Xorg base configuration file ({{ic|/etc/X11/xorg.conf}}) but relying on the hot-plugging feature.<br />
<br />
The first step is to make sure that you screens will be recognized by your DE and by X. For this, you need to generate a basic Xorg configuration file for your two screens:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
or<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{Note|{{ic|overlay}} is important because it allows you to have 1 pixel (or more) shared between the 2 screens.}}<br />
{{Tip|For the other possible and available options, do not hesitate to type {{ic|aticonfig --help}} inside a terminal to display all available command lines.}}<br />
<br />
Now you should have a basic Xorg configuration file that you can edit to add your screen resolutions. It is important to use the precise resolution, especially if you have screens of different sizes. These resolutions have to be added in the "Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
From now on, instead of editing the {{ic|xorg.conf}} file manually, let us use the ATI GUI tool. Restart X to be sure that your two screens are properly supported and that the resolutions are properly recognized (Screens must be independent, not mirrored).<br />
<br />
==== Configuration ====<br />
<br />
Now you will only have to launch the ATI control center with root privileges, go to the display menu and choose how you would like to set your configuration (small arrow of the drop down menu). A last restart of X and you should be done!<br />
<br />
Before you restart X, do not hesitate to verify your new {{ic|xorg.conf}} file. At this stage, inside the "Display" sub-section of the "Screen" section, you should see a "Virtual" command line, of which the resolution should be the sum of both screens. The "Server Layout" section says all the rest.<br />
<br />
== Troubleshooting ==<br />
<br />
If you can still boot to command-line, then the problem probably lies in {{ic|/etc/X11/xorg.conf}}<br />
<br />
You can parse the whole {{ic|/var/log/Xorg.0.log}} or, for clues:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
If you are at lost of what to do, you can always post a message in the see [http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]. When you do so, please do provide the information you get from both commands mentioned above.<br />
<br />
=== 3D Wine applications freeze ===<br />
If you use a 3D Wine application and it hangs, you have to disable TLS. To do this, either use {{ic|aticonfig}} or edit {{ic|/etc/X11/xorg.conf}}. To use {{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
Or, to edit {{ic|/etc/X11/xorg.conf}}; first open the file in an editor as root and then add {{ic|Option "UseFastTLS" "off"}} to the ''Device'' section of this file. <br />
<br />
After applying either of the solutions, restart X for it to take effect.<br />
<br />
=== Problems with video colours ===<br />
<br />
You may still use {{ic|vaapi:gl}} to avoid video flickering, but without video acceleration:<br />
<br />
* Run '''mplayer''' without {{ic|-vo vaapi}} switch.<br />
<br />
* Run '''smplayer''' remove {{ic|-vo vaapi}} from Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
<br />
Plus for '''smplayer''' you may now safely turn screenshots on.<br />
<br />
=== KWin and composite ===<br />
<br />
You may use XRender if the rendering with OpenGL is slow. However, XRender might also be slower than OpenGL depending on your card.<br />
XRender also solves artifact issues in some cases.<br />
<br />
=== Black screen with complete lockups and/or hangs after reboot or startx ===<br />
<br />
Ensure you have added the '''nomodeset''' option to the kernel options line in your bootloader (see [[#Disable kernel mode setting]]).<br />
<br />
==== Faulty ACPI hardware calls ====<br />
It is possible that fglrx doesn't cooperate well with the system's ACPI hardware calls, so it auto-disables itself and there is no screen output.<br />
<br />
If so, try to run this:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== KDM disappears after logout ===<br />
<br />
If you are running Catalyst proprietary driver and you get a console (tty1) instead of the expected KDM greeting when you log out, you must instruct KDM to restart the X server after each logout:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
Uncomment the following line under the section titled {{ic|[X-:*-Core]}}:<br />
<br />
TerminateServer=True<br />
<br />
KDM should now appear when you log out of KDE.<br />
<br />
=== Direct Rendering does not work ===<br />
<br />
This problem may occur when using the proprietary '''Catalyst''' driver.<br />
<br />
{{Warning|This error would also appear if you have not '''rebooted''' your system after the installation or upgrade of catalyst. The system needs to load the fglrx.ko module in order to make the driver work.}}<br />
<br />
If you have problem with direct rendering, run:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
at the command prompt. At the very start of the output, it'll usually give you a nice error message saying why you do not have direct rendering.<br />
<br />
Common errors and their solutions, are:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* Ensure that you are loading the correct agp modules for your AGP chipset before you load the fglrx kernel module. To determine which agp modules you'll need, run {{ic|hwdetect --show-agp}}, then ensure that all modules listed from that command are in the {{ic|1=MODULES=}} array in rc.conf, '''before''' fglrx if using SysVinit, otherwise open your {{ic|fglrx.conf}} file in {{ic|/etc/modules-load.d}} and add the agp module on a line '''before''' the fglrx line.<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* Something has not been installed correctly. If the paths in the error message are {{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}}, then ensure you've logged completely out of your system, then back in. If you're using a graphical login manager (gdm, kdm, xdm), ensure that {{ic|/etc/profile}} is sourced every time you log in. This is usually accomplished by adding {{ic|source /etc/profile}} into {{ic|~/.xsession}} or {{ic|~/.xinitrc}}, but this may vary between login managers.<br />
<br />
* If the paths above in your error message ''are'' {{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}}, then something has not been correctly installed. Try reinstalling the {{ic|catalyst}} package.<br />
<br />
Errors such as:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
could be caused by having multiple versions of {{ic|libGL.so}} on your system. Run:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
This should return the following output:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
These are the only three libGL.so files you should have on your system. If you have any more (e.g. {{ic|/usr/X11R6/lib/libGL.so.1.2}}), then remove them. This should fix your problem.<br />
<br />
You might not get any error to indicate that this is a problem. If you are using X11R7, make sure you do '''not''' have these files on your system:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== Hibernate/Sleep Issues ===<br />
<br />
==== Video fails to resume from suspend2ram ====<br />
<br />
ATI's proprietary Catalyst driver cannot resume from suspend if the framebuffer is enabled. To disable the framebuffer, add '''vga=0''' to your kernel options in for example, Grub Legacy's {{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
To see where you need to add this with other bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== System Freezes/Hard locks ===<br />
<br />
* The {{ic|radeonfb}} framebuffer drivers have been known in the past to cause problems of this nature. If your kernel has radeonfb support compiled in, you may want to try a different kernel and see if this helps.<br />
<br />
* If you experience system freezes when exiting your DE (shut down, suspend, switching to tty etc.) you probably forgot to deactivate KMS. (See [[#Disable kernel mode setting]])<br />
<br />
=== Hardware Conflicts ===<br />
<br />
Radeon cards used in conjunction with some versions of the nForce3 chipset (e.g. nForce 3 250Gb) won't have 3D acceleration. Currently the cause of this issue is unknown, but some sources indicate that it may be possible to get acceleration with this combination of hardware by booting Windows with the drivers from nVIDIA and then rebooting the system. This can be verified by issuing in a root console the following command:<br />
<br />
$ dmesg | grep agp<br />
<br />
If you get something similar to this (using an nForce3-based system):<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
and also if issuing this command...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...gets something similar to:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
Then you have this bug.<br />
<br />
Some sources indicate that in some situations, downgrading the motherboard BIOS may help, but this cannot be verified in all cases. Also, '''a bad BIOS downgrade can render your hardware useless, so beware.'''<br />
<br />
See [http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport] for more information and a potential fix.<br />
<br />
=== Temporary hangs when playing video ===<br />
<br />
This problem may occur when using the proprietary Catalyst.<br />
<br />
If you experience temporary hangs lasting from a few seconds to several minutes occuring randomly during playback with mplayer, check /var/log/messages.log for output like:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
Adding the nopat kernel option to your kernel options in your bootloader and rebooting fixed the problem at least for me. To see how to do this for different bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
If when running<br />
<br />
# sudo aticonfig --initial<br />
<br />
you get:<br />
<br />
aticonfig: No supported adaptaters detected<br />
<br />
But you do have an AMD GPU (or APU), it may still be possible to get Catalyst working by manually setting the device in your your {{ic|etc/X11/xorg.conf}} file.<br />
<br />
You can do so by setting the device section of {{ic|/etc/X11/xorg.conf}} to:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
Where ''****'' should be replaced with your device's marketing number (e.g. 6870 for the HD 6870 and 6310 for the E-350 APU).<br />
<br />
Xorg will start and it is possible to use {{ic|amdcccle}} instead of {{ic|aticonfig}}. There will be an "AMD Unsupported hardware" watermark.<br />
<br />
You can remove this watermark using the following script:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
<br />
and rebooting.<br />
<br />
=== WebGL support in Chromium ===<br />
<br />
Google has blacklisted Linux's Catalyst driver from supporting webGL in their Chromium/Chrome browsers.<br />
<br />
You can turn webGL on by editing {{ic|/usr/share/applications/chromium.desktop}} file and adding {{ic|--ignore-gpu-blacklist}} flag into the '''Exec''' line so it looks like this:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
You can also run chromium from console with the same {{ic|--ignore-gpu-blacklist}} flag:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{Warning|Catalyst does not support the GL_ARB_robustness extension, so it is possible that a malicious site could use WebGL to perform a DoS attack on your graphic card. For more info, read [http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== Laggs/freezes when watching flash videos via Adobe's flashplugin ===<br />
<br />
Edit {{ic|/etc/adobe/mms.cfg}} and make it look like this:<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== Laggs/slow windows movement in GNOME3 ===<br />
<br />
You can try this solution out, it's working for many people.<br />
<br />
Add this line into {{ic|~/.profile}} or into {{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
Restart X server or reboot your system.<br />
<br />
=== Not using fullscreen in the 1920x1080 resolution ===<br />
<br />
The ATI has scaling by default add this to your xorg.conf<br />
<br />
Option "DPMS" "true"<br />
<br />
On the Monitor section, as full example would look like this<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=229603AMD Catalyst (简体中文)2012-10-19T07:29:23Z<p>Micy1985: </p>
<hr />
<div>[[Category:Graphics (简体中文)]]<br />
[[Category:X Server (简体中文)]]<br />
{{TranslationStatus (简体中文)|AMD_Catalyst|2012-10-19|229195}}<br />
"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs完全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx 显卡驱动分开开发,因此在你选择何种安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用普通Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的普通Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上面对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败和丢失Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make脚本, 最好换一名称保存。否则将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
通过访问{{ic|/etc/ati/amdpcsdb}}文件它几乎能配置显卡的各项参数。了解完整的配置选项{{ic|aticonfig}}可运行:<br />
<br />
# aticonfig --help | less<br />
<br />
{{警告|在将各项配置参数提交到/etc/X11/xorg.conf之前使用--output选项,/etc/X11/xorg.conf.d中的所有内容都会被覆盖。}}<br />
<br />
{{注意|如果坚持使用xorg.conf.d下的新配置文件:为了让Device section与{{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}相匹配,在{{ic|aticonfig}}后追加''--output''。但这有一个缺点,很多依赖xorg.conf的{{ic|aticonfig}}选项都无法使用。}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,但不同Xorg版本的默认参数可能会有所不同,最好明确指定一些参数.<br />
<br />
给一个示例配置 (注意) '''仅供参考'''. 标'#'必须有,标'##'很可能会用到:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{注意|一旦升级Catalyst就要通过后面的方法删除'''amdpcsdb'''文件: 关闭X,删除{{ic|/etc/ati/amdpcsdb}},启动X然后运行{{ic|amdcccle}} -否则amdcccle将会显示错误的Catalyst版本号}}<br />
<br />
''更多信息参考[http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== 启动时加载模块 ====<br />
不同的初始化系统(SysVinit和systemd)的设置方式不一样,但无论哪一种,都得在{{ic|/etc/modprobe.d/modprobe.conf}}禁用''radeon''。具体可参见[[Modprobe|blacklisting in this article]]. '''通过Arch官方安装Catalyst则无需此步骤,安装包会自动处理'''。<br />
<br />
{{注意|强烈推荐使用systemd进行系统初始化,因为最新Arch安装镜像已默认使用systemd,通过rc.conf设置系统启动服务迟早会遭淘汰}}。<br />
<br />
===== 在使用systemd上 =====<br />
* 删除{{ic|/etc/modules-load.d/}}下任何名称包含{{ic|radeon}}的文件若该文件中含有其他多个模块,则只删除radeon)。<br />
* 在{{ic|/etc/modules-load.d/}}的现有文件中添加{{ic|fglrx}}或新建含有该行的文件。<br />
<br />
===== 在使用SysVinit上 =====<br />
编辑{{ic|/etc/rc.conf}}:<br />
* 自MODULES中删除{{ic|radeon}}。<br />
* 在MODULES中添加 {{ic|fglrx}}。<br />
<br />
{{注意|若使用AGP接口的显卡还需添加''agp''。}}<br />
<br />
==== 禁用KMS ====<br />
<br />
由于Catalyst根本不使用[[KMS]],得将其禁用。否则,当系统切换至tyy或在桌面环境下关机时,系统可能会冻结。<br />
<br />
若使用[[GRUB Legacy|GRUB Legacy]],在{{ic|menu.lst}}添加{{ic|nomodeset}}给内核参数,如:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
若使用[[GRUB2|GRUB 2]],在{{ic|/etc/default/grub}}添加''nomodeset''给内核参数,如:<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
然后以root身份运行;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
若使用[[Syslinux|Syslinux]],在{{ic|/boot/syslinux/syslinux.cfg}}添加''nomodeset''到{{ic|APPEND}}行,如:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== 检查安装是否成功 ====<br />
<br />
重启电脑并登录, 运行下列命令可查看fglrx是否正确运行:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
若两者均有输出, 安装成功。进行桌面环境并运行以下命令检查直接渲染模式是否启用:<br />
<br />
$ glxinfo | grep direct<br />
<br />
若显示"direct rendering: yes",恭喜你,到位了! 若无glxinfo命令,安装{{Pkg|mesa-demos}} package。<br />
<br />
{{警告|最近几版Xorg,库函数路径变了,因此即使安装{{ic|libGL.so}}也不一定能正确人加载。请检查GL是否工作,可阅读"Troubleshooting"段落}}<br />
<br />
若有问题,参阅[[#Troubleshooting]].<br />
<br />
=== 自我编译内核 ===<br />
<br />
在手动编译的内核上,你必须构建你自己{{ic|catalyst-$kernel}}包.<br />
<br />
如果你讨厌打包或毫无经验,可先阅读[[ABS]]。<br />
<br />
#从[[AUR|Catalyst]]上获取{{ic|PKGBUILD}} 和 {{ic|catalyst.install}}文件。<br />
# 编辑PKGBUILD. 两个地方需要修改:<br />
## 将{{ic|1=pkgname=catalyst}} 修改为 {{ic|1=pkgname=catalyst-$kernel_name}},$kernel_name可以随意取(如:custom, mm)。<br />
## 将{{ic|linux}}的依赖修改为{{ic|$kernel_name}}。<br />
# 构建并安装软件包;运行{{ic|makepkg -i}} 和 {{ic|makepkg}},接着运行 {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{注意|如果在安装有多内核的系统上,你必须为所有内核安装Catalyst-utils包。这不会引起冲突}}<br />
<br />
{{注意|Catalyst-generator能为你自动构建catalyst-{kernver},因此这些步骤根本就可省略。 请参考[[#Tools| Tools section]].}}<br />
<br />
== Xorg软件库 ==<br />
Catalyst is notorious for its slow update process. As such, it is common that a new Xorg version is pushed down from upstream that will break compatibility for Catalyst. This means that Catalyst users either have to hold the Xorg packages from updating, or use a backported repository that only contains the Xorg packages that should be hold back. Vi0L0 has stepped in to fulfil this task and provides several backported repositories. <br />
<br />
If you want to use pacman to hold back packages from updating, see [[pacman|skip package from being upgraded]]. Packages you should hold back, are:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
If you want to use the backported repositories, you have to edit {{ic|/etc/pacman.conf}} and add the information of the repository '''above all other repositories''', even above your Catalyst repository, should you use one.<br />
<br />
===[xorg112]===<br />
The current version of Catalyst doesn't support xorg-server 1.13 at the moment.<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
Catalyst < 12.6 doesn't support xorg-server 1.12.<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== Tools ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook] is a hook for [[mkinitcpio|mkinitcpio]] that will automatically update fglrx modules with every kernel update. '''This is basically the same as catalyst-dkms from [community].''' Before updating the fglrx modules, it will first try to update the {{Pkg|linux-headers}}.<br />
<br />
The hook will call the ''catalyst_build_module'' command to update fglrx module for the version of your new kernel. Additionally, it can call the ''catalyst_build_module remove'' command to remove the now old and unneeded flgrx module(s).<br />
<br />
{{Note|If you are using this functionality it's '''important''' to look at the installation process of the linux kernel (or any other kernel) package. Catalyst-hook will tell you is everything all right.}}<br />
<br />
{{Note|If your '''custom kernel''' is using some '''non-standard mkinitcpio configuration file''' (ie. linux-zen is using /etc/mkinitcpio-zen.conf) you'll have to manually add '''fglrx''' to HOOKS array in your non-standard configuration file so it can be auto-recompiled with a kernel update.}}<br />
<br />
{{Note|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator] is a package that is able to build and install the fglrx module packed into pacman compliant catalyst-${kernver} packages. The difference from Catalyst-hook is that you will have to trigger this command manually, whereas Catalyst-hook will do this automatically at boot when a new kernel got installed.<br />
<br />
It creates catalyst-${kernver} packages using [[makepkg]] and installs them with [[pacman]]. ''${kernver}'' is the kernel version for which each package was built (e.g. catalyst-2.6.35-ARCH package was built for 2.6.35-ARCH kernel).<br />
<br />
To build and install catalyst-${kernver} package for a currently booted kernel as an unprivileged user (non-root; safer way), use {{ic|catalyst_build_module}}. You will be asked for your root password to proceed to package installation.<br />
<br />
A short summary on how to use this package:<br />
<br />
# As root: {{ic|catalyst_build_module remove}}. This will remove all unused {{ic|catalyst-{kernver} }} packages.<br />
# As unprivileged user: {{ic|catalyst_build_module ${kernver}}}, where ${kernver} is the version of the kernel to which you just updated. For example: {{ic|catalyst_build_module 2.6.36-ARCH}}. You can also build catalyst-${kernver} for all installed kernels by using {{ic|catalyst_build_module all}}.<br />
# If you want to remove {{ic|catalyst-generator}}, it's best to run this as root before removing catalyst-generator: {{ic|catalyst_build_module remove_all}}. '''This will remove all catalyst-{kernver} packages from the system.'''<br />
<br />
Catalyst-generator isn't able to remove all those catalyst-{kernver} packages automatically while being removed because there can not be more than one instance of pacman running. If you forget to run {{ic|catalyst_build_module remove_all}} before using {{ic|pacman -R catalyst-generator}} catalyst-generator will tell you which catalyst-{kernver} packages you will have to remove manually after removing catalyst-generator itself.<br />
<br />
{{Note|If you see those warnings:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension.<br />
<br />
while building catalyst-{kernver} package, do not be concerned, it's normal.}}<br />
<br />
=== Catalyst-daemon ===<br />
{{Warning| systemd users have no use for this, as systemd is not compatible with regular initscript daemons.}}<br />
<br />
[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon] is, as its name suggests, a daemon that will run upon every boot to check if the kernel was updated. If it was, it will rebuild the fglrx module - if it wasn't, it will load the previously built fglrx module. This whole operation takes only 20ms on a 2.4 GHz CPU.<br />
<br />
The automatic re-compilation functionality of Catalyst-daemon is done by an init script called ''autofglrx''. Autofglrx's check function is comparing the built time of the just booted kernel (provided by {{ic|uname -v}}) with the built time of a kernel for which the previously used fglrx module was built. It is able to do such a comparison because it adds {{ic|uname -v}} information to the fglrx module description whilst compiling it. <br />
<br />
Whilst rebuilding, autofglrx will call the ''catalyst_build_module'' to build a module and ''catalyst_build_module remove'' to remove the old, unneeded fglrx module. It doesn't remain in the system's memory after being run.<br />
<br />
{{Note|After installing autofglrx, you have to add {{ic|autofglrx}} to the beginning of the {{ic|DAEMONS}} array {{ic|/etc/rc.conf}}. Be sure to place it before your DM (if you run that from here) and do '''not''' run it in the background (e.g. do not at a @ symbol in front of it).}}<br />
<br />
{{Note|If you are using '''your own compilation flags''' and get problems with the daemon - please add those flags into /usr/bin/catalyst_build_module file.}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
Presented in '''Catalyst 11.1''', the ''Tear Free Desktop'' feature reduces tearing in 2D, 3D and video applications. This likely adds triple-buffering and v-sync. Do note that it requires additional GPU processing.<br />
<br />
To enable 'Tear Free Desktop' run {{ic|amdcccle}} and go to: {{ic|Display Options}} → {{ic|Tear Free}}.<br />
<br />
Or as root run:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
To disable, again use {{ic|amdcccle}} or run as root:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== Video acceleration ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)''' is an open source software library (libVA) and API specification which provides GPU acceleration for video processing on Linux/UNIX based operating systems. The process works by enabling hardware accelerated video decode at various entry-points (VLD, IDCT, Motion Compensation, deblocking) for common encoding standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3).<br />
<br />
VA-API gained a proprietary backend (in November 2009) called {{AUR|xvba-video}}, that allows VA-API programmed applications to take advantage of AMD Radeons UVD2 chipsets via the [http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)] library.<br />
<br />
XvBA support and xvba-video is still under development, however it is '''working very well in most cases'''. Build the {{AUR|xvba-video}} package from AUR or soon, install it from [community] and install {{Pkg|mplayer-vaapi}} and {{Pkg|libva}}. Then just set your video player to use vaapi:gl as video output:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
These options can be added to your mplayer configuration file, see [[MPlayer]].<br />
<br />
For '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{Note|If Tear Free Desktop is enabled it's better to use:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
If Video Output '''vaapi:gl''' isn't working - please check:<br />
'''vaapi''', '''vaapi:gl2''' or simply '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
For '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
It might help to enable v-sync in '''amdcccle''':<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{Note|If you are using '''Compiz/KWin''', the only way to '''avoid video flickering''' is to watch videos in '''full-screen''' and only when '''Unredirect Fullscreen is off'''.<br />
<br />
In '''compiz''' you need to set '''Redirected Direct Rendering''' in General Options of ccsm. If it is still flickering, try to disable this option in CCSM. It's off by default in '''KWin''', but if you see flickering try to turn "Suspend desktop effects for fullscreen windows" on or off in System Settings → Desktop Effects → Advanced.}}<br />
<br />
=== GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities ===<br />
<br />
You can get the GPU/Mem clocks with: {{ic|$ aticonfig --od-getclocks}}.<br />
<br />
You can get the fan speed with: {{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}<br />
<br />
You can get the temperature with: {{ic|$ aticonfig --odgt}}<br />
<br />
To set the fanspeed with: {{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}} Query Index: 50, Speed in percent<br />
<br />
To overclock and/or underclock it's easier to use a GUI, like '''ATi Overclocking Utility''', which is very simple and requires qt to work.<br />
<br />
The i686 version is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here], while the x86_64 is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]. Just download it and run.<br />
<br />
An other, more complex utility to perform such operations is '''AMDOverdriveCtrl'''. Its homepage is [http://sourceforge.net/projects/amdovdrvctrl here] and you can build an Arch package from [https://aur.archlinux.org/packages.php?ID=45298 AUR] or from Vi0L0's unofficial repositories.<br />
<br />
=== Double Screen (Dual Head / Dual Screen / Xinerama) ===<br />
<br />
==== Introduction ====<br />
<br />
{{Warning| you should know that there isn't one specific solution because each setup differs and needs its own configuration. That's why you will have to adapt the steps below to your own needs. It is possible that you have to try more than once. '''Therefore, you should save your working {{ic|/etc/X11/xorg.conf}} before you start modifying and you must be able to recover from a command-line environment.'''}}<br />
<br />
* In this chapter, we will describe the installation of two different-sized screens on only one graphics card with two different output ports (DVI + HDMI) using a "BIG Desktop" configuration.<br />
<br />
* The Xinerama solution has some inconveniences, especially because it is not compatible with XrandR. For that very reason, you should not use this solution, because XrandR is a must for our later configuration.<br />
<br />
* The Dual Head solution would allow you to have 2 different sessions (one for each screen). It could be what you want, but you will not be able to move windows from one screen to another. If you have only one screen, you will have to define the mouse inside your Xorg session for each of the two sessions inside the Server Layout section.<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
The GUI tool shipped by ATI is very useful and we will try to use it as much as we can. To launch it, open a terminal and use the following command:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{Warning|Do '''not''' use sudo directly with a GUI. Sudo gives you admin rights with user account information. Instead, use ''gksu'' (GNOME) or ''kdesu'' (KDE).}}<br />
<br />
==== Installation ====<br />
<br />
Before we start, make sure that your hardware is plugged in correctly, that power is on and that you know your hardware characteristics (screen dimensions, sizes, refreshment rates, etc.) Normally, both screens are recognized during boot time but not necessarily identified properly, especially if you are not using any Xorg base configuration file ({{ic|/etc/X11/xorg.conf}}) but relying on the hot-plugging feature.<br />
<br />
The first step is to make sure that you screens will be recognized by your DE and by X. For this, you need to generate a basic Xorg configuration file for your two screens:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
or<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{Note|{{ic|overlay}} is important because it allows you to have 1 pixel (or more) shared between the 2 screens.}}<br />
{{Tip|For the other possible and available options, do not hesitate to type {{ic|aticonfig --help}} inside a terminal to display all available command lines.}}<br />
<br />
Now you should have a basic Xorg configuration file that you can edit to add your screen resolutions. It is important to use the precise resolution, especially if you have screens of different sizes. These resolutions have to be added in the "Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
From now on, instead of editing the {{ic|xorg.conf}} file manually, let us use the ATI GUI tool. Restart X to be sure that your two screens are properly supported and that the resolutions are properly recognized (Screens must be independent, not mirrored).<br />
<br />
==== Configuration ====<br />
<br />
Now you will only have to launch the ATI control center with root privileges, go to the display menu and choose how you would like to set your configuration (small arrow of the drop down menu). A last restart of X and you should be done!<br />
<br />
Before you restart X, do not hesitate to verify your new {{ic|xorg.conf}} file. At this stage, inside the "Display" sub-section of the "Screen" section, you should see a "Virtual" command line, of which the resolution should be the sum of both screens. The "Server Layout" section says all the rest.<br />
<br />
== Troubleshooting ==<br />
<br />
If you can still boot to command-line, then the problem probably lies in {{ic|/etc/X11/xorg.conf}}<br />
<br />
You can parse the whole {{ic|/var/log/Xorg.0.log}} or, for clues:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
If you are at lost of what to do, you can always post a message in the see [http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]. When you do so, please do provide the information you get from both commands mentioned above.<br />
<br />
=== 3D Wine applications freeze ===<br />
If you use a 3D Wine application and it hangs, you have to disable TLS. To do this, either use {{ic|aticonfig}} or edit {{ic|/etc/X11/xorg.conf}}. To use {{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
Or, to edit {{ic|/etc/X11/xorg.conf}}; first open the file in an editor as root and then add {{ic|Option "UseFastTLS" "off"}} to the ''Device'' section of this file. <br />
<br />
After applying either of the solutions, restart X for it to take effect.<br />
<br />
=== Problems with video colours ===<br />
<br />
You may still use {{ic|vaapi:gl}} to avoid video flickering, but without video acceleration:<br />
<br />
* Run '''mplayer''' without {{ic|-vo vaapi}} switch.<br />
<br />
* Run '''smplayer''' remove {{ic|-vo vaapi}} from Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
<br />
Plus for '''smplayer''' you may now safely turn screenshots on.<br />
<br />
=== KWin and composite ===<br />
<br />
You may use XRender if the rendering with OpenGL is slow. However, XRender might also be slower than OpenGL depending on your card.<br />
XRender also solves artifact issues in some cases.<br />
<br />
=== Black screen with complete lockups and/or hangs after reboot or startx ===<br />
<br />
Ensure you have added the '''nomodeset''' option to the kernel options line in your bootloader (see [[#Disable kernel mode setting]]).<br />
<br />
==== Faulty ACPI hardware calls ====<br />
It is possible that fglrx doesn't cooperate well with the system's ACPI hardware calls, so it auto-disables itself and there is no screen output.<br />
<br />
If so, try to run this:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== KDM disappears after logout ===<br />
<br />
If you are running Catalyst proprietary driver and you get a console (tty1) instead of the expected KDM greeting when you log out, you must instruct KDM to restart the X server after each logout:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
Uncomment the following line under the section titled {{ic|[X-:*-Core]}}:<br />
<br />
TerminateServer=True<br />
<br />
KDM should now appear when you log out of KDE.<br />
<br />
=== Direct Rendering does not work ===<br />
<br />
This problem may occur when using the proprietary '''Catalyst''' driver.<br />
<br />
{{Warning|This error would also appear if you have not '''rebooted''' your system after the installation or upgrade of catalyst. The system needs to load the fglrx.ko module in order to make the driver work.}}<br />
<br />
If you have problem with direct rendering, run:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
at the command prompt. At the very start of the output, it'll usually give you a nice error message saying why you do not have direct rendering.<br />
<br />
Common errors and their solutions, are:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* Ensure that you are loading the correct agp modules for your AGP chipset before you load the fglrx kernel module. To determine which agp modules you'll need, run {{ic|hwdetect --show-agp}}, then ensure that all modules listed from that command are in the {{ic|1=MODULES=}} array in rc.conf, '''before''' fglrx if using SysVinit, otherwise open your {{ic|fglrx.conf}} file in {{ic|/etc/modules-load.d}} and add the agp module on a line '''before''' the fglrx line.<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* Something has not been installed correctly. If the paths in the error message are {{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}}, then ensure you've logged completely out of your system, then back in. If you're using a graphical login manager (gdm, kdm, xdm), ensure that {{ic|/etc/profile}} is sourced every time you log in. This is usually accomplished by adding {{ic|source /etc/profile}} into {{ic|~/.xsession}} or {{ic|~/.xinitrc}}, but this may vary between login managers.<br />
<br />
* If the paths above in your error message ''are'' {{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}}, then something has not been correctly installed. Try reinstalling the {{ic|catalyst}} package.<br />
<br />
Errors such as:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
could be caused by having multiple versions of {{ic|libGL.so}} on your system. Run:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
This should return the following output:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
These are the only three libGL.so files you should have on your system. If you have any more (e.g. {{ic|/usr/X11R6/lib/libGL.so.1.2}}), then remove them. This should fix your problem.<br />
<br />
You might not get any error to indicate that this is a problem. If you are using X11R7, make sure you do '''not''' have these files on your system:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== Hibernate/Sleep Issues ===<br />
<br />
==== Video fails to resume from suspend2ram ====<br />
<br />
ATI's proprietary Catalyst driver cannot resume from suspend if the framebuffer is enabled. To disable the framebuffer, add '''vga=0''' to your kernel options in for example, Grub Legacy's {{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
To see where you need to add this with other bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== System Freezes/Hard locks ===<br />
<br />
* The {{ic|radeonfb}} framebuffer drivers have been known in the past to cause problems of this nature. If your kernel has radeonfb support compiled in, you may want to try a different kernel and see if this helps.<br />
<br />
* If you experience system freezes when exiting your DE (shut down, suspend, switching to tty etc.) you probably forgot to deactivate KMS. (See [[#Disable kernel mode setting]])<br />
<br />
=== Hardware Conflicts ===<br />
<br />
Radeon cards used in conjunction with some versions of the nForce3 chipset (e.g. nForce 3 250Gb) won't have 3D acceleration. Currently the cause of this issue is unknown, but some sources indicate that it may be possible to get acceleration with this combination of hardware by booting Windows with the drivers from nVIDIA and then rebooting the system. This can be verified by issuing in a root console the following command:<br />
<br />
$ dmesg | grep agp<br />
<br />
If you get something similar to this (using an nForce3-based system):<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
and also if issuing this command...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...gets something similar to:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
Then you have this bug.<br />
<br />
Some sources indicate that in some situations, downgrading the motherboard BIOS may help, but this cannot be verified in all cases. Also, '''a bad BIOS downgrade can render your hardware useless, so beware.'''<br />
<br />
See [http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport] for more information and a potential fix.<br />
<br />
=== Temporary hangs when playing video ===<br />
<br />
This problem may occur when using the proprietary Catalyst.<br />
<br />
If you experience temporary hangs lasting from a few seconds to several minutes occuring randomly during playback with mplayer, check /var/log/messages.log for output like:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
Adding the nopat kernel option to your kernel options in your bootloader and rebooting fixed the problem at least for me. To see how to do this for different bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
If when running<br />
<br />
# sudo aticonfig --initial<br />
<br />
you get:<br />
<br />
aticonfig: No supported adaptaters detected<br />
<br />
But you do have an AMD GPU (or APU), it may still be possible to get Catalyst working by manually setting the device in your your {{ic|etc/X11/xorg.conf}} file.<br />
<br />
You can do so by setting the device section of {{ic|/etc/X11/xorg.conf}} to:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
Where ''****'' should be replaced with your device's marketing number (e.g. 6870 for the HD 6870 and 6310 for the E-350 APU).<br />
<br />
Xorg will start and it is possible to use {{ic|amdcccle}} instead of {{ic|aticonfig}}. There will be an "AMD Unsupported hardware" watermark.<br />
<br />
You can remove this watermark using the following script:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
<br />
and rebooting.<br />
<br />
=== WebGL support in Chromium ===<br />
<br />
Google has blacklisted Linux's Catalyst driver from supporting webGL in their Chromium/Chrome browsers.<br />
<br />
You can turn webGL on by editing {{ic|/usr/share/applications/chromium.desktop}} file and adding {{ic|--ignore-gpu-blacklist}} flag into the '''Exec''' line so it looks like this:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
You can also run chromium from console with the same {{ic|--ignore-gpu-blacklist}} flag:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{Warning|Catalyst does not support the GL_ARB_robustness extension, so it is possible that a malicious site could use WebGL to perform a DoS attack on your graphic card. For more info, read [http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== Laggs/freezes when watching flash videos via Adobe's flashplugin ===<br />
<br />
Edit {{ic|/etc/adobe/mms.cfg}} and make it look like this:<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== Laggs/slow windows movement in GNOME3 ===<br />
<br />
You can try this solution out, it's working for many people.<br />
<br />
Add this line into {{ic|~/.profile}} or into {{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
Restart X server or reboot your system.<br />
<br />
=== Not using fullscreen in the 1920x1080 resolution ===<br />
<br />
The ATI has scaling by default add this to your xorg.conf<br />
<br />
Option "DPMS" "true"<br />
<br />
On the Monitor section, as full example would look like this<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=229468AMD Catalyst (简体中文)2012-10-18T16:41:44Z<p>Micy1985: /* 安装 */</p>
<hr />
<div>"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs完全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx 显卡驱动分开开发,因此在你选择何种安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用普通Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的普通Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上面对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败和丢失Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make脚本, 最好换一名称保存。否则将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
通过访问{{ic|/etc/ati/amdpcsdb}}文件它几乎能配置显卡的各项参数。了解完整的配置选项{{ic|aticonfig}}可运行:<br />
<br />
# aticonfig --help | less<br />
<br />
{{警告|在将各项配置参数提交到/etc/X11/xorg.conf之前使用--output选项,/etc/X11/xorg.conf.d中的所有内容都会被覆盖。}}<br />
<br />
{{注意|如果坚持使用xorg.conf.d下的新配置文件:为了让Device section与{{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}相匹配,在{{ic|aticonfig}}后追加''--output''。但这有一个缺点,很多依赖xorg.conf的{{ic|aticonfig}}选项都无法使用。}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,但不同Xorg版本的默认参数可能会有所不同,最好明确指定一些参数.<br />
<br />
给一个示例配置 (注意) '''仅供参考'''. 标'#'必须有,标'##'很可能会用到:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{注意|一旦升级Catalyst就要通过后面的方法删除'''amdpcsdb'''文件: 关闭X,删除{{ic|/etc/ati/amdpcsdb}},启动X然后运行{{ic|amdcccle}} -否则amdcccle将会显示错误的Catalyst版本号}}<br />
<br />
''更多信息参考[http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== 启动时加载模块 ====<br />
不同的初始化系统(SysVinit和systemd)的设置方式不一样,但无论哪一种,都得在{{ic|/etc/modprobe.d/modprobe.conf}}禁用''radeon''。具体可参见[[Modprobe|blacklisting in this article]]. '''通过Arch官方安装Catalyst则无需此步骤,安装包会自动处理'''。<br />
<br />
{{注意|强烈推荐使用systemd进行系统初始化,因为最新Arch安装镜像已默认使用systemd,通过rc.conf设置系统启动服务迟早会遭淘汰}}。<br />
<br />
===== 在使用systemd上 =====<br />
* 删除{{ic|/etc/modules-load.d/}}下任何名称包含{{ic|radeon}}的文件若该文件中含有其他多个模块,则只删除radeon)。<br />
* 在{{ic|/etc/modules-load.d/}}的现有文件中添加{{ic|fglrx}}或新建含有该行的文件。<br />
<br />
===== 在使用SysVinit上 =====<br />
编辑{{ic|/etc/rc.conf}}:<br />
* 自MODULES中删除{{ic|radeon}}。<br />
* 在MODULES中添加 {{ic|fglrx}}。<br />
<br />
{{注意|若使用AGP接口的显卡还需添加''agp''。}}<br />
<br />
==== 禁用KMS ====<br />
<br />
由于Catalyst根本不使用[[KMS]],得将其禁用。否则,当系统切换至tyy或在桌面环境下关机时,系统可能会冻结。<br />
<br />
若使用[[GRUB Legacy|GRUB Legacy]],在{{ic|menu.lst}}添加{{ic|nomodeset}}给内核参数,如:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
若使用[[GRUB2|GRUB 2]],在{{ic|/etc/default/grub}}添加''nomodeset''给内核参数,如:<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
然后以root身份运行;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
若使用[[Syslinux|Syslinux]],在{{ic|/boot/syslinux/syslinux.cfg}}添加''nomodeset''到{{ic|APPEND}}行,如:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== 检查安装是否成功 ====<br />
<br />
重启电脑并登录, 运行下列命令可查看fglrx是否正确运行:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
若两者均有输出, 安装成功。进行桌面环境并运行以下命令检查直接渲染模式是否启用:<br />
<br />
$ glxinfo | grep direct<br />
<br />
若显示"direct rendering: yes",恭喜你,到位了! 若无glxinfo命令,安装{{Pkg|mesa-demos}} package。<br />
<br />
{{警告|最近几版Xorg,库函数路径变了,因此即使安装{{ic|libGL.so}}也不一定能正确人加载。请检查GL是否工作,可阅读"Troubleshooting"段落}}<br />
<br />
若有问题,参阅[[#Troubleshooting]].<br />
<br />
=== Custom Kernels ===<br />
<br />
To install catalyst for a custom kernel, you'll need to build your own {{ic|catalyst-$kernel}} package.<br />
<br />
If you are at all uncomfortable or inexperienced with making packages, read up the [[ABS]] wiki page first so things go smoothly.<br />
<br />
# Obtain the {{ic|PKGBUILD}} and {{ic|catalyst.install}} files from [[AUR|Catalyst]].<br />
# Editing the PKGBUILD. Two changes need to be made here:<br />
## Change {{ic|1=pkgname=catalyst}} to {{ic|1=pkgname=catalyst-$kernel_name}}, where $kernel_name is whatever you want (e.g. custom, mm, themostawesomekernelever).<br />
## Change the dependency of {{ic|linux}} to {{ic|$kernel_name}}.<br />
# Build your package and install; run {{ic|makepkg -i}} or {{ic|makepkg}} followed by {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{Note|If you run multiple kernels, you have to install the Catalyst-utils packages for all kernels. They won't conflict with one another.}}<br />
<br />
{{Note|Catalyst-generator is able to build catalyst-{kernver} packages for you so you do not actually need to perform all those steps manually. For more information, see [[#Tools| Tools section]].}}<br />
<br />
== Xorg repositories ==<br />
Catalyst is notorious for its slow update process. As such, it is common that a new Xorg version is pushed down from upstream that will break compatibility for Catalyst. This means that Catalyst users either have to hold the Xorg packages from updating, or use a backported repository that only contains the Xorg packages that should be hold back. Vi0L0 has stepped in to fulfil this task and provides several backported repositories. <br />
<br />
If you want to use pacman to hold back packages from updating, see [[pacman|skip package from being upgraded]]. Packages you should hold back, are:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
If you want to use the backported repositories, you have to edit {{ic|/etc/pacman.conf}} and add the information of the repository '''above all other repositories''', even above your Catalyst repository, should you use one.<br />
<br />
===[xorg112]===<br />
The current version of Catalyst doesn't support xorg-server 1.13 at the moment.<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
Catalyst < 12.6 doesn't support xorg-server 1.12.<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== Tools ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook] is a hook for [[mkinitcpio|mkinitcpio]] that will automatically update fglrx modules with every kernel update. '''This is basically the same as catalyst-dkms from [community].''' Before updating the fglrx modules, it will first try to update the {{Pkg|linux-headers}}.<br />
<br />
The hook will call the ''catalyst_build_module'' command to update fglrx module for the version of your new kernel. Additionally, it can call the ''catalyst_build_module remove'' command to remove the now old and unneeded flgrx module(s).<br />
<br />
{{Note|If you are using this functionality it's '''important''' to look at the installation process of the linux kernel (or any other kernel) package. Catalyst-hook will tell you is everything all right.}}<br />
<br />
{{Note|If your '''custom kernel''' is using some '''non-standard mkinitcpio configuration file''' (ie. linux-zen is using /etc/mkinitcpio-zen.conf) you'll have to manually add '''fglrx''' to HOOKS array in your non-standard configuration file so it can be auto-recompiled with a kernel update.}}<br />
<br />
{{Note|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator] is a package that is able to build and install the fglrx module packed into pacman compliant catalyst-${kernver} packages. The difference from Catalyst-hook is that you will have to trigger this command manually, whereas Catalyst-hook will do this automatically at boot when a new kernel got installed.<br />
<br />
It creates catalyst-${kernver} packages using [[makepkg]] and installs them with [[pacman]]. ''${kernver}'' is the kernel version for which each package was built (e.g. catalyst-2.6.35-ARCH package was built for 2.6.35-ARCH kernel).<br />
<br />
To build and install catalyst-${kernver} package for a currently booted kernel as an unprivileged user (non-root; safer way), use {{ic|catalyst_build_module}}. You will be asked for your root password to proceed to package installation.<br />
<br />
A short summary on how to use this package:<br />
<br />
# As root: {{ic|catalyst_build_module remove}}. This will remove all unused {{ic|catalyst-{kernver} }} packages.<br />
# As unprivileged user: {{ic|catalyst_build_module ${kernver}}}, where ${kernver} is the version of the kernel to which you just updated. For example: {{ic|catalyst_build_module 2.6.36-ARCH}}. You can also build catalyst-${kernver} for all installed kernels by using {{ic|catalyst_build_module all}}.<br />
# If you want to remove {{ic|catalyst-generator}}, it's best to run this as root before removing catalyst-generator: {{ic|catalyst_build_module remove_all}}. '''This will remove all catalyst-{kernver} packages from the system.'''<br />
<br />
Catalyst-generator isn't able to remove all those catalyst-{kernver} packages automatically while being removed because there can not be more than one instance of pacman running. If you forget to run {{ic|catalyst_build_module remove_all}} before using {{ic|pacman -R catalyst-generator}} catalyst-generator will tell you which catalyst-{kernver} packages you will have to remove manually after removing catalyst-generator itself.<br />
<br />
{{Note|If you see those warnings:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension.<br />
<br />
while building catalyst-{kernver} package, do not be concerned, it's normal.}}<br />
<br />
=== Catalyst-daemon ===<br />
{{Warning| systemd users have no use for this, as systemd is not compatible with regular initscript daemons.}}<br />
<br />
[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon] is, as its name suggests, a daemon that will run upon every boot to check if the kernel was updated. If it was, it will rebuild the fglrx module - if it wasn't, it will load the previously built fglrx module. This whole operation takes only 20ms on a 2.4 GHz CPU.<br />
<br />
The automatic re-compilation functionality of Catalyst-daemon is done by an init script called ''autofglrx''. Autofglrx's check function is comparing the built time of the just booted kernel (provided by {{ic|uname -v}}) with the built time of a kernel for which the previously used fglrx module was built. It is able to do such a comparison because it adds {{ic|uname -v}} information to the fglrx module description whilst compiling it. <br />
<br />
Whilst rebuilding, autofglrx will call the ''catalyst_build_module'' to build a module and ''catalyst_build_module remove'' to remove the old, unneeded fglrx module. It doesn't remain in the system's memory after being run.<br />
<br />
{{Note|After installing autofglrx, you have to add {{ic|autofglrx}} to the beginning of the {{ic|DAEMONS}} array {{ic|/etc/rc.conf}}. Be sure to place it before your DM (if you run that from here) and do '''not''' run it in the background (e.g. do not at a @ symbol in front of it).}}<br />
<br />
{{Note|If you are using '''your own compilation flags''' and get problems with the daemon - please add those flags into /usr/bin/catalyst_build_module file.}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
Presented in '''Catalyst 11.1''', the ''Tear Free Desktop'' feature reduces tearing in 2D, 3D and video applications. This likely adds triple-buffering and v-sync. Do note that it requires additional GPU processing.<br />
<br />
To enable 'Tear Free Desktop' run {{ic|amdcccle}} and go to: {{ic|Display Options}} → {{ic|Tear Free}}.<br />
<br />
Or as root run:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
To disable, again use {{ic|amdcccle}} or run as root:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== Video acceleration ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)''' is an open source software library (libVA) and API specification which provides GPU acceleration for video processing on Linux/UNIX based operating systems. The process works by enabling hardware accelerated video decode at various entry-points (VLD, IDCT, Motion Compensation, deblocking) for common encoding standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3).<br />
<br />
VA-API gained a proprietary backend (in November 2009) called {{AUR|xvba-video}}, that allows VA-API programmed applications to take advantage of AMD Radeons UVD2 chipsets via the [http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)] library.<br />
<br />
XvBA support and xvba-video is still under development, however it is '''working very well in most cases'''. Build the {{AUR|xvba-video}} package from AUR or soon, install it from [community] and install {{Pkg|mplayer-vaapi}} and {{Pkg|libva}}. Then just set your video player to use vaapi:gl as video output:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
These options can be added to your mplayer configuration file, see [[MPlayer]].<br />
<br />
For '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{Note|If Tear Free Desktop is enabled it's better to use:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
If Video Output '''vaapi:gl''' isn't working - please check:<br />
'''vaapi''', '''vaapi:gl2''' or simply '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
For '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
It might help to enable v-sync in '''amdcccle''':<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{Note|If you are using '''Compiz/KWin''', the only way to '''avoid video flickering''' is to watch videos in '''full-screen''' and only when '''Unredirect Fullscreen is off'''.<br />
<br />
In '''compiz''' you need to set '''Redirected Direct Rendering''' in General Options of ccsm. If it is still flickering, try to disable this option in CCSM. It's off by default in '''KWin''', but if you see flickering try to turn "Suspend desktop effects for fullscreen windows" on or off in System Settings → Desktop Effects → Advanced.}}<br />
<br />
=== GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities ===<br />
<br />
You can get the GPU/Mem clocks with: {{ic|$ aticonfig --od-getclocks}}.<br />
<br />
You can get the fan speed with: {{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}<br />
<br />
You can get the temperature with: {{ic|$ aticonfig --odgt}}<br />
<br />
To set the fanspeed with: {{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}} Query Index: 50, Speed in percent<br />
<br />
To overclock and/or underclock it's easier to use a GUI, like '''ATi Overclocking Utility''', which is very simple and requires qt to work.<br />
<br />
The i686 version is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here], while the x86_64 is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]. Just download it and run.<br />
<br />
An other, more complex utility to perform such operations is '''AMDOverdriveCtrl'''. Its homepage is [http://sourceforge.net/projects/amdovdrvctrl here] and you can build an Arch package from [https://aur.archlinux.org/packages.php?ID=45298 AUR] or from Vi0L0's unofficial repositories.<br />
<br />
=== Double Screen (Dual Head / Dual Screen / Xinerama) ===<br />
<br />
==== Introduction ====<br />
<br />
{{Warning| you should know that there isn't one specific solution because each setup differs and needs its own configuration. That's why you will have to adapt the steps below to your own needs. It is possible that you have to try more than once. '''Therefore, you should save your working {{ic|/etc/X11/xorg.conf}} before you start modifying and you must be able to recover from a command-line environment.'''}}<br />
<br />
* In this chapter, we will describe the installation of two different-sized screens on only one graphics card with two different output ports (DVI + HDMI) using a "BIG Desktop" configuration.<br />
<br />
* The Xinerama solution has some inconveniences, especially because it is not compatible with XrandR. For that very reason, you should not use this solution, because XrandR is a must for our later configuration.<br />
<br />
* The Dual Head solution would allow you to have 2 different sessions (one for each screen). It could be what you want, but you will not be able to move windows from one screen to another. If you have only one screen, you will have to define the mouse inside your Xorg session for each of the two sessions inside the Server Layout section.<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
The GUI tool shipped by ATI is very useful and we will try to use it as much as we can. To launch it, open a terminal and use the following command:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{Warning|Do '''not''' use sudo directly with a GUI. Sudo gives you admin rights with user account information. Instead, use ''gksu'' (GNOME) or ''kdesu'' (KDE).}}<br />
<br />
==== Installation ====<br />
<br />
Before we start, make sure that your hardware is plugged in correctly, that power is on and that you know your hardware characteristics (screen dimensions, sizes, refreshment rates, etc.) Normally, both screens are recognized during boot time but not necessarily identified properly, especially if you are not using any Xorg base configuration file ({{ic|/etc/X11/xorg.conf}}) but relying on the hot-plugging feature.<br />
<br />
The first step is to make sure that you screens will be recognized by your DE and by X. For this, you need to generate a basic Xorg configuration file for your two screens:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
or<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{Note|{{ic|overlay}} is important because it allows you to have 1 pixel (or more) shared between the 2 screens.}}<br />
{{Tip|For the other possible and available options, do not hesitate to type {{ic|aticonfig --help}} inside a terminal to display all available command lines.}}<br />
<br />
Now you should have a basic Xorg configuration file that you can edit to add your screen resolutions. It is important to use the precise resolution, especially if you have screens of different sizes. These resolutions have to be added in the "Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
From now on, instead of editing the {{ic|xorg.conf}} file manually, let us use the ATI GUI tool. Restart X to be sure that your two screens are properly supported and that the resolutions are properly recognized (Screens must be independent, not mirrored).<br />
<br />
==== Configuration ====<br />
<br />
Now you will only have to launch the ATI control center with root privileges, go to the display menu and choose how you would like to set your configuration (small arrow of the drop down menu). A last restart of X and you should be done!<br />
<br />
Before you restart X, do not hesitate to verify your new {{ic|xorg.conf}} file. At this stage, inside the "Display" sub-section of the "Screen" section, you should see a "Virtual" command line, of which the resolution should be the sum of both screens. The "Server Layout" section says all the rest.<br />
<br />
== Troubleshooting ==<br />
<br />
If you can still boot to command-line, then the problem probably lies in {{ic|/etc/X11/xorg.conf}}<br />
<br />
You can parse the whole {{ic|/var/log/Xorg.0.log}} or, for clues:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
If you are at lost of what to do, you can always post a message in the see [http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]. When you do so, please do provide the information you get from both commands mentioned above.<br />
<br />
=== 3D Wine applications freeze ===<br />
If you use a 3D Wine application and it hangs, you have to disable TLS. To do this, either use {{ic|aticonfig}} or edit {{ic|/etc/X11/xorg.conf}}. To use {{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
Or, to edit {{ic|/etc/X11/xorg.conf}}; first open the file in an editor as root and then add {{ic|Option "UseFastTLS" "off"}} to the ''Device'' section of this file. <br />
<br />
After applying either of the solutions, restart X for it to take effect.<br />
<br />
=== Problems with video colours ===<br />
<br />
You may still use {{ic|vaapi:gl}} to avoid video flickering, but without video acceleration:<br />
<br />
* Run '''mplayer''' without {{ic|-vo vaapi}} switch.<br />
<br />
* Run '''smplayer''' remove {{ic|-vo vaapi}} from Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
<br />
Plus for '''smplayer''' you may now safely turn screenshots on.<br />
<br />
=== KWin and composite ===<br />
<br />
You may use XRender if the rendering with OpenGL is slow. However, XRender might also be slower than OpenGL depending on your card.<br />
XRender also solves artifact issues in some cases.<br />
<br />
=== Black screen with complete lockups and/or hangs after reboot or startx ===<br />
<br />
Ensure you have added the '''nomodeset''' option to the kernel options line in your bootloader (see [[#Disable kernel mode setting]]).<br />
<br />
==== Faulty ACPI hardware calls ====<br />
It is possible that fglrx doesn't cooperate well with the system's ACPI hardware calls, so it auto-disables itself and there is no screen output.<br />
<br />
If so, try to run this:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== KDM disappears after logout ===<br />
<br />
If you are running Catalyst proprietary driver and you get a console (tty1) instead of the expected KDM greeting when you log out, you must instruct KDM to restart the X server after each logout:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
Uncomment the following line under the section titled {{ic|[X-:*-Core]}}:<br />
<br />
TerminateServer=True<br />
<br />
KDM should now appear when you log out of KDE.<br />
<br />
=== Direct Rendering does not work ===<br />
<br />
This problem may occur when using the proprietary '''Catalyst''' driver.<br />
<br />
{{Warning|This error would also appear if you have not '''rebooted''' your system after the installation or upgrade of catalyst. The system needs to load the fglrx.ko module in order to make the driver work.}}<br />
<br />
If you have problem with direct rendering, run:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
at the command prompt. At the very start of the output, it'll usually give you a nice error message saying why you do not have direct rendering.<br />
<br />
Common errors and their solutions, are:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* Ensure that you are loading the correct agp modules for your AGP chipset before you load the fglrx kernel module. To determine which agp modules you'll need, run {{ic|hwdetect --show-agp}}, then ensure that all modules listed from that command are in the {{ic|1=MODULES=}} array in rc.conf, '''before''' fglrx if using SysVinit, otherwise open your {{ic|fglrx.conf}} file in {{ic|/etc/modules-load.d}} and add the agp module on a line '''before''' the fglrx line.<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* Something has not been installed correctly. If the paths in the error message are {{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}}, then ensure you've logged completely out of your system, then back in. If you're using a graphical login manager (gdm, kdm, xdm), ensure that {{ic|/etc/profile}} is sourced every time you log in. This is usually accomplished by adding {{ic|source /etc/profile}} into {{ic|~/.xsession}} or {{ic|~/.xinitrc}}, but this may vary between login managers.<br />
<br />
* If the paths above in your error message ''are'' {{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}}, then something has not been correctly installed. Try reinstalling the {{ic|catalyst}} package.<br />
<br />
Errors such as:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
could be caused by having multiple versions of {{ic|libGL.so}} on your system. Run:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
This should return the following output:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
These are the only three libGL.so files you should have on your system. If you have any more (e.g. {{ic|/usr/X11R6/lib/libGL.so.1.2}}), then remove them. This should fix your problem.<br />
<br />
You might not get any error to indicate that this is a problem. If you are using X11R7, make sure you do '''not''' have these files on your system:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== Hibernate/Sleep Issues ===<br />
<br />
==== Video fails to resume from suspend2ram ====<br />
<br />
ATI's proprietary Catalyst driver cannot resume from suspend if the framebuffer is enabled. To disable the framebuffer, add '''vga=0''' to your kernel options in for example, Grub Legacy's {{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
To see where you need to add this with other bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== System Freezes/Hard locks ===<br />
<br />
* The {{ic|radeonfb}} framebuffer drivers have been known in the past to cause problems of this nature. If your kernel has radeonfb support compiled in, you may want to try a different kernel and see if this helps.<br />
<br />
* If you experience system freezes when exiting your DE (shut down, suspend, switching to tty etc.) you probably forgot to deactivate KMS. (See [[#Disable kernel mode setting]])<br />
<br />
=== Hardware Conflicts ===<br />
<br />
Radeon cards used in conjunction with some versions of the nForce3 chipset (e.g. nForce 3 250Gb) won't have 3D acceleration. Currently the cause of this issue is unknown, but some sources indicate that it may be possible to get acceleration with this combination of hardware by booting Windows with the drivers from nVIDIA and then rebooting the system. This can be verified by issuing in a root console the following command:<br />
<br />
$ dmesg | grep agp<br />
<br />
If you get something similar to this (using an nForce3-based system):<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
and also if issuing this command...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...gets something similar to:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
Then you have this bug.<br />
<br />
Some sources indicate that in some situations, downgrading the motherboard BIOS may help, but this cannot be verified in all cases. Also, '''a bad BIOS downgrade can render your hardware useless, so beware.'''<br />
<br />
See [http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport] for more information and a potential fix.<br />
<br />
=== Temporary hangs when playing video ===<br />
<br />
This problem may occur when using the proprietary Catalyst.<br />
<br />
If you experience temporary hangs lasting from a few seconds to several minutes occuring randomly during playback with mplayer, check /var/log/messages.log for output like:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
Adding the nopat kernel option to your kernel options in your bootloader and rebooting fixed the problem at least for me. To see how to do this for different bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
If when running<br />
<br />
# sudo aticonfig --initial<br />
<br />
you get:<br />
<br />
aticonfig: No supported adaptaters detected<br />
<br />
But you do have an AMD GPU (or APU), it may still be possible to get Catalyst working by manually setting the device in your your {{ic|etc/X11/xorg.conf}} file.<br />
<br />
You can do so by setting the device section of {{ic|/etc/X11/xorg.conf}} to:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
Where ''****'' should be replaced with your device's marketing number (e.g. 6870 for the HD 6870 and 6310 for the E-350 APU).<br />
<br />
Xorg will start and it is possible to use {{ic|amdcccle}} instead of {{ic|aticonfig}}. There will be an "AMD Unsupported hardware" watermark.<br />
<br />
You can remove this watermark using the following script:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
<br />
and rebooting.<br />
<br />
=== WebGL support in Chromium ===<br />
<br />
Google has blacklisted Linux's Catalyst driver from supporting webGL in their Chromium/Chrome browsers.<br />
<br />
You can turn webGL on by editing {{ic|/usr/share/applications/chromium.desktop}} file and adding {{ic|--ignore-gpu-blacklist}} flag into the '''Exec''' line so it looks like this:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
You can also run chromium from console with the same {{ic|--ignore-gpu-blacklist}} flag:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{Warning|Catalyst does not support the GL_ARB_robustness extension, so it is possible that a malicious site could use WebGL to perform a DoS attack on your graphic card. For more info, read [http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== Laggs/freezes when watching flash videos via Adobe's flashplugin ===<br />
<br />
Edit {{ic|/etc/adobe/mms.cfg}} and make it look like this:<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== Laggs/slow windows movement in GNOME3 ===<br />
<br />
You can try this solution out, it's working for many people.<br />
<br />
Add this line into {{ic|~/.profile}} or into {{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
Restart X server or reboot your system.<br />
<br />
=== Not using fullscreen in the 1920x1080 resolution ===<br />
<br />
The ATI has scaling by default add this to your xorg.conf<br />
<br />
Option "DPMS" "true"<br />
<br />
On the Monitor section, as full example would look like this<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=229463AMD Catalyst (简体中文)2012-10-18T16:28:15Z<p>Micy1985: /* 配置X */</p>
<hr />
<div>"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs安全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx cards的驱动分别进行开发,因此在你选择安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用常规Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的常规Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上文对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst 对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败and you will miss Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make 脚本, 最好换一名称保存。将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
通过访问{{ic|/etc/ati/amdpcsdb}}文件它几乎能配置显卡的各项参数。了解完整的配置选项{{ic|aticonfig}}可运行:<br />
<br />
# aticonfig --help | less<br />
<br />
{{警告|在将各项配置参数提交到/etc/X11/xorg.conf之前使用--output选项,/etc/X11/xorg.conf.d中的所有内容都会被覆盖。}}<br />
<br />
{{注意|如果坚持使用xorg.conf.d下的新配置文件:为了让Device section与{{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}相匹配,在{{ic|aticonfig}}后追加''--output''。但这有一个缺点,很多依赖xorg.conf的{{ic|aticonfig}}选项都无法使用。}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,但不同Xorg版本的默认参数可能会有所不同,最好明确指定一些参数.<br />
<br />
给一个示例配置 (注意) '''仅供参考'''. 标'#'必须有,标'##'很可能会用到:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{注意|一旦升级Catalyst就要通过后面的方法删除'''amdpcsdb'''文件: 关闭X,删除{{ic|/etc/ati/amdpcsdb}},启动X然后运行{{ic|amdcccle}} -否则amdcccle将会显示错误的Catalyst版本号}}<br />
<br />
''更多信息参考[http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== 启动时加载模块 ====<br />
不同的初始化系统(SysVinit和systemd)的设置方式不一样,但无论哪一种,都得在{{ic|/etc/modprobe.d/modprobe.conf}}禁用''radeon''。具体可参见[[Modprobe|blacklisting in this article]]. '''通过Arch官方安装Catalyst则无需此步骤,安装包会自动处理'''。<br />
<br />
{{注意|强烈推荐使用systemd进行系统初始化,因为最新Arch安装镜像已默认使用systemd,通过rc.conf设置系统启动服务迟早会遭淘汰}}。<br />
<br />
===== 在使用systemd上 =====<br />
* 删除{{ic|/etc/modules-load.d/}}下任何名称包含{{ic|radeon}}的文件若该文件中含有其他多个模块,则只删除radeon)。<br />
* 在{{ic|/etc/modules-load.d/}}的现有文件中添加{{ic|fglrx}}或新建含有该行的文件。<br />
<br />
===== 在使用SysVinit上 =====<br />
编辑{{ic|/etc/rc.conf}}:<br />
* 自MODULES中删除{{ic|radeon}}。<br />
* 在MODULES中添加 {{ic|fglrx}}。<br />
<br />
{{注意|若使用AGP接口的显卡还需添加''agp''。}}<br />
<br />
==== 禁用KMS ====<br />
<br />
由于Catalyst根本不使用[[KMS]],得将其禁用。否则,当系统切换至tyy或在桌面环境下关机时,系统可能会冻结。<br />
<br />
若使用[[GRUB Legacy|GRUB Legacy]],在{{ic|menu.lst}}添加{{ic|nomodeset}}给内核参数,如:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
若使用[[GRUB2|GRUB 2]],在{{ic|/etc/default/grub}}添加''nomodeset''给内核参数,如:<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
然后以root身份运行;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
若使用[[Syslinux|Syslinux]],在{{ic|/boot/syslinux/syslinux.cfg}}添加''nomodeset''到{{ic|APPEND}}行,如:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== 检查安装是否成功 ====<br />
<br />
重启电脑并登录, 运行下列命令可查看fglrx是否正确运行:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
若两者均有输出, 安装成功。进行桌面环境并运行以下命令检查直接渲染模式是否启用:<br />
<br />
$ glxinfo | grep direct<br />
<br />
若显示"direct rendering: yes",恭喜你,到位了! 若无glxinfo命令,安装{{Pkg|mesa-demos}} package。<br />
<br />
{{警告|最近几版Xorg,库函数路径变了,因此即使安装{{ic|libGL.so}}也不一定能正确人加载。请检查GL是否工作,可阅读"Troubleshooting"段落}}<br />
<br />
若有问题,参阅[[#Troubleshooting]].<br />
<br />
=== Custom Kernels ===<br />
<br />
To install catalyst for a custom kernel, you'll need to build your own {{ic|catalyst-$kernel}} package.<br />
<br />
If you are at all uncomfortable or inexperienced with making packages, read up the [[ABS]] wiki page first so things go smoothly.<br />
<br />
# Obtain the {{ic|PKGBUILD}} and {{ic|catalyst.install}} files from [[AUR|Catalyst]].<br />
# Editing the PKGBUILD. Two changes need to be made here:<br />
## Change {{ic|1=pkgname=catalyst}} to {{ic|1=pkgname=catalyst-$kernel_name}}, where $kernel_name is whatever you want (e.g. custom, mm, themostawesomekernelever).<br />
## Change the dependency of {{ic|linux}} to {{ic|$kernel_name}}.<br />
# Build your package and install; run {{ic|makepkg -i}} or {{ic|makepkg}} followed by {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{Note|If you run multiple kernels, you have to install the Catalyst-utils packages for all kernels. They won't conflict with one another.}}<br />
<br />
{{Note|Catalyst-generator is able to build catalyst-{kernver} packages for you so you do not actually need to perform all those steps manually. For more information, see [[#Tools| Tools section]].}}<br />
<br />
== Xorg repositories ==<br />
Catalyst is notorious for its slow update process. As such, it is common that a new Xorg version is pushed down from upstream that will break compatibility for Catalyst. This means that Catalyst users either have to hold the Xorg packages from updating, or use a backported repository that only contains the Xorg packages that should be hold back. Vi0L0 has stepped in to fulfil this task and provides several backported repositories. <br />
<br />
If you want to use pacman to hold back packages from updating, see [[pacman|skip package from being upgraded]]. Packages you should hold back, are:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
If you want to use the backported repositories, you have to edit {{ic|/etc/pacman.conf}} and add the information of the repository '''above all other repositories''', even above your Catalyst repository, should you use one.<br />
<br />
===[xorg112]===<br />
The current version of Catalyst doesn't support xorg-server 1.13 at the moment.<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
Catalyst < 12.6 doesn't support xorg-server 1.12.<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== Tools ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook] is a hook for [[mkinitcpio|mkinitcpio]] that will automatically update fglrx modules with every kernel update. '''This is basically the same as catalyst-dkms from [community].''' Before updating the fglrx modules, it will first try to update the {{Pkg|linux-headers}}.<br />
<br />
The hook will call the ''catalyst_build_module'' command to update fglrx module for the version of your new kernel. Additionally, it can call the ''catalyst_build_module remove'' command to remove the now old and unneeded flgrx module(s).<br />
<br />
{{Note|If you are using this functionality it's '''important''' to look at the installation process of the linux kernel (or any other kernel) package. Catalyst-hook will tell you is everything all right.}}<br />
<br />
{{Note|If your '''custom kernel''' is using some '''non-standard mkinitcpio configuration file''' (ie. linux-zen is using /etc/mkinitcpio-zen.conf) you'll have to manually add '''fglrx''' to HOOKS array in your non-standard configuration file so it can be auto-recompiled with a kernel update.}}<br />
<br />
{{Note|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator] is a package that is able to build and install the fglrx module packed into pacman compliant catalyst-${kernver} packages. The difference from Catalyst-hook is that you will have to trigger this command manually, whereas Catalyst-hook will do this automatically at boot when a new kernel got installed.<br />
<br />
It creates catalyst-${kernver} packages using [[makepkg]] and installs them with [[pacman]]. ''${kernver}'' is the kernel version for which each package was built (e.g. catalyst-2.6.35-ARCH package was built for 2.6.35-ARCH kernel).<br />
<br />
To build and install catalyst-${kernver} package for a currently booted kernel as an unprivileged user (non-root; safer way), use {{ic|catalyst_build_module}}. You will be asked for your root password to proceed to package installation.<br />
<br />
A short summary on how to use this package:<br />
<br />
# As root: {{ic|catalyst_build_module remove}}. This will remove all unused {{ic|catalyst-{kernver} }} packages.<br />
# As unprivileged user: {{ic|catalyst_build_module ${kernver}}}, where ${kernver} is the version of the kernel to which you just updated. For example: {{ic|catalyst_build_module 2.6.36-ARCH}}. You can also build catalyst-${kernver} for all installed kernels by using {{ic|catalyst_build_module all}}.<br />
# If you want to remove {{ic|catalyst-generator}}, it's best to run this as root before removing catalyst-generator: {{ic|catalyst_build_module remove_all}}. '''This will remove all catalyst-{kernver} packages from the system.'''<br />
<br />
Catalyst-generator isn't able to remove all those catalyst-{kernver} packages automatically while being removed because there can not be more than one instance of pacman running. If you forget to run {{ic|catalyst_build_module remove_all}} before using {{ic|pacman -R catalyst-generator}} catalyst-generator will tell you which catalyst-{kernver} packages you will have to remove manually after removing catalyst-generator itself.<br />
<br />
{{Note|If you see those warnings:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension.<br />
<br />
while building catalyst-{kernver} package, do not be concerned, it's normal.}}<br />
<br />
=== Catalyst-daemon ===<br />
{{Warning| systemd users have no use for this, as systemd is not compatible with regular initscript daemons.}}<br />
<br />
[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon] is, as its name suggests, a daemon that will run upon every boot to check if the kernel was updated. If it was, it will rebuild the fglrx module - if it wasn't, it will load the previously built fglrx module. This whole operation takes only 20ms on a 2.4 GHz CPU.<br />
<br />
The automatic re-compilation functionality of Catalyst-daemon is done by an init script called ''autofglrx''. Autofglrx's check function is comparing the built time of the just booted kernel (provided by {{ic|uname -v}}) with the built time of a kernel for which the previously used fglrx module was built. It is able to do such a comparison because it adds {{ic|uname -v}} information to the fglrx module description whilst compiling it. <br />
<br />
Whilst rebuilding, autofglrx will call the ''catalyst_build_module'' to build a module and ''catalyst_build_module remove'' to remove the old, unneeded fglrx module. It doesn't remain in the system's memory after being run.<br />
<br />
{{Note|After installing autofglrx, you have to add {{ic|autofglrx}} to the beginning of the {{ic|DAEMONS}} array {{ic|/etc/rc.conf}}. Be sure to place it before your DM (if you run that from here) and do '''not''' run it in the background (e.g. do not at a @ symbol in front of it).}}<br />
<br />
{{Note|If you are using '''your own compilation flags''' and get problems with the daemon - please add those flags into /usr/bin/catalyst_build_module file.}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
Presented in '''Catalyst 11.1''', the ''Tear Free Desktop'' feature reduces tearing in 2D, 3D and video applications. This likely adds triple-buffering and v-sync. Do note that it requires additional GPU processing.<br />
<br />
To enable 'Tear Free Desktop' run {{ic|amdcccle}} and go to: {{ic|Display Options}} → {{ic|Tear Free}}.<br />
<br />
Or as root run:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
To disable, again use {{ic|amdcccle}} or run as root:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== Video acceleration ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)''' is an open source software library (libVA) and API specification which provides GPU acceleration for video processing on Linux/UNIX based operating systems. The process works by enabling hardware accelerated video decode at various entry-points (VLD, IDCT, Motion Compensation, deblocking) for common encoding standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3).<br />
<br />
VA-API gained a proprietary backend (in November 2009) called {{AUR|xvba-video}}, that allows VA-API programmed applications to take advantage of AMD Radeons UVD2 chipsets via the [http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)] library.<br />
<br />
XvBA support and xvba-video is still under development, however it is '''working very well in most cases'''. Build the {{AUR|xvba-video}} package from AUR or soon, install it from [community] and install {{Pkg|mplayer-vaapi}} and {{Pkg|libva}}. Then just set your video player to use vaapi:gl as video output:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
These options can be added to your mplayer configuration file, see [[MPlayer]].<br />
<br />
For '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{Note|If Tear Free Desktop is enabled it's better to use:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
If Video Output '''vaapi:gl''' isn't working - please check:<br />
'''vaapi''', '''vaapi:gl2''' or simply '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
For '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
It might help to enable v-sync in '''amdcccle''':<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{Note|If you are using '''Compiz/KWin''', the only way to '''avoid video flickering''' is to watch videos in '''full-screen''' and only when '''Unredirect Fullscreen is off'''.<br />
<br />
In '''compiz''' you need to set '''Redirected Direct Rendering''' in General Options of ccsm. If it is still flickering, try to disable this option in CCSM. It's off by default in '''KWin''', but if you see flickering try to turn "Suspend desktop effects for fullscreen windows" on or off in System Settings → Desktop Effects → Advanced.}}<br />
<br />
=== GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities ===<br />
<br />
You can get the GPU/Mem clocks with: {{ic|$ aticonfig --od-getclocks}}.<br />
<br />
You can get the fan speed with: {{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}<br />
<br />
You can get the temperature with: {{ic|$ aticonfig --odgt}}<br />
<br />
To set the fanspeed with: {{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}} Query Index: 50, Speed in percent<br />
<br />
To overclock and/or underclock it's easier to use a GUI, like '''ATi Overclocking Utility''', which is very simple and requires qt to work.<br />
<br />
The i686 version is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here], while the x86_64 is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]. Just download it and run.<br />
<br />
An other, more complex utility to perform such operations is '''AMDOverdriveCtrl'''. Its homepage is [http://sourceforge.net/projects/amdovdrvctrl here] and you can build an Arch package from [https://aur.archlinux.org/packages.php?ID=45298 AUR] or from Vi0L0's unofficial repositories.<br />
<br />
=== Double Screen (Dual Head / Dual Screen / Xinerama) ===<br />
<br />
==== Introduction ====<br />
<br />
{{Warning| you should know that there isn't one specific solution because each setup differs and needs its own configuration. That's why you will have to adapt the steps below to your own needs. It is possible that you have to try more than once. '''Therefore, you should save your working {{ic|/etc/X11/xorg.conf}} before you start modifying and you must be able to recover from a command-line environment.'''}}<br />
<br />
* In this chapter, we will describe the installation of two different-sized screens on only one graphics card with two different output ports (DVI + HDMI) using a "BIG Desktop" configuration.<br />
<br />
* The Xinerama solution has some inconveniences, especially because it is not compatible with XrandR. For that very reason, you should not use this solution, because XrandR is a must for our later configuration.<br />
<br />
* The Dual Head solution would allow you to have 2 different sessions (one for each screen). It could be what you want, but you will not be able to move windows from one screen to another. If you have only one screen, you will have to define the mouse inside your Xorg session for each of the two sessions inside the Server Layout section.<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
The GUI tool shipped by ATI is very useful and we will try to use it as much as we can. To launch it, open a terminal and use the following command:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{Warning|Do '''not''' use sudo directly with a GUI. Sudo gives you admin rights with user account information. Instead, use ''gksu'' (GNOME) or ''kdesu'' (KDE).}}<br />
<br />
==== Installation ====<br />
<br />
Before we start, make sure that your hardware is plugged in correctly, that power is on and that you know your hardware characteristics (screen dimensions, sizes, refreshment rates, etc.) Normally, both screens are recognized during boot time but not necessarily identified properly, especially if you are not using any Xorg base configuration file ({{ic|/etc/X11/xorg.conf}}) but relying on the hot-plugging feature.<br />
<br />
The first step is to make sure that you screens will be recognized by your DE and by X. For this, you need to generate a basic Xorg configuration file for your two screens:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
or<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{Note|{{ic|overlay}} is important because it allows you to have 1 pixel (or more) shared between the 2 screens.}}<br />
{{Tip|For the other possible and available options, do not hesitate to type {{ic|aticonfig --help}} inside a terminal to display all available command lines.}}<br />
<br />
Now you should have a basic Xorg configuration file that you can edit to add your screen resolutions. It is important to use the precise resolution, especially if you have screens of different sizes. These resolutions have to be added in the "Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
From now on, instead of editing the {{ic|xorg.conf}} file manually, let us use the ATI GUI tool. Restart X to be sure that your two screens are properly supported and that the resolutions are properly recognized (Screens must be independent, not mirrored).<br />
<br />
==== Configuration ====<br />
<br />
Now you will only have to launch the ATI control center with root privileges, go to the display menu and choose how you would like to set your configuration (small arrow of the drop down menu). A last restart of X and you should be done!<br />
<br />
Before you restart X, do not hesitate to verify your new {{ic|xorg.conf}} file. At this stage, inside the "Display" sub-section of the "Screen" section, you should see a "Virtual" command line, of which the resolution should be the sum of both screens. The "Server Layout" section says all the rest.<br />
<br />
== Troubleshooting ==<br />
<br />
If you can still boot to command-line, then the problem probably lies in {{ic|/etc/X11/xorg.conf}}<br />
<br />
You can parse the whole {{ic|/var/log/Xorg.0.log}} or, for clues:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
If you are at lost of what to do, you can always post a message in the see [http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]. When you do so, please do provide the information you get from both commands mentioned above.<br />
<br />
=== 3D Wine applications freeze ===<br />
If you use a 3D Wine application and it hangs, you have to disable TLS. To do this, either use {{ic|aticonfig}} or edit {{ic|/etc/X11/xorg.conf}}. To use {{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
Or, to edit {{ic|/etc/X11/xorg.conf}}; first open the file in an editor as root and then add {{ic|Option "UseFastTLS" "off"}} to the ''Device'' section of this file. <br />
<br />
After applying either of the solutions, restart X for it to take effect.<br />
<br />
=== Problems with video colours ===<br />
<br />
You may still use {{ic|vaapi:gl}} to avoid video flickering, but without video acceleration:<br />
<br />
* Run '''mplayer''' without {{ic|-vo vaapi}} switch.<br />
<br />
* Run '''smplayer''' remove {{ic|-vo vaapi}} from Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
<br />
Plus for '''smplayer''' you may now safely turn screenshots on.<br />
<br />
=== KWin and composite ===<br />
<br />
You may use XRender if the rendering with OpenGL is slow. However, XRender might also be slower than OpenGL depending on your card.<br />
XRender also solves artifact issues in some cases.<br />
<br />
=== Black screen with complete lockups and/or hangs after reboot or startx ===<br />
<br />
Ensure you have added the '''nomodeset''' option to the kernel options line in your bootloader (see [[#Disable kernel mode setting]]).<br />
<br />
==== Faulty ACPI hardware calls ====<br />
It is possible that fglrx doesn't cooperate well with the system's ACPI hardware calls, so it auto-disables itself and there is no screen output.<br />
<br />
If so, try to run this:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== KDM disappears after logout ===<br />
<br />
If you are running Catalyst proprietary driver and you get a console (tty1) instead of the expected KDM greeting when you log out, you must instruct KDM to restart the X server after each logout:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
Uncomment the following line under the section titled {{ic|[X-:*-Core]}}:<br />
<br />
TerminateServer=True<br />
<br />
KDM should now appear when you log out of KDE.<br />
<br />
=== Direct Rendering does not work ===<br />
<br />
This problem may occur when using the proprietary '''Catalyst''' driver.<br />
<br />
{{Warning|This error would also appear if you have not '''rebooted''' your system after the installation or upgrade of catalyst. The system needs to load the fglrx.ko module in order to make the driver work.}}<br />
<br />
If you have problem with direct rendering, run:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
at the command prompt. At the very start of the output, it'll usually give you a nice error message saying why you do not have direct rendering.<br />
<br />
Common errors and their solutions, are:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* Ensure that you are loading the correct agp modules for your AGP chipset before you load the fglrx kernel module. To determine which agp modules you'll need, run {{ic|hwdetect --show-agp}}, then ensure that all modules listed from that command are in the {{ic|1=MODULES=}} array in rc.conf, '''before''' fglrx if using SysVinit, otherwise open your {{ic|fglrx.conf}} file in {{ic|/etc/modules-load.d}} and add the agp module on a line '''before''' the fglrx line.<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* Something has not been installed correctly. If the paths in the error message are {{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}}, then ensure you've logged completely out of your system, then back in. If you're using a graphical login manager (gdm, kdm, xdm), ensure that {{ic|/etc/profile}} is sourced every time you log in. This is usually accomplished by adding {{ic|source /etc/profile}} into {{ic|~/.xsession}} or {{ic|~/.xinitrc}}, but this may vary between login managers.<br />
<br />
* If the paths above in your error message ''are'' {{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}}, then something has not been correctly installed. Try reinstalling the {{ic|catalyst}} package.<br />
<br />
Errors such as:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
could be caused by having multiple versions of {{ic|libGL.so}} on your system. Run:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
This should return the following output:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
These are the only three libGL.so files you should have on your system. If you have any more (e.g. {{ic|/usr/X11R6/lib/libGL.so.1.2}}), then remove them. This should fix your problem.<br />
<br />
You might not get any error to indicate that this is a problem. If you are using X11R7, make sure you do '''not''' have these files on your system:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== Hibernate/Sleep Issues ===<br />
<br />
==== Video fails to resume from suspend2ram ====<br />
<br />
ATI's proprietary Catalyst driver cannot resume from suspend if the framebuffer is enabled. To disable the framebuffer, add '''vga=0''' to your kernel options in for example, Grub Legacy's {{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
To see where you need to add this with other bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== System Freezes/Hard locks ===<br />
<br />
* The {{ic|radeonfb}} framebuffer drivers have been known in the past to cause problems of this nature. If your kernel has radeonfb support compiled in, you may want to try a different kernel and see if this helps.<br />
<br />
* If you experience system freezes when exiting your DE (shut down, suspend, switching to tty etc.) you probably forgot to deactivate KMS. (See [[#Disable kernel mode setting]])<br />
<br />
=== Hardware Conflicts ===<br />
<br />
Radeon cards used in conjunction with some versions of the nForce3 chipset (e.g. nForce 3 250Gb) won't have 3D acceleration. Currently the cause of this issue is unknown, but some sources indicate that it may be possible to get acceleration with this combination of hardware by booting Windows with the drivers from nVIDIA and then rebooting the system. This can be verified by issuing in a root console the following command:<br />
<br />
$ dmesg | grep agp<br />
<br />
If you get something similar to this (using an nForce3-based system):<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
and also if issuing this command...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...gets something similar to:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
Then you have this bug.<br />
<br />
Some sources indicate that in some situations, downgrading the motherboard BIOS may help, but this cannot be verified in all cases. Also, '''a bad BIOS downgrade can render your hardware useless, so beware.'''<br />
<br />
See [http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport] for more information and a potential fix.<br />
<br />
=== Temporary hangs when playing video ===<br />
<br />
This problem may occur when using the proprietary Catalyst.<br />
<br />
If you experience temporary hangs lasting from a few seconds to several minutes occuring randomly during playback with mplayer, check /var/log/messages.log for output like:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
Adding the nopat kernel option to your kernel options in your bootloader and rebooting fixed the problem at least for me. To see how to do this for different bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
If when running<br />
<br />
# sudo aticonfig --initial<br />
<br />
you get:<br />
<br />
aticonfig: No supported adaptaters detected<br />
<br />
But you do have an AMD GPU (or APU), it may still be possible to get Catalyst working by manually setting the device in your your {{ic|etc/X11/xorg.conf}} file.<br />
<br />
You can do so by setting the device section of {{ic|/etc/X11/xorg.conf}} to:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
Where ''****'' should be replaced with your device's marketing number (e.g. 6870 for the HD 6870 and 6310 for the E-350 APU).<br />
<br />
Xorg will start and it is possible to use {{ic|amdcccle}} instead of {{ic|aticonfig}}. There will be an "AMD Unsupported hardware" watermark.<br />
<br />
You can remove this watermark using the following script:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
<br />
and rebooting.<br />
<br />
=== WebGL support in Chromium ===<br />
<br />
Google has blacklisted Linux's Catalyst driver from supporting webGL in their Chromium/Chrome browsers.<br />
<br />
You can turn webGL on by editing {{ic|/usr/share/applications/chromium.desktop}} file and adding {{ic|--ignore-gpu-blacklist}} flag into the '''Exec''' line so it looks like this:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
You can also run chromium from console with the same {{ic|--ignore-gpu-blacklist}} flag:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{Warning|Catalyst does not support the GL_ARB_robustness extension, so it is possible that a malicious site could use WebGL to perform a DoS attack on your graphic card. For more info, read [http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== Laggs/freezes when watching flash videos via Adobe's flashplugin ===<br />
<br />
Edit {{ic|/etc/adobe/mms.cfg}} and make it look like this:<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== Laggs/slow windows movement in GNOME3 ===<br />
<br />
You can try this solution out, it's working for many people.<br />
<br />
Add this line into {{ic|~/.profile}} or into {{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
Restart X server or reboot your system.<br />
<br />
=== Not using fullscreen in the 1920x1080 resolution ===<br />
<br />
The ATI has scaling by default add this to your xorg.conf<br />
<br />
Option "DPMS" "true"<br />
<br />
On the Monitor section, as full example would look like this<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=229453AMD Catalyst (简体中文)2012-10-18T15:59:49Z<p>Micy1985: /* 检查安装是否成功 */</p>
<hr />
<div>"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs安全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx cards的驱动分别进行开发,因此在你选择安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用常规Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的常规Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上文对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst 对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败and you will miss Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make 脚本, 最好换一名称保存。将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
通过访问{{ic|/etc/ati/amdpcsdb}}文件它几乎能配置显卡的各项参数。了解完整的配置选项{{ic|aticonfig}}可运行:<br />
<br />
# aticonfig --help | less<br />
<br />
{{Warning|Use the --output option before committing to /etc/X11 as an xorg.conf file will override anything in /etc/X11/xorg.conf.d}}<br />
<br />
{{Note|If you want to adhere to the new xorg.conf.d: Append your {{ic|aticonfig}} string with ''--output'' so that you can adapt the Device section to {{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}. The drawback of this is that many {{ic|aticonfig}} options rely on an xorg.conf, and thus will be unavailable.}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,但不同Xorg版本的默认参数可能会有所不同,最好明确指定一些参数.<br />
<br />
给一个示例配置 (注意) '''仅供参考'''. 标'#'必须有,标'##'很可能会用到:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{注意|一旦升级Catalyst就要通过后面的方法删除'''amdpcsdb'''文件: 关闭X,删除{{ic|/etc/ati/amdpcsdb}},启动X然后运行{{ic|amdcccle}} -否则amdcccle将会显示错误的Catalyst版本号}}<br />
<br />
''更多信息参考[http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== 启动时加载模块 ====<br />
不同的初始化系统(SysVinit和systemd)的设置方式不一样,但无论哪一种,都得在{{ic|/etc/modprobe.d/modprobe.conf}}禁用''radeon''。具体可参见[[Modprobe|blacklisting in this article]]. '''通过Arch官方安装Catalyst则无需此步骤,安装包会自动处理'''。<br />
<br />
{{注意|强烈推荐使用systemd进行系统初始化,因为最新Arch安装镜像已默认使用systemd,通过rc.conf设置系统启动服务迟早会遭淘汰}}。<br />
<br />
===== 在使用systemd上 =====<br />
* 删除{{ic|/etc/modules-load.d/}}下任何名称包含{{ic|radeon}}的文件若该文件中含有其他多个模块,则只删除radeon)。<br />
* 在{{ic|/etc/modules-load.d/}}的现有文件中添加{{ic|fglrx}}或新建含有该行的文件。<br />
<br />
===== 在使用SysVinit上 =====<br />
编辑{{ic|/etc/rc.conf}}:<br />
* 自MODULES中删除{{ic|radeon}}。<br />
* 在MODULES中添加 {{ic|fglrx}}。<br />
<br />
{{注意|若使用AGP接口的显卡还需添加''agp''。}}<br />
<br />
==== 禁用KMS ====<br />
<br />
由于Catalyst根本不使用[[KMS]],得将其禁用。否则,当系统切换至tyy或在桌面环境下关机时,系统可能会冻结。<br />
<br />
若使用[[GRUB Legacy|GRUB Legacy]],在{{ic|menu.lst}}添加{{ic|nomodeset}}给内核参数,如:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
若使用[[GRUB2|GRUB 2]],在{{ic|/etc/default/grub}}添加''nomodeset''给内核参数,如:<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
然后以root身份运行;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
若使用[[Syslinux|Syslinux]],在{{ic|/boot/syslinux/syslinux.cfg}}添加''nomodeset''到{{ic|APPEND}}行,如:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== 检查安装是否成功 ====<br />
<br />
重启电脑并登录, 运行下列命令可查看fglrx是否正确运行:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
若两者均有输出, 安装成功。进行桌面环境并运行以下命令检查直接渲染模式是否启用:<br />
<br />
$ glxinfo | grep direct<br />
<br />
若显示"direct rendering: yes",恭喜你,到位了! 若无glxinfo命令,安装{{Pkg|mesa-demos}} package。<br />
<br />
{{警告|最近几版Xorg,库函数路径变了,因此即使安装{{ic|libGL.so}}也不一定能正确人加载。请检查GL是否工作,可阅读"Troubleshooting"段落}}<br />
<br />
若有问题,参阅[[#Troubleshooting]].<br />
<br />
=== Custom Kernels ===<br />
<br />
To install catalyst for a custom kernel, you'll need to build your own {{ic|catalyst-$kernel}} package.<br />
<br />
If you are at all uncomfortable or inexperienced with making packages, read up the [[ABS]] wiki page first so things go smoothly.<br />
<br />
# Obtain the {{ic|PKGBUILD}} and {{ic|catalyst.install}} files from [[AUR|Catalyst]].<br />
# Editing the PKGBUILD. Two changes need to be made here:<br />
## Change {{ic|1=pkgname=catalyst}} to {{ic|1=pkgname=catalyst-$kernel_name}}, where $kernel_name is whatever you want (e.g. custom, mm, themostawesomekernelever).<br />
## Change the dependency of {{ic|linux}} to {{ic|$kernel_name}}.<br />
# Build your package and install; run {{ic|makepkg -i}} or {{ic|makepkg}} followed by {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{Note|If you run multiple kernels, you have to install the Catalyst-utils packages for all kernels. They won't conflict with one another.}}<br />
<br />
{{Note|Catalyst-generator is able to build catalyst-{kernver} packages for you so you do not actually need to perform all those steps manually. For more information, see [[#Tools| Tools section]].}}<br />
<br />
== Xorg repositories ==<br />
Catalyst is notorious for its slow update process. As such, it is common that a new Xorg version is pushed down from upstream that will break compatibility for Catalyst. This means that Catalyst users either have to hold the Xorg packages from updating, or use a backported repository that only contains the Xorg packages that should be hold back. Vi0L0 has stepped in to fulfil this task and provides several backported repositories. <br />
<br />
If you want to use pacman to hold back packages from updating, see [[pacman|skip package from being upgraded]]. Packages you should hold back, are:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
If you want to use the backported repositories, you have to edit {{ic|/etc/pacman.conf}} and add the information of the repository '''above all other repositories''', even above your Catalyst repository, should you use one.<br />
<br />
===[xorg112]===<br />
The current version of Catalyst doesn't support xorg-server 1.13 at the moment.<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
Catalyst < 12.6 doesn't support xorg-server 1.12.<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== Tools ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook] is a hook for [[mkinitcpio|mkinitcpio]] that will automatically update fglrx modules with every kernel update. '''This is basically the same as catalyst-dkms from [community].''' Before updating the fglrx modules, it will first try to update the {{Pkg|linux-headers}}.<br />
<br />
The hook will call the ''catalyst_build_module'' command to update fglrx module for the version of your new kernel. Additionally, it can call the ''catalyst_build_module remove'' command to remove the now old and unneeded flgrx module(s).<br />
<br />
{{Note|If you are using this functionality it's '''important''' to look at the installation process of the linux kernel (or any other kernel) package. Catalyst-hook will tell you is everything all right.}}<br />
<br />
{{Note|If your '''custom kernel''' is using some '''non-standard mkinitcpio configuration file''' (ie. linux-zen is using /etc/mkinitcpio-zen.conf) you'll have to manually add '''fglrx''' to HOOKS array in your non-standard configuration file so it can be auto-recompiled with a kernel update.}}<br />
<br />
{{Note|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator] is a package that is able to build and install the fglrx module packed into pacman compliant catalyst-${kernver} packages. The difference from Catalyst-hook is that you will have to trigger this command manually, whereas Catalyst-hook will do this automatically at boot when a new kernel got installed.<br />
<br />
It creates catalyst-${kernver} packages using [[makepkg]] and installs them with [[pacman]]. ''${kernver}'' is the kernel version for which each package was built (e.g. catalyst-2.6.35-ARCH package was built for 2.6.35-ARCH kernel).<br />
<br />
To build and install catalyst-${kernver} package for a currently booted kernel as an unprivileged user (non-root; safer way), use {{ic|catalyst_build_module}}. You will be asked for your root password to proceed to package installation.<br />
<br />
A short summary on how to use this package:<br />
<br />
# As root: {{ic|catalyst_build_module remove}}. This will remove all unused {{ic|catalyst-{kernver} }} packages.<br />
# As unprivileged user: {{ic|catalyst_build_module ${kernver}}}, where ${kernver} is the version of the kernel to which you just updated. For example: {{ic|catalyst_build_module 2.6.36-ARCH}}. You can also build catalyst-${kernver} for all installed kernels by using {{ic|catalyst_build_module all}}.<br />
# If you want to remove {{ic|catalyst-generator}}, it's best to run this as root before removing catalyst-generator: {{ic|catalyst_build_module remove_all}}. '''This will remove all catalyst-{kernver} packages from the system.'''<br />
<br />
Catalyst-generator isn't able to remove all those catalyst-{kernver} packages automatically while being removed because there can not be more than one instance of pacman running. If you forget to run {{ic|catalyst_build_module remove_all}} before using {{ic|pacman -R catalyst-generator}} catalyst-generator will tell you which catalyst-{kernver} packages you will have to remove manually after removing catalyst-generator itself.<br />
<br />
{{Note|If you see those warnings:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension.<br />
<br />
while building catalyst-{kernver} package, do not be concerned, it's normal.}}<br />
<br />
=== Catalyst-daemon ===<br />
{{Warning| systemd users have no use for this, as systemd is not compatible with regular initscript daemons.}}<br />
<br />
[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon] is, as its name suggests, a daemon that will run upon every boot to check if the kernel was updated. If it was, it will rebuild the fglrx module - if it wasn't, it will load the previously built fglrx module. This whole operation takes only 20ms on a 2.4 GHz CPU.<br />
<br />
The automatic re-compilation functionality of Catalyst-daemon is done by an init script called ''autofglrx''. Autofglrx's check function is comparing the built time of the just booted kernel (provided by {{ic|uname -v}}) with the built time of a kernel for which the previously used fglrx module was built. It is able to do such a comparison because it adds {{ic|uname -v}} information to the fglrx module description whilst compiling it. <br />
<br />
Whilst rebuilding, autofglrx will call the ''catalyst_build_module'' to build a module and ''catalyst_build_module remove'' to remove the old, unneeded fglrx module. It doesn't remain in the system's memory after being run.<br />
<br />
{{Note|After installing autofglrx, you have to add {{ic|autofglrx}} to the beginning of the {{ic|DAEMONS}} array {{ic|/etc/rc.conf}}. Be sure to place it before your DM (if you run that from here) and do '''not''' run it in the background (e.g. do not at a @ symbol in front of it).}}<br />
<br />
{{Note|If you are using '''your own compilation flags''' and get problems with the daemon - please add those flags into /usr/bin/catalyst_build_module file.}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
Presented in '''Catalyst 11.1''', the ''Tear Free Desktop'' feature reduces tearing in 2D, 3D and video applications. This likely adds triple-buffering and v-sync. Do note that it requires additional GPU processing.<br />
<br />
To enable 'Tear Free Desktop' run {{ic|amdcccle}} and go to: {{ic|Display Options}} → {{ic|Tear Free}}.<br />
<br />
Or as root run:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
To disable, again use {{ic|amdcccle}} or run as root:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== Video acceleration ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)''' is an open source software library (libVA) and API specification which provides GPU acceleration for video processing on Linux/UNIX based operating systems. The process works by enabling hardware accelerated video decode at various entry-points (VLD, IDCT, Motion Compensation, deblocking) for common encoding standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3).<br />
<br />
VA-API gained a proprietary backend (in November 2009) called {{AUR|xvba-video}}, that allows VA-API programmed applications to take advantage of AMD Radeons UVD2 chipsets via the [http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)] library.<br />
<br />
XvBA support and xvba-video is still under development, however it is '''working very well in most cases'''. Build the {{AUR|xvba-video}} package from AUR or soon, install it from [community] and install {{Pkg|mplayer-vaapi}} and {{Pkg|libva}}. Then just set your video player to use vaapi:gl as video output:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
These options can be added to your mplayer configuration file, see [[MPlayer]].<br />
<br />
For '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{Note|If Tear Free Desktop is enabled it's better to use:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
If Video Output '''vaapi:gl''' isn't working - please check:<br />
'''vaapi''', '''vaapi:gl2''' or simply '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
For '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
It might help to enable v-sync in '''amdcccle''':<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{Note|If you are using '''Compiz/KWin''', the only way to '''avoid video flickering''' is to watch videos in '''full-screen''' and only when '''Unredirect Fullscreen is off'''.<br />
<br />
In '''compiz''' you need to set '''Redirected Direct Rendering''' in General Options of ccsm. If it is still flickering, try to disable this option in CCSM. It's off by default in '''KWin''', but if you see flickering try to turn "Suspend desktop effects for fullscreen windows" on or off in System Settings → Desktop Effects → Advanced.}}<br />
<br />
=== GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities ===<br />
<br />
You can get the GPU/Mem clocks with: {{ic|$ aticonfig --od-getclocks}}.<br />
<br />
You can get the fan speed with: {{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}<br />
<br />
You can get the temperature with: {{ic|$ aticonfig --odgt}}<br />
<br />
To set the fanspeed with: {{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}} Query Index: 50, Speed in percent<br />
<br />
To overclock and/or underclock it's easier to use a GUI, like '''ATi Overclocking Utility''', which is very simple and requires qt to work.<br />
<br />
The i686 version is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here], while the x86_64 is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]. Just download it and run.<br />
<br />
An other, more complex utility to perform such operations is '''AMDOverdriveCtrl'''. Its homepage is [http://sourceforge.net/projects/amdovdrvctrl here] and you can build an Arch package from [https://aur.archlinux.org/packages.php?ID=45298 AUR] or from Vi0L0's unofficial repositories.<br />
<br />
=== Double Screen (Dual Head / Dual Screen / Xinerama) ===<br />
<br />
==== Introduction ====<br />
<br />
{{Warning| you should know that there isn't one specific solution because each setup differs and needs its own configuration. That's why you will have to adapt the steps below to your own needs. It is possible that you have to try more than once. '''Therefore, you should save your working {{ic|/etc/X11/xorg.conf}} before you start modifying and you must be able to recover from a command-line environment.'''}}<br />
<br />
* In this chapter, we will describe the installation of two different-sized screens on only one graphics card with two different output ports (DVI + HDMI) using a "BIG Desktop" configuration.<br />
<br />
* The Xinerama solution has some inconveniences, especially because it is not compatible with XrandR. For that very reason, you should not use this solution, because XrandR is a must for our later configuration.<br />
<br />
* The Dual Head solution would allow you to have 2 different sessions (one for each screen). It could be what you want, but you will not be able to move windows from one screen to another. If you have only one screen, you will have to define the mouse inside your Xorg session for each of the two sessions inside the Server Layout section.<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
The GUI tool shipped by ATI is very useful and we will try to use it as much as we can. To launch it, open a terminal and use the following command:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{Warning|Do '''not''' use sudo directly with a GUI. Sudo gives you admin rights with user account information. Instead, use ''gksu'' (GNOME) or ''kdesu'' (KDE).}}<br />
<br />
==== Installation ====<br />
<br />
Before we start, make sure that your hardware is plugged in correctly, that power is on and that you know your hardware characteristics (screen dimensions, sizes, refreshment rates, etc.) Normally, both screens are recognized during boot time but not necessarily identified properly, especially if you are not using any Xorg base configuration file ({{ic|/etc/X11/xorg.conf}}) but relying on the hot-plugging feature.<br />
<br />
The first step is to make sure that you screens will be recognized by your DE and by X. For this, you need to generate a basic Xorg configuration file for your two screens:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
or<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{Note|{{ic|overlay}} is important because it allows you to have 1 pixel (or more) shared between the 2 screens.}}<br />
{{Tip|For the other possible and available options, do not hesitate to type {{ic|aticonfig --help}} inside a terminal to display all available command lines.}}<br />
<br />
Now you should have a basic Xorg configuration file that you can edit to add your screen resolutions. It is important to use the precise resolution, especially if you have screens of different sizes. These resolutions have to be added in the "Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
From now on, instead of editing the {{ic|xorg.conf}} file manually, let us use the ATI GUI tool. Restart X to be sure that your two screens are properly supported and that the resolutions are properly recognized (Screens must be independent, not mirrored).<br />
<br />
==== Configuration ====<br />
<br />
Now you will only have to launch the ATI control center with root privileges, go to the display menu and choose how you would like to set your configuration (small arrow of the drop down menu). A last restart of X and you should be done!<br />
<br />
Before you restart X, do not hesitate to verify your new {{ic|xorg.conf}} file. At this stage, inside the "Display" sub-section of the "Screen" section, you should see a "Virtual" command line, of which the resolution should be the sum of both screens. The "Server Layout" section says all the rest.<br />
<br />
== Troubleshooting ==<br />
<br />
If you can still boot to command-line, then the problem probably lies in {{ic|/etc/X11/xorg.conf}}<br />
<br />
You can parse the whole {{ic|/var/log/Xorg.0.log}} or, for clues:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
If you are at lost of what to do, you can always post a message in the see [http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]. When you do so, please do provide the information you get from both commands mentioned above.<br />
<br />
=== 3D Wine applications freeze ===<br />
If you use a 3D Wine application and it hangs, you have to disable TLS. To do this, either use {{ic|aticonfig}} or edit {{ic|/etc/X11/xorg.conf}}. To use {{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
Or, to edit {{ic|/etc/X11/xorg.conf}}; first open the file in an editor as root and then add {{ic|Option "UseFastTLS" "off"}} to the ''Device'' section of this file. <br />
<br />
After applying either of the solutions, restart X for it to take effect.<br />
<br />
=== Problems with video colours ===<br />
<br />
You may still use {{ic|vaapi:gl}} to avoid video flickering, but without video acceleration:<br />
<br />
* Run '''mplayer''' without {{ic|-vo vaapi}} switch.<br />
<br />
* Run '''smplayer''' remove {{ic|-vo vaapi}} from Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
<br />
Plus for '''smplayer''' you may now safely turn screenshots on.<br />
<br />
=== KWin and composite ===<br />
<br />
You may use XRender if the rendering with OpenGL is slow. However, XRender might also be slower than OpenGL depending on your card.<br />
XRender also solves artifact issues in some cases.<br />
<br />
=== Black screen with complete lockups and/or hangs after reboot or startx ===<br />
<br />
Ensure you have added the '''nomodeset''' option to the kernel options line in your bootloader (see [[#Disable kernel mode setting]]).<br />
<br />
==== Faulty ACPI hardware calls ====<br />
It is possible that fglrx doesn't cooperate well with the system's ACPI hardware calls, so it auto-disables itself and there is no screen output.<br />
<br />
If so, try to run this:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== KDM disappears after logout ===<br />
<br />
If you are running Catalyst proprietary driver and you get a console (tty1) instead of the expected KDM greeting when you log out, you must instruct KDM to restart the X server after each logout:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
Uncomment the following line under the section titled {{ic|[X-:*-Core]}}:<br />
<br />
TerminateServer=True<br />
<br />
KDM should now appear when you log out of KDE.<br />
<br />
=== Direct Rendering does not work ===<br />
<br />
This problem may occur when using the proprietary '''Catalyst''' driver.<br />
<br />
{{Warning|This error would also appear if you have not '''rebooted''' your system after the installation or upgrade of catalyst. The system needs to load the fglrx.ko module in order to make the driver work.}}<br />
<br />
If you have problem with direct rendering, run:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
at the command prompt. At the very start of the output, it'll usually give you a nice error message saying why you do not have direct rendering.<br />
<br />
Common errors and their solutions, are:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* Ensure that you are loading the correct agp modules for your AGP chipset before you load the fglrx kernel module. To determine which agp modules you'll need, run {{ic|hwdetect --show-agp}}, then ensure that all modules listed from that command are in the {{ic|1=MODULES=}} array in rc.conf, '''before''' fglrx if using SysVinit, otherwise open your {{ic|fglrx.conf}} file in {{ic|/etc/modules-load.d}} and add the agp module on a line '''before''' the fglrx line.<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* Something has not been installed correctly. If the paths in the error message are {{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}}, then ensure you've logged completely out of your system, then back in. If you're using a graphical login manager (gdm, kdm, xdm), ensure that {{ic|/etc/profile}} is sourced every time you log in. This is usually accomplished by adding {{ic|source /etc/profile}} into {{ic|~/.xsession}} or {{ic|~/.xinitrc}}, but this may vary between login managers.<br />
<br />
* If the paths above in your error message ''are'' {{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}}, then something has not been correctly installed. Try reinstalling the {{ic|catalyst}} package.<br />
<br />
Errors such as:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
could be caused by having multiple versions of {{ic|libGL.so}} on your system. Run:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
This should return the following output:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
These are the only three libGL.so files you should have on your system. If you have any more (e.g. {{ic|/usr/X11R6/lib/libGL.so.1.2}}), then remove them. This should fix your problem.<br />
<br />
You might not get any error to indicate that this is a problem. If you are using X11R7, make sure you do '''not''' have these files on your system:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== Hibernate/Sleep Issues ===<br />
<br />
==== Video fails to resume from suspend2ram ====<br />
<br />
ATI's proprietary Catalyst driver cannot resume from suspend if the framebuffer is enabled. To disable the framebuffer, add '''vga=0''' to your kernel options in for example, Grub Legacy's {{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
To see where you need to add this with other bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== System Freezes/Hard locks ===<br />
<br />
* The {{ic|radeonfb}} framebuffer drivers have been known in the past to cause problems of this nature. If your kernel has radeonfb support compiled in, you may want to try a different kernel and see if this helps.<br />
<br />
* If you experience system freezes when exiting your DE (shut down, suspend, switching to tty etc.) you probably forgot to deactivate KMS. (See [[#Disable kernel mode setting]])<br />
<br />
=== Hardware Conflicts ===<br />
<br />
Radeon cards used in conjunction with some versions of the nForce3 chipset (e.g. nForce 3 250Gb) won't have 3D acceleration. Currently the cause of this issue is unknown, but some sources indicate that it may be possible to get acceleration with this combination of hardware by booting Windows with the drivers from nVIDIA and then rebooting the system. This can be verified by issuing in a root console the following command:<br />
<br />
$ dmesg | grep agp<br />
<br />
If you get something similar to this (using an nForce3-based system):<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
and also if issuing this command...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...gets something similar to:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
Then you have this bug.<br />
<br />
Some sources indicate that in some situations, downgrading the motherboard BIOS may help, but this cannot be verified in all cases. Also, '''a bad BIOS downgrade can render your hardware useless, so beware.'''<br />
<br />
See [http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport] for more information and a potential fix.<br />
<br />
=== Temporary hangs when playing video ===<br />
<br />
This problem may occur when using the proprietary Catalyst.<br />
<br />
If you experience temporary hangs lasting from a few seconds to several minutes occuring randomly during playback with mplayer, check /var/log/messages.log for output like:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
Adding the nopat kernel option to your kernel options in your bootloader and rebooting fixed the problem at least for me. To see how to do this for different bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
If when running<br />
<br />
# sudo aticonfig --initial<br />
<br />
you get:<br />
<br />
aticonfig: No supported adaptaters detected<br />
<br />
But you do have an AMD GPU (or APU), it may still be possible to get Catalyst working by manually setting the device in your your {{ic|etc/X11/xorg.conf}} file.<br />
<br />
You can do so by setting the device section of {{ic|/etc/X11/xorg.conf}} to:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
Where ''****'' should be replaced with your device's marketing number (e.g. 6870 for the HD 6870 and 6310 for the E-350 APU).<br />
<br />
Xorg will start and it is possible to use {{ic|amdcccle}} instead of {{ic|aticonfig}}. There will be an "AMD Unsupported hardware" watermark.<br />
<br />
You can remove this watermark using the following script:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
<br />
and rebooting.<br />
<br />
=== WebGL support in Chromium ===<br />
<br />
Google has blacklisted Linux's Catalyst driver from supporting webGL in their Chromium/Chrome browsers.<br />
<br />
You can turn webGL on by editing {{ic|/usr/share/applications/chromium.desktop}} file and adding {{ic|--ignore-gpu-blacklist}} flag into the '''Exec''' line so it looks like this:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
You can also run chromium from console with the same {{ic|--ignore-gpu-blacklist}} flag:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{Warning|Catalyst does not support the GL_ARB_robustness extension, so it is possible that a malicious site could use WebGL to perform a DoS attack on your graphic card. For more info, read [http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== Laggs/freezes when watching flash videos via Adobe's flashplugin ===<br />
<br />
Edit {{ic|/etc/adobe/mms.cfg}} and make it look like this:<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== Laggs/slow windows movement in GNOME3 ===<br />
<br />
You can try this solution out, it's working for many people.<br />
<br />
Add this line into {{ic|~/.profile}} or into {{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
Restart X server or reboot your system.<br />
<br />
=== Not using fullscreen in the 1920x1080 resolution ===<br />
<br />
The ATI has scaling by default add this to your xorg.conf<br />
<br />
Option "DPMS" "true"<br />
<br />
On the Monitor section, as full example would look like this<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=229451AMD Catalyst (简体中文)2012-10-18T15:58:51Z<p>Micy1985: /* Checking operation */</p>
<hr />
<div>"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs安全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx cards的驱动分别进行开发,因此在你选择安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用常规Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的常规Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上文对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst 对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败and you will miss Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make 脚本, 最好换一名称保存。将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
通过访问{{ic|/etc/ati/amdpcsdb}}文件它几乎能配置显卡的各项参数。了解完整的配置选项{{ic|aticonfig}}可运行:<br />
<br />
# aticonfig --help | less<br />
<br />
{{Warning|Use the --output option before committing to /etc/X11 as an xorg.conf file will override anything in /etc/X11/xorg.conf.d}}<br />
<br />
{{Note|If you want to adhere to the new xorg.conf.d: Append your {{ic|aticonfig}} string with ''--output'' so that you can adapt the Device section to {{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}. The drawback of this is that many {{ic|aticonfig}} options rely on an xorg.conf, and thus will be unavailable.}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,但不同Xorg版本的默认参数可能会有所不同,最好明确指定一些参数.<br />
<br />
给一个示例配置 (注意) '''仅供参考'''. 标'#'必须有,标'##'很可能会用到:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{注意|一旦升级Catalyst就要通过后面的方法删除'''amdpcsdb'''文件: 关闭X,删除{{ic|/etc/ati/amdpcsdb}},启动X然后运行{{ic|amdcccle}} -否则amdcccle将会显示错误的Catalyst版本号}}<br />
<br />
''更多信息参考[http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== 启动时加载模块 ====<br />
不同的初始化系统(SysVinit和systemd)的设置方式不一样,但无论哪一种,都得在{{ic|/etc/modprobe.d/modprobe.conf}}禁用''radeon''。具体可参见[[Modprobe|blacklisting in this article]]. '''通过Arch官方安装Catalyst则无需此步骤,安装包会自动处理'''。<br />
<br />
{{注意|强烈推荐使用systemd进行系统初始化,因为最新Arch安装镜像已默认使用systemd,通过rc.conf设置系统启动服务迟早会遭淘汰}}。<br />
<br />
===== 在使用systemd上 =====<br />
* 删除{{ic|/etc/modules-load.d/}}下任何名称包含{{ic|radeon}}的文件若该文件中含有其他多个模块,则只删除radeon)。<br />
* 在{{ic|/etc/modules-load.d/}}的现有文件中添加{{ic|fglrx}}或新建含有该行的文件。<br />
<br />
===== 在使用SysVinit上 =====<br />
编辑{{ic|/etc/rc.conf}}:<br />
* 自MODULES中删除{{ic|radeon}}。<br />
* 在MODULES中添加 {{ic|fglrx}}。<br />
<br />
{{注意|若使用AGP接口的显卡还需添加''agp''。}}<br />
<br />
==== 禁用KMS ====<br />
<br />
由于Catalyst根本不使用[[KMS]],得将其禁用。否则,当系统切换至tyy或在桌面环境下关机时,系统可能会冻结。<br />
<br />
若使用[[GRUB Legacy|GRUB Legacy]],在{{ic|menu.lst}}添加{{ic|nomodeset}}给内核参数,如:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
若使用[[GRUB2|GRUB 2]],在{{ic|/etc/default/grub}}添加''nomodeset''给内核参数,如:<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
然后以root身份运行;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
若使用[[Syslinux|Syslinux]],在{{ic|/boot/syslinux/syslinux.cfg}}添加''nomodeset''到{{ic|APPEND}}行,如:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== 检查安装是否成功 ====<br />
<br />
重启电脑并登录, 运行下列命令可查看fglrx是否正确运行:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
若两者均有输出, 安装成功。进行桌面环境并运行以下命令检查直接渲染模式是否启用:<br />
<br />
$ glxinfo | grep direct<br />
<br />
若显示"direct rendering: yes",恭喜你,到位了! 若无glxinfo命令,安装{{Pkg|mesa-demos}} package。<br />
<br />
{{警告|最近几版Xorg,库函数路径变了,因此即使安装{{ic|libGL.so}}也不一定能正确人加载。请检查GL是否工作,可阅读"Troubleshooting"段落}}<br />
<br />
任何疑问参阅[[#Troubleshooting]].<br />
<br />
=== Custom Kernels ===<br />
<br />
To install catalyst for a custom kernel, you'll need to build your own {{ic|catalyst-$kernel}} package.<br />
<br />
If you are at all uncomfortable or inexperienced with making packages, read up the [[ABS]] wiki page first so things go smoothly.<br />
<br />
# Obtain the {{ic|PKGBUILD}} and {{ic|catalyst.install}} files from [[AUR|Catalyst]].<br />
# Editing the PKGBUILD. Two changes need to be made here:<br />
## Change {{ic|1=pkgname=catalyst}} to {{ic|1=pkgname=catalyst-$kernel_name}}, where $kernel_name is whatever you want (e.g. custom, mm, themostawesomekernelever).<br />
## Change the dependency of {{ic|linux}} to {{ic|$kernel_name}}.<br />
# Build your package and install; run {{ic|makepkg -i}} or {{ic|makepkg}} followed by {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{Note|If you run multiple kernels, you have to install the Catalyst-utils packages for all kernels. They won't conflict with one another.}}<br />
<br />
{{Note|Catalyst-generator is able to build catalyst-{kernver} packages for you so you do not actually need to perform all those steps manually. For more information, see [[#Tools| Tools section]].}}<br />
<br />
== Xorg repositories ==<br />
Catalyst is notorious for its slow update process. As such, it is common that a new Xorg version is pushed down from upstream that will break compatibility for Catalyst. This means that Catalyst users either have to hold the Xorg packages from updating, or use a backported repository that only contains the Xorg packages that should be hold back. Vi0L0 has stepped in to fulfil this task and provides several backported repositories. <br />
<br />
If you want to use pacman to hold back packages from updating, see [[pacman|skip package from being upgraded]]. Packages you should hold back, are:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
If you want to use the backported repositories, you have to edit {{ic|/etc/pacman.conf}} and add the information of the repository '''above all other repositories''', even above your Catalyst repository, should you use one.<br />
<br />
===[xorg112]===<br />
The current version of Catalyst doesn't support xorg-server 1.13 at the moment.<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
Catalyst < 12.6 doesn't support xorg-server 1.12.<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== Tools ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook] is a hook for [[mkinitcpio|mkinitcpio]] that will automatically update fglrx modules with every kernel update. '''This is basically the same as catalyst-dkms from [community].''' Before updating the fglrx modules, it will first try to update the {{Pkg|linux-headers}}.<br />
<br />
The hook will call the ''catalyst_build_module'' command to update fglrx module for the version of your new kernel. Additionally, it can call the ''catalyst_build_module remove'' command to remove the now old and unneeded flgrx module(s).<br />
<br />
{{Note|If you are using this functionality it's '''important''' to look at the installation process of the linux kernel (or any other kernel) package. Catalyst-hook will tell you is everything all right.}}<br />
<br />
{{Note|If your '''custom kernel''' is using some '''non-standard mkinitcpio configuration file''' (ie. linux-zen is using /etc/mkinitcpio-zen.conf) you'll have to manually add '''fglrx''' to HOOKS array in your non-standard configuration file so it can be auto-recompiled with a kernel update.}}<br />
<br />
{{Note|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator] is a package that is able to build and install the fglrx module packed into pacman compliant catalyst-${kernver} packages. The difference from Catalyst-hook is that you will have to trigger this command manually, whereas Catalyst-hook will do this automatically at boot when a new kernel got installed.<br />
<br />
It creates catalyst-${kernver} packages using [[makepkg]] and installs them with [[pacman]]. ''${kernver}'' is the kernel version for which each package was built (e.g. catalyst-2.6.35-ARCH package was built for 2.6.35-ARCH kernel).<br />
<br />
To build and install catalyst-${kernver} package for a currently booted kernel as an unprivileged user (non-root; safer way), use {{ic|catalyst_build_module}}. You will be asked for your root password to proceed to package installation.<br />
<br />
A short summary on how to use this package:<br />
<br />
# As root: {{ic|catalyst_build_module remove}}. This will remove all unused {{ic|catalyst-{kernver} }} packages.<br />
# As unprivileged user: {{ic|catalyst_build_module ${kernver}}}, where ${kernver} is the version of the kernel to which you just updated. For example: {{ic|catalyst_build_module 2.6.36-ARCH}}. You can also build catalyst-${kernver} for all installed kernels by using {{ic|catalyst_build_module all}}.<br />
# If you want to remove {{ic|catalyst-generator}}, it's best to run this as root before removing catalyst-generator: {{ic|catalyst_build_module remove_all}}. '''This will remove all catalyst-{kernver} packages from the system.'''<br />
<br />
Catalyst-generator isn't able to remove all those catalyst-{kernver} packages automatically while being removed because there can not be more than one instance of pacman running. If you forget to run {{ic|catalyst_build_module remove_all}} before using {{ic|pacman -R catalyst-generator}} catalyst-generator will tell you which catalyst-{kernver} packages you will have to remove manually after removing catalyst-generator itself.<br />
<br />
{{Note|If you see those warnings:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension.<br />
<br />
while building catalyst-{kernver} package, do not be concerned, it's normal.}}<br />
<br />
=== Catalyst-daemon ===<br />
{{Warning| systemd users have no use for this, as systemd is not compatible with regular initscript daemons.}}<br />
<br />
[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon] is, as its name suggests, a daemon that will run upon every boot to check if the kernel was updated. If it was, it will rebuild the fglrx module - if it wasn't, it will load the previously built fglrx module. This whole operation takes only 20ms on a 2.4 GHz CPU.<br />
<br />
The automatic re-compilation functionality of Catalyst-daemon is done by an init script called ''autofglrx''. Autofglrx's check function is comparing the built time of the just booted kernel (provided by {{ic|uname -v}}) with the built time of a kernel for which the previously used fglrx module was built. It is able to do such a comparison because it adds {{ic|uname -v}} information to the fglrx module description whilst compiling it. <br />
<br />
Whilst rebuilding, autofglrx will call the ''catalyst_build_module'' to build a module and ''catalyst_build_module remove'' to remove the old, unneeded fglrx module. It doesn't remain in the system's memory after being run.<br />
<br />
{{Note|After installing autofglrx, you have to add {{ic|autofglrx}} to the beginning of the {{ic|DAEMONS}} array {{ic|/etc/rc.conf}}. Be sure to place it before your DM (if you run that from here) and do '''not''' run it in the background (e.g. do not at a @ symbol in front of it).}}<br />
<br />
{{Note|If you are using '''your own compilation flags''' and get problems with the daemon - please add those flags into /usr/bin/catalyst_build_module file.}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
Presented in '''Catalyst 11.1''', the ''Tear Free Desktop'' feature reduces tearing in 2D, 3D and video applications. This likely adds triple-buffering and v-sync. Do note that it requires additional GPU processing.<br />
<br />
To enable 'Tear Free Desktop' run {{ic|amdcccle}} and go to: {{ic|Display Options}} → {{ic|Tear Free}}.<br />
<br />
Or as root run:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
To disable, again use {{ic|amdcccle}} or run as root:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== Video acceleration ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)''' is an open source software library (libVA) and API specification which provides GPU acceleration for video processing on Linux/UNIX based operating systems. The process works by enabling hardware accelerated video decode at various entry-points (VLD, IDCT, Motion Compensation, deblocking) for common encoding standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3).<br />
<br />
VA-API gained a proprietary backend (in November 2009) called {{AUR|xvba-video}}, that allows VA-API programmed applications to take advantage of AMD Radeons UVD2 chipsets via the [http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)] library.<br />
<br />
XvBA support and xvba-video is still under development, however it is '''working very well in most cases'''. Build the {{AUR|xvba-video}} package from AUR or soon, install it from [community] and install {{Pkg|mplayer-vaapi}} and {{Pkg|libva}}. Then just set your video player to use vaapi:gl as video output:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
These options can be added to your mplayer configuration file, see [[MPlayer]].<br />
<br />
For '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{Note|If Tear Free Desktop is enabled it's better to use:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
If Video Output '''vaapi:gl''' isn't working - please check:<br />
'''vaapi''', '''vaapi:gl2''' or simply '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
For '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
It might help to enable v-sync in '''amdcccle''':<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{Note|If you are using '''Compiz/KWin''', the only way to '''avoid video flickering''' is to watch videos in '''full-screen''' and only when '''Unredirect Fullscreen is off'''.<br />
<br />
In '''compiz''' you need to set '''Redirected Direct Rendering''' in General Options of ccsm. If it is still flickering, try to disable this option in CCSM. It's off by default in '''KWin''', but if you see flickering try to turn "Suspend desktop effects for fullscreen windows" on or off in System Settings → Desktop Effects → Advanced.}}<br />
<br />
=== GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities ===<br />
<br />
You can get the GPU/Mem clocks with: {{ic|$ aticonfig --od-getclocks}}.<br />
<br />
You can get the fan speed with: {{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}<br />
<br />
You can get the temperature with: {{ic|$ aticonfig --odgt}}<br />
<br />
To set the fanspeed with: {{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}} Query Index: 50, Speed in percent<br />
<br />
To overclock and/or underclock it's easier to use a GUI, like '''ATi Overclocking Utility''', which is very simple and requires qt to work.<br />
<br />
The i686 version is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here], while the x86_64 is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]. Just download it and run.<br />
<br />
An other, more complex utility to perform such operations is '''AMDOverdriveCtrl'''. Its homepage is [http://sourceforge.net/projects/amdovdrvctrl here] and you can build an Arch package from [https://aur.archlinux.org/packages.php?ID=45298 AUR] or from Vi0L0's unofficial repositories.<br />
<br />
=== Double Screen (Dual Head / Dual Screen / Xinerama) ===<br />
<br />
==== Introduction ====<br />
<br />
{{Warning| you should know that there isn't one specific solution because each setup differs and needs its own configuration. That's why you will have to adapt the steps below to your own needs. It is possible that you have to try more than once. '''Therefore, you should save your working {{ic|/etc/X11/xorg.conf}} before you start modifying and you must be able to recover from a command-line environment.'''}}<br />
<br />
* In this chapter, we will describe the installation of two different-sized screens on only one graphics card with two different output ports (DVI + HDMI) using a "BIG Desktop" configuration.<br />
<br />
* The Xinerama solution has some inconveniences, especially because it is not compatible with XrandR. For that very reason, you should not use this solution, because XrandR is a must for our later configuration.<br />
<br />
* The Dual Head solution would allow you to have 2 different sessions (one for each screen). It could be what you want, but you will not be able to move windows from one screen to another. If you have only one screen, you will have to define the mouse inside your Xorg session for each of the two sessions inside the Server Layout section.<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
The GUI tool shipped by ATI is very useful and we will try to use it as much as we can. To launch it, open a terminal and use the following command:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{Warning|Do '''not''' use sudo directly with a GUI. Sudo gives you admin rights with user account information. Instead, use ''gksu'' (GNOME) or ''kdesu'' (KDE).}}<br />
<br />
==== Installation ====<br />
<br />
Before we start, make sure that your hardware is plugged in correctly, that power is on and that you know your hardware characteristics (screen dimensions, sizes, refreshment rates, etc.) Normally, both screens are recognized during boot time but not necessarily identified properly, especially if you are not using any Xorg base configuration file ({{ic|/etc/X11/xorg.conf}}) but relying on the hot-plugging feature.<br />
<br />
The first step is to make sure that you screens will be recognized by your DE and by X. For this, you need to generate a basic Xorg configuration file for your two screens:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
or<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{Note|{{ic|overlay}} is important because it allows you to have 1 pixel (or more) shared between the 2 screens.}}<br />
{{Tip|For the other possible and available options, do not hesitate to type {{ic|aticonfig --help}} inside a terminal to display all available command lines.}}<br />
<br />
Now you should have a basic Xorg configuration file that you can edit to add your screen resolutions. It is important to use the precise resolution, especially if you have screens of different sizes. These resolutions have to be added in the "Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
From now on, instead of editing the {{ic|xorg.conf}} file manually, let us use the ATI GUI tool. Restart X to be sure that your two screens are properly supported and that the resolutions are properly recognized (Screens must be independent, not mirrored).<br />
<br />
==== Configuration ====<br />
<br />
Now you will only have to launch the ATI control center with root privileges, go to the display menu and choose how you would like to set your configuration (small arrow of the drop down menu). A last restart of X and you should be done!<br />
<br />
Before you restart X, do not hesitate to verify your new {{ic|xorg.conf}} file. At this stage, inside the "Display" sub-section of the "Screen" section, you should see a "Virtual" command line, of which the resolution should be the sum of both screens. The "Server Layout" section says all the rest.<br />
<br />
== Troubleshooting ==<br />
<br />
If you can still boot to command-line, then the problem probably lies in {{ic|/etc/X11/xorg.conf}}<br />
<br />
You can parse the whole {{ic|/var/log/Xorg.0.log}} or, for clues:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
If you are at lost of what to do, you can always post a message in the see [http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]. When you do so, please do provide the information you get from both commands mentioned above.<br />
<br />
=== 3D Wine applications freeze ===<br />
If you use a 3D Wine application and it hangs, you have to disable TLS. To do this, either use {{ic|aticonfig}} or edit {{ic|/etc/X11/xorg.conf}}. To use {{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
Or, to edit {{ic|/etc/X11/xorg.conf}}; first open the file in an editor as root and then add {{ic|Option "UseFastTLS" "off"}} to the ''Device'' section of this file. <br />
<br />
After applying either of the solutions, restart X for it to take effect.<br />
<br />
=== Problems with video colours ===<br />
<br />
You may still use {{ic|vaapi:gl}} to avoid video flickering, but without video acceleration:<br />
<br />
* Run '''mplayer''' without {{ic|-vo vaapi}} switch.<br />
<br />
* Run '''smplayer''' remove {{ic|-vo vaapi}} from Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
<br />
Plus for '''smplayer''' you may now safely turn screenshots on.<br />
<br />
=== KWin and composite ===<br />
<br />
You may use XRender if the rendering with OpenGL is slow. However, XRender might also be slower than OpenGL depending on your card.<br />
XRender also solves artifact issues in some cases.<br />
<br />
=== Black screen with complete lockups and/or hangs after reboot or startx ===<br />
<br />
Ensure you have added the '''nomodeset''' option to the kernel options line in your bootloader (see [[#Disable kernel mode setting]]).<br />
<br />
==== Faulty ACPI hardware calls ====<br />
It is possible that fglrx doesn't cooperate well with the system's ACPI hardware calls, so it auto-disables itself and there is no screen output.<br />
<br />
If so, try to run this:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== KDM disappears after logout ===<br />
<br />
If you are running Catalyst proprietary driver and you get a console (tty1) instead of the expected KDM greeting when you log out, you must instruct KDM to restart the X server after each logout:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
Uncomment the following line under the section titled {{ic|[X-:*-Core]}}:<br />
<br />
TerminateServer=True<br />
<br />
KDM should now appear when you log out of KDE.<br />
<br />
=== Direct Rendering does not work ===<br />
<br />
This problem may occur when using the proprietary '''Catalyst''' driver.<br />
<br />
{{Warning|This error would also appear if you have not '''rebooted''' your system after the installation or upgrade of catalyst. The system needs to load the fglrx.ko module in order to make the driver work.}}<br />
<br />
If you have problem with direct rendering, run:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
at the command prompt. At the very start of the output, it'll usually give you a nice error message saying why you do not have direct rendering.<br />
<br />
Common errors and their solutions, are:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* Ensure that you are loading the correct agp modules for your AGP chipset before you load the fglrx kernel module. To determine which agp modules you'll need, run {{ic|hwdetect --show-agp}}, then ensure that all modules listed from that command are in the {{ic|1=MODULES=}} array in rc.conf, '''before''' fglrx if using SysVinit, otherwise open your {{ic|fglrx.conf}} file in {{ic|/etc/modules-load.d}} and add the agp module on a line '''before''' the fglrx line.<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* Something has not been installed correctly. If the paths in the error message are {{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}}, then ensure you've logged completely out of your system, then back in. If you're using a graphical login manager (gdm, kdm, xdm), ensure that {{ic|/etc/profile}} is sourced every time you log in. This is usually accomplished by adding {{ic|source /etc/profile}} into {{ic|~/.xsession}} or {{ic|~/.xinitrc}}, but this may vary between login managers.<br />
<br />
* If the paths above in your error message ''are'' {{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}}, then something has not been correctly installed. Try reinstalling the {{ic|catalyst}} package.<br />
<br />
Errors such as:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
could be caused by having multiple versions of {{ic|libGL.so}} on your system. Run:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
This should return the following output:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
These are the only three libGL.so files you should have on your system. If you have any more (e.g. {{ic|/usr/X11R6/lib/libGL.so.1.2}}), then remove them. This should fix your problem.<br />
<br />
You might not get any error to indicate that this is a problem. If you are using X11R7, make sure you do '''not''' have these files on your system:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== Hibernate/Sleep Issues ===<br />
<br />
==== Video fails to resume from suspend2ram ====<br />
<br />
ATI's proprietary Catalyst driver cannot resume from suspend if the framebuffer is enabled. To disable the framebuffer, add '''vga=0''' to your kernel options in for example, Grub Legacy's {{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
To see where you need to add this with other bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== System Freezes/Hard locks ===<br />
<br />
* The {{ic|radeonfb}} framebuffer drivers have been known in the past to cause problems of this nature. If your kernel has radeonfb support compiled in, you may want to try a different kernel and see if this helps.<br />
<br />
* If you experience system freezes when exiting your DE (shut down, suspend, switching to tty etc.) you probably forgot to deactivate KMS. (See [[#Disable kernel mode setting]])<br />
<br />
=== Hardware Conflicts ===<br />
<br />
Radeon cards used in conjunction with some versions of the nForce3 chipset (e.g. nForce 3 250Gb) won't have 3D acceleration. Currently the cause of this issue is unknown, but some sources indicate that it may be possible to get acceleration with this combination of hardware by booting Windows with the drivers from nVIDIA and then rebooting the system. This can be verified by issuing in a root console the following command:<br />
<br />
$ dmesg | grep agp<br />
<br />
If you get something similar to this (using an nForce3-based system):<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
and also if issuing this command...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...gets something similar to:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
Then you have this bug.<br />
<br />
Some sources indicate that in some situations, downgrading the motherboard BIOS may help, but this cannot be verified in all cases. Also, '''a bad BIOS downgrade can render your hardware useless, so beware.'''<br />
<br />
See [http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport] for more information and a potential fix.<br />
<br />
=== Temporary hangs when playing video ===<br />
<br />
This problem may occur when using the proprietary Catalyst.<br />
<br />
If you experience temporary hangs lasting from a few seconds to several minutes occuring randomly during playback with mplayer, check /var/log/messages.log for output like:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
Adding the nopat kernel option to your kernel options in your bootloader and rebooting fixed the problem at least for me. To see how to do this for different bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
If when running<br />
<br />
# sudo aticonfig --initial<br />
<br />
you get:<br />
<br />
aticonfig: No supported adaptaters detected<br />
<br />
But you do have an AMD GPU (or APU), it may still be possible to get Catalyst working by manually setting the device in your your {{ic|etc/X11/xorg.conf}} file.<br />
<br />
You can do so by setting the device section of {{ic|/etc/X11/xorg.conf}} to:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
Where ''****'' should be replaced with your device's marketing number (e.g. 6870 for the HD 6870 and 6310 for the E-350 APU).<br />
<br />
Xorg will start and it is possible to use {{ic|amdcccle}} instead of {{ic|aticonfig}}. There will be an "AMD Unsupported hardware" watermark.<br />
<br />
You can remove this watermark using the following script:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
<br />
and rebooting.<br />
<br />
=== WebGL support in Chromium ===<br />
<br />
Google has blacklisted Linux's Catalyst driver from supporting webGL in their Chromium/Chrome browsers.<br />
<br />
You can turn webGL on by editing {{ic|/usr/share/applications/chromium.desktop}} file and adding {{ic|--ignore-gpu-blacklist}} flag into the '''Exec''' line so it looks like this:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
You can also run chromium from console with the same {{ic|--ignore-gpu-blacklist}} flag:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{Warning|Catalyst does not support the GL_ARB_robustness extension, so it is possible that a malicious site could use WebGL to perform a DoS attack on your graphic card. For more info, read [http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== Laggs/freezes when watching flash videos via Adobe's flashplugin ===<br />
<br />
Edit {{ic|/etc/adobe/mms.cfg}} and make it look like this:<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== Laggs/slow windows movement in GNOME3 ===<br />
<br />
You can try this solution out, it's working for many people.<br />
<br />
Add this line into {{ic|~/.profile}} or into {{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
Restart X server or reboot your system.<br />
<br />
=== Not using fullscreen in the 1920x1080 resolution ===<br />
<br />
The ATI has scaling by default add this to your xorg.conf<br />
<br />
Option "DPMS" "true"<br />
<br />
On the Monitor section, as full example would look like this<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=229450AMD Catalyst (简体中文)2012-10-18T15:49:39Z<p>Micy1985: /* Disable kernel mode setting */</p>
<hr />
<div>"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs安全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx cards的驱动分别进行开发,因此在你选择安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用常规Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的常规Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上文对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst 对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败and you will miss Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make 脚本, 最好换一名称保存。将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
通过访问{{ic|/etc/ati/amdpcsdb}}文件它几乎能配置显卡的各项参数。了解完整的配置选项{{ic|aticonfig}}可运行:<br />
<br />
# aticonfig --help | less<br />
<br />
{{Warning|Use the --output option before committing to /etc/X11 as an xorg.conf file will override anything in /etc/X11/xorg.conf.d}}<br />
<br />
{{Note|If you want to adhere to the new xorg.conf.d: Append your {{ic|aticonfig}} string with ''--output'' so that you can adapt the Device section to {{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}. The drawback of this is that many {{ic|aticonfig}} options rely on an xorg.conf, and thus will be unavailable.}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,但不同Xorg版本的默认参数可能会有所不同,最好明确指定一些参数.<br />
<br />
给一个示例配置 (注意) '''仅供参考'''. 标'#'必须有,标'##'很可能会用到:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{注意|一旦升级Catalyst就要通过后面的方法删除'''amdpcsdb'''文件: 关闭X,删除{{ic|/etc/ati/amdpcsdb}},启动X然后运行{{ic|amdcccle}} -否则amdcccle将会显示错误的Catalyst版本号}}<br />
<br />
''更多信息参考[http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== 启动时加载模块 ====<br />
不同的初始化系统(SysVinit和systemd)的设置方式不一样,但无论哪一种,都得在{{ic|/etc/modprobe.d/modprobe.conf}}禁用''radeon''。具体可参见[[Modprobe|blacklisting in this article]]. '''通过Arch官方安装Catalyst则无需此步骤,安装包会自动处理'''。<br />
<br />
{{注意|强烈推荐使用systemd进行系统初始化,因为最新Arch安装镜像已默认使用systemd,通过rc.conf设置系统启动服务迟早会遭淘汰}}。<br />
<br />
===== 在使用systemd上 =====<br />
* 删除{{ic|/etc/modules-load.d/}}下任何名称包含{{ic|radeon}}的文件若该文件中含有其他多个模块,则只删除radeon)。<br />
* 在{{ic|/etc/modules-load.d/}}的现有文件中添加{{ic|fglrx}}或新建含有该行的文件。<br />
<br />
===== 在使用SysVinit上 =====<br />
编辑{{ic|/etc/rc.conf}}:<br />
* 自MODULES中删除{{ic|radeon}}。<br />
* 在MODULES中添加 {{ic|fglrx}}。<br />
<br />
{{注意|若使用AGP接口的显卡还需添加''agp''。}}<br />
<br />
==== 禁用KMS ====<br />
<br />
由于Catalyst根本不使用[[KMS]],得将其禁用。否则,当系统切换至tyy或在桌面环境下关机时,系统可能会冻结。<br />
<br />
若使用[[GRUB Legacy|GRUB Legacy]],在{{ic|menu.lst}}添加{{ic|nomodeset}}给内核参数,如:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
若使用[[GRUB2|GRUB 2]],在{{ic|/etc/default/grub}}添加''nomodeset''给内核参数,如:<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
然后以root身份运行;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
若使用[[Syslinux|Syslinux]],在{{ic|/boot/syslinux/syslinux.cfg}}添加''nomodeset''到{{ic|APPEND}}行,如:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== Checking operation ====<br />
<br />
Assuming that a reboot to your login was successful, you can check if fglrx is running properly with the following commands:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
If you get output, it works. Finally, run X with {{ic|startx}} or by using GDM/KDM and verify that direct rendering is enabled by running the following command in a terminal:<br />
<br />
$ glxinfo | grep direct<br />
<br />
If it says "direct rendering: yes" then you're good to go! If the glxinfo command is not found, you might need to install the {{Pkg|mesa-demos}} package.<br />
<br />
{{Warning|In recent versions of Xorg, the paths of libs are changed. So, sometimes {{ic|libGL.so}} cannot be correctly loaded even if it's installed. Check this if your GL is not working. Please read "Troubleshooting" section for details.}}<br />
<br />
If you have trouble, see [[#Troubleshooting]].<br />
<br />
=== Custom Kernels ===<br />
<br />
To install catalyst for a custom kernel, you'll need to build your own {{ic|catalyst-$kernel}} package.<br />
<br />
If you are at all uncomfortable or inexperienced with making packages, read up the [[ABS]] wiki page first so things go smoothly.<br />
<br />
# Obtain the {{ic|PKGBUILD}} and {{ic|catalyst.install}} files from [[AUR|Catalyst]].<br />
# Editing the PKGBUILD. Two changes need to be made here:<br />
## Change {{ic|1=pkgname=catalyst}} to {{ic|1=pkgname=catalyst-$kernel_name}}, where $kernel_name is whatever you want (e.g. custom, mm, themostawesomekernelever).<br />
## Change the dependency of {{ic|linux}} to {{ic|$kernel_name}}.<br />
# Build your package and install; run {{ic|makepkg -i}} or {{ic|makepkg}} followed by {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{Note|If you run multiple kernels, you have to install the Catalyst-utils packages for all kernels. They won't conflict with one another.}}<br />
<br />
{{Note|Catalyst-generator is able to build catalyst-{kernver} packages for you so you do not actually need to perform all those steps manually. For more information, see [[#Tools| Tools section]].}}<br />
<br />
== Xorg repositories ==<br />
Catalyst is notorious for its slow update process. As such, it is common that a new Xorg version is pushed down from upstream that will break compatibility for Catalyst. This means that Catalyst users either have to hold the Xorg packages from updating, or use a backported repository that only contains the Xorg packages that should be hold back. Vi0L0 has stepped in to fulfil this task and provides several backported repositories. <br />
<br />
If you want to use pacman to hold back packages from updating, see [[pacman|skip package from being upgraded]]. Packages you should hold back, are:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
If you want to use the backported repositories, you have to edit {{ic|/etc/pacman.conf}} and add the information of the repository '''above all other repositories''', even above your Catalyst repository, should you use one.<br />
<br />
===[xorg112]===<br />
The current version of Catalyst doesn't support xorg-server 1.13 at the moment.<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
Catalyst < 12.6 doesn't support xorg-server 1.12.<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== Tools ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook] is a hook for [[mkinitcpio|mkinitcpio]] that will automatically update fglrx modules with every kernel update. '''This is basically the same as catalyst-dkms from [community].''' Before updating the fglrx modules, it will first try to update the {{Pkg|linux-headers}}.<br />
<br />
The hook will call the ''catalyst_build_module'' command to update fglrx module for the version of your new kernel. Additionally, it can call the ''catalyst_build_module remove'' command to remove the now old and unneeded flgrx module(s).<br />
<br />
{{Note|If you are using this functionality it's '''important''' to look at the installation process of the linux kernel (or any other kernel) package. Catalyst-hook will tell you is everything all right.}}<br />
<br />
{{Note|If your '''custom kernel''' is using some '''non-standard mkinitcpio configuration file''' (ie. linux-zen is using /etc/mkinitcpio-zen.conf) you'll have to manually add '''fglrx''' to HOOKS array in your non-standard configuration file so it can be auto-recompiled with a kernel update.}}<br />
<br />
{{Note|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator] is a package that is able to build and install the fglrx module packed into pacman compliant catalyst-${kernver} packages. The difference from Catalyst-hook is that you will have to trigger this command manually, whereas Catalyst-hook will do this automatically at boot when a new kernel got installed.<br />
<br />
It creates catalyst-${kernver} packages using [[makepkg]] and installs them with [[pacman]]. ''${kernver}'' is the kernel version for which each package was built (e.g. catalyst-2.6.35-ARCH package was built for 2.6.35-ARCH kernel).<br />
<br />
To build and install catalyst-${kernver} package for a currently booted kernel as an unprivileged user (non-root; safer way), use {{ic|catalyst_build_module}}. You will be asked for your root password to proceed to package installation.<br />
<br />
A short summary on how to use this package:<br />
<br />
# As root: {{ic|catalyst_build_module remove}}. This will remove all unused {{ic|catalyst-{kernver} }} packages.<br />
# As unprivileged user: {{ic|catalyst_build_module ${kernver}}}, where ${kernver} is the version of the kernel to which you just updated. For example: {{ic|catalyst_build_module 2.6.36-ARCH}}. You can also build catalyst-${kernver} for all installed kernels by using {{ic|catalyst_build_module all}}.<br />
# If you want to remove {{ic|catalyst-generator}}, it's best to run this as root before removing catalyst-generator: {{ic|catalyst_build_module remove_all}}. '''This will remove all catalyst-{kernver} packages from the system.'''<br />
<br />
Catalyst-generator isn't able to remove all those catalyst-{kernver} packages automatically while being removed because there can not be more than one instance of pacman running. If you forget to run {{ic|catalyst_build_module remove_all}} before using {{ic|pacman -R catalyst-generator}} catalyst-generator will tell you which catalyst-{kernver} packages you will have to remove manually after removing catalyst-generator itself.<br />
<br />
{{Note|If you see those warnings:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension.<br />
<br />
while building catalyst-{kernver} package, do not be concerned, it's normal.}}<br />
<br />
=== Catalyst-daemon ===<br />
{{Warning| systemd users have no use for this, as systemd is not compatible with regular initscript daemons.}}<br />
<br />
[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon] is, as its name suggests, a daemon that will run upon every boot to check if the kernel was updated. If it was, it will rebuild the fglrx module - if it wasn't, it will load the previously built fglrx module. This whole operation takes only 20ms on a 2.4 GHz CPU.<br />
<br />
The automatic re-compilation functionality of Catalyst-daemon is done by an init script called ''autofglrx''. Autofglrx's check function is comparing the built time of the just booted kernel (provided by {{ic|uname -v}}) with the built time of a kernel for which the previously used fglrx module was built. It is able to do such a comparison because it adds {{ic|uname -v}} information to the fglrx module description whilst compiling it. <br />
<br />
Whilst rebuilding, autofglrx will call the ''catalyst_build_module'' to build a module and ''catalyst_build_module remove'' to remove the old, unneeded fglrx module. It doesn't remain in the system's memory after being run.<br />
<br />
{{Note|After installing autofglrx, you have to add {{ic|autofglrx}} to the beginning of the {{ic|DAEMONS}} array {{ic|/etc/rc.conf}}. Be sure to place it before your DM (if you run that from here) and do '''not''' run it in the background (e.g. do not at a @ symbol in front of it).}}<br />
<br />
{{Note|If you are using '''your own compilation flags''' and get problems with the daemon - please add those flags into /usr/bin/catalyst_build_module file.}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
Presented in '''Catalyst 11.1''', the ''Tear Free Desktop'' feature reduces tearing in 2D, 3D and video applications. This likely adds triple-buffering and v-sync. Do note that it requires additional GPU processing.<br />
<br />
To enable 'Tear Free Desktop' run {{ic|amdcccle}} and go to: {{ic|Display Options}} → {{ic|Tear Free}}.<br />
<br />
Or as root run:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
To disable, again use {{ic|amdcccle}} or run as root:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== Video acceleration ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)''' is an open source software library (libVA) and API specification which provides GPU acceleration for video processing on Linux/UNIX based operating systems. The process works by enabling hardware accelerated video decode at various entry-points (VLD, IDCT, Motion Compensation, deblocking) for common encoding standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3).<br />
<br />
VA-API gained a proprietary backend (in November 2009) called {{AUR|xvba-video}}, that allows VA-API programmed applications to take advantage of AMD Radeons UVD2 chipsets via the [http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)] library.<br />
<br />
XvBA support and xvba-video is still under development, however it is '''working very well in most cases'''. Build the {{AUR|xvba-video}} package from AUR or soon, install it from [community] and install {{Pkg|mplayer-vaapi}} and {{Pkg|libva}}. Then just set your video player to use vaapi:gl as video output:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
These options can be added to your mplayer configuration file, see [[MPlayer]].<br />
<br />
For '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{Note|If Tear Free Desktop is enabled it's better to use:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
If Video Output '''vaapi:gl''' isn't working - please check:<br />
'''vaapi''', '''vaapi:gl2''' or simply '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
For '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
It might help to enable v-sync in '''amdcccle''':<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{Note|If you are using '''Compiz/KWin''', the only way to '''avoid video flickering''' is to watch videos in '''full-screen''' and only when '''Unredirect Fullscreen is off'''.<br />
<br />
In '''compiz''' you need to set '''Redirected Direct Rendering''' in General Options of ccsm. If it is still flickering, try to disable this option in CCSM. It's off by default in '''KWin''', but if you see flickering try to turn "Suspend desktop effects for fullscreen windows" on or off in System Settings → Desktop Effects → Advanced.}}<br />
<br />
=== GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities ===<br />
<br />
You can get the GPU/Mem clocks with: {{ic|$ aticonfig --od-getclocks}}.<br />
<br />
You can get the fan speed with: {{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}<br />
<br />
You can get the temperature with: {{ic|$ aticonfig --odgt}}<br />
<br />
To set the fanspeed with: {{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}} Query Index: 50, Speed in percent<br />
<br />
To overclock and/or underclock it's easier to use a GUI, like '''ATi Overclocking Utility''', which is very simple and requires qt to work.<br />
<br />
The i686 version is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here], while the x86_64 is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]. Just download it and run.<br />
<br />
An other, more complex utility to perform such operations is '''AMDOverdriveCtrl'''. Its homepage is [http://sourceforge.net/projects/amdovdrvctrl here] and you can build an Arch package from [https://aur.archlinux.org/packages.php?ID=45298 AUR] or from Vi0L0's unofficial repositories.<br />
<br />
=== Double Screen (Dual Head / Dual Screen / Xinerama) ===<br />
<br />
==== Introduction ====<br />
<br />
{{Warning| you should know that there isn't one specific solution because each setup differs and needs its own configuration. That's why you will have to adapt the steps below to your own needs. It is possible that you have to try more than once. '''Therefore, you should save your working {{ic|/etc/X11/xorg.conf}} before you start modifying and you must be able to recover from a command-line environment.'''}}<br />
<br />
* In this chapter, we will describe the installation of two different-sized screens on only one graphics card with two different output ports (DVI + HDMI) using a "BIG Desktop" configuration.<br />
<br />
* The Xinerama solution has some inconveniences, especially because it is not compatible with XrandR. For that very reason, you should not use this solution, because XrandR is a must for our later configuration.<br />
<br />
* The Dual Head solution would allow you to have 2 different sessions (one for each screen). It could be what you want, but you will not be able to move windows from one screen to another. If you have only one screen, you will have to define the mouse inside your Xorg session for each of the two sessions inside the Server Layout section.<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
The GUI tool shipped by ATI is very useful and we will try to use it as much as we can. To launch it, open a terminal and use the following command:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{Warning|Do '''not''' use sudo directly with a GUI. Sudo gives you admin rights with user account information. Instead, use ''gksu'' (GNOME) or ''kdesu'' (KDE).}}<br />
<br />
==== Installation ====<br />
<br />
Before we start, make sure that your hardware is plugged in correctly, that power is on and that you know your hardware characteristics (screen dimensions, sizes, refreshment rates, etc.) Normally, both screens are recognized during boot time but not necessarily identified properly, especially if you are not using any Xorg base configuration file ({{ic|/etc/X11/xorg.conf}}) but relying on the hot-plugging feature.<br />
<br />
The first step is to make sure that you screens will be recognized by your DE and by X. For this, you need to generate a basic Xorg configuration file for your two screens:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
or<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{Note|{{ic|overlay}} is important because it allows you to have 1 pixel (or more) shared between the 2 screens.}}<br />
{{Tip|For the other possible and available options, do not hesitate to type {{ic|aticonfig --help}} inside a terminal to display all available command lines.}}<br />
<br />
Now you should have a basic Xorg configuration file that you can edit to add your screen resolutions. It is important to use the precise resolution, especially if you have screens of different sizes. These resolutions have to be added in the "Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
From now on, instead of editing the {{ic|xorg.conf}} file manually, let us use the ATI GUI tool. Restart X to be sure that your two screens are properly supported and that the resolutions are properly recognized (Screens must be independent, not mirrored).<br />
<br />
==== Configuration ====<br />
<br />
Now you will only have to launch the ATI control center with root privileges, go to the display menu and choose how you would like to set your configuration (small arrow of the drop down menu). A last restart of X and you should be done!<br />
<br />
Before you restart X, do not hesitate to verify your new {{ic|xorg.conf}} file. At this stage, inside the "Display" sub-section of the "Screen" section, you should see a "Virtual" command line, of which the resolution should be the sum of both screens. The "Server Layout" section says all the rest.<br />
<br />
== Troubleshooting ==<br />
<br />
If you can still boot to command-line, then the problem probably lies in {{ic|/etc/X11/xorg.conf}}<br />
<br />
You can parse the whole {{ic|/var/log/Xorg.0.log}} or, for clues:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
If you are at lost of what to do, you can always post a message in the see [http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]. When you do so, please do provide the information you get from both commands mentioned above.<br />
<br />
=== 3D Wine applications freeze ===<br />
If you use a 3D Wine application and it hangs, you have to disable TLS. To do this, either use {{ic|aticonfig}} or edit {{ic|/etc/X11/xorg.conf}}. To use {{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
Or, to edit {{ic|/etc/X11/xorg.conf}}; first open the file in an editor as root and then add {{ic|Option "UseFastTLS" "off"}} to the ''Device'' section of this file. <br />
<br />
After applying either of the solutions, restart X for it to take effect.<br />
<br />
=== Problems with video colours ===<br />
<br />
You may still use {{ic|vaapi:gl}} to avoid video flickering, but without video acceleration:<br />
<br />
* Run '''mplayer''' without {{ic|-vo vaapi}} switch.<br />
<br />
* Run '''smplayer''' remove {{ic|-vo vaapi}} from Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
<br />
Plus for '''smplayer''' you may now safely turn screenshots on.<br />
<br />
=== KWin and composite ===<br />
<br />
You may use XRender if the rendering with OpenGL is slow. However, XRender might also be slower than OpenGL depending on your card.<br />
XRender also solves artifact issues in some cases.<br />
<br />
=== Black screen with complete lockups and/or hangs after reboot or startx ===<br />
<br />
Ensure you have added the '''nomodeset''' option to the kernel options line in your bootloader (see [[#Disable kernel mode setting]]).<br />
<br />
==== Faulty ACPI hardware calls ====<br />
It is possible that fglrx doesn't cooperate well with the system's ACPI hardware calls, so it auto-disables itself and there is no screen output.<br />
<br />
If so, try to run this:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== KDM disappears after logout ===<br />
<br />
If you are running Catalyst proprietary driver and you get a console (tty1) instead of the expected KDM greeting when you log out, you must instruct KDM to restart the X server after each logout:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
Uncomment the following line under the section titled {{ic|[X-:*-Core]}}:<br />
<br />
TerminateServer=True<br />
<br />
KDM should now appear when you log out of KDE.<br />
<br />
=== Direct Rendering does not work ===<br />
<br />
This problem may occur when using the proprietary '''Catalyst''' driver.<br />
<br />
{{Warning|This error would also appear if you have not '''rebooted''' your system after the installation or upgrade of catalyst. The system needs to load the fglrx.ko module in order to make the driver work.}}<br />
<br />
If you have problem with direct rendering, run:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
at the command prompt. At the very start of the output, it'll usually give you a nice error message saying why you do not have direct rendering.<br />
<br />
Common errors and their solutions, are:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* Ensure that you are loading the correct agp modules for your AGP chipset before you load the fglrx kernel module. To determine which agp modules you'll need, run {{ic|hwdetect --show-agp}}, then ensure that all modules listed from that command are in the {{ic|1=MODULES=}} array in rc.conf, '''before''' fglrx if using SysVinit, otherwise open your {{ic|fglrx.conf}} file in {{ic|/etc/modules-load.d}} and add the agp module on a line '''before''' the fglrx line.<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* Something has not been installed correctly. If the paths in the error message are {{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}}, then ensure you've logged completely out of your system, then back in. If you're using a graphical login manager (gdm, kdm, xdm), ensure that {{ic|/etc/profile}} is sourced every time you log in. This is usually accomplished by adding {{ic|source /etc/profile}} into {{ic|~/.xsession}} or {{ic|~/.xinitrc}}, but this may vary between login managers.<br />
<br />
* If the paths above in your error message ''are'' {{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}}, then something has not been correctly installed. Try reinstalling the {{ic|catalyst}} package.<br />
<br />
Errors such as:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
could be caused by having multiple versions of {{ic|libGL.so}} on your system. Run:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
This should return the following output:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
These are the only three libGL.so files you should have on your system. If you have any more (e.g. {{ic|/usr/X11R6/lib/libGL.so.1.2}}), then remove them. This should fix your problem.<br />
<br />
You might not get any error to indicate that this is a problem. If you are using X11R7, make sure you do '''not''' have these files on your system:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== Hibernate/Sleep Issues ===<br />
<br />
==== Video fails to resume from suspend2ram ====<br />
<br />
ATI's proprietary Catalyst driver cannot resume from suspend if the framebuffer is enabled. To disable the framebuffer, add '''vga=0''' to your kernel options in for example, Grub Legacy's {{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
To see where you need to add this with other bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== System Freezes/Hard locks ===<br />
<br />
* The {{ic|radeonfb}} framebuffer drivers have been known in the past to cause problems of this nature. If your kernel has radeonfb support compiled in, you may want to try a different kernel and see if this helps.<br />
<br />
* If you experience system freezes when exiting your DE (shut down, suspend, switching to tty etc.) you probably forgot to deactivate KMS. (See [[#Disable kernel mode setting]])<br />
<br />
=== Hardware Conflicts ===<br />
<br />
Radeon cards used in conjunction with some versions of the nForce3 chipset (e.g. nForce 3 250Gb) won't have 3D acceleration. Currently the cause of this issue is unknown, but some sources indicate that it may be possible to get acceleration with this combination of hardware by booting Windows with the drivers from nVIDIA and then rebooting the system. This can be verified by issuing in a root console the following command:<br />
<br />
$ dmesg | grep agp<br />
<br />
If you get something similar to this (using an nForce3-based system):<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
and also if issuing this command...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...gets something similar to:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
Then you have this bug.<br />
<br />
Some sources indicate that in some situations, downgrading the motherboard BIOS may help, but this cannot be verified in all cases. Also, '''a bad BIOS downgrade can render your hardware useless, so beware.'''<br />
<br />
See [http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport] for more information and a potential fix.<br />
<br />
=== Temporary hangs when playing video ===<br />
<br />
This problem may occur when using the proprietary Catalyst.<br />
<br />
If you experience temporary hangs lasting from a few seconds to several minutes occuring randomly during playback with mplayer, check /var/log/messages.log for output like:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
Adding the nopat kernel option to your kernel options in your bootloader and rebooting fixed the problem at least for me. To see how to do this for different bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
If when running<br />
<br />
# sudo aticonfig --initial<br />
<br />
you get:<br />
<br />
aticonfig: No supported adaptaters detected<br />
<br />
But you do have an AMD GPU (or APU), it may still be possible to get Catalyst working by manually setting the device in your your {{ic|etc/X11/xorg.conf}} file.<br />
<br />
You can do so by setting the device section of {{ic|/etc/X11/xorg.conf}} to:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
Where ''****'' should be replaced with your device's marketing number (e.g. 6870 for the HD 6870 and 6310 for the E-350 APU).<br />
<br />
Xorg will start and it is possible to use {{ic|amdcccle}} instead of {{ic|aticonfig}}. There will be an "AMD Unsupported hardware" watermark.<br />
<br />
You can remove this watermark using the following script:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
<br />
and rebooting.<br />
<br />
=== WebGL support in Chromium ===<br />
<br />
Google has blacklisted Linux's Catalyst driver from supporting webGL in their Chromium/Chrome browsers.<br />
<br />
You can turn webGL on by editing {{ic|/usr/share/applications/chromium.desktop}} file and adding {{ic|--ignore-gpu-blacklist}} flag into the '''Exec''' line so it looks like this:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
You can also run chromium from console with the same {{ic|--ignore-gpu-blacklist}} flag:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{Warning|Catalyst does not support the GL_ARB_robustness extension, so it is possible that a malicious site could use WebGL to perform a DoS attack on your graphic card. For more info, read [http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== Laggs/freezes when watching flash videos via Adobe's flashplugin ===<br />
<br />
Edit {{ic|/etc/adobe/mms.cfg}} and make it look like this:<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== Laggs/slow windows movement in GNOME3 ===<br />
<br />
You can try this solution out, it's working for many people.<br />
<br />
Add this line into {{ic|~/.profile}} or into {{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
Restart X server or reboot your system.<br />
<br />
=== Not using fullscreen in the 1920x1080 resolution ===<br />
<br />
The ATI has scaling by default add this to your xorg.conf<br />
<br />
Option "DPMS" "true"<br />
<br />
On the Monitor section, as full example would look like this<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=229449AMD Catalyst (简体中文)2012-10-18T15:43:37Z<p>Micy1985: </p>
<hr />
<div>"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs安全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx cards的驱动分别进行开发,因此在你选择安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用常规Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的常规Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上文对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst 对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败and you will miss Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make 脚本, 最好换一名称保存。将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
通过访问{{ic|/etc/ati/amdpcsdb}}文件它几乎能配置显卡的各项参数。了解完整的配置选项{{ic|aticonfig}}可运行:<br />
<br />
# aticonfig --help | less<br />
<br />
{{Warning|Use the --output option before committing to /etc/X11 as an xorg.conf file will override anything in /etc/X11/xorg.conf.d}}<br />
<br />
{{Note|If you want to adhere to the new xorg.conf.d: Append your {{ic|aticonfig}} string with ''--output'' so that you can adapt the Device section to {{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}. The drawback of this is that many {{ic|aticonfig}} options rely on an xorg.conf, and thus will be unavailable.}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,但不同Xorg版本的默认参数可能会有所不同,最好明确指定一些参数.<br />
<br />
给一个示例配置 (注意) '''仅供参考'''. 标'#'必须有,标'##'很可能会用到:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{注意|一旦升级Catalyst就要通过后面的方法删除'''amdpcsdb'''文件: 关闭X,删除{{ic|/etc/ati/amdpcsdb}},启动X然后运行{{ic|amdcccle}} -否则amdcccle将会显示错误的Catalyst版本号}}<br />
<br />
''更多信息参考[http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== 启动时加载模块 ====<br />
不同的初始化系统(SysVinit和systemd)的设置方式不一样,但无论哪一种,都得在{{ic|/etc/modprobe.d/modprobe.conf}}禁用''radeon''。具体可参见[[Modprobe|blacklisting in this article]]. '''通过Arch官方安装Catalyst则无需此步骤,安装包会自动处理'''。<br />
<br />
{{注意|强烈推荐使用systemd进行系统初始化,因为最新Arch安装镜像已默认使用systemd,通过rc.conf设置系统启动服务迟早会遭淘汰}}。<br />
<br />
===== 在使用systemd上 =====<br />
* 删除{{ic|/etc/modules-load.d/}}下任何名称包含{{ic|radeon}}的文件若该文件中含有其他多个模块,则只删除radeon)。<br />
* 在{{ic|/etc/modules-load.d/}}的现有文件中添加{{ic|fglrx}}或新建含有该行的文件。<br />
<br />
===== 在使用SysVinit上 =====<br />
编辑{{ic|/etc/rc.conf}}:<br />
* 自MODULES中删除{{ic|radeon}}。<br />
* 在MODULES中添加 {{ic|fglrx}}。<br />
<br />
{{注意|若使用AGP接口的显卡还需添加''agp''。}}<br />
<br />
==== Disable kernel mode setting ====<br />
<br />
Disabling kernel mode setting is important, as the driver doesn't take advantage of [[KMS]] yet. If you do not deactivate KMS, your system might freeze when trying to switch to a tty or even when shutting down via your DE.<br />
<br />
For [[GRUB Legacy|GRUB Legacy]], edit {{ic|menu.lst}} by adding {{ic|nomodeset}} to the kernel parameters. For example:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
For [[GRUB2|GRUB 2]], edit {{ic|/etc/default/grub}} and add ''nomodeset'' to the kernel parameter options, e.g.<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
Then run, as root;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
For [[Syslinux|Syslinux]], edit {{ic|/boot/syslinux/syslinux.cfg}} and add ''nomodeset'' to the {{ic|APPEND}} line, e.g.:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== Checking operation ====<br />
<br />
Assuming that a reboot to your login was successful, you can check if fglrx is running properly with the following commands:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
If you get output, it works. Finally, run X with {{ic|startx}} or by using GDM/KDM and verify that direct rendering is enabled by running the following command in a terminal:<br />
<br />
$ glxinfo | grep direct<br />
<br />
If it says "direct rendering: yes" then you're good to go! If the glxinfo command is not found, you might need to install the {{Pkg|mesa-demos}} package.<br />
<br />
{{Warning|In recent versions of Xorg, the paths of libs are changed. So, sometimes {{ic|libGL.so}} cannot be correctly loaded even if it's installed. Check this if your GL is not working. Please read "Troubleshooting" section for details.}}<br />
<br />
If you have trouble, see [[#Troubleshooting]].<br />
<br />
=== Custom Kernels ===<br />
<br />
To install catalyst for a custom kernel, you'll need to build your own {{ic|catalyst-$kernel}} package.<br />
<br />
If you are at all uncomfortable or inexperienced with making packages, read up the [[ABS]] wiki page first so things go smoothly.<br />
<br />
# Obtain the {{ic|PKGBUILD}} and {{ic|catalyst.install}} files from [[AUR|Catalyst]].<br />
# Editing the PKGBUILD. Two changes need to be made here:<br />
## Change {{ic|1=pkgname=catalyst}} to {{ic|1=pkgname=catalyst-$kernel_name}}, where $kernel_name is whatever you want (e.g. custom, mm, themostawesomekernelever).<br />
## Change the dependency of {{ic|linux}} to {{ic|$kernel_name}}.<br />
# Build your package and install; run {{ic|makepkg -i}} or {{ic|makepkg}} followed by {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{Note|If you run multiple kernels, you have to install the Catalyst-utils packages for all kernels. They won't conflict with one another.}}<br />
<br />
{{Note|Catalyst-generator is able to build catalyst-{kernver} packages for you so you do not actually need to perform all those steps manually. For more information, see [[#Tools| Tools section]].}}<br />
<br />
== Xorg repositories ==<br />
Catalyst is notorious for its slow update process. As such, it is common that a new Xorg version is pushed down from upstream that will break compatibility for Catalyst. This means that Catalyst users either have to hold the Xorg packages from updating, or use a backported repository that only contains the Xorg packages that should be hold back. Vi0L0 has stepped in to fulfil this task and provides several backported repositories. <br />
<br />
If you want to use pacman to hold back packages from updating, see [[pacman|skip package from being upgraded]]. Packages you should hold back, are:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
If you want to use the backported repositories, you have to edit {{ic|/etc/pacman.conf}} and add the information of the repository '''above all other repositories''', even above your Catalyst repository, should you use one.<br />
<br />
===[xorg112]===<br />
The current version of Catalyst doesn't support xorg-server 1.13 at the moment.<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
Catalyst < 12.6 doesn't support xorg-server 1.12.<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== Tools ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook] is a hook for [[mkinitcpio|mkinitcpio]] that will automatically update fglrx modules with every kernel update. '''This is basically the same as catalyst-dkms from [community].''' Before updating the fglrx modules, it will first try to update the {{Pkg|linux-headers}}.<br />
<br />
The hook will call the ''catalyst_build_module'' command to update fglrx module for the version of your new kernel. Additionally, it can call the ''catalyst_build_module remove'' command to remove the now old and unneeded flgrx module(s).<br />
<br />
{{Note|If you are using this functionality it's '''important''' to look at the installation process of the linux kernel (or any other kernel) package. Catalyst-hook will tell you is everything all right.}}<br />
<br />
{{Note|If your '''custom kernel''' is using some '''non-standard mkinitcpio configuration file''' (ie. linux-zen is using /etc/mkinitcpio-zen.conf) you'll have to manually add '''fglrx''' to HOOKS array in your non-standard configuration file so it can be auto-recompiled with a kernel update.}}<br />
<br />
{{Note|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator] is a package that is able to build and install the fglrx module packed into pacman compliant catalyst-${kernver} packages. The difference from Catalyst-hook is that you will have to trigger this command manually, whereas Catalyst-hook will do this automatically at boot when a new kernel got installed.<br />
<br />
It creates catalyst-${kernver} packages using [[makepkg]] and installs them with [[pacman]]. ''${kernver}'' is the kernel version for which each package was built (e.g. catalyst-2.6.35-ARCH package was built for 2.6.35-ARCH kernel).<br />
<br />
To build and install catalyst-${kernver} package for a currently booted kernel as an unprivileged user (non-root; safer way), use {{ic|catalyst_build_module}}. You will be asked for your root password to proceed to package installation.<br />
<br />
A short summary on how to use this package:<br />
<br />
# As root: {{ic|catalyst_build_module remove}}. This will remove all unused {{ic|catalyst-{kernver} }} packages.<br />
# As unprivileged user: {{ic|catalyst_build_module ${kernver}}}, where ${kernver} is the version of the kernel to which you just updated. For example: {{ic|catalyst_build_module 2.6.36-ARCH}}. You can also build catalyst-${kernver} for all installed kernels by using {{ic|catalyst_build_module all}}.<br />
# If you want to remove {{ic|catalyst-generator}}, it's best to run this as root before removing catalyst-generator: {{ic|catalyst_build_module remove_all}}. '''This will remove all catalyst-{kernver} packages from the system.'''<br />
<br />
Catalyst-generator isn't able to remove all those catalyst-{kernver} packages automatically while being removed because there can not be more than one instance of pacman running. If you forget to run {{ic|catalyst_build_module remove_all}} before using {{ic|pacman -R catalyst-generator}} catalyst-generator will tell you which catalyst-{kernver} packages you will have to remove manually after removing catalyst-generator itself.<br />
<br />
{{Note|If you see those warnings:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension.<br />
<br />
while building catalyst-{kernver} package, do not be concerned, it's normal.}}<br />
<br />
=== Catalyst-daemon ===<br />
{{Warning| systemd users have no use for this, as systemd is not compatible with regular initscript daemons.}}<br />
<br />
[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon] is, as its name suggests, a daemon that will run upon every boot to check if the kernel was updated. If it was, it will rebuild the fglrx module - if it wasn't, it will load the previously built fglrx module. This whole operation takes only 20ms on a 2.4 GHz CPU.<br />
<br />
The automatic re-compilation functionality of Catalyst-daemon is done by an init script called ''autofglrx''. Autofglrx's check function is comparing the built time of the just booted kernel (provided by {{ic|uname -v}}) with the built time of a kernel for which the previously used fglrx module was built. It is able to do such a comparison because it adds {{ic|uname -v}} information to the fglrx module description whilst compiling it. <br />
<br />
Whilst rebuilding, autofglrx will call the ''catalyst_build_module'' to build a module and ''catalyst_build_module remove'' to remove the old, unneeded fglrx module. It doesn't remain in the system's memory after being run.<br />
<br />
{{Note|After installing autofglrx, you have to add {{ic|autofglrx}} to the beginning of the {{ic|DAEMONS}} array {{ic|/etc/rc.conf}}. Be sure to place it before your DM (if you run that from here) and do '''not''' run it in the background (e.g. do not at a @ symbol in front of it).}}<br />
<br />
{{Note|If you are using '''your own compilation flags''' and get problems with the daemon - please add those flags into /usr/bin/catalyst_build_module file.}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
Presented in '''Catalyst 11.1''', the ''Tear Free Desktop'' feature reduces tearing in 2D, 3D and video applications. This likely adds triple-buffering and v-sync. Do note that it requires additional GPU processing.<br />
<br />
To enable 'Tear Free Desktop' run {{ic|amdcccle}} and go to: {{ic|Display Options}} → {{ic|Tear Free}}.<br />
<br />
Or as root run:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
To disable, again use {{ic|amdcccle}} or run as root:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== Video acceleration ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)''' is an open source software library (libVA) and API specification which provides GPU acceleration for video processing on Linux/UNIX based operating systems. The process works by enabling hardware accelerated video decode at various entry-points (VLD, IDCT, Motion Compensation, deblocking) for common encoding standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3).<br />
<br />
VA-API gained a proprietary backend (in November 2009) called {{AUR|xvba-video}}, that allows VA-API programmed applications to take advantage of AMD Radeons UVD2 chipsets via the [http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)] library.<br />
<br />
XvBA support and xvba-video is still under development, however it is '''working very well in most cases'''. Build the {{AUR|xvba-video}} package from AUR or soon, install it from [community] and install {{Pkg|mplayer-vaapi}} and {{Pkg|libva}}. Then just set your video player to use vaapi:gl as video output:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
These options can be added to your mplayer configuration file, see [[MPlayer]].<br />
<br />
For '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{Note|If Tear Free Desktop is enabled it's better to use:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
If Video Output '''vaapi:gl''' isn't working - please check:<br />
'''vaapi''', '''vaapi:gl2''' or simply '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
For '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
It might help to enable v-sync in '''amdcccle''':<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{Note|If you are using '''Compiz/KWin''', the only way to '''avoid video flickering''' is to watch videos in '''full-screen''' and only when '''Unredirect Fullscreen is off'''.<br />
<br />
In '''compiz''' you need to set '''Redirected Direct Rendering''' in General Options of ccsm. If it is still flickering, try to disable this option in CCSM. It's off by default in '''KWin''', but if you see flickering try to turn "Suspend desktop effects for fullscreen windows" on or off in System Settings → Desktop Effects → Advanced.}}<br />
<br />
=== GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities ===<br />
<br />
You can get the GPU/Mem clocks with: {{ic|$ aticonfig --od-getclocks}}.<br />
<br />
You can get the fan speed with: {{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}<br />
<br />
You can get the temperature with: {{ic|$ aticonfig --odgt}}<br />
<br />
To set the fanspeed with: {{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}} Query Index: 50, Speed in percent<br />
<br />
To overclock and/or underclock it's easier to use a GUI, like '''ATi Overclocking Utility''', which is very simple and requires qt to work.<br />
<br />
The i686 version is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here], while the x86_64 is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]. Just download it and run.<br />
<br />
An other, more complex utility to perform such operations is '''AMDOverdriveCtrl'''. Its homepage is [http://sourceforge.net/projects/amdovdrvctrl here] and you can build an Arch package from [https://aur.archlinux.org/packages.php?ID=45298 AUR] or from Vi0L0's unofficial repositories.<br />
<br />
=== Double Screen (Dual Head / Dual Screen / Xinerama) ===<br />
<br />
==== Introduction ====<br />
<br />
{{Warning| you should know that there isn't one specific solution because each setup differs and needs its own configuration. That's why you will have to adapt the steps below to your own needs. It is possible that you have to try more than once. '''Therefore, you should save your working {{ic|/etc/X11/xorg.conf}} before you start modifying and you must be able to recover from a command-line environment.'''}}<br />
<br />
* In this chapter, we will describe the installation of two different-sized screens on only one graphics card with two different output ports (DVI + HDMI) using a "BIG Desktop" configuration.<br />
<br />
* The Xinerama solution has some inconveniences, especially because it is not compatible with XrandR. For that very reason, you should not use this solution, because XrandR is a must for our later configuration.<br />
<br />
* The Dual Head solution would allow you to have 2 different sessions (one for each screen). It could be what you want, but you will not be able to move windows from one screen to another. If you have only one screen, you will have to define the mouse inside your Xorg session for each of the two sessions inside the Server Layout section.<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
The GUI tool shipped by ATI is very useful and we will try to use it as much as we can. To launch it, open a terminal and use the following command:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{Warning|Do '''not''' use sudo directly with a GUI. Sudo gives you admin rights with user account information. Instead, use ''gksu'' (GNOME) or ''kdesu'' (KDE).}}<br />
<br />
==== Installation ====<br />
<br />
Before we start, make sure that your hardware is plugged in correctly, that power is on and that you know your hardware characteristics (screen dimensions, sizes, refreshment rates, etc.) Normally, both screens are recognized during boot time but not necessarily identified properly, especially if you are not using any Xorg base configuration file ({{ic|/etc/X11/xorg.conf}}) but relying on the hot-plugging feature.<br />
<br />
The first step is to make sure that you screens will be recognized by your DE and by X. For this, you need to generate a basic Xorg configuration file for your two screens:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
or<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{Note|{{ic|overlay}} is important because it allows you to have 1 pixel (or more) shared between the 2 screens.}}<br />
{{Tip|For the other possible and available options, do not hesitate to type {{ic|aticonfig --help}} inside a terminal to display all available command lines.}}<br />
<br />
Now you should have a basic Xorg configuration file that you can edit to add your screen resolutions. It is important to use the precise resolution, especially if you have screens of different sizes. These resolutions have to be added in the "Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
From now on, instead of editing the {{ic|xorg.conf}} file manually, let us use the ATI GUI tool. Restart X to be sure that your two screens are properly supported and that the resolutions are properly recognized (Screens must be independent, not mirrored).<br />
<br />
==== Configuration ====<br />
<br />
Now you will only have to launch the ATI control center with root privileges, go to the display menu and choose how you would like to set your configuration (small arrow of the drop down menu). A last restart of X and you should be done!<br />
<br />
Before you restart X, do not hesitate to verify your new {{ic|xorg.conf}} file. At this stage, inside the "Display" sub-section of the "Screen" section, you should see a "Virtual" command line, of which the resolution should be the sum of both screens. The "Server Layout" section says all the rest.<br />
<br />
== Troubleshooting ==<br />
<br />
If you can still boot to command-line, then the problem probably lies in {{ic|/etc/X11/xorg.conf}}<br />
<br />
You can parse the whole {{ic|/var/log/Xorg.0.log}} or, for clues:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
If you are at lost of what to do, you can always post a message in the see [http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]. When you do so, please do provide the information you get from both commands mentioned above.<br />
<br />
=== 3D Wine applications freeze ===<br />
If you use a 3D Wine application and it hangs, you have to disable TLS. To do this, either use {{ic|aticonfig}} or edit {{ic|/etc/X11/xorg.conf}}. To use {{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
Or, to edit {{ic|/etc/X11/xorg.conf}}; first open the file in an editor as root and then add {{ic|Option "UseFastTLS" "off"}} to the ''Device'' section of this file. <br />
<br />
After applying either of the solutions, restart X for it to take effect.<br />
<br />
=== Problems with video colours ===<br />
<br />
You may still use {{ic|vaapi:gl}} to avoid video flickering, but without video acceleration:<br />
<br />
* Run '''mplayer''' without {{ic|-vo vaapi}} switch.<br />
<br />
* Run '''smplayer''' remove {{ic|-vo vaapi}} from Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
<br />
Plus for '''smplayer''' you may now safely turn screenshots on.<br />
<br />
=== KWin and composite ===<br />
<br />
You may use XRender if the rendering with OpenGL is slow. However, XRender might also be slower than OpenGL depending on your card.<br />
XRender also solves artifact issues in some cases.<br />
<br />
=== Black screen with complete lockups and/or hangs after reboot or startx ===<br />
<br />
Ensure you have added the '''nomodeset''' option to the kernel options line in your bootloader (see [[#Disable kernel mode setting]]).<br />
<br />
==== Faulty ACPI hardware calls ====<br />
It is possible that fglrx doesn't cooperate well with the system's ACPI hardware calls, so it auto-disables itself and there is no screen output.<br />
<br />
If so, try to run this:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== KDM disappears after logout ===<br />
<br />
If you are running Catalyst proprietary driver and you get a console (tty1) instead of the expected KDM greeting when you log out, you must instruct KDM to restart the X server after each logout:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
Uncomment the following line under the section titled {{ic|[X-:*-Core]}}:<br />
<br />
TerminateServer=True<br />
<br />
KDM should now appear when you log out of KDE.<br />
<br />
=== Direct Rendering does not work ===<br />
<br />
This problem may occur when using the proprietary '''Catalyst''' driver.<br />
<br />
{{Warning|This error would also appear if you have not '''rebooted''' your system after the installation or upgrade of catalyst. The system needs to load the fglrx.ko module in order to make the driver work.}}<br />
<br />
If you have problem with direct rendering, run:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
at the command prompt. At the very start of the output, it'll usually give you a nice error message saying why you do not have direct rendering.<br />
<br />
Common errors and their solutions, are:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* Ensure that you are loading the correct agp modules for your AGP chipset before you load the fglrx kernel module. To determine which agp modules you'll need, run {{ic|hwdetect --show-agp}}, then ensure that all modules listed from that command are in the {{ic|1=MODULES=}} array in rc.conf, '''before''' fglrx if using SysVinit, otherwise open your {{ic|fglrx.conf}} file in {{ic|/etc/modules-load.d}} and add the agp module on a line '''before''' the fglrx line.<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* Something has not been installed correctly. If the paths in the error message are {{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}}, then ensure you've logged completely out of your system, then back in. If you're using a graphical login manager (gdm, kdm, xdm), ensure that {{ic|/etc/profile}} is sourced every time you log in. This is usually accomplished by adding {{ic|source /etc/profile}} into {{ic|~/.xsession}} or {{ic|~/.xinitrc}}, but this may vary between login managers.<br />
<br />
* If the paths above in your error message ''are'' {{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}}, then something has not been correctly installed. Try reinstalling the {{ic|catalyst}} package.<br />
<br />
Errors such as:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
could be caused by having multiple versions of {{ic|libGL.so}} on your system. Run:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
This should return the following output:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
These are the only three libGL.so files you should have on your system. If you have any more (e.g. {{ic|/usr/X11R6/lib/libGL.so.1.2}}), then remove them. This should fix your problem.<br />
<br />
You might not get any error to indicate that this is a problem. If you are using X11R7, make sure you do '''not''' have these files on your system:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== Hibernate/Sleep Issues ===<br />
<br />
==== Video fails to resume from suspend2ram ====<br />
<br />
ATI's proprietary Catalyst driver cannot resume from suspend if the framebuffer is enabled. To disable the framebuffer, add '''vga=0''' to your kernel options in for example, Grub Legacy's {{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
To see where you need to add this with other bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== System Freezes/Hard locks ===<br />
<br />
* The {{ic|radeonfb}} framebuffer drivers have been known in the past to cause problems of this nature. If your kernel has radeonfb support compiled in, you may want to try a different kernel and see if this helps.<br />
<br />
* If you experience system freezes when exiting your DE (shut down, suspend, switching to tty etc.) you probably forgot to deactivate KMS. (See [[#Disable kernel mode setting]])<br />
<br />
=== Hardware Conflicts ===<br />
<br />
Radeon cards used in conjunction with some versions of the nForce3 chipset (e.g. nForce 3 250Gb) won't have 3D acceleration. Currently the cause of this issue is unknown, but some sources indicate that it may be possible to get acceleration with this combination of hardware by booting Windows with the drivers from nVIDIA and then rebooting the system. This can be verified by issuing in a root console the following command:<br />
<br />
$ dmesg | grep agp<br />
<br />
If you get something similar to this (using an nForce3-based system):<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
and also if issuing this command...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...gets something similar to:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
Then you have this bug.<br />
<br />
Some sources indicate that in some situations, downgrading the motherboard BIOS may help, but this cannot be verified in all cases. Also, '''a bad BIOS downgrade can render your hardware useless, so beware.'''<br />
<br />
See [http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport] for more information and a potential fix.<br />
<br />
=== Temporary hangs when playing video ===<br />
<br />
This problem may occur when using the proprietary Catalyst.<br />
<br />
If you experience temporary hangs lasting from a few seconds to several minutes occuring randomly during playback with mplayer, check /var/log/messages.log for output like:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
Adding the nopat kernel option to your kernel options in your bootloader and rebooting fixed the problem at least for me. To see how to do this for different bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
If when running<br />
<br />
# sudo aticonfig --initial<br />
<br />
you get:<br />
<br />
aticonfig: No supported adaptaters detected<br />
<br />
But you do have an AMD GPU (or APU), it may still be possible to get Catalyst working by manually setting the device in your your {{ic|etc/X11/xorg.conf}} file.<br />
<br />
You can do so by setting the device section of {{ic|/etc/X11/xorg.conf}} to:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
Where ''****'' should be replaced with your device's marketing number (e.g. 6870 for the HD 6870 and 6310 for the E-350 APU).<br />
<br />
Xorg will start and it is possible to use {{ic|amdcccle}} instead of {{ic|aticonfig}}. There will be an "AMD Unsupported hardware" watermark.<br />
<br />
You can remove this watermark using the following script:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
<br />
and rebooting.<br />
<br />
=== WebGL support in Chromium ===<br />
<br />
Google has blacklisted Linux's Catalyst driver from supporting webGL in their Chromium/Chrome browsers.<br />
<br />
You can turn webGL on by editing {{ic|/usr/share/applications/chromium.desktop}} file and adding {{ic|--ignore-gpu-blacklist}} flag into the '''Exec''' line so it looks like this:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
You can also run chromium from console with the same {{ic|--ignore-gpu-blacklist}} flag:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{Warning|Catalyst does not support the GL_ARB_robustness extension, so it is possible that a malicious site could use WebGL to perform a DoS attack on your graphic card. For more info, read [http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== Laggs/freezes when watching flash videos via Adobe's flashplugin ===<br />
<br />
Edit {{ic|/etc/adobe/mms.cfg}} and make it look like this:<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== Laggs/slow windows movement in GNOME3 ===<br />
<br />
You can try this solution out, it's working for many people.<br />
<br />
Add this line into {{ic|~/.profile}} or into {{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
Restart X server or reboot your system.<br />
<br />
=== Not using fullscreen in the 1920x1080 resolution ===<br />
<br />
The ATI has scaling by default add this to your xorg.conf<br />
<br />
Option "DPMS" "true"<br />
<br />
On the Monitor section, as full example would look like this<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=229448AMD Catalyst (简体中文)2012-10-18T15:37:34Z<p>Micy1985: </p>
<hr />
<div>"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs安全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx cards的驱动分别进行开发,因此在你选择安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用常规Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的常规Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上文对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst 对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败and you will miss Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make 脚本, 最好换一名称保存。将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
通过访问{{ic|/etc/ati/amdpcsdb}}文件它几乎能配置显卡的各项参数。了解完整的配置选项{{ic|aticonfig}}可运行:<br />
<br />
# aticonfig --help | less<br />
<br />
{{Warning|Use the --output option before committing to /etc/X11 as an xorg.conf file will override anything in /etc/X11/xorg.conf.d}}<br />
<br />
{{Note|If you want to adhere to the new xorg.conf.d: Append your {{ic|aticonfig}} string with ''--output'' so that you can adapt the Device section to {{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}. The drawback of this is that many {{ic|aticonfig}} options rely on an xorg.conf, and thus will be unavailable.}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,但不同Xorg版本的默认参数可能会有所不同,最好明确指定一些参数.<br />
<br />
给一个示例配置 (注意) '''仅供参考'''. 标'#'必须有,标'##'很可能会用到:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{注意|一旦升级Catalyst就要通过后面的方法删除'''amdpcsdb'''文件: 关闭X,删除{{ic|/etc/ati/amdpcsdb}},启动X然后运行{{ic|amdcccle}} -否则amdcccle将会显示错误的Catalyst版本号}}<br />
<br />
''更多信息参考[http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== 启动时加载模块 ====<br />
不同的初始化系统(SysVinit和systemd)的设置方式不一样,但无论哪一种,都得在{{ic|/etc/modprobe.d/modprobe.conf}}禁用''radeon''。具体可参见[[Modprobe|blacklisting in this article]]. '''通过Arch官方安装Catalyst则无需此步骤,安装包会自动处理'''。<br />
<br />
{{注意|强烈推荐使用systemd进行系统初始化,因为最新Arch安装镜像已默认使用systemd,通过rc.conf设置系统启动服务迟早会遭淘汰}}<br />
<br />
===== 在使用systemd上 =====<br />
* Disable the {{ic|radeon}} module from auto-loading. If it occurs in any file under {{ic|/etc/modules-load.d/}}, remove the file (or, if the file contains multiple modules, just remove the radeon one).<br />
* Either add {{ic|fglrx}} on a new line of an existing module file located under {{ic|/etc/modules-load.d/}}, or create a new file and add {{ic|fglrx}}.<br />
<br />
===== 在使用SysVinit上 =====<br />
Edit {{ic|/etc/rc.conf}} by:<br />
* Removing {{ic|radeon}} from the MODULES array.<br />
* Adding {{ic|fglrx}} to MODULES.<br />
<br />
{{Note|If you are using an AGP card instead of PCI Express add the ''agp'' module as well.}}<br />
<br />
==== Disable kernel mode setting ====<br />
<br />
Disabling kernel mode setting is important, as the driver doesn't take advantage of [[KMS]] yet. If you do not deactivate KMS, your system might freeze when trying to switch to a tty or even when shutting down via your DE.<br />
<br />
For [[GRUB Legacy|GRUB Legacy]], edit {{ic|menu.lst}} by adding {{ic|nomodeset}} to the kernel parameters. For example:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
For [[GRUB2|GRUB 2]], edit {{ic|/etc/default/grub}} and add ''nomodeset'' to the kernel parameter options, e.g.<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
Then run, as root;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
For [[Syslinux|Syslinux]], edit {{ic|/boot/syslinux/syslinux.cfg}} and add ''nomodeset'' to the {{ic|APPEND}} line, e.g.:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== Checking operation ====<br />
<br />
Assuming that a reboot to your login was successful, you can check if fglrx is running properly with the following commands:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
If you get output, it works. Finally, run X with {{ic|startx}} or by using GDM/KDM and verify that direct rendering is enabled by running the following command in a terminal:<br />
<br />
$ glxinfo | grep direct<br />
<br />
If it says "direct rendering: yes" then you're good to go! If the glxinfo command is not found, you might need to install the {{Pkg|mesa-demos}} package.<br />
<br />
{{Warning|In recent versions of Xorg, the paths of libs are changed. So, sometimes {{ic|libGL.so}} cannot be correctly loaded even if it's installed. Check this if your GL is not working. Please read "Troubleshooting" section for details.}}<br />
<br />
If you have trouble, see [[#Troubleshooting]].<br />
<br />
=== Custom Kernels ===<br />
<br />
To install catalyst for a custom kernel, you'll need to build your own {{ic|catalyst-$kernel}} package.<br />
<br />
If you are at all uncomfortable or inexperienced with making packages, read up the [[ABS]] wiki page first so things go smoothly.<br />
<br />
# Obtain the {{ic|PKGBUILD}} and {{ic|catalyst.install}} files from [[AUR|Catalyst]].<br />
# Editing the PKGBUILD. Two changes need to be made here:<br />
## Change {{ic|1=pkgname=catalyst}} to {{ic|1=pkgname=catalyst-$kernel_name}}, where $kernel_name is whatever you want (e.g. custom, mm, themostawesomekernelever).<br />
## Change the dependency of {{ic|linux}} to {{ic|$kernel_name}}.<br />
# Build your package and install; run {{ic|makepkg -i}} or {{ic|makepkg}} followed by {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{Note|If you run multiple kernels, you have to install the Catalyst-utils packages for all kernels. They won't conflict with one another.}}<br />
<br />
{{Note|Catalyst-generator is able to build catalyst-{kernver} packages for you so you do not actually need to perform all those steps manually. For more information, see [[#Tools| Tools section]].}}<br />
<br />
== Xorg repositories ==<br />
Catalyst is notorious for its slow update process. As such, it is common that a new Xorg version is pushed down from upstream that will break compatibility for Catalyst. This means that Catalyst users either have to hold the Xorg packages from updating, or use a backported repository that only contains the Xorg packages that should be hold back. Vi0L0 has stepped in to fulfil this task and provides several backported repositories. <br />
<br />
If you want to use pacman to hold back packages from updating, see [[pacman|skip package from being upgraded]]. Packages you should hold back, are:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
If you want to use the backported repositories, you have to edit {{ic|/etc/pacman.conf}} and add the information of the repository '''above all other repositories''', even above your Catalyst repository, should you use one.<br />
<br />
===[xorg112]===<br />
The current version of Catalyst doesn't support xorg-server 1.13 at the moment.<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
Catalyst < 12.6 doesn't support xorg-server 1.12.<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== Tools ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook] is a hook for [[mkinitcpio|mkinitcpio]] that will automatically update fglrx modules with every kernel update. '''This is basically the same as catalyst-dkms from [community].''' Before updating the fglrx modules, it will first try to update the {{Pkg|linux-headers}}.<br />
<br />
The hook will call the ''catalyst_build_module'' command to update fglrx module for the version of your new kernel. Additionally, it can call the ''catalyst_build_module remove'' command to remove the now old and unneeded flgrx module(s).<br />
<br />
{{Note|If you are using this functionality it's '''important''' to look at the installation process of the linux kernel (or any other kernel) package. Catalyst-hook will tell you is everything all right.}}<br />
<br />
{{Note|If your '''custom kernel''' is using some '''non-standard mkinitcpio configuration file''' (ie. linux-zen is using /etc/mkinitcpio-zen.conf) you'll have to manually add '''fglrx''' to HOOKS array in your non-standard configuration file so it can be auto-recompiled with a kernel update.}}<br />
<br />
{{Note|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator] is a package that is able to build and install the fglrx module packed into pacman compliant catalyst-${kernver} packages. The difference from Catalyst-hook is that you will have to trigger this command manually, whereas Catalyst-hook will do this automatically at boot when a new kernel got installed.<br />
<br />
It creates catalyst-${kernver} packages using [[makepkg]] and installs them with [[pacman]]. ''${kernver}'' is the kernel version for which each package was built (e.g. catalyst-2.6.35-ARCH package was built for 2.6.35-ARCH kernel).<br />
<br />
To build and install catalyst-${kernver} package for a currently booted kernel as an unprivileged user (non-root; safer way), use {{ic|catalyst_build_module}}. You will be asked for your root password to proceed to package installation.<br />
<br />
A short summary on how to use this package:<br />
<br />
# As root: {{ic|catalyst_build_module remove}}. This will remove all unused {{ic|catalyst-{kernver} }} packages.<br />
# As unprivileged user: {{ic|catalyst_build_module ${kernver}}}, where ${kernver} is the version of the kernel to which you just updated. For example: {{ic|catalyst_build_module 2.6.36-ARCH}}. You can also build catalyst-${kernver} for all installed kernels by using {{ic|catalyst_build_module all}}.<br />
# If you want to remove {{ic|catalyst-generator}}, it's best to run this as root before removing catalyst-generator: {{ic|catalyst_build_module remove_all}}. '''This will remove all catalyst-{kernver} packages from the system.'''<br />
<br />
Catalyst-generator isn't able to remove all those catalyst-{kernver} packages automatically while being removed because there can not be more than one instance of pacman running. If you forget to run {{ic|catalyst_build_module remove_all}} before using {{ic|pacman -R catalyst-generator}} catalyst-generator will tell you which catalyst-{kernver} packages you will have to remove manually after removing catalyst-generator itself.<br />
<br />
{{Note|If you see those warnings:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension.<br />
<br />
while building catalyst-{kernver} package, do not be concerned, it's normal.}}<br />
<br />
=== Catalyst-daemon ===<br />
{{Warning| systemd users have no use for this, as systemd is not compatible with regular initscript daemons.}}<br />
<br />
[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon] is, as its name suggests, a daemon that will run upon every boot to check if the kernel was updated. If it was, it will rebuild the fglrx module - if it wasn't, it will load the previously built fglrx module. This whole operation takes only 20ms on a 2.4 GHz CPU.<br />
<br />
The automatic re-compilation functionality of Catalyst-daemon is done by an init script called ''autofglrx''. Autofglrx's check function is comparing the built time of the just booted kernel (provided by {{ic|uname -v}}) with the built time of a kernel for which the previously used fglrx module was built. It is able to do such a comparison because it adds {{ic|uname -v}} information to the fglrx module description whilst compiling it. <br />
<br />
Whilst rebuilding, autofglrx will call the ''catalyst_build_module'' to build a module and ''catalyst_build_module remove'' to remove the old, unneeded fglrx module. It doesn't remain in the system's memory after being run.<br />
<br />
{{Note|After installing autofglrx, you have to add {{ic|autofglrx}} to the beginning of the {{ic|DAEMONS}} array {{ic|/etc/rc.conf}}. Be sure to place it before your DM (if you run that from here) and do '''not''' run it in the background (e.g. do not at a @ symbol in front of it).}}<br />
<br />
{{Note|If you are using '''your own compilation flags''' and get problems with the daemon - please add those flags into /usr/bin/catalyst_build_module file.}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
Presented in '''Catalyst 11.1''', the ''Tear Free Desktop'' feature reduces tearing in 2D, 3D and video applications. This likely adds triple-buffering and v-sync. Do note that it requires additional GPU processing.<br />
<br />
To enable 'Tear Free Desktop' run {{ic|amdcccle}} and go to: {{ic|Display Options}} → {{ic|Tear Free}}.<br />
<br />
Or as root run:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
To disable, again use {{ic|amdcccle}} or run as root:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== Video acceleration ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)''' is an open source software library (libVA) and API specification which provides GPU acceleration for video processing on Linux/UNIX based operating systems. The process works by enabling hardware accelerated video decode at various entry-points (VLD, IDCT, Motion Compensation, deblocking) for common encoding standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3).<br />
<br />
VA-API gained a proprietary backend (in November 2009) called {{AUR|xvba-video}}, that allows VA-API programmed applications to take advantage of AMD Radeons UVD2 chipsets via the [http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)] library.<br />
<br />
XvBA support and xvba-video is still under development, however it is '''working very well in most cases'''. Build the {{AUR|xvba-video}} package from AUR or soon, install it from [community] and install {{Pkg|mplayer-vaapi}} and {{Pkg|libva}}. Then just set your video player to use vaapi:gl as video output:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
These options can be added to your mplayer configuration file, see [[MPlayer]].<br />
<br />
For '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{Note|If Tear Free Desktop is enabled it's better to use:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
If Video Output '''vaapi:gl''' isn't working - please check:<br />
'''vaapi''', '''vaapi:gl2''' or simply '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
For '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
It might help to enable v-sync in '''amdcccle''':<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{Note|If you are using '''Compiz/KWin''', the only way to '''avoid video flickering''' is to watch videos in '''full-screen''' and only when '''Unredirect Fullscreen is off'''.<br />
<br />
In '''compiz''' you need to set '''Redirected Direct Rendering''' in General Options of ccsm. If it is still flickering, try to disable this option in CCSM. It's off by default in '''KWin''', but if you see flickering try to turn "Suspend desktop effects for fullscreen windows" on or off in System Settings → Desktop Effects → Advanced.}}<br />
<br />
=== GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities ===<br />
<br />
You can get the GPU/Mem clocks with: {{ic|$ aticonfig --od-getclocks}}.<br />
<br />
You can get the fan speed with: {{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}<br />
<br />
You can get the temperature with: {{ic|$ aticonfig --odgt}}<br />
<br />
To set the fanspeed with: {{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}} Query Index: 50, Speed in percent<br />
<br />
To overclock and/or underclock it's easier to use a GUI, like '''ATi Overclocking Utility''', which is very simple and requires qt to work.<br />
<br />
The i686 version is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here], while the x86_64 is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]. Just download it and run.<br />
<br />
An other, more complex utility to perform such operations is '''AMDOverdriveCtrl'''. Its homepage is [http://sourceforge.net/projects/amdovdrvctrl here] and you can build an Arch package from [https://aur.archlinux.org/packages.php?ID=45298 AUR] or from Vi0L0's unofficial repositories.<br />
<br />
=== Double Screen (Dual Head / Dual Screen / Xinerama) ===<br />
<br />
==== Introduction ====<br />
<br />
{{Warning| you should know that there isn't one specific solution because each setup differs and needs its own configuration. That's why you will have to adapt the steps below to your own needs. It is possible that you have to try more than once. '''Therefore, you should save your working {{ic|/etc/X11/xorg.conf}} before you start modifying and you must be able to recover from a command-line environment.'''}}<br />
<br />
* In this chapter, we will describe the installation of two different-sized screens on only one graphics card with two different output ports (DVI + HDMI) using a "BIG Desktop" configuration.<br />
<br />
* The Xinerama solution has some inconveniences, especially because it is not compatible with XrandR. For that very reason, you should not use this solution, because XrandR is a must for our later configuration.<br />
<br />
* The Dual Head solution would allow you to have 2 different sessions (one for each screen). It could be what you want, but you will not be able to move windows from one screen to another. If you have only one screen, you will have to define the mouse inside your Xorg session for each of the two sessions inside the Server Layout section.<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
The GUI tool shipped by ATI is very useful and we will try to use it as much as we can. To launch it, open a terminal and use the following command:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{Warning|Do '''not''' use sudo directly with a GUI. Sudo gives you admin rights with user account information. Instead, use ''gksu'' (GNOME) or ''kdesu'' (KDE).}}<br />
<br />
==== Installation ====<br />
<br />
Before we start, make sure that your hardware is plugged in correctly, that power is on and that you know your hardware characteristics (screen dimensions, sizes, refreshment rates, etc.) Normally, both screens are recognized during boot time but not necessarily identified properly, especially if you are not using any Xorg base configuration file ({{ic|/etc/X11/xorg.conf}}) but relying on the hot-plugging feature.<br />
<br />
The first step is to make sure that you screens will be recognized by your DE and by X. For this, you need to generate a basic Xorg configuration file for your two screens:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
or<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{Note|{{ic|overlay}} is important because it allows you to have 1 pixel (or more) shared between the 2 screens.}}<br />
{{Tip|For the other possible and available options, do not hesitate to type {{ic|aticonfig --help}} inside a terminal to display all available command lines.}}<br />
<br />
Now you should have a basic Xorg configuration file that you can edit to add your screen resolutions. It is important to use the precise resolution, especially if you have screens of different sizes. These resolutions have to be added in the "Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
From now on, instead of editing the {{ic|xorg.conf}} file manually, let us use the ATI GUI tool. Restart X to be sure that your two screens are properly supported and that the resolutions are properly recognized (Screens must be independent, not mirrored).<br />
<br />
==== Configuration ====<br />
<br />
Now you will only have to launch the ATI control center with root privileges, go to the display menu and choose how you would like to set your configuration (small arrow of the drop down menu). A last restart of X and you should be done!<br />
<br />
Before you restart X, do not hesitate to verify your new {{ic|xorg.conf}} file. At this stage, inside the "Display" sub-section of the "Screen" section, you should see a "Virtual" command line, of which the resolution should be the sum of both screens. The "Server Layout" section says all the rest.<br />
<br />
== Troubleshooting ==<br />
<br />
If you can still boot to command-line, then the problem probably lies in {{ic|/etc/X11/xorg.conf}}<br />
<br />
You can parse the whole {{ic|/var/log/Xorg.0.log}} or, for clues:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
If you are at lost of what to do, you can always post a message in the see [http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]. When you do so, please do provide the information you get from both commands mentioned above.<br />
<br />
=== 3D Wine applications freeze ===<br />
If you use a 3D Wine application and it hangs, you have to disable TLS. To do this, either use {{ic|aticonfig}} or edit {{ic|/etc/X11/xorg.conf}}. To use {{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
Or, to edit {{ic|/etc/X11/xorg.conf}}; first open the file in an editor as root and then add {{ic|Option "UseFastTLS" "off"}} to the ''Device'' section of this file. <br />
<br />
After applying either of the solutions, restart X for it to take effect.<br />
<br />
=== Problems with video colours ===<br />
<br />
You may still use {{ic|vaapi:gl}} to avoid video flickering, but without video acceleration:<br />
<br />
* Run '''mplayer''' without {{ic|-vo vaapi}} switch.<br />
<br />
* Run '''smplayer''' remove {{ic|-vo vaapi}} from Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
<br />
Plus for '''smplayer''' you may now safely turn screenshots on.<br />
<br />
=== KWin and composite ===<br />
<br />
You may use XRender if the rendering with OpenGL is slow. However, XRender might also be slower than OpenGL depending on your card.<br />
XRender also solves artifact issues in some cases.<br />
<br />
=== Black screen with complete lockups and/or hangs after reboot or startx ===<br />
<br />
Ensure you have added the '''nomodeset''' option to the kernel options line in your bootloader (see [[#Disable kernel mode setting]]).<br />
<br />
==== Faulty ACPI hardware calls ====<br />
It is possible that fglrx doesn't cooperate well with the system's ACPI hardware calls, so it auto-disables itself and there is no screen output.<br />
<br />
If so, try to run this:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== KDM disappears after logout ===<br />
<br />
If you are running Catalyst proprietary driver and you get a console (tty1) instead of the expected KDM greeting when you log out, you must instruct KDM to restart the X server after each logout:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
Uncomment the following line under the section titled {{ic|[X-:*-Core]}}:<br />
<br />
TerminateServer=True<br />
<br />
KDM should now appear when you log out of KDE.<br />
<br />
=== Direct Rendering does not work ===<br />
<br />
This problem may occur when using the proprietary '''Catalyst''' driver.<br />
<br />
{{Warning|This error would also appear if you have not '''rebooted''' your system after the installation or upgrade of catalyst. The system needs to load the fglrx.ko module in order to make the driver work.}}<br />
<br />
If you have problem with direct rendering, run:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
at the command prompt. At the very start of the output, it'll usually give you a nice error message saying why you do not have direct rendering.<br />
<br />
Common errors and their solutions, are:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* Ensure that you are loading the correct agp modules for your AGP chipset before you load the fglrx kernel module. To determine which agp modules you'll need, run {{ic|hwdetect --show-agp}}, then ensure that all modules listed from that command are in the {{ic|1=MODULES=}} array in rc.conf, '''before''' fglrx if using SysVinit, otherwise open your {{ic|fglrx.conf}} file in {{ic|/etc/modules-load.d}} and add the agp module on a line '''before''' the fglrx line.<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* Something has not been installed correctly. If the paths in the error message are {{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}}, then ensure you've logged completely out of your system, then back in. If you're using a graphical login manager (gdm, kdm, xdm), ensure that {{ic|/etc/profile}} is sourced every time you log in. This is usually accomplished by adding {{ic|source /etc/profile}} into {{ic|~/.xsession}} or {{ic|~/.xinitrc}}, but this may vary between login managers.<br />
<br />
* If the paths above in your error message ''are'' {{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}}, then something has not been correctly installed. Try reinstalling the {{ic|catalyst}} package.<br />
<br />
Errors such as:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
could be caused by having multiple versions of {{ic|libGL.so}} on your system. Run:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
This should return the following output:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
These are the only three libGL.so files you should have on your system. If you have any more (e.g. {{ic|/usr/X11R6/lib/libGL.so.1.2}}), then remove them. This should fix your problem.<br />
<br />
You might not get any error to indicate that this is a problem. If you are using X11R7, make sure you do '''not''' have these files on your system:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== Hibernate/Sleep Issues ===<br />
<br />
==== Video fails to resume from suspend2ram ====<br />
<br />
ATI's proprietary Catalyst driver cannot resume from suspend if the framebuffer is enabled. To disable the framebuffer, add '''vga=0''' to your kernel options in for example, Grub Legacy's {{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
To see where you need to add this with other bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== System Freezes/Hard locks ===<br />
<br />
* The {{ic|radeonfb}} framebuffer drivers have been known in the past to cause problems of this nature. If your kernel has radeonfb support compiled in, you may want to try a different kernel and see if this helps.<br />
<br />
* If you experience system freezes when exiting your DE (shut down, suspend, switching to tty etc.) you probably forgot to deactivate KMS. (See [[#Disable kernel mode setting]])<br />
<br />
=== Hardware Conflicts ===<br />
<br />
Radeon cards used in conjunction with some versions of the nForce3 chipset (e.g. nForce 3 250Gb) won't have 3D acceleration. Currently the cause of this issue is unknown, but some sources indicate that it may be possible to get acceleration with this combination of hardware by booting Windows with the drivers from nVIDIA and then rebooting the system. This can be verified by issuing in a root console the following command:<br />
<br />
$ dmesg | grep agp<br />
<br />
If you get something similar to this (using an nForce3-based system):<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
and also if issuing this command...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...gets something similar to:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
Then you have this bug.<br />
<br />
Some sources indicate that in some situations, downgrading the motherboard BIOS may help, but this cannot be verified in all cases. Also, '''a bad BIOS downgrade can render your hardware useless, so beware.'''<br />
<br />
See [http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport] for more information and a potential fix.<br />
<br />
=== Temporary hangs when playing video ===<br />
<br />
This problem may occur when using the proprietary Catalyst.<br />
<br />
If you experience temporary hangs lasting from a few seconds to several minutes occuring randomly during playback with mplayer, check /var/log/messages.log for output like:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
Adding the nopat kernel option to your kernel options in your bootloader and rebooting fixed the problem at least for me. To see how to do this for different bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
If when running<br />
<br />
# sudo aticonfig --initial<br />
<br />
you get:<br />
<br />
aticonfig: No supported adaptaters detected<br />
<br />
But you do have an AMD GPU (or APU), it may still be possible to get Catalyst working by manually setting the device in your your {{ic|etc/X11/xorg.conf}} file.<br />
<br />
You can do so by setting the device section of {{ic|/etc/X11/xorg.conf}} to:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
Where ''****'' should be replaced with your device's marketing number (e.g. 6870 for the HD 6870 and 6310 for the E-350 APU).<br />
<br />
Xorg will start and it is possible to use {{ic|amdcccle}} instead of {{ic|aticonfig}}. There will be an "AMD Unsupported hardware" watermark.<br />
<br />
You can remove this watermark using the following script:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
<br />
and rebooting.<br />
<br />
=== WebGL support in Chromium ===<br />
<br />
Google has blacklisted Linux's Catalyst driver from supporting webGL in their Chromium/Chrome browsers.<br />
<br />
You can turn webGL on by editing {{ic|/usr/share/applications/chromium.desktop}} file and adding {{ic|--ignore-gpu-blacklist}} flag into the '''Exec''' line so it looks like this:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
You can also run chromium from console with the same {{ic|--ignore-gpu-blacklist}} flag:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{Warning|Catalyst does not support the GL_ARB_robustness extension, so it is possible that a malicious site could use WebGL to perform a DoS attack on your graphic card. For more info, read [http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== Laggs/freezes when watching flash videos via Adobe's flashplugin ===<br />
<br />
Edit {{ic|/etc/adobe/mms.cfg}} and make it look like this:<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== Laggs/slow windows movement in GNOME3 ===<br />
<br />
You can try this solution out, it's working for many people.<br />
<br />
Add this line into {{ic|~/.profile}} or into {{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
Restart X server or reboot your system.<br />
<br />
=== Not using fullscreen in the 1920x1080 resolution ===<br />
<br />
The ATI has scaling by default add this to your xorg.conf<br />
<br />
Option "DPMS" "true"<br />
<br />
On the Monitor section, as full example would look like this<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=229436AMD Catalyst (简体中文)2012-10-18T14:32:55Z<p>Micy1985: </p>
<hr />
<div>"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs安全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx cards的驱动分别进行开发,因此在你选择安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用常规Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的常规Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上文对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst 对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败and you will miss Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make 脚本, 最好换一名称保存。将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
通过访问{{ic|/etc/ati/amdpcsdb}}文件它几乎能配置显卡的各项参数。了解完整的配置选项{{ic|aticonfig}}可运行:<br />
<br />
# aticonfig --help | less<br />
<br />
{{Warning|Use the --output option before committing to /etc/X11 as an xorg.conf file will override anything in /etc/X11/xorg.conf.d}}<br />
<br />
{{Note|If you want to adhere to the new xorg.conf.d: Append your {{ic|aticonfig}} string with ''--output'' so that you can adapt the Device section to {{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}. The drawback of this is that many {{ic|aticonfig}} options rely on an xorg.conf, and thus will be unavailable.}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,但不同Xorg版本的默认参数可能会有所不同,最好明确指定一些参数.<br />
<br />
给一个示例配置 (注意) '''仅供参考'''. 标'#'必须有,标'##'很可能会用到:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{注意|一旦升级Catalyst就要通过后面的方法删除'''amdpcsdb'''文件: 关闭X,删除{{ic|/etc/ati/amdpcsdb}},启动X然后运行{{ic|amdcccle}} -否则amdcccle将会显示错误的Catalyst版本号}}<br />
<br />
''更多信息参考[http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== 启动时加载模块 ====<br />
How you should handle this depends on the init system you're using; either SysVinit or systemd. In either case, you have to blacklist ''radeon'' in {{ic|/etc/modprobe.d/modprobe.conf}}. For more information, see [[Modprobe|blacklisting in this article]]. '''Users of the [community] package do not have to do this, it's automatically done for them when installing the package'''.<br />
<br />
{{Note|The systemd method is recommended, as Arch is slowly switching over to this and the rc.conf method is actually deprecated.}}<br />
<br />
===== The systemd method =====<br />
* Disable the {{ic|radeon}} module from auto-loading. If it occurs in any file under {{ic|/etc/modules-load.d/}}, remove the file (or, if the file contains multiple modules, just remove the radeon one).<br />
* Either add {{ic|fglrx}} on a new line of an existing module file located under {{ic|/etc/modules-load.d/}}, or create a new file and add {{ic|fglrx}}.<br />
<br />
===== Arch initscripts =====<br />
Edit {{ic|/etc/rc.conf}} by:<br />
* Removing {{ic|radeon}} from the MODULES array.<br />
* Adding {{ic|fglrx}} to MODULES.<br />
<br />
{{Note|If you are using an AGP card instead of PCI Express add the ''agp'' module as well.}}<br />
<br />
==== Disable kernel mode setting ====<br />
<br />
Disabling kernel mode setting is important, as the driver doesn't take advantage of [[KMS]] yet. If you do not deactivate KMS, your system might freeze when trying to switch to a tty or even when shutting down via your DE.<br />
<br />
For [[GRUB Legacy|GRUB Legacy]], edit {{ic|menu.lst}} by adding {{ic|nomodeset}} to the kernel parameters. For example:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
For [[GRUB2|GRUB 2]], edit {{ic|/etc/default/grub}} and add ''nomodeset'' to the kernel parameter options, e.g.<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
Then run, as root;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
For [[Syslinux|Syslinux]], edit {{ic|/boot/syslinux/syslinux.cfg}} and add ''nomodeset'' to the {{ic|APPEND}} line, e.g.:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== Checking operation ====<br />
<br />
Assuming that a reboot to your login was successful, you can check if fglrx is running properly with the following commands:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
If you get output, it works. Finally, run X with {{ic|startx}} or by using GDM/KDM and verify that direct rendering is enabled by running the following command in a terminal:<br />
<br />
$ glxinfo | grep direct<br />
<br />
If it says "direct rendering: yes" then you're good to go! If the glxinfo command is not found, you might need to install the {{Pkg|mesa-demos}} package.<br />
<br />
{{Warning|In recent versions of Xorg, the paths of libs are changed. So, sometimes {{ic|libGL.so}} cannot be correctly loaded even if it's installed. Check this if your GL is not working. Please read "Troubleshooting" section for details.}}<br />
<br />
If you have trouble, see [[#Troubleshooting]].<br />
<br />
=== Custom Kernels ===<br />
<br />
To install catalyst for a custom kernel, you'll need to build your own {{ic|catalyst-$kernel}} package.<br />
<br />
If you are at all uncomfortable or inexperienced with making packages, read up the [[ABS]] wiki page first so things go smoothly.<br />
<br />
# Obtain the {{ic|PKGBUILD}} and {{ic|catalyst.install}} files from [[AUR|Catalyst]].<br />
# Editing the PKGBUILD. Two changes need to be made here:<br />
## Change {{ic|1=pkgname=catalyst}} to {{ic|1=pkgname=catalyst-$kernel_name}}, where $kernel_name is whatever you want (e.g. custom, mm, themostawesomekernelever).<br />
## Change the dependency of {{ic|linux}} to {{ic|$kernel_name}}.<br />
# Build your package and install; run {{ic|makepkg -i}} or {{ic|makepkg}} followed by {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{Note|If you run multiple kernels, you have to install the Catalyst-utils packages for all kernels. They won't conflict with one another.}}<br />
<br />
{{Note|Catalyst-generator is able to build catalyst-{kernver} packages for you so you do not actually need to perform all those steps manually. For more information, see [[#Tools| Tools section]].}}<br />
<br />
== Xorg repositories ==<br />
Catalyst is notorious for its slow update process. As such, it is common that a new Xorg version is pushed down from upstream that will break compatibility for Catalyst. This means that Catalyst users either have to hold the Xorg packages from updating, or use a backported repository that only contains the Xorg packages that should be hold back. Vi0L0 has stepped in to fulfil this task and provides several backported repositories. <br />
<br />
If you want to use pacman to hold back packages from updating, see [[pacman|skip package from being upgraded]]. Packages you should hold back, are:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
If you want to use the backported repositories, you have to edit {{ic|/etc/pacman.conf}} and add the information of the repository '''above all other repositories''', even above your Catalyst repository, should you use one.<br />
<br />
===[xorg112]===<br />
The current version of Catalyst doesn't support xorg-server 1.13 at the moment.<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
Catalyst < 12.6 doesn't support xorg-server 1.12.<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== Tools ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook] is a hook for [[mkinitcpio|mkinitcpio]] that will automatically update fglrx modules with every kernel update. '''This is basically the same as catalyst-dkms from [community].''' Before updating the fglrx modules, it will first try to update the {{Pkg|linux-headers}}.<br />
<br />
The hook will call the ''catalyst_build_module'' command to update fglrx module for the version of your new kernel. Additionally, it can call the ''catalyst_build_module remove'' command to remove the now old and unneeded flgrx module(s).<br />
<br />
{{Note|If you are using this functionality it's '''important''' to look at the installation process of the linux kernel (or any other kernel) package. Catalyst-hook will tell you is everything all right.}}<br />
<br />
{{Note|If your '''custom kernel''' is using some '''non-standard mkinitcpio configuration file''' (ie. linux-zen is using /etc/mkinitcpio-zen.conf) you'll have to manually add '''fglrx''' to HOOKS array in your non-standard configuration file so it can be auto-recompiled with a kernel update.}}<br />
<br />
{{Note|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator] is a package that is able to build and install the fglrx module packed into pacman compliant catalyst-${kernver} packages. The difference from Catalyst-hook is that you will have to trigger this command manually, whereas Catalyst-hook will do this automatically at boot when a new kernel got installed.<br />
<br />
It creates catalyst-${kernver} packages using [[makepkg]] and installs them with [[pacman]]. ''${kernver}'' is the kernel version for which each package was built (e.g. catalyst-2.6.35-ARCH package was built for 2.6.35-ARCH kernel).<br />
<br />
To build and install catalyst-${kernver} package for a currently booted kernel as an unprivileged user (non-root; safer way), use {{ic|catalyst_build_module}}. You will be asked for your root password to proceed to package installation.<br />
<br />
A short summary on how to use this package:<br />
<br />
# As root: {{ic|catalyst_build_module remove}}. This will remove all unused {{ic|catalyst-{kernver} }} packages.<br />
# As unprivileged user: {{ic|catalyst_build_module ${kernver}}}, where ${kernver} is the version of the kernel to which you just updated. For example: {{ic|catalyst_build_module 2.6.36-ARCH}}. You can also build catalyst-${kernver} for all installed kernels by using {{ic|catalyst_build_module all}}.<br />
# If you want to remove {{ic|catalyst-generator}}, it's best to run this as root before removing catalyst-generator: {{ic|catalyst_build_module remove_all}}. '''This will remove all catalyst-{kernver} packages from the system.'''<br />
<br />
Catalyst-generator isn't able to remove all those catalyst-{kernver} packages automatically while being removed because there can not be more than one instance of pacman running. If you forget to run {{ic|catalyst_build_module remove_all}} before using {{ic|pacman -R catalyst-generator}} catalyst-generator will tell you which catalyst-{kernver} packages you will have to remove manually after removing catalyst-generator itself.<br />
<br />
{{Note|If you see those warnings:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension.<br />
<br />
while building catalyst-{kernver} package, do not be concerned, it's normal.}}<br />
<br />
=== Catalyst-daemon ===<br />
{{Warning| systemd users have no use for this, as systemd is not compatible with regular initscript daemons.}}<br />
<br />
[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon] is, as its name suggests, a daemon that will run upon every boot to check if the kernel was updated. If it was, it will rebuild the fglrx module - if it wasn't, it will load the previously built fglrx module. This whole operation takes only 20ms on a 2.4 GHz CPU.<br />
<br />
The automatic re-compilation functionality of Catalyst-daemon is done by an init script called ''autofglrx''. Autofglrx's check function is comparing the built time of the just booted kernel (provided by {{ic|uname -v}}) with the built time of a kernel for which the previously used fglrx module was built. It is able to do such a comparison because it adds {{ic|uname -v}} information to the fglrx module description whilst compiling it. <br />
<br />
Whilst rebuilding, autofglrx will call the ''catalyst_build_module'' to build a module and ''catalyst_build_module remove'' to remove the old, unneeded fglrx module. It doesn't remain in the system's memory after being run.<br />
<br />
{{Note|After installing autofglrx, you have to add {{ic|autofglrx}} to the beginning of the {{ic|DAEMONS}} array {{ic|/etc/rc.conf}}. Be sure to place it before your DM (if you run that from here) and do '''not''' run it in the background (e.g. do not at a @ symbol in front of it).}}<br />
<br />
{{Note|If you are using '''your own compilation flags''' and get problems with the daemon - please add those flags into /usr/bin/catalyst_build_module file.}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
Presented in '''Catalyst 11.1''', the ''Tear Free Desktop'' feature reduces tearing in 2D, 3D and video applications. This likely adds triple-buffering and v-sync. Do note that it requires additional GPU processing.<br />
<br />
To enable 'Tear Free Desktop' run {{ic|amdcccle}} and go to: {{ic|Display Options}} → {{ic|Tear Free}}.<br />
<br />
Or as root run:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
To disable, again use {{ic|amdcccle}} or run as root:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== Video acceleration ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)''' is an open source software library (libVA) and API specification which provides GPU acceleration for video processing on Linux/UNIX based operating systems. The process works by enabling hardware accelerated video decode at various entry-points (VLD, IDCT, Motion Compensation, deblocking) for common encoding standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3).<br />
<br />
VA-API gained a proprietary backend (in November 2009) called {{AUR|xvba-video}}, that allows VA-API programmed applications to take advantage of AMD Radeons UVD2 chipsets via the [http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)] library.<br />
<br />
XvBA support and xvba-video is still under development, however it is '''working very well in most cases'''. Build the {{AUR|xvba-video}} package from AUR or soon, install it from [community] and install {{Pkg|mplayer-vaapi}} and {{Pkg|libva}}. Then just set your video player to use vaapi:gl as video output:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
These options can be added to your mplayer configuration file, see [[MPlayer]].<br />
<br />
For '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{Note|If Tear Free Desktop is enabled it's better to use:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
If Video Output '''vaapi:gl''' isn't working - please check:<br />
'''vaapi''', '''vaapi:gl2''' or simply '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
For '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
It might help to enable v-sync in '''amdcccle''':<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{Note|If you are using '''Compiz/KWin''', the only way to '''avoid video flickering''' is to watch videos in '''full-screen''' and only when '''Unredirect Fullscreen is off'''.<br />
<br />
In '''compiz''' you need to set '''Redirected Direct Rendering''' in General Options of ccsm. If it is still flickering, try to disable this option in CCSM. It's off by default in '''KWin''', but if you see flickering try to turn "Suspend desktop effects for fullscreen windows" on or off in System Settings → Desktop Effects → Advanced.}}<br />
<br />
=== GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities ===<br />
<br />
You can get the GPU/Mem clocks with: {{ic|$ aticonfig --od-getclocks}}.<br />
<br />
You can get the fan speed with: {{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}<br />
<br />
You can get the temperature with: {{ic|$ aticonfig --odgt}}<br />
<br />
To set the fanspeed with: {{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}} Query Index: 50, Speed in percent<br />
<br />
To overclock and/or underclock it's easier to use a GUI, like '''ATi Overclocking Utility''', which is very simple and requires qt to work.<br />
<br />
The i686 version is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here], while the x86_64 is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]. Just download it and run.<br />
<br />
An other, more complex utility to perform such operations is '''AMDOverdriveCtrl'''. Its homepage is [http://sourceforge.net/projects/amdovdrvctrl here] and you can build an Arch package from [https://aur.archlinux.org/packages.php?ID=45298 AUR] or from Vi0L0's unofficial repositories.<br />
<br />
=== Double Screen (Dual Head / Dual Screen / Xinerama) ===<br />
<br />
==== Introduction ====<br />
<br />
{{Warning| you should know that there isn't one specific solution because each setup differs and needs its own configuration. That's why you will have to adapt the steps below to your own needs. It is possible that you have to try more than once. '''Therefore, you should save your working {{ic|/etc/X11/xorg.conf}} before you start modifying and you must be able to recover from a command-line environment.'''}}<br />
<br />
* In this chapter, we will describe the installation of two different-sized screens on only one graphics card with two different output ports (DVI + HDMI) using a "BIG Desktop" configuration.<br />
<br />
* The Xinerama solution has some inconveniences, especially because it is not compatible with XrandR. For that very reason, you should not use this solution, because XrandR is a must for our later configuration.<br />
<br />
* The Dual Head solution would allow you to have 2 different sessions (one for each screen). It could be what you want, but you will not be able to move windows from one screen to another. If you have only one screen, you will have to define the mouse inside your Xorg session for each of the two sessions inside the Server Layout section.<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
The GUI tool shipped by ATI is very useful and we will try to use it as much as we can. To launch it, open a terminal and use the following command:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{Warning|Do '''not''' use sudo directly with a GUI. Sudo gives you admin rights with user account information. Instead, use ''gksu'' (GNOME) or ''kdesu'' (KDE).}}<br />
<br />
==== Installation ====<br />
<br />
Before we start, make sure that your hardware is plugged in correctly, that power is on and that you know your hardware characteristics (screen dimensions, sizes, refreshment rates, etc.) Normally, both screens are recognized during boot time but not necessarily identified properly, especially if you are not using any Xorg base configuration file ({{ic|/etc/X11/xorg.conf}}) but relying on the hot-plugging feature.<br />
<br />
The first step is to make sure that you screens will be recognized by your DE and by X. For this, you need to generate a basic Xorg configuration file for your two screens:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
or<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{Note|{{ic|overlay}} is important because it allows you to have 1 pixel (or more) shared between the 2 screens.}}<br />
{{Tip|For the other possible and available options, do not hesitate to type {{ic|aticonfig --help}} inside a terminal to display all available command lines.}}<br />
<br />
Now you should have a basic Xorg configuration file that you can edit to add your screen resolutions. It is important to use the precise resolution, especially if you have screens of different sizes. These resolutions have to be added in the "Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
From now on, instead of editing the {{ic|xorg.conf}} file manually, let us use the ATI GUI tool. Restart X to be sure that your two screens are properly supported and that the resolutions are properly recognized (Screens must be independent, not mirrored).<br />
<br />
==== Configuration ====<br />
<br />
Now you will only have to launch the ATI control center with root privileges, go to the display menu and choose how you would like to set your configuration (small arrow of the drop down menu). A last restart of X and you should be done!<br />
<br />
Before you restart X, do not hesitate to verify your new {{ic|xorg.conf}} file. At this stage, inside the "Display" sub-section of the "Screen" section, you should see a "Virtual" command line, of which the resolution should be the sum of both screens. The "Server Layout" section says all the rest.<br />
<br />
== Troubleshooting ==<br />
<br />
If you can still boot to command-line, then the problem probably lies in {{ic|/etc/X11/xorg.conf}}<br />
<br />
You can parse the whole {{ic|/var/log/Xorg.0.log}} or, for clues:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
If you are at lost of what to do, you can always post a message in the see [http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]. When you do so, please do provide the information you get from both commands mentioned above.<br />
<br />
=== 3D Wine applications freeze ===<br />
If you use a 3D Wine application and it hangs, you have to disable TLS. To do this, either use {{ic|aticonfig}} or edit {{ic|/etc/X11/xorg.conf}}. To use {{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
Or, to edit {{ic|/etc/X11/xorg.conf}}; first open the file in an editor as root and then add {{ic|Option "UseFastTLS" "off"}} to the ''Device'' section of this file. <br />
<br />
After applying either of the solutions, restart X for it to take effect.<br />
<br />
=== Problems with video colours ===<br />
<br />
You may still use {{ic|vaapi:gl}} to avoid video flickering, but without video acceleration:<br />
<br />
* Run '''mplayer''' without {{ic|-vo vaapi}} switch.<br />
<br />
* Run '''smplayer''' remove {{ic|-vo vaapi}} from Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
<br />
Plus for '''smplayer''' you may now safely turn screenshots on.<br />
<br />
=== KWin and composite ===<br />
<br />
You may use XRender if the rendering with OpenGL is slow. However, XRender might also be slower than OpenGL depending on your card.<br />
XRender also solves artifact issues in some cases.<br />
<br />
=== Black screen with complete lockups and/or hangs after reboot or startx ===<br />
<br />
Ensure you have added the '''nomodeset''' option to the kernel options line in your bootloader (see [[#Disable kernel mode setting]]).<br />
<br />
==== Faulty ACPI hardware calls ====<br />
It is possible that fglrx doesn't cooperate well with the system's ACPI hardware calls, so it auto-disables itself and there is no screen output.<br />
<br />
If so, try to run this:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== KDM disappears after logout ===<br />
<br />
If you are running Catalyst proprietary driver and you get a console (tty1) instead of the expected KDM greeting when you log out, you must instruct KDM to restart the X server after each logout:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
Uncomment the following line under the section titled {{ic|[X-:*-Core]}}:<br />
<br />
TerminateServer=True<br />
<br />
KDM should now appear when you log out of KDE.<br />
<br />
=== Direct Rendering does not work ===<br />
<br />
This problem may occur when using the proprietary '''Catalyst''' driver.<br />
<br />
{{Warning|This error would also appear if you have not '''rebooted''' your system after the installation or upgrade of catalyst. The system needs to load the fglrx.ko module in order to make the driver work.}}<br />
<br />
If you have problem with direct rendering, run:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
at the command prompt. At the very start of the output, it'll usually give you a nice error message saying why you do not have direct rendering.<br />
<br />
Common errors and their solutions, are:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* Ensure that you are loading the correct agp modules for your AGP chipset before you load the fglrx kernel module. To determine which agp modules you'll need, run {{ic|hwdetect --show-agp}}, then ensure that all modules listed from that command are in the {{ic|1=MODULES=}} array in rc.conf, '''before''' fglrx if using SysVinit, otherwise open your {{ic|fglrx.conf}} file in {{ic|/etc/modules-load.d}} and add the agp module on a line '''before''' the fglrx line.<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* Something has not been installed correctly. If the paths in the error message are {{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}}, then ensure you've logged completely out of your system, then back in. If you're using a graphical login manager (gdm, kdm, xdm), ensure that {{ic|/etc/profile}} is sourced every time you log in. This is usually accomplished by adding {{ic|source /etc/profile}} into {{ic|~/.xsession}} or {{ic|~/.xinitrc}}, but this may vary between login managers.<br />
<br />
* If the paths above in your error message ''are'' {{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}}, then something has not been correctly installed. Try reinstalling the {{ic|catalyst}} package.<br />
<br />
Errors such as:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
could be caused by having multiple versions of {{ic|libGL.so}} on your system. Run:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
This should return the following output:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
These are the only three libGL.so files you should have on your system. If you have any more (e.g. {{ic|/usr/X11R6/lib/libGL.so.1.2}}), then remove them. This should fix your problem.<br />
<br />
You might not get any error to indicate that this is a problem. If you are using X11R7, make sure you do '''not''' have these files on your system:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== Hibernate/Sleep Issues ===<br />
<br />
==== Video fails to resume from suspend2ram ====<br />
<br />
ATI's proprietary Catalyst driver cannot resume from suspend if the framebuffer is enabled. To disable the framebuffer, add '''vga=0''' to your kernel options in for example, Grub Legacy's {{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
To see where you need to add this with other bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== System Freezes/Hard locks ===<br />
<br />
* The {{ic|radeonfb}} framebuffer drivers have been known in the past to cause problems of this nature. If your kernel has radeonfb support compiled in, you may want to try a different kernel and see if this helps.<br />
<br />
* If you experience system freezes when exiting your DE (shut down, suspend, switching to tty etc.) you probably forgot to deactivate KMS. (See [[#Disable kernel mode setting]])<br />
<br />
=== Hardware Conflicts ===<br />
<br />
Radeon cards used in conjunction with some versions of the nForce3 chipset (e.g. nForce 3 250Gb) won't have 3D acceleration. Currently the cause of this issue is unknown, but some sources indicate that it may be possible to get acceleration with this combination of hardware by booting Windows with the drivers from nVIDIA and then rebooting the system. This can be verified by issuing in a root console the following command:<br />
<br />
$ dmesg | grep agp<br />
<br />
If you get something similar to this (using an nForce3-based system):<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
and also if issuing this command...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...gets something similar to:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
Then you have this bug.<br />
<br />
Some sources indicate that in some situations, downgrading the motherboard BIOS may help, but this cannot be verified in all cases. Also, '''a bad BIOS downgrade can render your hardware useless, so beware.'''<br />
<br />
See [http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport] for more information and a potential fix.<br />
<br />
=== Temporary hangs when playing video ===<br />
<br />
This problem may occur when using the proprietary Catalyst.<br />
<br />
If you experience temporary hangs lasting from a few seconds to several minutes occuring randomly during playback with mplayer, check /var/log/messages.log for output like:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
Adding the nopat kernel option to your kernel options in your bootloader and rebooting fixed the problem at least for me. To see how to do this for different bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
If when running<br />
<br />
# sudo aticonfig --initial<br />
<br />
you get:<br />
<br />
aticonfig: No supported adaptaters detected<br />
<br />
But you do have an AMD GPU (or APU), it may still be possible to get Catalyst working by manually setting the device in your your {{ic|etc/X11/xorg.conf}} file.<br />
<br />
You can do so by setting the device section of {{ic|/etc/X11/xorg.conf}} to:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
Where ''****'' should be replaced with your device's marketing number (e.g. 6870 for the HD 6870 and 6310 for the E-350 APU).<br />
<br />
Xorg will start and it is possible to use {{ic|amdcccle}} instead of {{ic|aticonfig}}. There will be an "AMD Unsupported hardware" watermark.<br />
<br />
You can remove this watermark using the following script:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
<br />
and rebooting.<br />
<br />
=== WebGL support in Chromium ===<br />
<br />
Google has blacklisted Linux's Catalyst driver from supporting webGL in their Chromium/Chrome browsers.<br />
<br />
You can turn webGL on by editing {{ic|/usr/share/applications/chromium.desktop}} file and adding {{ic|--ignore-gpu-blacklist}} flag into the '''Exec''' line so it looks like this:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
You can also run chromium from console with the same {{ic|--ignore-gpu-blacklist}} flag:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{Warning|Catalyst does not support the GL_ARB_robustness extension, so it is possible that a malicious site could use WebGL to perform a DoS attack on your graphic card. For more info, read [http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== Laggs/freezes when watching flash videos via Adobe's flashplugin ===<br />
<br />
Edit {{ic|/etc/adobe/mms.cfg}} and make it look like this:<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== Laggs/slow windows movement in GNOME3 ===<br />
<br />
You can try this solution out, it's working for many people.<br />
<br />
Add this line into {{ic|~/.profile}} or into {{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
Restart X server or reboot your system.<br />
<br />
=== Not using fullscreen in the 1920x1080 resolution ===<br />
<br />
The ATI has scaling by default add this to your xorg.conf<br />
<br />
Option "DPMS" "true"<br />
<br />
On the Monitor section, as full example would look like this<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=229435AMD Catalyst (简体中文)2012-10-18T14:30:34Z<p>Micy1985: </p>
<hr />
<div>"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs安全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx cards的驱动分别进行开发,因此在你选择安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用常规Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的常规Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上文对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst 对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败and you will miss Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make 脚本, 最好换一名称保存。将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
通过访问{{ic|/etc/ati/amdpcsdb}}文件它几乎能配置显卡的各项参数。了解完整的配置选项{{ic|aticonfig}}可运行:<br />
<br />
# aticonfig --help | less<br />
<br />
{{Warning|Use the --output option before committing to /etc/X11 as an xorg.conf file will override anything in /etc/X11/xorg.conf.d}}<br />
<br />
{{Note|If you want to adhere to the new xorg.conf.d: Append your {{ic|aticonfig}} string with ''--output'' so that you can adapt the Device section to {{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}. The drawback of this is that many {{ic|aticonfig}} options rely on an xorg.conf, and thus will be unavailable.}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,但不同Xorg版本的默认参数可能会有所不同,最好明确指定一些参数.<br />
<br />
Here is an example (with notes) '''for reference'''. 标'#'必须有,标'##'很可能会用到:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{注意|一旦升级Catalyst就要通过后面的方法删除'''amdpcsdb'''文件: 关闭X,删除{{ic|/etc/ati/amdpcsdb}},启动X然后运行{{ic|amdcccle}} -否则amdcccle将会显示错误的Catalyst版本号}}<br />
<br />
''更多信息参考[http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== 启动时加载模块 ====<br />
How you should handle this depends on the init system you're using; either SysVinit or systemd. In either case, you have to blacklist ''radeon'' in {{ic|/etc/modprobe.d/modprobe.conf}}. For more information, see [[Modprobe|blacklisting in this article]]. '''Users of the [community] package do not have to do this, it's automatically done for them when installing the package'''.<br />
<br />
{{Note|The systemd method is recommended, as Arch is slowly switching over to this and the rc.conf method is actually deprecated.}}<br />
<br />
===== The systemd method =====<br />
* Disable the {{ic|radeon}} module from auto-loading. If it occurs in any file under {{ic|/etc/modules-load.d/}}, remove the file (or, if the file contains multiple modules, just remove the radeon one).<br />
* Either add {{ic|fglrx}} on a new line of an existing module file located under {{ic|/etc/modules-load.d/}}, or create a new file and add {{ic|fglrx}}.<br />
<br />
===== Arch initscripts =====<br />
Edit {{ic|/etc/rc.conf}} by:<br />
* Removing {{ic|radeon}} from the MODULES array.<br />
* Adding {{ic|fglrx}} to MODULES.<br />
<br />
{{Note|If you are using an AGP card instead of PCI Express add the ''agp'' module as well.}}<br />
<br />
==== Disable kernel mode setting ====<br />
<br />
Disabling kernel mode setting is important, as the driver doesn't take advantage of [[KMS]] yet. If you do not deactivate KMS, your system might freeze when trying to switch to a tty or even when shutting down via your DE.<br />
<br />
For [[GRUB Legacy|GRUB Legacy]], edit {{ic|menu.lst}} by adding {{ic|nomodeset}} to the kernel parameters. For example:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
For [[GRUB2|GRUB 2]], edit {{ic|/etc/default/grub}} and add ''nomodeset'' to the kernel parameter options, e.g.<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
Then run, as root;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
For [[Syslinux|Syslinux]], edit {{ic|/boot/syslinux/syslinux.cfg}} and add ''nomodeset'' to the {{ic|APPEND}} line, e.g.:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== Checking operation ====<br />
<br />
Assuming that a reboot to your login was successful, you can check if fglrx is running properly with the following commands:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
If you get output, it works. Finally, run X with {{ic|startx}} or by using GDM/KDM and verify that direct rendering is enabled by running the following command in a terminal:<br />
<br />
$ glxinfo | grep direct<br />
<br />
If it says "direct rendering: yes" then you're good to go! If the glxinfo command is not found, you might need to install the {{Pkg|mesa-demos}} package.<br />
<br />
{{Warning|In recent versions of Xorg, the paths of libs are changed. So, sometimes {{ic|libGL.so}} cannot be correctly loaded even if it's installed. Check this if your GL is not working. Please read "Troubleshooting" section for details.}}<br />
<br />
If you have trouble, see [[#Troubleshooting]].<br />
<br />
=== Custom Kernels ===<br />
<br />
To install catalyst for a custom kernel, you'll need to build your own {{ic|catalyst-$kernel}} package.<br />
<br />
If you are at all uncomfortable or inexperienced with making packages, read up the [[ABS]] wiki page first so things go smoothly.<br />
<br />
# Obtain the {{ic|PKGBUILD}} and {{ic|catalyst.install}} files from [[AUR|Catalyst]].<br />
# Editing the PKGBUILD. Two changes need to be made here:<br />
## Change {{ic|1=pkgname=catalyst}} to {{ic|1=pkgname=catalyst-$kernel_name}}, where $kernel_name is whatever you want (e.g. custom, mm, themostawesomekernelever).<br />
## Change the dependency of {{ic|linux}} to {{ic|$kernel_name}}.<br />
# Build your package and install; run {{ic|makepkg -i}} or {{ic|makepkg}} followed by {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{Note|If you run multiple kernels, you have to install the Catalyst-utils packages for all kernels. They won't conflict with one another.}}<br />
<br />
{{Note|Catalyst-generator is able to build catalyst-{kernver} packages for you so you do not actually need to perform all those steps manually. For more information, see [[#Tools| Tools section]].}}<br />
<br />
== Xorg repositories ==<br />
Catalyst is notorious for its slow update process. As such, it is common that a new Xorg version is pushed down from upstream that will break compatibility for Catalyst. This means that Catalyst users either have to hold the Xorg packages from updating, or use a backported repository that only contains the Xorg packages that should be hold back. Vi0L0 has stepped in to fulfil this task and provides several backported repositories. <br />
<br />
If you want to use pacman to hold back packages from updating, see [[pacman|skip package from being upgraded]]. Packages you should hold back, are:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
If you want to use the backported repositories, you have to edit {{ic|/etc/pacman.conf}} and add the information of the repository '''above all other repositories''', even above your Catalyst repository, should you use one.<br />
<br />
===[xorg112]===<br />
The current version of Catalyst doesn't support xorg-server 1.13 at the moment.<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
Catalyst < 12.6 doesn't support xorg-server 1.12.<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== Tools ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook] is a hook for [[mkinitcpio|mkinitcpio]] that will automatically update fglrx modules with every kernel update. '''This is basically the same as catalyst-dkms from [community].''' Before updating the fglrx modules, it will first try to update the {{Pkg|linux-headers}}.<br />
<br />
The hook will call the ''catalyst_build_module'' command to update fglrx module for the version of your new kernel. Additionally, it can call the ''catalyst_build_module remove'' command to remove the now old and unneeded flgrx module(s).<br />
<br />
{{Note|If you are using this functionality it's '''important''' to look at the installation process of the linux kernel (or any other kernel) package. Catalyst-hook will tell you is everything all right.}}<br />
<br />
{{Note|If your '''custom kernel''' is using some '''non-standard mkinitcpio configuration file''' (ie. linux-zen is using /etc/mkinitcpio-zen.conf) you'll have to manually add '''fglrx''' to HOOKS array in your non-standard configuration file so it can be auto-recompiled with a kernel update.}}<br />
<br />
{{Note|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator] is a package that is able to build and install the fglrx module packed into pacman compliant catalyst-${kernver} packages. The difference from Catalyst-hook is that you will have to trigger this command manually, whereas Catalyst-hook will do this automatically at boot when a new kernel got installed.<br />
<br />
It creates catalyst-${kernver} packages using [[makepkg]] and installs them with [[pacman]]. ''${kernver}'' is the kernel version for which each package was built (e.g. catalyst-2.6.35-ARCH package was built for 2.6.35-ARCH kernel).<br />
<br />
To build and install catalyst-${kernver} package for a currently booted kernel as an unprivileged user (non-root; safer way), use {{ic|catalyst_build_module}}. You will be asked for your root password to proceed to package installation.<br />
<br />
A short summary on how to use this package:<br />
<br />
# As root: {{ic|catalyst_build_module remove}}. This will remove all unused {{ic|catalyst-{kernver} }} packages.<br />
# As unprivileged user: {{ic|catalyst_build_module ${kernver}}}, where ${kernver} is the version of the kernel to which you just updated. For example: {{ic|catalyst_build_module 2.6.36-ARCH}}. You can also build catalyst-${kernver} for all installed kernels by using {{ic|catalyst_build_module all}}.<br />
# If you want to remove {{ic|catalyst-generator}}, it's best to run this as root before removing catalyst-generator: {{ic|catalyst_build_module remove_all}}. '''This will remove all catalyst-{kernver} packages from the system.'''<br />
<br />
Catalyst-generator isn't able to remove all those catalyst-{kernver} packages automatically while being removed because there can not be more than one instance of pacman running. If you forget to run {{ic|catalyst_build_module remove_all}} before using {{ic|pacman -R catalyst-generator}} catalyst-generator will tell you which catalyst-{kernver} packages you will have to remove manually after removing catalyst-generator itself.<br />
<br />
{{Note|If you see those warnings:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension.<br />
<br />
while building catalyst-{kernver} package, do not be concerned, it's normal.}}<br />
<br />
=== Catalyst-daemon ===<br />
{{Warning| systemd users have no use for this, as systemd is not compatible with regular initscript daemons.}}<br />
<br />
[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon] is, as its name suggests, a daemon that will run upon every boot to check if the kernel was updated. If it was, it will rebuild the fglrx module - if it wasn't, it will load the previously built fglrx module. This whole operation takes only 20ms on a 2.4 GHz CPU.<br />
<br />
The automatic re-compilation functionality of Catalyst-daemon is done by an init script called ''autofglrx''. Autofglrx's check function is comparing the built time of the just booted kernel (provided by {{ic|uname -v}}) with the built time of a kernel for which the previously used fglrx module was built. It is able to do such a comparison because it adds {{ic|uname -v}} information to the fglrx module description whilst compiling it. <br />
<br />
Whilst rebuilding, autofglrx will call the ''catalyst_build_module'' to build a module and ''catalyst_build_module remove'' to remove the old, unneeded fglrx module. It doesn't remain in the system's memory after being run.<br />
<br />
{{Note|After installing autofglrx, you have to add {{ic|autofglrx}} to the beginning of the {{ic|DAEMONS}} array {{ic|/etc/rc.conf}}. Be sure to place it before your DM (if you run that from here) and do '''not''' run it in the background (e.g. do not at a @ symbol in front of it).}}<br />
<br />
{{Note|If you are using '''your own compilation flags''' and get problems with the daemon - please add those flags into /usr/bin/catalyst_build_module file.}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
Presented in '''Catalyst 11.1''', the ''Tear Free Desktop'' feature reduces tearing in 2D, 3D and video applications. This likely adds triple-buffering and v-sync. Do note that it requires additional GPU processing.<br />
<br />
To enable 'Tear Free Desktop' run {{ic|amdcccle}} and go to: {{ic|Display Options}} → {{ic|Tear Free}}.<br />
<br />
Or as root run:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
To disable, again use {{ic|amdcccle}} or run as root:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== Video acceleration ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)''' is an open source software library (libVA) and API specification which provides GPU acceleration for video processing on Linux/UNIX based operating systems. The process works by enabling hardware accelerated video decode at various entry-points (VLD, IDCT, Motion Compensation, deblocking) for common encoding standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3).<br />
<br />
VA-API gained a proprietary backend (in November 2009) called {{AUR|xvba-video}}, that allows VA-API programmed applications to take advantage of AMD Radeons UVD2 chipsets via the [http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)] library.<br />
<br />
XvBA support and xvba-video is still under development, however it is '''working very well in most cases'''. Build the {{AUR|xvba-video}} package from AUR or soon, install it from [community] and install {{Pkg|mplayer-vaapi}} and {{Pkg|libva}}. Then just set your video player to use vaapi:gl as video output:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
These options can be added to your mplayer configuration file, see [[MPlayer]].<br />
<br />
For '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{Note|If Tear Free Desktop is enabled it's better to use:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
If Video Output '''vaapi:gl''' isn't working - please check:<br />
'''vaapi''', '''vaapi:gl2''' or simply '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
For '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
It might help to enable v-sync in '''amdcccle''':<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{Note|If you are using '''Compiz/KWin''', the only way to '''avoid video flickering''' is to watch videos in '''full-screen''' and only when '''Unredirect Fullscreen is off'''.<br />
<br />
In '''compiz''' you need to set '''Redirected Direct Rendering''' in General Options of ccsm. If it is still flickering, try to disable this option in CCSM. It's off by default in '''KWin''', but if you see flickering try to turn "Suspend desktop effects for fullscreen windows" on or off in System Settings → Desktop Effects → Advanced.}}<br />
<br />
=== GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities ===<br />
<br />
You can get the GPU/Mem clocks with: {{ic|$ aticonfig --od-getclocks}}.<br />
<br />
You can get the fan speed with: {{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}<br />
<br />
You can get the temperature with: {{ic|$ aticonfig --odgt}}<br />
<br />
To set the fanspeed with: {{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}} Query Index: 50, Speed in percent<br />
<br />
To overclock and/or underclock it's easier to use a GUI, like '''ATi Overclocking Utility''', which is very simple and requires qt to work.<br />
<br />
The i686 version is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here], while the x86_64 is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]. Just download it and run.<br />
<br />
An other, more complex utility to perform such operations is '''AMDOverdriveCtrl'''. Its homepage is [http://sourceforge.net/projects/amdovdrvctrl here] and you can build an Arch package from [https://aur.archlinux.org/packages.php?ID=45298 AUR] or from Vi0L0's unofficial repositories.<br />
<br />
=== Double Screen (Dual Head / Dual Screen / Xinerama) ===<br />
<br />
==== Introduction ====<br />
<br />
{{Warning| you should know that there isn't one specific solution because each setup differs and needs its own configuration. That's why you will have to adapt the steps below to your own needs. It is possible that you have to try more than once. '''Therefore, you should save your working {{ic|/etc/X11/xorg.conf}} before you start modifying and you must be able to recover from a command-line environment.'''}}<br />
<br />
* In this chapter, we will describe the installation of two different-sized screens on only one graphics card with two different output ports (DVI + HDMI) using a "BIG Desktop" configuration.<br />
<br />
* The Xinerama solution has some inconveniences, especially because it is not compatible with XrandR. For that very reason, you should not use this solution, because XrandR is a must for our later configuration.<br />
<br />
* The Dual Head solution would allow you to have 2 different sessions (one for each screen). It could be what you want, but you will not be able to move windows from one screen to another. If you have only one screen, you will have to define the mouse inside your Xorg session for each of the two sessions inside the Server Layout section.<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
The GUI tool shipped by ATI is very useful and we will try to use it as much as we can. To launch it, open a terminal and use the following command:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{Warning|Do '''not''' use sudo directly with a GUI. Sudo gives you admin rights with user account information. Instead, use ''gksu'' (GNOME) or ''kdesu'' (KDE).}}<br />
<br />
==== Installation ====<br />
<br />
Before we start, make sure that your hardware is plugged in correctly, that power is on and that you know your hardware characteristics (screen dimensions, sizes, refreshment rates, etc.) Normally, both screens are recognized during boot time but not necessarily identified properly, especially if you are not using any Xorg base configuration file ({{ic|/etc/X11/xorg.conf}}) but relying on the hot-plugging feature.<br />
<br />
The first step is to make sure that you screens will be recognized by your DE and by X. For this, you need to generate a basic Xorg configuration file for your two screens:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
or<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{Note|{{ic|overlay}} is important because it allows you to have 1 pixel (or more) shared between the 2 screens.}}<br />
{{Tip|For the other possible and available options, do not hesitate to type {{ic|aticonfig --help}} inside a terminal to display all available command lines.}}<br />
<br />
Now you should have a basic Xorg configuration file that you can edit to add your screen resolutions. It is important to use the precise resolution, especially if you have screens of different sizes. These resolutions have to be added in the "Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
From now on, instead of editing the {{ic|xorg.conf}} file manually, let us use the ATI GUI tool. Restart X to be sure that your two screens are properly supported and that the resolutions are properly recognized (Screens must be independent, not mirrored).<br />
<br />
==== Configuration ====<br />
<br />
Now you will only have to launch the ATI control center with root privileges, go to the display menu and choose how you would like to set your configuration (small arrow of the drop down menu). A last restart of X and you should be done!<br />
<br />
Before you restart X, do not hesitate to verify your new {{ic|xorg.conf}} file. At this stage, inside the "Display" sub-section of the "Screen" section, you should see a "Virtual" command line, of which the resolution should be the sum of both screens. The "Server Layout" section says all the rest.<br />
<br />
== Troubleshooting ==<br />
<br />
If you can still boot to command-line, then the problem probably lies in {{ic|/etc/X11/xorg.conf}}<br />
<br />
You can parse the whole {{ic|/var/log/Xorg.0.log}} or, for clues:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
If you are at lost of what to do, you can always post a message in the see [http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]. When you do so, please do provide the information you get from both commands mentioned above.<br />
<br />
=== 3D Wine applications freeze ===<br />
If you use a 3D Wine application and it hangs, you have to disable TLS. To do this, either use {{ic|aticonfig}} or edit {{ic|/etc/X11/xorg.conf}}. To use {{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
Or, to edit {{ic|/etc/X11/xorg.conf}}; first open the file in an editor as root and then add {{ic|Option "UseFastTLS" "off"}} to the ''Device'' section of this file. <br />
<br />
After applying either of the solutions, restart X for it to take effect.<br />
<br />
=== Problems with video colours ===<br />
<br />
You may still use {{ic|vaapi:gl}} to avoid video flickering, but without video acceleration:<br />
<br />
* Run '''mplayer''' without {{ic|-vo vaapi}} switch.<br />
<br />
* Run '''smplayer''' remove {{ic|-vo vaapi}} from Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
<br />
Plus for '''smplayer''' you may now safely turn screenshots on.<br />
<br />
=== KWin and composite ===<br />
<br />
You may use XRender if the rendering with OpenGL is slow. However, XRender might also be slower than OpenGL depending on your card.<br />
XRender also solves artifact issues in some cases.<br />
<br />
=== Black screen with complete lockups and/or hangs after reboot or startx ===<br />
<br />
Ensure you have added the '''nomodeset''' option to the kernel options line in your bootloader (see [[#Disable kernel mode setting]]).<br />
<br />
==== Faulty ACPI hardware calls ====<br />
It is possible that fglrx doesn't cooperate well with the system's ACPI hardware calls, so it auto-disables itself and there is no screen output.<br />
<br />
If so, try to run this:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== KDM disappears after logout ===<br />
<br />
If you are running Catalyst proprietary driver and you get a console (tty1) instead of the expected KDM greeting when you log out, you must instruct KDM to restart the X server after each logout:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
Uncomment the following line under the section titled {{ic|[X-:*-Core]}}:<br />
<br />
TerminateServer=True<br />
<br />
KDM should now appear when you log out of KDE.<br />
<br />
=== Direct Rendering does not work ===<br />
<br />
This problem may occur when using the proprietary '''Catalyst''' driver.<br />
<br />
{{Warning|This error would also appear if you have not '''rebooted''' your system after the installation or upgrade of catalyst. The system needs to load the fglrx.ko module in order to make the driver work.}}<br />
<br />
If you have problem with direct rendering, run:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
at the command prompt. At the very start of the output, it'll usually give you a nice error message saying why you do not have direct rendering.<br />
<br />
Common errors and their solutions, are:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* Ensure that you are loading the correct agp modules for your AGP chipset before you load the fglrx kernel module. To determine which agp modules you'll need, run {{ic|hwdetect --show-agp}}, then ensure that all modules listed from that command are in the {{ic|1=MODULES=}} array in rc.conf, '''before''' fglrx if using SysVinit, otherwise open your {{ic|fglrx.conf}} file in {{ic|/etc/modules-load.d}} and add the agp module on a line '''before''' the fglrx line.<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* Something has not been installed correctly. If the paths in the error message are {{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}}, then ensure you've logged completely out of your system, then back in. If you're using a graphical login manager (gdm, kdm, xdm), ensure that {{ic|/etc/profile}} is sourced every time you log in. This is usually accomplished by adding {{ic|source /etc/profile}} into {{ic|~/.xsession}} or {{ic|~/.xinitrc}}, but this may vary between login managers.<br />
<br />
* If the paths above in your error message ''are'' {{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}}, then something has not been correctly installed. Try reinstalling the {{ic|catalyst}} package.<br />
<br />
Errors such as:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
could be caused by having multiple versions of {{ic|libGL.so}} on your system. Run:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
This should return the following output:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
These are the only three libGL.so files you should have on your system. If you have any more (e.g. {{ic|/usr/X11R6/lib/libGL.so.1.2}}), then remove them. This should fix your problem.<br />
<br />
You might not get any error to indicate that this is a problem. If you are using X11R7, make sure you do '''not''' have these files on your system:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== Hibernate/Sleep Issues ===<br />
<br />
==== Video fails to resume from suspend2ram ====<br />
<br />
ATI's proprietary Catalyst driver cannot resume from suspend if the framebuffer is enabled. To disable the framebuffer, add '''vga=0''' to your kernel options in for example, Grub Legacy's {{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
To see where you need to add this with other bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== System Freezes/Hard locks ===<br />
<br />
* The {{ic|radeonfb}} framebuffer drivers have been known in the past to cause problems of this nature. If your kernel has radeonfb support compiled in, you may want to try a different kernel and see if this helps.<br />
<br />
* If you experience system freezes when exiting your DE (shut down, suspend, switching to tty etc.) you probably forgot to deactivate KMS. (See [[#Disable kernel mode setting]])<br />
<br />
=== Hardware Conflicts ===<br />
<br />
Radeon cards used in conjunction with some versions of the nForce3 chipset (e.g. nForce 3 250Gb) won't have 3D acceleration. Currently the cause of this issue is unknown, but some sources indicate that it may be possible to get acceleration with this combination of hardware by booting Windows with the drivers from nVIDIA and then rebooting the system. This can be verified by issuing in a root console the following command:<br />
<br />
$ dmesg | grep agp<br />
<br />
If you get something similar to this (using an nForce3-based system):<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
and also if issuing this command...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...gets something similar to:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
Then you have this bug.<br />
<br />
Some sources indicate that in some situations, downgrading the motherboard BIOS may help, but this cannot be verified in all cases. Also, '''a bad BIOS downgrade can render your hardware useless, so beware.'''<br />
<br />
See [http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport] for more information and a potential fix.<br />
<br />
=== Temporary hangs when playing video ===<br />
<br />
This problem may occur when using the proprietary Catalyst.<br />
<br />
If you experience temporary hangs lasting from a few seconds to several minutes occuring randomly during playback with mplayer, check /var/log/messages.log for output like:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
Adding the nopat kernel option to your kernel options in your bootloader and rebooting fixed the problem at least for me. To see how to do this for different bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
If when running<br />
<br />
# sudo aticonfig --initial<br />
<br />
you get:<br />
<br />
aticonfig: No supported adaptaters detected<br />
<br />
But you do have an AMD GPU (or APU), it may still be possible to get Catalyst working by manually setting the device in your your {{ic|etc/X11/xorg.conf}} file.<br />
<br />
You can do so by setting the device section of {{ic|/etc/X11/xorg.conf}} to:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
Where ''****'' should be replaced with your device's marketing number (e.g. 6870 for the HD 6870 and 6310 for the E-350 APU).<br />
<br />
Xorg will start and it is possible to use {{ic|amdcccle}} instead of {{ic|aticonfig}}. There will be an "AMD Unsupported hardware" watermark.<br />
<br />
You can remove this watermark using the following script:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
<br />
and rebooting.<br />
<br />
=== WebGL support in Chromium ===<br />
<br />
Google has blacklisted Linux's Catalyst driver from supporting webGL in their Chromium/Chrome browsers.<br />
<br />
You can turn webGL on by editing {{ic|/usr/share/applications/chromium.desktop}} file and adding {{ic|--ignore-gpu-blacklist}} flag into the '''Exec''' line so it looks like this:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
You can also run chromium from console with the same {{ic|--ignore-gpu-blacklist}} flag:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{Warning|Catalyst does not support the GL_ARB_robustness extension, so it is possible that a malicious site could use WebGL to perform a DoS attack on your graphic card. For more info, read [http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== Laggs/freezes when watching flash videos via Adobe's flashplugin ===<br />
<br />
Edit {{ic|/etc/adobe/mms.cfg}} and make it look like this:<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== Laggs/slow windows movement in GNOME3 ===<br />
<br />
You can try this solution out, it's working for many people.<br />
<br />
Add this line into {{ic|~/.profile}} or into {{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
Restart X server or reboot your system.<br />
<br />
=== Not using fullscreen in the 1920x1080 resolution ===<br />
<br />
The ATI has scaling by default add this to your xorg.conf<br />
<br />
Option "DPMS" "true"<br />
<br />
On the Monitor section, as full example would look like this<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=229412AMD Catalyst (简体中文)2012-10-18T10:25:37Z<p>Micy1985: </p>
<hr />
<div>"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs安全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx cards的驱动分别进行开发,因此在你选择安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用常规Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的常规Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== 通过AUR安装 ====<br />
最后一种是通过[[Arch User Repository|AUR]]安装。如果你需为你的电脑进行定制安装,则用此方法。此方法极为繁琐,因为它需要的工作量最大,而且每次内核更新后你得手动更新Catalyst。<br />
<br />
{{警告|若通过AUR安装 Catalys, 每当内核更新,你得重装Catalyst。否则 启动X 服务会失败。}}<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]] 以便了解如何回滚到Xorg 1.12。}}<br />
<br />
在 Vi0L0's 软件库中提到的一切软件包[[Arch User Repository|AUR]]中也可用::<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
AUR还提供些独家软件包。它含有被称为 ''Catalyst-total''的包和一些牌beta阶段的软件:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
''Catalyst-total''包能让AUR用户更为方便。它能构建驱动、内核工具、32位内核工具和Catalyst-hook(上文对其有说明)。<br />
<br />
''Catalyst-total-pxp''让Catalyst 对powerXpress提供实验性支持。<br />
<br />
用AUR安装Catalyst 的更多信息,可参考[[#Installing_from_AUR| Installing from AUR]]。<br />
<br />
==== 通过AMD的官方网站安装 ====<br />
{{警告|此方法强烈不推荐!有可能造成文件冲突并导致X启动失败and you will miss Arch-specific fixes。 若想尝试,你必须熟悉如何启动到命令行。}}<br />
<br />
{{注意|若你用此方安装了Catalyst,却不能进入桌面,可用如下命令将其卸载:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.)通过AMD官网或其他地方下载{{ic|ati-driver-installer-*-*-x86.x86_64.run}}(*-* 是版本号)<br />
<br />
2.) 给予执行权限: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) 确保你安装了vesa类的基本驱动并且要移除有冲突的驱动(i.e. {{ic|xf86-video-ati}})。<br />
<br />
4.) 建立由{{ic|/usr/src/linux}} 到 {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}。 的符号连接. 64位用户还需建立{{ic|/usr/lib64}} 到 {{ic|/usr/lib}}的符号连接。<br />
<br />
5.) 确保安装环境已就绪: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) 然后运行 {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (安装文件会展开到一个临时目录,安装脚本开始执行...)<br />
<br />
若没提示严重错误...<br />
<br />
7.) 检查 {{ic|/usr/share/ati/fglrx-install.log}}中的记录. 安装日志也可能在{{ic|/lib/modules/fglrx/make.{ker_version}.log}}文件中.<br />
<br />
{{注意|若修改过make 脚本, 最好换一名称保存。将不能彻底删除Catalyst。}}<br />
<br />
=== 配置驱动 ===<br />
安装完毕后,要配置 X,让其使用Catalyst。要确保fglrx模块在启动阶段加载,而且要禁用[[KMS|kernel mode setting]].<br />
<br />
==== 配置X ====<br />
你需要创建 xorg.conf 文件来配置X. Catalyst提供了{{ic|aticonfig}}工具来创建和(或)修改此文件。<br />
It also can configure virtually every aspect of the card for it also accesses the {{ic|/etc/ati/amdpcsdb}} file. For a complete list of {{ic|aticonfig}} options, run:<br />
<br />
# aticonfig --help | less<br />
<br />
{{Warning|Use the --output option before committing to /etc/X11 as an xorg.conf file will override anything in /etc/X11/xorg.conf.d}}<br />
<br />
{{Note|If you want to adhere to the new xorg.conf.d: Append your {{ic|aticonfig}} string with ''--output'' so that you can adapt the Device section to {{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}. The drawback of this is that many {{ic|aticonfig}} options rely on an xorg.conf, and thus will be unavailable.}}<br />
<br />
现在来配置 Catalyst. 若只有一个显示器,运行:<br />
<br />
# aticonfig --initial<br />
<br />
注意,若你使用双显示器则使用下面的命令。 此命令会成两个配置文件,第二个显示器的配置文件在第一个前面<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{注意|了解与设置双显有关的更多信息可查看[[#Double Screen (Dual Head / Dual Screen / Xinerama)]]}}<br />
<br />
你可与[[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]]上的任何一个示例文件进行对照。<br />
<br />
虽然目前的版本的Xorg启动时能自动探测大多数选项,you may want to specify some in case the defaults change between versions.<br />
<br />
Here is an example (with notes) '''for reference'''. Entries with '#' should be required, add entries with '##' as needed:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{Note|With '''every''' Catalyst update you should remove '''amdpcsdb''' file in this way: kill X, remove {{ic|/etc/ati/amdpcsdb}}, start X and then run {{ic|amdcccle}} - otherwise the version of Catalyst may display wrongly in amdcccle.}}<br />
<br />
''If you need more information on Catalyst, visit [http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== Loading the module at boot ====<br />
How you should handle this depends on the init system you're using; either SysVinit or systemd. In either case, you have to blacklist ''radeon'' in {{ic|/etc/modprobe.d/modprobe.conf}}. For more information, see [[Modprobe|blacklisting in this article]]. '''Users of the [community] package do not have to do this, it's automatically done for them when installing the package'''.<br />
<br />
{{Note|The systemd method is recommended, as Arch is slowly switching over to this and the rc.conf method is actually deprecated.}}<br />
<br />
===== The systemd method =====<br />
* Disable the {{ic|radeon}} module from auto-loading. If it occurs in any file under {{ic|/etc/modules-load.d/}}, remove the file (or, if the file contains multiple modules, just remove the radeon one).<br />
* Either add {{ic|fglrx}} on a new line of an existing module file located under {{ic|/etc/modules-load.d/}}, or create a new file and add {{ic|fglrx}}.<br />
<br />
===== Arch initscripts =====<br />
Edit {{ic|/etc/rc.conf}} by:<br />
* Removing {{ic|radeon}} from the MODULES array.<br />
* Adding {{ic|fglrx}} to MODULES.<br />
<br />
{{Note|If you are using an AGP card instead of PCI Express add the ''agp'' module as well.}}<br />
<br />
==== Disable kernel mode setting ====<br />
<br />
Disabling kernel mode setting is important, as the driver doesn't take advantage of [[KMS]] yet. If you do not deactivate KMS, your system might freeze when trying to switch to a tty or even when shutting down via your DE.<br />
<br />
For [[GRUB Legacy|GRUB Legacy]], edit {{ic|menu.lst}} by adding {{ic|nomodeset}} to the kernel parameters. For example:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
For [[GRUB2|GRUB 2]], edit {{ic|/etc/default/grub}} and add ''nomodeset'' to the kernel parameter options, e.g.<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
Then run, as root;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
For [[Syslinux|Syslinux]], edit {{ic|/boot/syslinux/syslinux.cfg}} and add ''nomodeset'' to the {{ic|APPEND}} line, e.g.:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== Checking operation ====<br />
<br />
Assuming that a reboot to your login was successful, you can check if fglrx is running properly with the following commands:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
If you get output, it works. Finally, run X with {{ic|startx}} or by using GDM/KDM and verify that direct rendering is enabled by running the following command in a terminal:<br />
<br />
$ glxinfo | grep direct<br />
<br />
If it says "direct rendering: yes" then you're good to go! If the glxinfo command is not found, you might need to install the {{Pkg|mesa-demos}} package.<br />
<br />
{{Warning|In recent versions of Xorg, the paths of libs are changed. So, sometimes {{ic|libGL.so}} cannot be correctly loaded even if it's installed. Check this if your GL is not working. Please read "Troubleshooting" section for details.}}<br />
<br />
If you have trouble, see [[#Troubleshooting]].<br />
<br />
=== Custom Kernels ===<br />
<br />
To install catalyst for a custom kernel, you'll need to build your own {{ic|catalyst-$kernel}} package.<br />
<br />
If you are at all uncomfortable or inexperienced with making packages, read up the [[ABS]] wiki page first so things go smoothly.<br />
<br />
# Obtain the {{ic|PKGBUILD}} and {{ic|catalyst.install}} files from [[AUR|Catalyst]].<br />
# Editing the PKGBUILD. Two changes need to be made here:<br />
## Change {{ic|1=pkgname=catalyst}} to {{ic|1=pkgname=catalyst-$kernel_name}}, where $kernel_name is whatever you want (e.g. custom, mm, themostawesomekernelever).<br />
## Change the dependency of {{ic|linux}} to {{ic|$kernel_name}}.<br />
# Build your package and install; run {{ic|makepkg -i}} or {{ic|makepkg}} followed by {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{Note|If you run multiple kernels, you have to install the Catalyst-utils packages for all kernels. They won't conflict with one another.}}<br />
<br />
{{Note|Catalyst-generator is able to build catalyst-{kernver} packages for you so you do not actually need to perform all those steps manually. For more information, see [[#Tools| Tools section]].}}<br />
<br />
== Xorg repositories ==<br />
Catalyst is notorious for its slow update process. As such, it is common that a new Xorg version is pushed down from upstream that will break compatibility for Catalyst. This means that Catalyst users either have to hold the Xorg packages from updating, or use a backported repository that only contains the Xorg packages that should be hold back. Vi0L0 has stepped in to fulfil this task and provides several backported repositories. <br />
<br />
If you want to use pacman to hold back packages from updating, see [[pacman|skip package from being upgraded]]. Packages you should hold back, are:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
If you want to use the backported repositories, you have to edit {{ic|/etc/pacman.conf}} and add the information of the repository '''above all other repositories''', even above your Catalyst repository, should you use one.<br />
<br />
===[xorg112]===<br />
The current version of Catalyst doesn't support xorg-server 1.13 at the moment.<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
Catalyst < 12.6 doesn't support xorg-server 1.12.<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== Tools ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook] is a hook for [[mkinitcpio|mkinitcpio]] that will automatically update fglrx modules with every kernel update. '''This is basically the same as catalyst-dkms from [community].''' Before updating the fglrx modules, it will first try to update the {{Pkg|linux-headers}}.<br />
<br />
The hook will call the ''catalyst_build_module'' command to update fglrx module for the version of your new kernel. Additionally, it can call the ''catalyst_build_module remove'' command to remove the now old and unneeded flgrx module(s).<br />
<br />
{{Note|If you are using this functionality it's '''important''' to look at the installation process of the linux kernel (or any other kernel) package. Catalyst-hook will tell you is everything all right.}}<br />
<br />
{{Note|If your '''custom kernel''' is using some '''non-standard mkinitcpio configuration file''' (ie. linux-zen is using /etc/mkinitcpio-zen.conf) you'll have to manually add '''fglrx''' to HOOKS array in your non-standard configuration file so it can be auto-recompiled with a kernel update.}}<br />
<br />
{{Note|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator] is a package that is able to build and install the fglrx module packed into pacman compliant catalyst-${kernver} packages. The difference from Catalyst-hook is that you will have to trigger this command manually, whereas Catalyst-hook will do this automatically at boot when a new kernel got installed.<br />
<br />
It creates catalyst-${kernver} packages using [[makepkg]] and installs them with [[pacman]]. ''${kernver}'' is the kernel version for which each package was built (e.g. catalyst-2.6.35-ARCH package was built for 2.6.35-ARCH kernel).<br />
<br />
To build and install catalyst-${kernver} package for a currently booted kernel as an unprivileged user (non-root; safer way), use {{ic|catalyst_build_module}}. You will be asked for your root password to proceed to package installation.<br />
<br />
A short summary on how to use this package:<br />
<br />
# As root: {{ic|catalyst_build_module remove}}. This will remove all unused {{ic|catalyst-{kernver} }} packages.<br />
# As unprivileged user: {{ic|catalyst_build_module ${kernver}}}, where ${kernver} is the version of the kernel to which you just updated. For example: {{ic|catalyst_build_module 2.6.36-ARCH}}. You can also build catalyst-${kernver} for all installed kernels by using {{ic|catalyst_build_module all}}.<br />
# If you want to remove {{ic|catalyst-generator}}, it's best to run this as root before removing catalyst-generator: {{ic|catalyst_build_module remove_all}}. '''This will remove all catalyst-{kernver} packages from the system.'''<br />
<br />
Catalyst-generator isn't able to remove all those catalyst-{kernver} packages automatically while being removed because there can not be more than one instance of pacman running. If you forget to run {{ic|catalyst_build_module remove_all}} before using {{ic|pacman -R catalyst-generator}} catalyst-generator will tell you which catalyst-{kernver} packages you will have to remove manually after removing catalyst-generator itself.<br />
<br />
{{Note|If you see those warnings:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension.<br />
<br />
while building catalyst-{kernver} package, do not be concerned, it's normal.}}<br />
<br />
=== Catalyst-daemon ===<br />
{{Warning| systemd users have no use for this, as systemd is not compatible with regular initscript daemons.}}<br />
<br />
[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon] is, as its name suggests, a daemon that will run upon every boot to check if the kernel was updated. If it was, it will rebuild the fglrx module - if it wasn't, it will load the previously built fglrx module. This whole operation takes only 20ms on a 2.4 GHz CPU.<br />
<br />
The automatic re-compilation functionality of Catalyst-daemon is done by an init script called ''autofglrx''. Autofglrx's check function is comparing the built time of the just booted kernel (provided by {{ic|uname -v}}) with the built time of a kernel for which the previously used fglrx module was built. It is able to do such a comparison because it adds {{ic|uname -v}} information to the fglrx module description whilst compiling it. <br />
<br />
Whilst rebuilding, autofglrx will call the ''catalyst_build_module'' to build a module and ''catalyst_build_module remove'' to remove the old, unneeded fglrx module. It doesn't remain in the system's memory after being run.<br />
<br />
{{Note|After installing autofglrx, you have to add {{ic|autofglrx}} to the beginning of the {{ic|DAEMONS}} array {{ic|/etc/rc.conf}}. Be sure to place it before your DM (if you run that from here) and do '''not''' run it in the background (e.g. do not at a @ symbol in front of it).}}<br />
<br />
{{Note|If you are using '''your own compilation flags''' and get problems with the daemon - please add those flags into /usr/bin/catalyst_build_module file.}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
Presented in '''Catalyst 11.1''', the ''Tear Free Desktop'' feature reduces tearing in 2D, 3D and video applications. This likely adds triple-buffering and v-sync. Do note that it requires additional GPU processing.<br />
<br />
To enable 'Tear Free Desktop' run {{ic|amdcccle}} and go to: {{ic|Display Options}} → {{ic|Tear Free}}.<br />
<br />
Or as root run:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
To disable, again use {{ic|amdcccle}} or run as root:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== Video acceleration ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)''' is an open source software library (libVA) and API specification which provides GPU acceleration for video processing on Linux/UNIX based operating systems. The process works by enabling hardware accelerated video decode at various entry-points (VLD, IDCT, Motion Compensation, deblocking) for common encoding standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3).<br />
<br />
VA-API gained a proprietary backend (in November 2009) called {{AUR|xvba-video}}, that allows VA-API programmed applications to take advantage of AMD Radeons UVD2 chipsets via the [http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)] library.<br />
<br />
XvBA support and xvba-video is still under development, however it is '''working very well in most cases'''. Build the {{AUR|xvba-video}} package from AUR or soon, install it from [community] and install {{Pkg|mplayer-vaapi}} and {{Pkg|libva}}. Then just set your video player to use vaapi:gl as video output:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
These options can be added to your mplayer configuration file, see [[MPlayer]].<br />
<br />
For '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{Note|If Tear Free Desktop is enabled it's better to use:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
If Video Output '''vaapi:gl''' isn't working - please check:<br />
'''vaapi''', '''vaapi:gl2''' or simply '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
For '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
It might help to enable v-sync in '''amdcccle''':<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{Note|If you are using '''Compiz/KWin''', the only way to '''avoid video flickering''' is to watch videos in '''full-screen''' and only when '''Unredirect Fullscreen is off'''.<br />
<br />
In '''compiz''' you need to set '''Redirected Direct Rendering''' in General Options of ccsm. If it is still flickering, try to disable this option in CCSM. It's off by default in '''KWin''', but if you see flickering try to turn "Suspend desktop effects for fullscreen windows" on or off in System Settings → Desktop Effects → Advanced.}}<br />
<br />
=== GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities ===<br />
<br />
You can get the GPU/Mem clocks with: {{ic|$ aticonfig --od-getclocks}}.<br />
<br />
You can get the fan speed with: {{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}<br />
<br />
You can get the temperature with: {{ic|$ aticonfig --odgt}}<br />
<br />
To set the fanspeed with: {{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}} Query Index: 50, Speed in percent<br />
<br />
To overclock and/or underclock it's easier to use a GUI, like '''ATi Overclocking Utility''', which is very simple and requires qt to work.<br />
<br />
The i686 version is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here], while the x86_64 is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]. Just download it and run.<br />
<br />
An other, more complex utility to perform such operations is '''AMDOverdriveCtrl'''. Its homepage is [http://sourceforge.net/projects/amdovdrvctrl here] and you can build an Arch package from [https://aur.archlinux.org/packages.php?ID=45298 AUR] or from Vi0L0's unofficial repositories.<br />
<br />
=== Double Screen (Dual Head / Dual Screen / Xinerama) ===<br />
<br />
==== Introduction ====<br />
<br />
{{Warning| you should know that there isn't one specific solution because each setup differs and needs its own configuration. That's why you will have to adapt the steps below to your own needs. It is possible that you have to try more than once. '''Therefore, you should save your working {{ic|/etc/X11/xorg.conf}} before you start modifying and you must be able to recover from a command-line environment.'''}}<br />
<br />
* In this chapter, we will describe the installation of two different-sized screens on only one graphics card with two different output ports (DVI + HDMI) using a "BIG Desktop" configuration.<br />
<br />
* The Xinerama solution has some inconveniences, especially because it is not compatible with XrandR. For that very reason, you should not use this solution, because XrandR is a must for our later configuration.<br />
<br />
* The Dual Head solution would allow you to have 2 different sessions (one for each screen). It could be what you want, but you will not be able to move windows from one screen to another. If you have only one screen, you will have to define the mouse inside your Xorg session for each of the two sessions inside the Server Layout section.<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
The GUI tool shipped by ATI is very useful and we will try to use it as much as we can. To launch it, open a terminal and use the following command:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{Warning|Do '''not''' use sudo directly with a GUI. Sudo gives you admin rights with user account information. Instead, use ''gksu'' (GNOME) or ''kdesu'' (KDE).}}<br />
<br />
==== Installation ====<br />
<br />
Before we start, make sure that your hardware is plugged in correctly, that power is on and that you know your hardware characteristics (screen dimensions, sizes, refreshment rates, etc.) Normally, both screens are recognized during boot time but not necessarily identified properly, especially if you are not using any Xorg base configuration file ({{ic|/etc/X11/xorg.conf}}) but relying on the hot-plugging feature.<br />
<br />
The first step is to make sure that you screens will be recognized by your DE and by X. For this, you need to generate a basic Xorg configuration file for your two screens:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
or<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{Note|{{ic|overlay}} is important because it allows you to have 1 pixel (or more) shared between the 2 screens.}}<br />
{{Tip|For the other possible and available options, do not hesitate to type {{ic|aticonfig --help}} inside a terminal to display all available command lines.}}<br />
<br />
Now you should have a basic Xorg configuration file that you can edit to add your screen resolutions. It is important to use the precise resolution, especially if you have screens of different sizes. These resolutions have to be added in the "Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
From now on, instead of editing the {{ic|xorg.conf}} file manually, let us use the ATI GUI tool. Restart X to be sure that your two screens are properly supported and that the resolutions are properly recognized (Screens must be independent, not mirrored).<br />
<br />
==== Configuration ====<br />
<br />
Now you will only have to launch the ATI control center with root privileges, go to the display menu and choose how you would like to set your configuration (small arrow of the drop down menu). A last restart of X and you should be done!<br />
<br />
Before you restart X, do not hesitate to verify your new {{ic|xorg.conf}} file. At this stage, inside the "Display" sub-section of the "Screen" section, you should see a "Virtual" command line, of which the resolution should be the sum of both screens. The "Server Layout" section says all the rest.<br />
<br />
== Troubleshooting ==<br />
<br />
If you can still boot to command-line, then the problem probably lies in {{ic|/etc/X11/xorg.conf}}<br />
<br />
You can parse the whole {{ic|/var/log/Xorg.0.log}} or, for clues:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
If you are at lost of what to do, you can always post a message in the see [http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]. When you do so, please do provide the information you get from both commands mentioned above.<br />
<br />
=== 3D Wine applications freeze ===<br />
If you use a 3D Wine application and it hangs, you have to disable TLS. To do this, either use {{ic|aticonfig}} or edit {{ic|/etc/X11/xorg.conf}}. To use {{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
Or, to edit {{ic|/etc/X11/xorg.conf}}; first open the file in an editor as root and then add {{ic|Option "UseFastTLS" "off"}} to the ''Device'' section of this file. <br />
<br />
After applying either of the solutions, restart X for it to take effect.<br />
<br />
=== Problems with video colours ===<br />
<br />
You may still use {{ic|vaapi:gl}} to avoid video flickering, but without video acceleration:<br />
<br />
* Run '''mplayer''' without {{ic|-vo vaapi}} switch.<br />
<br />
* Run '''smplayer''' remove {{ic|-vo vaapi}} from Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
<br />
Plus for '''smplayer''' you may now safely turn screenshots on.<br />
<br />
=== KWin and composite ===<br />
<br />
You may use XRender if the rendering with OpenGL is slow. However, XRender might also be slower than OpenGL depending on your card.<br />
XRender also solves artifact issues in some cases.<br />
<br />
=== Black screen with complete lockups and/or hangs after reboot or startx ===<br />
<br />
Ensure you have added the '''nomodeset''' option to the kernel options line in your bootloader (see [[#Disable kernel mode setting]]).<br />
<br />
==== Faulty ACPI hardware calls ====<br />
It is possible that fglrx doesn't cooperate well with the system's ACPI hardware calls, so it auto-disables itself and there is no screen output.<br />
<br />
If so, try to run this:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== KDM disappears after logout ===<br />
<br />
If you are running Catalyst proprietary driver and you get a console (tty1) instead of the expected KDM greeting when you log out, you must instruct KDM to restart the X server after each logout:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
Uncomment the following line under the section titled {{ic|[X-:*-Core]}}:<br />
<br />
TerminateServer=True<br />
<br />
KDM should now appear when you log out of KDE.<br />
<br />
=== Direct Rendering does not work ===<br />
<br />
This problem may occur when using the proprietary '''Catalyst''' driver.<br />
<br />
{{Warning|This error would also appear if you have not '''rebooted''' your system after the installation or upgrade of catalyst. The system needs to load the fglrx.ko module in order to make the driver work.}}<br />
<br />
If you have problem with direct rendering, run:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
at the command prompt. At the very start of the output, it'll usually give you a nice error message saying why you do not have direct rendering.<br />
<br />
Common errors and their solutions, are:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* Ensure that you are loading the correct agp modules for your AGP chipset before you load the fglrx kernel module. To determine which agp modules you'll need, run {{ic|hwdetect --show-agp}}, then ensure that all modules listed from that command are in the {{ic|1=MODULES=}} array in rc.conf, '''before''' fglrx if using SysVinit, otherwise open your {{ic|fglrx.conf}} file in {{ic|/etc/modules-load.d}} and add the agp module on a line '''before''' the fglrx line.<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* Something has not been installed correctly. If the paths in the error message are {{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}}, then ensure you've logged completely out of your system, then back in. If you're using a graphical login manager (gdm, kdm, xdm), ensure that {{ic|/etc/profile}} is sourced every time you log in. This is usually accomplished by adding {{ic|source /etc/profile}} into {{ic|~/.xsession}} or {{ic|~/.xinitrc}}, but this may vary between login managers.<br />
<br />
* If the paths above in your error message ''are'' {{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}}, then something has not been correctly installed. Try reinstalling the {{ic|catalyst}} package.<br />
<br />
Errors such as:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
could be caused by having multiple versions of {{ic|libGL.so}} on your system. Run:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
This should return the following output:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
These are the only three libGL.so files you should have on your system. If you have any more (e.g. {{ic|/usr/X11R6/lib/libGL.so.1.2}}), then remove them. This should fix your problem.<br />
<br />
You might not get any error to indicate that this is a problem. If you are using X11R7, make sure you do '''not''' have these files on your system:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== Hibernate/Sleep Issues ===<br />
<br />
==== Video fails to resume from suspend2ram ====<br />
<br />
ATI's proprietary Catalyst driver cannot resume from suspend if the framebuffer is enabled. To disable the framebuffer, add '''vga=0''' to your kernel options in for example, Grub Legacy's {{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
To see where you need to add this with other bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== System Freezes/Hard locks ===<br />
<br />
* The {{ic|radeonfb}} framebuffer drivers have been known in the past to cause problems of this nature. If your kernel has radeonfb support compiled in, you may want to try a different kernel and see if this helps.<br />
<br />
* If you experience system freezes when exiting your DE (shut down, suspend, switching to tty etc.) you probably forgot to deactivate KMS. (See [[#Disable kernel mode setting]])<br />
<br />
=== Hardware Conflicts ===<br />
<br />
Radeon cards used in conjunction with some versions of the nForce3 chipset (e.g. nForce 3 250Gb) won't have 3D acceleration. Currently the cause of this issue is unknown, but some sources indicate that it may be possible to get acceleration with this combination of hardware by booting Windows with the drivers from nVIDIA and then rebooting the system. This can be verified by issuing in a root console the following command:<br />
<br />
$ dmesg | grep agp<br />
<br />
If you get something similar to this (using an nForce3-based system):<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
and also if issuing this command...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...gets something similar to:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
Then you have this bug.<br />
<br />
Some sources indicate that in some situations, downgrading the motherboard BIOS may help, but this cannot be verified in all cases. Also, '''a bad BIOS downgrade can render your hardware useless, so beware.'''<br />
<br />
See [http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport] for more information and a potential fix.<br />
<br />
=== Temporary hangs when playing video ===<br />
<br />
This problem may occur when using the proprietary Catalyst.<br />
<br />
If you experience temporary hangs lasting from a few seconds to several minutes occuring randomly during playback with mplayer, check /var/log/messages.log for output like:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
Adding the nopat kernel option to your kernel options in your bootloader and rebooting fixed the problem at least for me. To see how to do this for different bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
If when running<br />
<br />
# sudo aticonfig --initial<br />
<br />
you get:<br />
<br />
aticonfig: No supported adaptaters detected<br />
<br />
But you do have an AMD GPU (or APU), it may still be possible to get Catalyst working by manually setting the device in your your {{ic|etc/X11/xorg.conf}} file.<br />
<br />
You can do so by setting the device section of {{ic|/etc/X11/xorg.conf}} to:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
Where ''****'' should be replaced with your device's marketing number (e.g. 6870 for the HD 6870 and 6310 for the E-350 APU).<br />
<br />
Xorg will start and it is possible to use {{ic|amdcccle}} instead of {{ic|aticonfig}}. There will be an "AMD Unsupported hardware" watermark.<br />
<br />
You can remove this watermark using the following script:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
<br />
and rebooting.<br />
<br />
=== WebGL support in Chromium ===<br />
<br />
Google has blacklisted Linux's Catalyst driver from supporting webGL in their Chromium/Chrome browsers.<br />
<br />
You can turn webGL on by editing {{ic|/usr/share/applications/chromium.desktop}} file and adding {{ic|--ignore-gpu-blacklist}} flag into the '''Exec''' line so it looks like this:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
You can also run chromium from console with the same {{ic|--ignore-gpu-blacklist}} flag:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{Warning|Catalyst does not support the GL_ARB_robustness extension, so it is possible that a malicious site could use WebGL to perform a DoS attack on your graphic card. For more info, read [http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== Laggs/freezes when watching flash videos via Adobe's flashplugin ===<br />
<br />
Edit {{ic|/etc/adobe/mms.cfg}} and make it look like this:<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== Laggs/slow windows movement in GNOME3 ===<br />
<br />
You can try this solution out, it's working for many people.<br />
<br />
Add this line into {{ic|~/.profile}} or into {{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
Restart X server or reboot your system.<br />
<br />
=== Not using fullscreen in the 1920x1080 resolution ===<br />
<br />
The ATI has scaling by default add this to your xorg.conf<br />
<br />
Option "DPMS" "true"<br />
<br />
On the Monitor section, as full example would look like this<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985https://wiki.archlinux.org/index.php?title=AMD_Catalyst_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=229254AMD Catalyst (简体中文)2012-10-17T13:34:59Z<p>Micy1985: /* 安装 */</p>
<hr />
<div>"AMD"的显卡驱动有两种:一是官方私有驱动(catalyst,译为催化剂),二是开源驱动(xf86-video-ati).本文主要与私有驱动有关。<br />
<br />
AMD曾经将“catalyst”驱动命名为“fglrx” ('''F'''ire'''GL''' and '''R'''adeon '''X'''). 现在虽然名为“catalyst”,但内核模块名称依然未变,为“fglrx.ko”. 因此,下文中任何提及fglrx 都是指“内核模块”,而不是指软件包.<br />
曾经一段时间,arch官方不提供AMD的私有驱动,但在2012年十月,官方在[community]仓库再次提供AMD的私有驱动,当然针对HD 2xxx 3xxx 4xxx的旧版驱动不再提供. 目前,当升级x服务器时,可能还有未知问题。更多信息可查看[http://bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/this].<br />
<br />
与开源驱动相比, Catalyst在2D图形加速上不及,但3D渲染更胜一筹. R600及以上芯片组所支持的显卡请查看[http://en.wikipedia.org/wiki/Radeon ATI/AMD Radeon]。另可参见 [http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units this table], 或[http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names "Decoder ring",]。<br />
<br />
== 安装 ==<br />
<br />
共有四种途径安装Catalyst。一种是通过[community]软件仓库来安装(推荐),但此种方式不能安装一些有用的软件包(截止10月4日,不提供xvba-video、lib32驱动和'''legacy'''驱动);第二种是用Vi0L0(非Arch官方维护人员)维护的软件库.此库包涵了所有必须的软件包.第三种方式就是通过AUR,Vi0L0提供的PKGBUILDs跟他用于构建他仓库的PKGBUILDs安全一样。最后你还可以通过AMD官方下载Catalyst的二进制驱动手动安装(不推荐,因为一旦内核更新,必须重新手动安装).<br />
自Catalyst 12.4, AMD已将针对Radeon HD 5xxx 和 Radeon HD 2xxx, 3xxx and 4xxx cards的驱动分别进行开发,因此在你选择安装方式之前,应查看你的显卡型号。Radeon HD 2xxx, 3xxx and 4xxx 显卡用 '''legacy'''驱动,Radeon HD 5xxx(包括更新的显卡)用常规Catalyst。但无论你需要哪种驱动,都应安装Catalyst utilities。<br />
<br />
{{注意|在了解每种安装方式的说明后,无论采用哪种方式,你都应了解一些通用的安装说明。}}<br />
<br />
=== 安装Catalyst ===<br />
==== 从官方软件仓库 ====<br />
这量最简单直接的方式,因为它不需要非官方的软件库,而且当内核更新时它会通过[[Dynamic Kernel Module Support|DKMS]]来自动重建内核模块。如果此方式能充分满足你的需求,推荐使用。安装很简单,直接使用 [[Pacman|pacman]]:<br />
<br />
# pacman -S catalyst-dkms catalyst-utils<br />
<br />
{{注意|如果pacman 问你是否移除'''libgl''' - 回答"Y"就行了}}<br />
<br />
{{注意|如果使用systemd,需启用DKMS服务,SysV用户不需启动。关于启动某项服务可参考[[systemd]].}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils.但要首先启用[multilib]软件库.<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
通过以下方式你还可以安装legacy版本的驱动。<br />
<br />
==== 从非官方软件库 ====<br />
如果你需要一些官方软件库没有提供的包而且不喜欢通过[[Arch User Repository|AUR]]来安装,则使用此方法。此软件库由Vi0L0维护。所有的包都经过签名,所以安全方面无需担心。下文提及的很多其他与AMD显卡有关的包也是由Vi0L0维护。<br />
<br />
Vi0L0有两个软件库,每个拥有不同的驱动:<br />
*[catalyst]; Radeon HD 5xxx及更新的显卡使用的常规Catalyst驱动。<br />
*[catalyst-hd234k]; Radeon HD 2xxx, 3xxx and 4xxx显卡使用的旧版Catalyst驱动。<br />
<br />
{{警告|目前,旧版驱动不支持Xorg 1.13。AMD应该会在一二个世纪后添加支持,动作还算挺快的(呵呵)。确实要用此驱动,请查阅 [[#Xorg repositories]]以便了解如何回滚到Xorg 1.12.}}<br />
<br />
启用上述软件库,可编辑{{ic|/etc/pacman.conf}},在其他软件库之前添加相应软件库。<br />
<br />
# nano /etc/pacman.conf<br />
<br />
添加 [catalyst], 如下:<br />
<br />
[catalyst]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch</nowiki><br />
<br />
添加 [catalyst-hd234k],如下:<br />
<br />
[catalyst-hd234k]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch</nowiki><br />
<br />
接着更新系统并安装Catalyst:<br />
<br />
# pacman -Syu<br />
# pacman -S catalyst catalyst-utils<br />
<br />
{{注意|当pacman询问是否移除'''libgl''' - 回答"Y"}}<br />
<br />
如果在64位系统上需要支持32位OpenGL,安装lib32-catalyst-utils。启用[multilib]软件库后,通过如下命令安装:<br />
<br />
# pacman -S lib32-catalyst-utils<br />
<br />
两个软件库都提供其他能替代Catalyst的包,而且还为系统的''multiple''内核提供fglrx驱动模块:<br />
<br />
* Catalyst-generator; 该软件包能自动生成fglrx模块的配置文件。<br />
* Catalyst-hook;每当内核更新时,[[mkinitcpio|mkinitcpio]]会自动更新fglrx模块。<br />
* Catalyst-daemon; 功能跟Catalyst-hook和catalyst-dkms一样,每当内核更新时,会通过初始化脚本自动更新fglrx模块。systemd用户不需此软件.<br />
在[[#Tools| Tools section]]可找到与以上软件包的更多细节.<br />
最后,两者都提供'''xvba-video'''和 '''AMDOverdriveCtrl'''。前者能提供视频硬解,后者可通过图形界面控制显卡频率。具体参见[[#GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities]]<br />
<br />
==== Installing from the AUR ====<br />
The last way to install Catalyst is from the [[Arch User Repository|AUR]]. If you want to built the packages specifically for your computer, this is your way to go. Note that this is also the most tedious way to install Catalyst; it requires the most work and also requires manual updates upon every kernel update.<br />
<br />
{{Warning|If you install the Catalyst package from the AUR, you will have to rebuild Catalyst every time the kernel is updated. Otherwise X '''will''' fail to start.}}<br />
{{Warning|The Legacy driver does not support Xorg 1.13 for now. Support should be added by AMD in a century or two, but this could be sooner. Should you want to use this driver, see [[#Xorg repositories]] for instructions on how to roll back to or hold back Xorg 1.12.}}<br />
<br />
All packages mentioned above in Vi0L0's unofficial repository are also available on the [[Arch User Repository|AUR]]:<br />
* {{AUR|Catalyst}};<br />
* {{AUR|Catalyst-utils}};<br />
* {{AUR|Lib32-catalyst-utils}};<br />
* {{AUR|Catalyst-generator}};<br />
* {{AUR|Catalyst-hook}};<br />
* {{AUR|Catalyst-daemon}}.<br />
<br />
The AUR also holds some packages that are '''not''' found in any of the repositories. These packages contain the so-called ''Catalyst-total'' packages and the beta versions:<br />
* {{AUR|Catalyst-total-hd234k}};<br />
* {{AUR|Catalyst-total}};<br />
* {{AUR|Catalyst-test}};<br />
* {{AUR|Lib32-catalyst-test}};<br />
* {{AUR|Catalyst-total-pxp}};<br />
<br />
The ''Catalyst-total'' packages are made to make the lives of AUR users easier. It builds the driver, the kernel utilities and the 32 bit kernel utilities. It also builds the Catalyst-hook package, which is explained above.<br />
<br />
''Catalyst-total-pxp'' builds Catalyst with experimental powerXpress support.<br />
<br />
For more information on building from the AUR, read [[#Installing_from_AUR| Installing from AUR]].<br />
<br />
==== Installing directly from AMD ====<br />
{{Warning|Using the installer from ati.com/amd.com is '''not''' recommended! It may cause file conflicts and X failures and you will miss Arch-specific fixes. You '''must''' be familiar with booting to the command-line if you wish to attempt this.}}<br />
<br />
{{Note|If you have attempted a manual install from the official installer and cannot recover your desktop:<br />
# /usr/share/ati/fglrx-uninstall.sh<br />
}}<br />
<br />
1.) Download the installer from AMD or elsewhere (whereas *-* will be the version): {{ic|ati-driver-installer-*-*-x86.x86_64.run}}<br />
<br />
2.) Make sure it's executable: {{ic|# chmod +x ati-driver*}}<br />
<br />
3.) Ensure you're using a basic video driver like vesa and remove conflicting drivers (i.e. {{ic|xf86-video-ati}}) with pacman.<br />
<br />
4.) Symlink {{ic|/usr/src/linux}} to {{ic|<nowiki>/usr/src/{kernelsource}</nowiki>}}. 64-bit users also symlink{{ic|/usr/lib64}} to {{ic|/usr/lib}}.<br />
<br />
5.) Be sure to have your build environment setup: {{ic|# pacman -Syu base-devel linux-headers}}<br />
<br />
6.) Now run {{ic|# ./ati-driver-installer-*-*-x86.86_64.run}} (Files will extract to a temporary folder and scripts will run...)<br />
<br />
Assuming nothing went horribly wrong...<br />
<br />
7.) Check {{ic|/usr/share/ati/fglrx-install.log}} for issues. There should also be a {{ic|/lib/modules/fglrx/make.{ker_version}.log}}.<br />
<br />
{{Note|If you modify the make scripts, save to a different filename. Otherwise uninstall will not complete successfully.}}<br />
<br />
=== Configuring the driver ===<br />
After you have installed the driver via your chosen method, you will have to configure X to work with Catalyst. Also, you will have to make sure the module gets loaded at boot. Also, one should disable [[KMS|kernel mode setting]].<br />
<br />
==== Configuring X ====<br />
To configure X, you will have to create an xorg.conf file. Catalyst provides its own {{ic|aticonfig}} tool to create and/or modify this file.<br />
It also can configure virtually every aspect of the card for it also accesses the {{ic|/etc/ati/amdpcsdb}} file. For a complete list of {{ic|aticonfig}} options, run:<br />
<br />
# aticonfig --help | less<br />
<br />
{{Warning|Use the --output option before committing to /etc/X11 as an xorg.conf file will override anything in /etc/X11/xorg.conf.d}}<br />
<br />
{{Note|If you want to adhere to the new xorg.conf.d: Append your {{ic|aticonfig}} string with ''--output'' so that you can adapt the Device section to {{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}. The drawback of this is that many {{ic|aticonfig}} options rely on an xorg.conf, and thus will be unavailable.}}<br />
<br />
Now, to configure Catalyst. If you have only one monitor, run this:<br />
<br />
# aticonfig --initial<br />
<br />
However, if you have two monitors and want to use both of them, you can run the command stated below. Note that this will generate a dual head configuration with the second screen located above the first screen.<br />
<br />
# aticonfig --initial=dual-head --screen-layout=above<br />
<br />
{{Note|See [[#Double Screen (Dual Head / Dual Screen / Xinerama)]] for more information on setting up dual monitors.}}<br />
<br />
You can compare the generated file to one of the [[Xorg#Sample_xorg.conf_Files|Sample Xorg.conf]] examples listed on the Xorg page.<br />
<br />
Although the current Xorg versions auto-detect most options when started, you may want to specify some in case the defaults change between versions.<br />
<br />
Here is an example (with notes) '''for reference'''. Entries with '#' should be required, add entries with '##' as needed:<br />
<br />
{{bc|1=<br />
Section "ServerLayout"<br />
Identifier "Arch"<br />
Screen 0 "Screen0" 0 0 # 0's are necessary.<br />
EndSection<br />
Section "Module"<br />
Load ...<br />
...<br />
EndSection<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
...<br />
EndSection<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "fglrx" # Essential.<br />
BusID "PCI:1:0:0" # Recommended if autodetect fails.<br />
Option "OpenGLOverlay" "0" ##<br />
Option "XAANoOffscreenPixmaps" "false" ##<br />
EndSection<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24 # Should not change from '24'<br />
Modes "1280x1024" "2048x1536" ## 1st value=default resolution, 2nd=maximum.<br />
Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/<br />
EndSubSection ## fixed in Catalyst 9.8<br />
EndSection<br />
Section "DRI"<br />
Mode 0666 # May help enable direct rendering.<br />
EndSection<br />
}}<br />
<br />
{{Note|With '''every''' Catalyst update you should remove '''amdpcsdb''' file in this way: kill X, remove {{ic|/etc/ati/amdpcsdb}}, start X and then run {{ic|amdcccle}} - otherwise the version of Catalyst may display wrongly in amdcccle.}}<br />
<br />
''If you need more information on Catalyst, visit [http://bbs.archlinux.org/viewtopic.php?id=57084 this thread].''<br />
<br />
==== Loading the module at boot ====<br />
How you should handle this depends on the init system you're using; either SysVinit or systemd. In either case, you have to blacklist ''radeon'' in {{ic|/etc/modprobe.d/modprobe.conf}}. For more information, see [[Modprobe|blacklisting in this article]]. '''Users of the [community] package do not have to do this, it's automatically done for them when installing the package'''.<br />
<br />
{{Note|The systemd method is recommended, as Arch is slowly switching over to this and the rc.conf method is actually deprecated.}}<br />
<br />
===== The systemd method =====<br />
* Disable the {{ic|radeon}} module from auto-loading. If it occurs in any file under {{ic|/etc/modules-load.d/}}, remove the file (or, if the file contains multiple modules, just remove the radeon one).<br />
* Either add {{ic|fglrx}} on a new line of an existing module file located under {{ic|/etc/modules-load.d/}}, or create a new file and add {{ic|fglrx}}.<br />
<br />
===== Arch initscripts =====<br />
Edit {{ic|/etc/rc.conf}} by:<br />
* Removing {{ic|radeon}} from the MODULES array.<br />
* Adding {{ic|fglrx}} to MODULES.<br />
<br />
{{Note|If you are using an AGP card instead of PCI Express add the ''agp'' module as well.}}<br />
<br />
==== Disable kernel mode setting ====<br />
<br />
Disabling kernel mode setting is important, as the driver doesn't take advantage of [[KMS]] yet. If you do not deactivate KMS, your system might freeze when trying to switch to a tty or even when shutting down via your DE.<br />
<br />
For [[GRUB Legacy|GRUB Legacy]], edit {{ic|menu.lst}} by adding {{ic|nomodeset}} to the kernel parameters. For example:<br />
<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro '''nomodeset'''<br />
<br />
For [[GRUB2|GRUB 2]], edit {{ic|/etc/default/grub}} and add ''nomodeset'' to the kernel parameter options, e.g.<br />
<br />
GRUB_CMDLINE_LINUX="nomodeset"<br />
<br />
Then run, as root;<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
For [[Syslinux|Syslinux]], edit {{ic|/boot/syslinux/syslinux.cfg}} and add ''nomodeset'' to the {{ic|APPEND}} line, e.g.:<br />
<br />
APPEND root=/dev/sda2 ro ''nomodeset''<br />
<br />
==== Checking operation ====<br />
<br />
Assuming that a reboot to your login was successful, you can check if fglrx is running properly with the following commands:<br />
<br />
$ lsmod | grep fglrx<br />
$ fglrxinfo<br />
<br />
If you get output, it works. Finally, run X with {{ic|startx}} or by using GDM/KDM and verify that direct rendering is enabled by running the following command in a terminal:<br />
<br />
$ glxinfo | grep direct<br />
<br />
If it says "direct rendering: yes" then you're good to go! If the glxinfo command is not found, you might need to install the {{Pkg|mesa-demos}} package.<br />
<br />
{{Warning|In recent versions of Xorg, the paths of libs are changed. So, sometimes {{ic|libGL.so}} cannot be correctly loaded even if it's installed. Check this if your GL is not working. Please read "Troubleshooting" section for details.}}<br />
<br />
If you have trouble, see [[#Troubleshooting]].<br />
<br />
=== Custom Kernels ===<br />
<br />
To install catalyst for a custom kernel, you'll need to build your own {{ic|catalyst-$kernel}} package.<br />
<br />
If you are at all uncomfortable or inexperienced with making packages, read up the [[ABS]] wiki page first so things go smoothly.<br />
<br />
# Obtain the {{ic|PKGBUILD}} and {{ic|catalyst.install}} files from [[AUR|Catalyst]].<br />
# Editing the PKGBUILD. Two changes need to be made here:<br />
## Change {{ic|1=pkgname=catalyst}} to {{ic|1=pkgname=catalyst-$kernel_name}}, where $kernel_name is whatever you want (e.g. custom, mm, themostawesomekernelever).<br />
## Change the dependency of {{ic|linux}} to {{ic|$kernel_name}}.<br />
# Build your package and install; run {{ic|makepkg -i}} or {{ic|makepkg}} followed by {{ic|pacman -U pkgname.pkg.tar.gz}}<br />
<br />
{{Note|If you run multiple kernels, you have to install the Catalyst-utils packages for all kernels. They won't conflict with one another.}}<br />
<br />
{{Note|Catalyst-generator is able to build catalyst-{kernver} packages for you so you do not actually need to perform all those steps manually. For more information, see [[#Tools| Tools section]].}}<br />
<br />
== Xorg repositories ==<br />
Catalyst is notorious for its slow update process. As such, it is common that a new Xorg version is pushed down from upstream that will break compatibility for Catalyst. This means that Catalyst users either have to hold the Xorg packages from updating, or use a backported repository that only contains the Xorg packages that should be hold back. Vi0L0 has stepped in to fulfil this task and provides several backported repositories. <br />
<br />
If you want to use pacman to hold back packages from updating, see [[pacman|skip package from being upgraded]]. Packages you should hold back, are:<br />
*xorg-server-*<br />
*xorg-input-*<br />
*xorg-video-*<br />
<br />
If you want to use the backported repositories, you have to edit {{ic|/etc/pacman.conf}} and add the information of the repository '''above all other repositories''', even above your Catalyst repository, should you use one.<br />
<br />
===[xorg112]===<br />
The current version of Catalyst doesn't support xorg-server 1.13 at the moment.<br />
<br />
[xorg112]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch</nowiki><br />
<br />
===[xorg111]===<br />
Catalyst < 12.6 doesn't support xorg-server 1.12.<br />
<br />
[xorg111]<br />
<nowiki>Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch</nowiki><br />
<br />
== Tools ==<br />
<br />
=== Catalyst-hook ===<br />
[https://aur.archlinux.org/packages.php?ID=40834 Catalyst-hook] is a hook for [[mkinitcpio|mkinitcpio]] that will automatically update fglrx modules with every kernel update. '''This is basically the same as catalyst-dkms from [community].''' Before updating the fglrx modules, it will first try to update the {{Pkg|linux-headers}}.<br />
<br />
The hook will call the ''catalyst_build_module'' command to update fglrx module for the version of your new kernel. Additionally, it can call the ''catalyst_build_module remove'' command to remove the now old and unneeded flgrx module(s).<br />
<br />
{{Note|If you are using this functionality it's '''important''' to look at the installation process of the linux kernel (or any other kernel) package. Catalyst-hook will tell you is everything all right.}}<br />
<br />
{{Note|If your '''custom kernel''' is using some '''non-standard mkinitcpio configuration file''' (ie. linux-zen is using /etc/mkinitcpio-zen.conf) you'll have to manually add '''fglrx''' to HOOKS array in your non-standard configuration file so it can be auto-recompiled with a kernel update.}}<br />
<br />
{{Note|If you '''aren't using the stock linux kernel''' at all and still want to use auto-recompilation, you should remove linux-headers from the {{ic|SyncFirst}} list of {{ic|/etc/pacman.conf}} after running 'catalyst_build_module auto'. If you also have custom linux-headers, you can swap linux-headers in the {{ic|SyncFirst}} line with your custom one, for example linux-lts-headers.}}<br />
<br />
=== Catalyst-generator ===<br />
<br />
[https://aur.archlinux.org/packages.php?ID=34773 Catalyst-generator] is a package that is able to build and install the fglrx module packed into pacman compliant catalyst-${kernver} packages. The difference from Catalyst-hook is that you will have to trigger this command manually, whereas Catalyst-hook will do this automatically at boot when a new kernel got installed.<br />
<br />
It creates catalyst-${kernver} packages using [[makepkg]] and installs them with [[pacman]]. ''${kernver}'' is the kernel version for which each package was built (e.g. catalyst-2.6.35-ARCH package was built for 2.6.35-ARCH kernel).<br />
<br />
To build and install catalyst-${kernver} package for a currently booted kernel as an unprivileged user (non-root; safer way), use {{ic|catalyst_build_module}}. You will be asked for your root password to proceed to package installation.<br />
<br />
A short summary on how to use this package:<br />
<br />
# As root: {{ic|catalyst_build_module remove}}. This will remove all unused {{ic|catalyst-{kernver} }} packages.<br />
# As unprivileged user: {{ic|catalyst_build_module ${kernver}}}, where ${kernver} is the version of the kernel to which you just updated. For example: {{ic|catalyst_build_module 2.6.36-ARCH}}. You can also build catalyst-${kernver} for all installed kernels by using {{ic|catalyst_build_module all}}.<br />
# If you want to remove {{ic|catalyst-generator}}, it's best to run this as root before removing catalyst-generator: {{ic|catalyst_build_module remove_all}}. '''This will remove all catalyst-{kernver} packages from the system.'''<br />
<br />
Catalyst-generator isn't able to remove all those catalyst-{kernver} packages automatically while being removed because there can not be more than one instance of pacman running. If you forget to run {{ic|catalyst_build_module remove_all}} before using {{ic|pacman -R catalyst-generator}} catalyst-generator will tell you which catalyst-{kernver} packages you will have to remove manually after removing catalyst-generator itself.<br />
<br />
{{Note|If you see those warnings:<br />
<br />
'''WARNING:''' Package contains reference to $srcdir<br />
<br />
'''WARNING:''' '.pkg' is not a valid archive extension.<br />
<br />
while building catalyst-{kernver} package, do not be concerned, it's normal.}}<br />
<br />
=== Catalyst-daemon ===<br />
{{Warning| systemd users have no use for this, as systemd is not compatible with regular initscript daemons.}}<br />
<br />
[https://aur.archlinux.org/packages.php?ID=40832 Catalyst-daemon] is, as its name suggests, a daemon that will run upon every boot to check if the kernel was updated. If it was, it will rebuild the fglrx module - if it wasn't, it will load the previously built fglrx module. This whole operation takes only 20ms on a 2.4 GHz CPU.<br />
<br />
The automatic re-compilation functionality of Catalyst-daemon is done by an init script called ''autofglrx''. Autofglrx's check function is comparing the built time of the just booted kernel (provided by {{ic|uname -v}}) with the built time of a kernel for which the previously used fglrx module was built. It is able to do such a comparison because it adds {{ic|uname -v}} information to the fglrx module description whilst compiling it. <br />
<br />
Whilst rebuilding, autofglrx will call the ''catalyst_build_module'' to build a module and ''catalyst_build_module remove'' to remove the old, unneeded fglrx module. It doesn't remain in the system's memory after being run.<br />
<br />
{{Note|After installing autofglrx, you have to add {{ic|autofglrx}} to the beginning of the {{ic|DAEMONS}} array {{ic|/etc/rc.conf}}. Be sure to place it before your DM (if you run that from here) and do '''not''' run it in the background (e.g. do not at a @ symbol in front of it).}}<br />
<br />
{{Note|If you are using '''your own compilation flags''' and get problems with the daemon - please add those flags into /usr/bin/catalyst_build_module file.}}<br />
<br />
== Features ==<br />
<br />
=== Tear Free Rendering ===<br />
<br />
Presented in '''Catalyst 11.1''', the ''Tear Free Desktop'' feature reduces tearing in 2D, 3D and video applications. This likely adds triple-buffering and v-sync. Do note that it requires additional GPU processing.<br />
<br />
To enable 'Tear Free Desktop' run {{ic|amdcccle}} and go to: {{ic|Display Options}} → {{ic|Tear Free}}.<br />
<br />
Or as root run:<br />
<br />
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1<br />
<br />
To disable, again use {{ic|amdcccle}} or run as root:<br />
<br />
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop<br />
<br />
=== Video acceleration ===<br />
<br />
'''[http://en.wikipedia.org/wiki/Video_Acceleration_API Video Acceleration API] (VA API)''' is an open source software library (libVA) and API specification which provides GPU acceleration for video processing on Linux/UNIX based operating systems. The process works by enabling hardware accelerated video decode at various entry-points (VLD, IDCT, Motion Compensation, deblocking) for common encoding standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3).<br />
<br />
VA-API gained a proprietary backend (in November 2009) called {{AUR|xvba-video}}, that allows VA-API programmed applications to take advantage of AMD Radeons UVD2 chipsets via the [http://en.wikipedia.org/wiki/XvBA XvBA (X-Video Bitstream Acceleration API designed by AMD)] library.<br />
<br />
XvBA support and xvba-video is still under development, however it is '''working very well in most cases'''. Build the {{AUR|xvba-video}} package from AUR or soon, install it from [community] and install {{Pkg|mplayer-vaapi}} and {{Pkg|libva}}. Then just set your video player to use vaapi:gl as video output:<br />
<br />
$ mplayer -vo vaapi:gl movie.avi<br />
<br />
These options can be added to your mplayer configuration file, see [[MPlayer]].<br />
<br />
For '''smplayer''':<br />
<br />
Options → Preferences → General → Video (tab) → Output driver: User Defined : vaapi:gl<br />
Options → Preferences → General → Video (tab) → Double buffering '''on'''<br />
Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
Options → Preferences → General → General → Screenshots → Turn screenshots '''off'''<br />
Options → Preferences → Performance → Threads for decoding (Set your CPU(s) '''number''')<br />
<br />
{{Note|If Tear Free Desktop is enabled it's better to use:<br />
Options -> Preferences -> General -> Video (tab) -> Output driver: vaapi<br />
If Video Output '''vaapi:gl''' isn't working - please check:<br />
'''vaapi''', '''vaapi:gl2''' or simply '''xv(0 - AMD Radeon [https://en.wikipedia.org/wiki/Avivo AVIVO Video])'''.<br />
}}<br />
<br />
For '''VLC''':<br />
<br />
Tools → Preferences → Input & Codecs → Use GPU acceleration<br />
<br />
It might help to enable v-sync in '''amdcccle''':<br />
<br />
3D → More Settings → Wait for vertical refresh = Always On<br />
<br />
{{Note|If you are using '''Compiz/KWin''', the only way to '''avoid video flickering''' is to watch videos in '''full-screen''' and only when '''Unredirect Fullscreen is off'''.<br />
<br />
In '''compiz''' you need to set '''Redirected Direct Rendering''' in General Options of ccsm. If it is still flickering, try to disable this option in CCSM. It's off by default in '''KWin''', but if you see flickering try to turn "Suspend desktop effects for fullscreen windows" on or off in System Settings → Desktop Effects → Advanced.}}<br />
<br />
=== GPU/Mem frequency, Temperature, Fan speed, Overclocking utilities ===<br />
<br />
You can get the GPU/Mem clocks with: {{ic|$ aticonfig --od-getclocks}}.<br />
<br />
You can get the fan speed with: {{ic|$ aticonfig --pplib-cmd "get fanspeed 0"}}<br />
<br />
You can get the temperature with: {{ic|$ aticonfig --odgt}}<br />
<br />
To set the fanspeed with: {{ic|$ aticonfig --pplib-cmd "set fanspeed 0 50"}} Query Index: 50, Speed in percent<br />
<br />
To overclock and/or underclock it's easier to use a GUI, like '''ATi Overclocking Utility''', which is very simple and requires qt to work.<br />
<br />
The i686 version is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X32?content=107458 here], while the x86_64 is available [http://kde-apps.org/content/show.php/ATI+Overclocking+Utility+X64?content=107457 here]. Just download it and run.<br />
<br />
An other, more complex utility to perform such operations is '''AMDOverdriveCtrl'''. Its homepage is [http://sourceforge.net/projects/amdovdrvctrl here] and you can build an Arch package from [https://aur.archlinux.org/packages.php?ID=45298 AUR] or from Vi0L0's unofficial repositories.<br />
<br />
=== Double Screen (Dual Head / Dual Screen / Xinerama) ===<br />
<br />
==== Introduction ====<br />
<br />
{{Warning| you should know that there isn't one specific solution because each setup differs and needs its own configuration. That's why you will have to adapt the steps below to your own needs. It is possible that you have to try more than once. '''Therefore, you should save your working {{ic|/etc/X11/xorg.conf}} before you start modifying and you must be able to recover from a command-line environment.'''}}<br />
<br />
* In this chapter, we will describe the installation of two different-sized screens on only one graphics card with two different output ports (DVI + HDMI) using a "BIG Desktop" configuration.<br />
<br />
* The Xinerama solution has some inconveniences, especially because it is not compatible with XrandR. For that very reason, you should not use this solution, because XrandR is a must for our later configuration.<br />
<br />
* The Dual Head solution would allow you to have 2 different sessions (one for each screen). It could be what you want, but you will not be able to move windows from one screen to another. If you have only one screen, you will have to define the mouse inside your Xorg session for each of the two sessions inside the Server Layout section.<br />
<br />
[http://support.amd.com/us/kbarticles/Pages/1105-HowCanIConfigureMultip.aspx ATI Documentation]<br />
<br />
==== ATI Catalyst Control Center ====<br />
<br />
The GUI tool shipped by ATI is very useful and we will try to use it as much as we can. To launch it, open a terminal and use the following command:<br />
<br />
$ {kdesu/gksu} amdcccle<br />
<br />
{{Warning|Do '''not''' use sudo directly with a GUI. Sudo gives you admin rights with user account information. Instead, use ''gksu'' (GNOME) or ''kdesu'' (KDE).}}<br />
<br />
==== Installation ====<br />
<br />
Before we start, make sure that your hardware is plugged in correctly, that power is on and that you know your hardware characteristics (screen dimensions, sizes, refreshment rates, etc.) Normally, both screens are recognized during boot time but not necessarily identified properly, especially if you are not using any Xorg base configuration file ({{ic|/etc/X11/xorg.conf}}) but relying on the hot-plugging feature.<br />
<br />
The first step is to make sure that you screens will be recognized by your DE and by X. For this, you need to generate a basic Xorg configuration file for your two screens:<br />
<br />
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1<br />
<br />
or<br />
<br />
# aticonfig --initial=dual-head --screen-layout=left<br />
<br />
{{Note|{{ic|overlay}} is important because it allows you to have 1 pixel (or more) shared between the 2 screens.}}<br />
{{Tip|For the other possible and available options, do not hesitate to type {{ic|aticonfig --help}} inside a terminal to display all available command lines.}}<br />
<br />
Now you should have a basic Xorg configuration file that you can edit to add your screen resolutions. It is important to use the precise resolution, especially if you have screens of different sizes. These resolutions have to be added in the "Screen" section:<br />
<br />
SubSection "Display"<br />
Depth 24<br />
Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"<br />
EndSubSection<br />
<br />
From now on, instead of editing the {{ic|xorg.conf}} file manually, let us use the ATI GUI tool. Restart X to be sure that your two screens are properly supported and that the resolutions are properly recognized (Screens must be independent, not mirrored).<br />
<br />
==== Configuration ====<br />
<br />
Now you will only have to launch the ATI control center with root privileges, go to the display menu and choose how you would like to set your configuration (small arrow of the drop down menu). A last restart of X and you should be done!<br />
<br />
Before you restart X, do not hesitate to verify your new {{ic|xorg.conf}} file. At this stage, inside the "Display" sub-section of the "Screen" section, you should see a "Virtual" command line, of which the resolution should be the sum of both screens. The "Server Layout" section says all the rest.<br />
<br />
== Troubleshooting ==<br />
<br />
If you can still boot to command-line, then the problem probably lies in {{ic|/etc/X11/xorg.conf}}<br />
<br />
You can parse the whole {{ic|/var/log/Xorg.0.log}} or, for clues:<br />
<br />
$ grep '(EE)' /var/log/Xorg.0.log<br />
$ grep '(WW)' /var/log/Xorg.0.log<br />
<br />
If you are at lost of what to do, you can always post a message in the see [http://www.bbs.archlinux.org/viewtopic.php?pid=1166052#p1166052/ support thread on the forums]. When you do so, please do provide the information you get from both commands mentioned above.<br />
<br />
=== 3D Wine applications freeze ===<br />
If you use a 3D Wine application and it hangs, you have to disable TLS. To do this, either use {{ic|aticonfig}} or edit {{ic|/etc/X11/xorg.conf}}. To use {{ic|aticonfig}}:<br />
<br />
# aticonfig --tls=off<br />
<br />
Or, to edit {{ic|/etc/X11/xorg.conf}}; first open the file in an editor as root and then add {{ic|Option "UseFastTLS" "off"}} to the ''Device'' section of this file. <br />
<br />
After applying either of the solutions, restart X for it to take effect.<br />
<br />
=== Problems with video colours ===<br />
<br />
You may still use {{ic|vaapi:gl}} to avoid video flickering, but without video acceleration:<br />
<br />
* Run '''mplayer''' without {{ic|-vo vaapi}} switch.<br />
<br />
* Run '''smplayer''' remove {{ic|-vo vaapi}} from Options → Preferences → Advanced → Options for MPlayer → Options: -vo vaapi<br />
<br />
Plus for '''smplayer''' you may now safely turn screenshots on.<br />
<br />
=== KWin and composite ===<br />
<br />
You may use XRender if the rendering with OpenGL is slow. However, XRender might also be slower than OpenGL depending on your card.<br />
XRender also solves artifact issues in some cases.<br />
<br />
=== Black screen with complete lockups and/or hangs after reboot or startx ===<br />
<br />
Ensure you have added the '''nomodeset''' option to the kernel options line in your bootloader (see [[#Disable kernel mode setting]]).<br />
<br />
==== Faulty ACPI hardware calls ====<br />
It is possible that fglrx doesn't cooperate well with the system's ACPI hardware calls, so it auto-disables itself and there is no screen output.<br />
<br />
If so, try to run this:<br />
<br />
$ aticonfig --acpi-services=off<br />
<br />
=== KDM disappears after logout ===<br />
<br />
If you are running Catalyst proprietary driver and you get a console (tty1) instead of the expected KDM greeting when you log out, you must instruct KDM to restart the X server after each logout:<br />
<br />
$ sudo nano /usr/share/config/kdm/kdmrc<br />
<br />
Uncomment the following line under the section titled {{ic|[X-:*-Core]}}:<br />
<br />
TerminateServer=True<br />
<br />
KDM should now appear when you log out of KDE.<br />
<br />
=== Direct Rendering does not work ===<br />
<br />
This problem may occur when using the proprietary '''Catalyst''' driver.<br />
<br />
{{Warning|This error would also appear if you have not '''rebooted''' your system after the installation or upgrade of catalyst. The system needs to load the fglrx.ko module in order to make the driver work.}}<br />
<br />
If you have problem with direct rendering, run:<br />
<br />
$ LIBGL_DEBUG=verbose glxinfo > /dev/null<br />
<br />
at the command prompt. At the very start of the output, it'll usually give you a nice error message saying why you do not have direct rendering.<br />
<br />
Common errors and their solutions, are:<br />
<br />
libGL error: XF86DRIQueryDirectRenderingCapable returned false<br />
<br />
* Ensure that you are loading the correct agp modules for your AGP chipset before you load the fglrx kernel module. To determine which agp modules you'll need, run {{ic|hwdetect --show-agp}}, then ensure that all modules listed from that command are in the {{ic|1=MODULES=}} array in rc.conf, '''before''' fglrx if using SysVinit, otherwise open your {{ic|fglrx.conf}} file in {{ic|/etc/modules-load.d}} and add the agp module on a line '''before''' the fglrx line.<br />
<br />
libGL error: failed to open DRM: Operation not permitted<br />
libGL error: reverting to (slow) indirect rendering<br />
<br />
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so<br />
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed<br />
(/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)<br />
libGL error: unable to find driver: fglrx_dri.so<br />
<br />
* Something has not been installed correctly. If the paths in the error message are {{ic|/usr/X11R6/lib/modules/dri/fglrx_dri.so}}, then ensure you've logged completely out of your system, then back in. If you're using a graphical login manager (gdm, kdm, xdm), ensure that {{ic|/etc/profile}} is sourced every time you log in. This is usually accomplished by adding {{ic|source /etc/profile}} into {{ic|~/.xsession}} or {{ic|~/.xinitrc}}, but this may vary between login managers.<br />
<br />
* If the paths above in your error message ''are'' {{ic|/usr/lib/xorg/modules/dri/fglrx_dri.so}}, then something has not been correctly installed. Try reinstalling the {{ic|catalyst}} package.<br />
<br />
Errors such as:<br />
<br />
fglrx: libGL version undetermined - OpenGL module is using glapi fallback<br />
<br />
could be caused by having multiple versions of {{ic|libGL.so}} on your system. Run:<br />
<br />
$ sudo updatedb<br />
$ locate libGL.so<br />
<br />
This should return the following output:<br />
<br />
$ locate libGL.so<br />
/usr/lib/libGL.so<br />
/usr/lib/libGL.so.1<br />
/usr/lib/libGL.so.1.2<br />
<br />
These are the only three libGL.so files you should have on your system. If you have any more (e.g. {{ic|/usr/X11R6/lib/libGL.so.1.2}}), then remove them. This should fix your problem.<br />
<br />
You might not get any error to indicate that this is a problem. If you are using X11R7, make sure you do '''not''' have these files on your system:<br />
<br />
/usr/X11R6/lib/libGL.so.1.2<br />
/usr/X11R6/lib/libGL.so.1<br />
<br />
=== Hibernate/Sleep Issues ===<br />
<br />
==== Video fails to resume from suspend2ram ====<br />
<br />
ATI's proprietary Catalyst driver cannot resume from suspend if the framebuffer is enabled. To disable the framebuffer, add '''vga=0''' to your kernel options in for example, Grub Legacy's {{ic|/boot/grub/menu.lst}}:<br />
<br />
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet '''vga=0'''<br />
<br />
To see where you need to add this with other bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== System Freezes/Hard locks ===<br />
<br />
* The {{ic|radeonfb}} framebuffer drivers have been known in the past to cause problems of this nature. If your kernel has radeonfb support compiled in, you may want to try a different kernel and see if this helps.<br />
<br />
* If you experience system freezes when exiting your DE (shut down, suspend, switching to tty etc.) you probably forgot to deactivate KMS. (See [[#Disable kernel mode setting]])<br />
<br />
=== Hardware Conflicts ===<br />
<br />
Radeon cards used in conjunction with some versions of the nForce3 chipset (e.g. nForce 3 250Gb) won't have 3D acceleration. Currently the cause of this issue is unknown, but some sources indicate that it may be possible to get acceleration with this combination of hardware by booting Windows with the drivers from nVIDIA and then rebooting the system. This can be verified by issuing in a root console the following command:<br />
<br />
$ dmesg | grep agp<br />
<br />
If you get something similar to this (using an nForce3-based system):<br />
<br />
agpgart: Detected AGP bridge 0<br />
agpgart: Setting up Nforce3 AGP.<br />
agpgart: aperture base > 4G<br />
<br />
and also if issuing this command...<br />
<br />
$ tail -n 100 /var/log/Xorg.0.log | grep agp<br />
<br />
...gets something similar to:<br />
<br />
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"<br />
<br />
Then you have this bug.<br />
<br />
Some sources indicate that in some situations, downgrading the motherboard BIOS may help, but this cannot be verified in all cases. Also, '''a bad BIOS downgrade can render your hardware useless, so beware.'''<br />
<br />
See [http://bugzilla.kernel.org/show_bug.cgi?id=6350/ this bugreport] for more information and a potential fix.<br />
<br />
=== Temporary hangs when playing video ===<br />
<br />
This problem may occur when using the proprietary Catalyst.<br />
<br />
If you experience temporary hangs lasting from a few seconds to several minutes occuring randomly during playback with mplayer, check /var/log/messages.log for output like:<br />
<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90<br />
Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0<br />
Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70<br />
Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33<br />
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160<br />
Nov 28 18:31:56 pandemonium =======================<br />
<br />
Adding the nopat kernel option to your kernel options in your bootloader and rebooting fixed the problem at least for me. To see how to do this for different bootloaders, see [[#Disable kernel mode setting]].<br />
<br />
=== "aticonfig: No supported adaptaters detected" ===<br />
<br />
If when running<br />
<br />
# sudo aticonfig --initial<br />
<br />
you get:<br />
<br />
aticonfig: No supported adaptaters detected<br />
<br />
But you do have an AMD GPU (or APU), it may still be possible to get Catalyst working by manually setting the device in your your {{ic|etc/X11/xorg.conf}} file.<br />
<br />
You can do so by setting the device section of {{ic|/etc/X11/xorg.conf}} to:<br />
<br />
Section "Device"<br />
Identifier "ATI radeon '''****'''"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
Where ''****'' should be replaced with your device's marketing number (e.g. 6870 for the HD 6870 and 6310 for the E-350 APU).<br />
<br />
Xorg will start and it is possible to use {{ic|amdcccle}} instead of {{ic|aticonfig}}. There will be an "AMD Unsupported hardware" watermark.<br />
<br />
You can remove this watermark using the following script:<br />
<br />
#!/bin/sh<br />
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so<br />
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do<br />
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER<br />
done<br />
<br />
and rebooting.<br />
<br />
=== WebGL support in Chromium ===<br />
<br />
Google has blacklisted Linux's Catalyst driver from supporting webGL in their Chromium/Chrome browsers.<br />
<br />
You can turn webGL on by editing {{ic|/usr/share/applications/chromium.desktop}} file and adding {{ic|--ignore-gpu-blacklist}} flag into the '''Exec''' line so it looks like this:<br />
<br />
Exec=chromium %U --ignore-gpu-blacklist<br />
<br />
You can also run chromium from console with the same {{ic|--ignore-gpu-blacklist}} flag:<br />
<br />
$ chromium --ignore-gpu-blacklist<br />
<br />
{{Warning|Catalyst does not support the GL_ARB_robustness extension, so it is possible that a malicious site could use WebGL to perform a DoS attack on your graphic card. For more info, read [http://www.h-online.com/security/news/item/WebGL-as-a-security-problem-1240567.html/ this].}}<br />
<br />
=== Laggs/freezes when watching flash videos via Adobe's flashplugin ===<br />
<br />
Edit {{ic|/etc/adobe/mms.cfg}} and make it look like this:<br />
<br />
#EnableLinuxHWVideoDecode=1<br />
OverrideGPUValidation=true<br />
<br />
=== Laggs/slow windows movement in GNOME3 ===<br />
<br />
You can try this solution out, it's working for many people.<br />
<br />
Add this line into {{ic|~/.profile}} or into {{ic|/etc/profile}}:<br />
<br />
export CLUTTER_VBLANK=none<br />
<br />
Restart X server or reboot your system.<br />
<br />
=== Not using fullscreen in the 1920x1080 resolution ===<br />
<br />
The ATI has scaling by default add this to your xorg.conf<br />
<br />
Option "DPMS" "true"<br />
<br />
On the Monitor section, as full example would look like this<br />
<br />
Section "Monitor"<br />
Identifier "0-DFP5"<br />
Option "VendorName" "ATI Proprietary Driver"<br />
Option "ModelName" "Generic Autodetecting Monitor"<br />
Option "DPMS" "true"<br />
Option "PreferredMode" "1920x1080"<br />
Option "TargetRefresh" "60"<br />
Option "Position" "0 0"<br />
Option "Rotate" "normal"<br />
Option "Disable" "false"<br />
EndSection</div>Micy1985