Difference between revisions of "ATI (简体中文)"

From ArchWiki
Jump to navigation Jump to search
 
(101 intermediate revisions by 12 users not shown)
Line 1: Line 1:
[[Category: 简体中文]]
+
[[Category:Graphics (简体中文)]]
[[Category: Graphics (简体中文)]]
+
[[Category:X server (简体中文)]]
[[Category: X Server (简体中文)]]
+
[[de:ATI]]
[[cs:ATI]]
 
 
[[en:ATI]]
 
[[en:ATI]]
 
[[es:ATI]]
 
[[es:ATI]]
 
[[fr:ATI]]
 
[[fr:ATI]]
 
[[it:ATI]]
 
[[it:ATI]]
 +
[[ja:ATI]]
 
[[pl:ATI]]
 
[[pl:ATI]]
 
[[ru:ATI]]
 
[[ru:ATI]]
[[tr:ATI]]
+
{{TranslationStatus (简体中文)|ATI|2017-12-04|495878}}
{{translateme (简体中文)}}
+
{{Related articles start (简体中文)}}
 +
{{Related|AMD Catalyst (简体中文)}}
 +
{{Related|AMDGPU}}
 +
{{Related|Vulkan}}
 +
{{Related|Xorg (简体中文)}}
 +
{{Related articles end}}
 +
'''ATI/AMD'''显卡用户有两个选择:官方的专有驱动({{AUR|catalyst}})和开源驱动 ([[ATI]] 和 [[AMDGPU]])。本文主要介绍较旧的显卡使用的开源的 '''ATI'''/[https://wiki.freedesktop.org/xorg/radeon/ Radeon] 驱动. 要选择正确的驱动,请参考[[Xorg#AMD]]
  
{{Article summary start|摘要}}
+
在很多显卡上开源驱动的性能几乎已经达到和闭源驱动一样的水平。(参见[https://www.phoronix.com/scan.php?page=article&item=radeonsi-cat-wow&num=1 这里]。)同时开源驱动有不错的多显支持,
{{Article summary text|有关ATi官方驱动和开源驱动。}}
 
{{Article summary heading|相关}}
 
{{Article summary wiki|ATI Catalyst}}
 
{{Article summary wiki|KMS}}
 
{{Article summary wiki|Xorg}}
 
{{Article summary end}}
 
  
'''ATI'''用户有两个选择:官方的专有驱动({{AUR|catalyst}})和开源驱动({{Pkg|xf86-video-ati}})
+
如果你不确定该用哪种,请先试一试开源版的。开源驱动能满足大多数的需要,而且,一般来说遇到的麻烦也更少些。查看现在功能开发进展情况可访问 [https://www.x.org/wiki/RadeonFeature 功能矩阵]
  
目前,开源驱动在新显卡的 3D 性能上不及官方专属版本,也缺乏TV输出等功能。但另一方面,它能更好地支持双显示,优秀的2D加速,为基于 OpenGL 的[[window manager|窗口管理器]]如 [[Compiz]] 或 KWin 提供了足够的 3D 加速。
+
[https://www.x.org/wiki/RadeonFeature/#index5h2 这个页面]可以将市场名(例如 Radeon HD4330) 映射到芯片组名(例如 R700).
  
如果你不确定该用哪种,请先试一试开源版的。开源驱动能满足大多数的需要,而且,一般来说遇到的麻烦也更少些。查看现在功能开发进展情况可访问 [http://www.x.org/wiki/RadeonFeature 功能矩阵]
+
== 安装==
 +
{{注意|如果你之前安装过私有驱动(catalyst),请参见[[AMD_Catalyst_(简体中文)#.E5.8D.B8.E8.BD.BD|这里]]来卸载}}
  
==命名规范==
+
[[Install|安装]软件包 {{Pkg|mesa}},它提供 DRI 和 3D 加速。
ATI's [[Wikipedia:Radeon|Radeon]] brand follows a naming scheme that relates each product to a market segment. Within this article, readers will see both ''product'' names (e.g. HD 4850, X1900) and ''code'' or ''core'' names (e.g. RV770, R580). Traditionally, a ''product series'' will correspond to a ''core series'' (e.g. the "X1000" product series includes the X1300, X1600, X1800, and X1900 products which utilize the "R500" core series – including the RV515, RV530, R520, and R580 cores).
 
  
具体对应关系可以查看维基百科: [[Wikipedia:Comparison of AMD graphics processing units]].
+
* 若需要x86_64下的32位支持,可以从 [[multilib]] 安装 {{Pkg|lib32-mesa}}.
==概览==
+
* 要使用 [[Xorg]] 2D 加速 DDX 驱动,请安装软件包 {{Pkg|xf86-video-ati}}.
{{Ic|xf86-video-ati}}('''radeon''') 驱动:
 
  
*Works with Radeon chipsets up to HD 6xxx and 7xxxM (latest Northern Islands chipsets).
+
[[#启动视频加速|加速视频解码]] 由 {{Pkg|mesa-vdpau}} 和 {{Pkg|lib32-mesa-vdpau}} 包提供支持。
**Radeons X1xxx 以及之前的显卡系列,拥有稳定、完整的功能以及2D、3D加速功能。
 
**Radeons HD 2xxx 到 HD 6xxx系列具备完整2D加速和较好的3D加速功能,但相比ati官方驱动,功能仍然不全(比如, powersaving仍然处于测试阶段)。
 
**支持DRI1, RandR 1.2/1.3, EXA加速和Kernel-Mode-Setting/DRI2(使用最新的linux kernel,libDRM和mesa版本)。
 
  
Generally, '''xf86-video-ati''' should be your first choice, no matter which ATI card you own. In case you need to use a driver for newer ATI cards, you should prefer the proprietary '''catalyst''' driver.
+
== 载入 ==
  
{{Note|xf86-video-ati is recognized as "'''radeon'''" by Xorg (in {{ic|xorg.conf}}). }}
+
radeon模块应该在启动时被正常载入.
  
== 安装==
+
要是没有的话...
{{注意| 如果你之前安装过私有驱动(catalyst),请确认卸载,删除老的{{ic|/etc/X11/xorg.conf}},并重启系统。}}
 
  
[[pacman (简体中文)|安装]] 位于 [[Official Repositories (简体中文)|官方软件仓库]] 的 {{Pkg|xf86-video-ati}}。  
+
* 确保 [[Kernel_parameters_(简体中文)|内核参数]] 中'''没有''' {{ic|nomodeset}} 或 {{ic|1=vga=}},因为现在 radeon 需要[[Kernel mode setting (简体中文)|内核级显示模式设置]]。
 
+
* 另外,确保 radeon 模块不在内核模块[[Kernel_modules#Blacklisting|黑名单]]中。
The -git version of the driver and other needed packages (linux-git, etc) can be found in the [https://bbs.archlinux.org/viewtopic.php?id=79509&p=1 radeon repository] or the [[AUR]].
 
  
 
== 配置 ==
 
== 配置 ==
Line 61: Line 55:
 
通过此段可以调整显卡的设置。
 
通过此段可以调整显卡的设置。
  
== Kernel mode-setting (KMS) ==
+
=== 早启动 KMS ===
 +
 
 +
{{小贴士|若分辨率有问题,试试[[Kernel mode setting (简体中文)#强设模式和 EDID|强设模式]]也许可以解决.}}
 +
 
 +
现在 radeon 支持并需要[[Kernel mode setting (简体中文)|内核级显示模式设置]] (KMS)。KMS 默认启用。
  
[[KMS]] enables native resolution in the framebuffer and allows for instant console (tty) switching. KMS also enables newer technologies (such as DRI2) which will help reduce artifacts and increase 3D performance, even kernel space power-saving.
+
KMS一般在[[Arch boot process (简体中文)#initramfs|载入initramfs]]后初始化.不过,也可以在载入initramfs时启用KMS:将 {{ic|radeon}} 模块添加到 {{ic|/etc/mkinitcpio.conf}} 的 {{ic|MODULES}} 列:
  
KMS for ATI video cards requires the [[Xorg]] free video user space driver {{Pkg|xf86-video-ati}} version 6.12.4 or later.
+
MODULES="... radeon ..."
  
=== 启用 KMS ===
+
重生成initramfs:
  
从 2.6.33 内核开始, ATI 显卡的 KMS 已经默认 '''启用'''。
+
# mkinitcpio -p linux
  
==== KMS 早启动====
+
下次重启生效.
  
''This method will start KMS as early as possible in the [[boot process]] (when the [[initramfs]] is loaded).''
+
== 性能调整 ==
 +
=== 启动视频加速 ===
  
If you have a special kernel (e.g. linux-zen), remember to use appropriate mkinitcpio configuration file, e.g. {{ic|/etc/mkinitcpio-zen.conf}}. These instructions are written for the default kernel ({{Pkg|linux}}).
+
参见[[Hardware video acceleration]]。
  
# Remove all {{ic|<nowiki>vga=</nowiki>}} options from the ''kernel'' line in the bootloader configuration file ({{ic|/boot/grub/menu.lst}} for [[GRUB]] users).  Using other framebuffer drivers (such as {{ic|[[uvesafb]]}} or {{ic|radeonfb}}) will conflict with KMS. Remove any framebuffer related modules from {{ic|/etc/mkinitcpio.conf}}. {{ic|<nowiki>video=</nowiki>}} can now be used in conjunction with KMS.
+
=== 驱动设置 ===
# Add {{ic|radeon}} to {{ic|MODULES}} array in {{ic|/etc/mkinitcpio.conf}}. For AGP support, it is necessary to add {{ic|intel_agp}} (or {{ic|ali_agp}}, {{ic|ati_agp}}, {{ic|amd_agp}}, {{ic|amd64_agp}} etc.) before the {{ic|radeon}} module.
+
下面这些选项属于{{ic|/etc/X11/xorg.conf.d/'''20-radeon.conf'''}}.
# Re-generate your initramfs: {{ic|# mkinitcpio -p linux}}
 
# AGP speed can be set with {{ic|<nowiki>radeon.agpmode=x</nowiki>}} kernel option, where x is 1, 2, 4, 8 (AGP speed) or -1 (PCI mode).
 
# '''Reboot''' the system.
 
  
==== 晚启动 ====
+
请在应用驱动选项之前先阅读 {{man|4|radeon}} 和 [https://www.x.org/wiki/RadeonFeature/#index4h2 RadeonFeature]
''With this choice, KMS will be enabled when modules are loaded during the [[boot process]].''
 
  
If you have a special kernel (e.g. linux-zen), remember to use appropriate mkinitcpio configuration file, e.g. {{ic|/etc/mkinitcpio-zen.conf}}. These instructions are written for the default kernel ({{Pkg|linux}}).
+
'''Acceleration architecture'''; Glamor是一种使用OpenGL的 2D加速方式,适用于R300及以上显卡驱动。
 +
自xf86-video-ati版本1:7.2.0-1后, 在radeonsi(南方群岛系列 和 superior GFX 显卡)上glamor默认启用; 在其他显卡默认使用 EXA.
  
# Remove all {{ic|<nowiki>vga=</nowiki>}} options from the ''kernel'' line in the bootloader configuration file ({{ic|/boot/grub/menu.lst}} for [[GRUB]] users). Using other framebuffer drivers (such as {{ic|[[uvesafb]]}} or {{ic|radeonfb}}) will conflict with KMS. Remove any framebuffer related modules from {{ic|/etc/mkinitcpio.conf}}. {{ic|<nowiki>video=</nowiki>}} can now be used in conjunction with KMS.
+
  Option "AccelMethod" "glamor"
# Add {{ic|radeon}} to {{ic|MODULES}} array in {{ic|/etc/rc.conf}}. For AGP support, it may be necessary to add {{ic|intel_agp}} (or ali_agp, {{ic|ati_agp}}, {{ic|amd_agp}}, {{ic|amd64_agp}} etc.) before the {{ic|radeon}} module.
 
# '''Reboot''' the system.
 
  
{{Tip|Some users have reported faster [[udev]] module loading by adding {{ic|<nowiki>options radeon modeset=1</nowiki>}} to {{ic|/etc/modprobe.d/modprobe.conf}}.}}
+
使用 Glamor 加速方式时可以启用 '''ShadowPrimary''' 选项,它将启用一个被称为 "shadow primary" 的缓冲区来供CPU快速存取像素信息,并给每个显示控制器 (CRTC) 分离出单独的 scanout  缓冲区。这将提升某些 2D 工作的性能,但可能会降低其他(比如3D)工作的性能。
  
=== Kernel Mode Setting 问题解决 ===
+
Option "ShadowPrimary" "on"
  
==== 停用KMS ====
+
'''ColorTiling''' 和 '''ColorTiling2D''' 是绝对安全的,并且默认被启用. 大多数用户能注意到性能的提升,但是这个功能R200及更早的显卡不支持. 早的显卡虽可以启用,但是工作负担转移到了cpu上
Users should consider disabling kernel mode-setting if encountering kernel panics, distorted framebuffer on boot, no GPU signal, [[Xorg]] refusing to start, Xorg falling back to Mesa software rasterizer (no 3D acceleration) or 'POWER OFF' problem (kernel 2.6.33-2)at shutdown.
 
  
# Add {{ic|<nowiki>radeon.modeset=0</nowiki>}} (or {{ic|nomodeset}}, if this does not work) to the kernel options line in the bootloader configuration file ({{ic|/boot/grub/menu.lst}} for [[GRUB]] users). That should work. {{Note| Adding '''nomodeset''' to the kernel boot line might prevent Gnome 3's gnome-shell or KDE's desktop effects from running.}} If you want to remove KMS support from the initramfs, follow the next two steps.
+
Option "ColorTiling" "on"
# If {{ic|radeon}} was added to the {{ic|MODULES}} array in {{ic|mkinitcpio.conf}} to enable ''early start'', remove it.
+
Option "ColorTiling2D" "on"
# Rebuild the [[initramfs]] with {{bc|# mkinitcpio -p linux}}
 
  
Alternatively, module options can be specified in a file within the {{ic|/etc/modprobe.d}} directory. If using the '''radeon''' module ({{ic|<nowiki>lsmod | grep radeon</nowiki>}}) disable KMS by creating a file containing the above code:
+
'''DRI3''' 默认是启用的,老卡默认使用 DRI2, 要切换到 DRI3:
  
{{hc|/etc/modprobe.d/radeon.conf|2=options radeon modeset=0}}
+
Option "DRI" "3"
  
==== Renaming {{ic|xorg.conf}} ====
+
'''TearFree''' 使用硬件的 flipping mechanism 机制来防止撕裂。当前启用这个选项会禁用 "EnablePageFlip" 选项。
Renaming {{ic|/etc/X11/xorg.conf}}, which may include options that conflict with KMS, will force Xorg to autodetect hardware with sane defaults. After renaming, '''restart''' Xorg.
 
  
== 性能调整 ==
+
Option "TearFree" "on"
 +
 
 +
'''EXAVSync ''' 选项仅在使用 EXA 加速方式时有效,它通过stalling the engine until the display controller has passed the destination region来避免撕裂。这将导致性能下降,并已知在某些芯片上导致不稳定。
 +
 
 +
Option "EXAVSync" "yes"
  
下面这些选项属于{{ic|/etc/X11/xorg.conf.d/'''20-radeon.conf'''}}.
+
下面是一个简单的 {{ic|/etc/X11/xorg.conf.d/'''20-radeon.conf'''}} 配置文件示例:
By design, xf86-video-ati runs at AGP 4x speed. It is generally safe to modify this. If you notice hangs, try reducing the value or removing the line entirely (you can use values 1, 2, 4, 8). If KMS is enabled, this option is not used and it is superseded by {{ic|radeon.agpmode}} kernel option.
 
  
  Option "AGPMode" ""
+
{{bc|
+
Section "Device"
 +
        Identifier "Radeon"
 +
        Driver "radeon"
 +
        Option "AccelMethod" "glamor"
 +
        Option "DRI" "3"
 +
        Option "TearFree" "on"
 
         Option "ColorTiling" "on"
 
         Option "ColorTiling" "on"
'''ColorTiling''' 启用是绝对安全的,并且这被认为是默认的设置。 Most users will notice increased performance but its not yet supported on R200 and earlier cards. Can be enabled on earlier cards, but the workload is transferred to the CPU
+
        Option "ColorTiling2D" "on"
 +
EndSection
 +
}}
  
Option "ColorTiling" "on"
+
{{小贴士|{{AUR|driconf}} 是一个可以修改诸多设置的小工具,如 vsync, anisotropic filtering, texture compression 等。它还有一些程序(比如Goole Earth)需要的"disable Low Impact fallback"功能。}}
 +
 
 +
=== 内核参数 ===
 +
{{小贴士|你也许想用 {{ic|systool}} 来调试新的参数,参见[[Kernel modules (简体中文)#概览|这里]]{{Broken section link}}。}}
  
'''Acceleration architecture'''; this will work only on '''newer''' cards. If you enable this and then cannot get back into X, remove it.
+
如果 '''gartsize''' 没有被自动检测到,请添加 {{ic|1=radeon.gartsize=32}} 到 [[Kernel parameters (简体中文)|内核参数]]来手动定义它。
  
Option "AccelMethod" "EXA"
+
{{注意|对于新的AMD显卡不再需要设置这个参数:
 +
{{bc|<nowiki>
 +
[drm] Detected VRAM RAM=2048M, BAR=256M
 +
[drm] radeon: 2048M of VRAM memory ready
 +
[drm] radeon: 2048M of GTT memory ready.
 +
</nowiki>}}
 +
}}
  
'''Page Flip''' is generally safe to enable. This would mostly be used on older cards, as enabling this would disable EXA. With recent drivers can be used together with EXA.
+
重启后生效。
  
Option "EnablePageFlip" "on"
+
==== 关闭 PCIE 2.0 ====
  
'''AGPFastWrite''' will enable fast writes for AGP cards. This one can cause instabilities, so be prepared to remove it if you cannot get into X. This option is not used when KMS is on.
+
从3.6版内核开始,radeon里PCIE 2.0选项默认启用。
  
Option "AGPFastWrite" "yes"
+
对一些主板可能不稳定,可以向[[Kernel parameters|内核参数]]添加 {{ic|1=radeon.pcie_gen2=0}} 来关闭。
  
'''EXAVSync ''' option  attempts  to avoid tearing by stalling the engine until the display controller has passed the destination region. It reduces tearing at the cost of  performance and has been know to cause instability on some chips.
+
参考 [http://www.phoronix.com/scan.php?page=article&item=amd_pcie_gen2&num=1 Phoronix 文章]
Really useful when enabling Xv overlay on videos on a 3D accelerated desktop. It is not necessary when KMS (thus DRI2 acceleration) is enabled.
 
  
Option "EXAVSync" "yes"
+
=== Gallium HUD ===
 +
 
 +
radeonsi 驱动支持激活一个HUD,来显示透明的图像及文字于正在渲染的程序(如游戏)之上。可以显示当前帧率,每个CPU核心负载或者CPU负载平均值。这个HUD受 GALLIUM_HUD 环境变量控制,可以添加一些参数如:
 +
*"fps" - 显示当前帧率
 +
*"cpu" - 显示平均CPU负载
 +
*"cpu0" - 显示第一个CPU核心负载
 +
*"cpu0+cpu1" - 显示前两个CPU核心负载
 +
*"draw-calls" - 显示一个物体的每个材质被显示到屏幕上多少次(displays how many times each material in an object is drawn to the screen)
 +
*"requested-VRAM" - 显示GPU的VRAM使用量
 +
*"pixels-rendered" - 显示正在显示的像素计数
  
Bellow is a sample config file {{ic|/etc/X11/xorg.conf.d/'''20-radeon.conf'''}}:
+
关于参数的完整列表以及操作GALLIUM_HUD的一些注意事项,你可以添加"help"参数运行一个简单程序(如glxgears)来查看相应的终端输出。
 +
{{bc|1=# GALLIUM_HUD="help" glxgears }}
  
{{bc|
+
更多信息参见 [http://lists.freedesktop.org/archives/mesa-dev/2013-March/036586.html 邮件列表页面] 或 [https://kparal.wordpress.com/2014/03/03/fraps-like-fps-overlay-for-linux/ 这篇博客].
Section "Device"
 
      Identifier  "My Graphics Card"
 
        Option "AGPMode"              "8"  #not used when KMS is on
 
Option "AGPFastWrite"          "off" #could cause instabilities enable it at your own risk
 
Option "SWcursor"              "off" #software cursor might be necessary on some rare occasions, hence set off by default
 
Option "EnablePageFlip"        "on"  #supported on all R/RV/RS4xx and older hardware and set off by default
 
Option "AccelMethod"          "EXA" #valid options are XAA and EXA. EXA is the newest acceleration method and its the default.
 
Option "RenderAccel"          "on"  #enabled by default on all radeon hardware
 
Option "ColorTiling"          "on"  #enabled by default on RV300 and later radeon cards.
 
Option "EXAVSync"              "off" #default is off, otherwise on
 
Option "EXAPixmaps"            "on"  #when on icreases 2D performance, but may also cause artifacts on some old cards
 
Option "AccelDFS"              "on"  #default is off, read the radeon manpage for more information
 
EndSection
 
}}
 
  
Defining the '''gartsize''', if not autodetected, can be done with the following option:
+
== 混合交火 ==
  
In the kernel options (in this case {{ic|syslinux.cfg}}):
+
这是一项通常在配备了双显卡——一块比较节能(比如Intel的核芯显卡),另一块为高性能、高能耗(Radeon或NVIDIA)的笔记本上启用的特性。有两种方法可以启用它:
  
APPEND root=/dev/sda1 ro 5 radeon.modeset=1 radeon.agpmode=8 radeon.gartsize=32 quiet
+
* 如果不需要运行很吃GPU的程序,可以禁用独立显卡(参见[https://help.ubuntu.com/community/HybridGraphics#Using_vga_switcheroo Ubuntu wiki] ): {{ic|echo OFF > /sys/kernel/debug/vgaswitcheroo/switch}}。
 +
* [[PRIME]]是在Linux系统中使用双显卡切换的正确方式,但仍然需要用户进行大量手动设置。
  
Size is in megabytes and 32 is for RV280 cards.
+
== 节能 ==
 +
{{注意|所有vbios中包含有适当电源状态表的显卡芯片(R1xx 及更新的)都支持电源管理。"dpm"仅在 R6xx 以及更新的芯片上被支持。}}
  
Alternatively, do it with a modprobe option in {{ic|/etc/modprobe.d/radeon.conf}}:
+
开源驱动的节电功能默认关闭,需要可手动启用.
  
options radeon gartsize=32
+
三种方法可供选择:
  
'''For further information and other options, read the radeon manpage and the module's info page''':
+
# [[#动态电源管理|dpm]](3.13内核后默认启用)
man radeon
+
# [[#动态频率调整|dynpm]]
 +
# [[#基于计划的频率调整|profile]]
  
modinfo radeon
+
详见 http://www.x.org/wiki/RadeonFeature/#index3h2 .
  
A fine tool to try is [https://www.archlinux.org/packages/community/any/driconf/ driconf]. It will allow you to modify several settings, like vsync, anisotropic filtering, texture compression, etc. Using this tool it is also possible to "disable Low Impact fallback" needed by some programs (e.g. Google Earth).
+
=== 动态电源管理 ===
  
=== Activate PCI-E 2.0 ===
+
从3.13内核开始,在[http://kernelnewbies.org/Linux_3.13#head-f95c198f6fdc7defe36f470dc8369cf0e16898df 很多 AMD Radeon 设备]上 DPM 默认启用。如果要禁用可加入参数 {{ic|1=radeon.dpm=0}} 到 [[kernel parameters]]。
Can be unstable with some motherboards or not produce any performarce, test yourself adding "radeon.pcie_gen2=1" on the kernel command line.
 
  
More info on [http://www.phoronix.com/scan.php?page=article&item=amd_pcie_gen2&num=1 Phoronix article]
+
{{Tip|DPM 可以支持 R6xx,但是在内核里默认没有启用,仅 R7xx 及之后的显卡才默认启用. 在内核参数中加入 {{ic|1=radeon.dpm=1}} 可以启用 dpm.}}
  
==节能==
+
不像[[#动态频率调整|dynpm]],“dpm"方式根据GPU负载情况动态调整时钟频率和电压,同时它会启用频率和电压门控.
  
节能部分对是否启用 KMS 完全不同。
+
dpm有3种模式可选:
  
=== 启用 KMS ===
+
* {{ic|battery}} 最节能
 +
* {{ic|balanced}} 默认
 +
* {{ic|performance}} 最佳性能
  
使用 radeon 驱动,节能默认是禁用的,但是现在通常的内核 (本文写作时是 2.6.35 ) 提供了一个 "sysfs" 工具来启用它。
+
可以通过sysfs来更改dpm的模式,如下:
 +
# echo battery > /sys/class/drm/card0/device/power_dpm_state
  
Power saving through KMS is still a work in progress for the most part. It should work, but some chips do have problems with it. A common issue for all is screen blinking when the kernel switches between power states, and in some configurations it even causes system freezes. But KMS is awesome, so it is your choice. The UMS method is generally more stable, however its power savings might not be as good as those provided by KMS options.
+
你也许想要强制显卡工作在某一性能等级下:
  
有两种方法启用电源管理:
+
* {{ic|auto}} 默认; 使用当前dpm模式限定的所有性能等级
 +
* {{ic|low}} 强制在最低性能
 +
* {{ic|high}} 强制在最高性能
  
#试着添加 {{ic|1=radeon.dynpm=1}} 到内核参数中。(如果使用 the stock kernel < 2.6.35)。如果你使用 Linux kernel >= 2.6.35 这部分不再需要,并且 sysfs 界面默认是提供的。如果这个选项被传递到 kernel >= 2.6.35,驱动会失败并返回到软件渲染模式。
+
# echo low > /sys/class/drm/card0/device/power_dpm_force_performance_level
#使用 (未支持的) [radeon] repo:
 
  
This repository will grant you up-to-date packages of the radeon driver and its dependencies, from (mostly) git snapshots.
+
==== 命令行工具 ====
  
{{bc|1=
+
* [https://github.com/superjamie/snippets/blob/master/radcard radcard] - 一个获取/调整 DPM 电源状态与级别的脚本。
[radeon]
 
Server = http://spiralinear.org/perry3d/$arch/
 
}}
 
  
You can select the methods via sysfs.
+
=== 老方法 ===
  
With root access, you have two choices:
+
==== 动态频率调整 ====
  
1. '''Dynamic frequency switching (depending on GPU load)'''
+
此方法根据GPU负载自动改变时钟频率,所以GPU忙碌时显示性能提高,空闲时降低。自动变频试图在垂直消隐期间进行,但由于变频函数可能在周期内无法完成,这种方法可能导致显示闪烁。因此,动态调整只能在单显示器下正常工作。
  
{{bc|# echo dynpm > /sys/class/drm/card0/device/power_method}}
+
可以通过以下命令启用:
  
The "dynpm" method dynamically changes the clocks based on the number of pending fences, so performance is ramped up when running GPU intensive apps, and ramped down when the GPU is idle. The re-clocking is attempted during vertical blanking periods, but due to the timing of the re-clocking functions, does not always complete in the blanking period, which can lead to flicker in the display. Due to this, dynpm only works when a single head is active.
+
# echo dynpm > /sys/class/drm/card0/device/power_method
  
{{注意|The "profile" method mentioned below is not as aggressive as "dynpm," but is currently much more stable and flicker free and works with multiple heads active.}}
+
==== 基于计划的频率调整 ====
  
2. '''Profile-based frequency switching'''
+
该方法允许你选择5种不同的计划。主要来说,不同的计划最终都改变GPU时钟频率和电压。这种方式不同于积极方式,但更稳定,少闪屏,而且可用于多显示器环境
  
{{bc|# echo profile > /sys/class/drm/card0/device/power_method}}
+
要激活此方法,可运行以下命令:
  
The "profile" mode will allow you to select one of the five profiles below.
+
# echo profile > /sys/class/drm/card0/device/power_method
Different profiles, for the most part, end up changing the frequency/voltage of the card.
 
  
* "default" uses the default clocks and does not change the power state. This is the default behavior.
+
可选的计划:
* "auto" selects between "mid" and "high" power states based on the whether the system is on battery power or not. The "low" power state are selected when the monitors are in the dpms off state.
+
* {{ic|default}}    使用默认时钟频率,不改变电源状态。这是默认启用的计划。
* "low" forces the gpu to be in the low power state all the time. Note that "low" can cause display problems on some laptops; this is why auto only uses "low" when displays are off.
+
* {{ic|auto}}  根据系统是否使用电池,在电源状态 {{ic|mid}} 和 {{ic|high}} 间自动切换
* "mid" forces the gpu to be in the "mid" power state all the time. The "low" power state is selected when the monitors are in the dpms off state.
+
* {{ic|low}}    强制GPU运行于{{ic|low}}电源状态.注意{{ic|low}}在某些笔记本上可能导致显示问题, 如{{ic|auto}} 计划在显示器关闭时只选中{{ic|low}}.(Note that {{ic|low}} can cause display problems on some laptops, which is why {{ic|auto}} only uses {{ic|low}} when monitors are off. ) 在其他计划中,当显示器进入节能状态时,将自动切换为 {{ic|low}} 计划
* "high" forces the gpu to be in the "high" power state all the time. The "low" power state is selected when the monitors are in the dpms off state.
+
* {{ic|mid}}    强制GPU运行于{{ic|mid}}电源状态.
 +
* {{ic|high}}  强制GPU运行于{{ic|high}}电源状态.
  
So lets say we want the "low" option...for this, run the following command:
+
例如,我们可以激活{{ic|low}} 计划(你可以根据需要替换为上述其他计划):
  
{{bc|# echo low > /sys/class/drm/card0/device/power_profile}}
+
# echo low > /sys/class/drm/card0/device/power_profile
  
Replace "low" with any of the aforementioned profiles as necessary.
+
==== 永久配置 ====
  
{{注意|Echoing a profile value to this file is not permanent, so when you find something that fits your needs, you will need to add it to /etc/rc.local, so it is executed at system startup.}}
+
上述方法不是永久性的,系统重启后将丢失。为了让它一直有效,可以使用[[udev]]规则, 例如设置基于计划的频率调整  :
  
Power management is supported on all asics (r1xx-evergreen) that include the appropriate power state tables in the vbios; not all boards do (especially older desktop cards).
+
{{hc|/etc/udev/rules.d/30-radeon-pm.rules|<nowiki>
 +
KERNEL=="dri/card0", SUBSYSTEM=="drm", DRIVERS=="radeon", ATTR{device/power_method}="profile", ATTR{device/power_profile}="low"
 +
</nowiki>}}
  
To view the voltage that the GPU is running at, perform the following command and you will get something like this output:
+
{{注意|如果上述规则失效,你可以试试删除  {{ic|dri/}}  前辍.}}
 +
KERNEL=="card0", SUBSYSTEM=="drm", DRIVERS=="radeon", ATTR{device/power_method}="profile",
  
{{hc|$ cat /sys/kernel/debug/dri/0/radeon_pm_info|<nowiki>  state: PM_STATE_ENABLED
+
==== 图形化工具 ====
  default engine clock: 300000 kHz
 
  current engine clock: 300720 kHz
 
  default memory clock: 200000 kHz</nowiki>}}
 
  
If /sys/kernel/debug is empty, run this command:
+
* {{App|Radeon-tray|通过状态栏图标控制配置方式的小工具。基于PyQt4编写,适合非gnome桌面的用户。|https://github.com/StuntsPT/Radeon-tray|{{AUR|radeon-tray}}}}
  
{{bc|# mount -t debugfs none /sys/kernel/debug}}
+
=== 其它 ===
  
To permanently mount, add the following line to /etc/fstab:
+
要查看当前GPU频率,可以运行如下命令,你可以看到类似如下输出:
  
debugfs  /sys/kernel/debug  debugfs   defaults   0   0
+
{{hc|# cat /sys/kernel/debug/dri/0/radeon_pm_info|<nowiki>
 +
   state: PM_STATE_ENABLED
 +
   default engine clock: 300000 kHz
 +
   current engine clock: 300720 kHz
 +
   default memory clock: 200000 kHz
 +
</nowiki>}}
  
 
It depends on which GPU line yours is, however. Along with the radeon driver versions, kernel versions, etc. So it may not have much/any voltage regulation at all.
 
It depends on which GPU line yours is, however. Along with the radeon driver versions, kernel versions, etc. So it may not have much/any voltage regulation at all.
 +
 +
Thermal sensors are implemented via external i2c chips or via the internal thermal sensor (rv6xx-evergreen only). To get the temperature on asics that use i2c chips, you need to load the appropriate hwmon driver for the sensor used on your board (lm63, lm64, etc.). The drm will attempt to load the appropriate hwmon driver. On boards that use the internal thermal sensor, the drm will set up the hwmon interface automatically. When the appropriate driver is loaded, the temperatures can be accessed via [[lm_sensors]] tools or via sysfs in {{ic|/sys/class/hwmon}}.
  
Thermal sensors are implemented via external i2c chips or via the internal thermal sensor (rv6xx-evergreen only). To get the temperature on asics that use i2c chips, you need to load the appropriate hwmon driver for the sensor used on your board (lm63, lm64, etc.). The drm will attempt to load the appropriate hwmon driver. On boards that use the internal thermal sensor, the drm will set up the hwmon interface automatically. When the appropriate driver is loaded, the temperatures can be accessed via lm_sensors tools or via sysfs in /sys/class/hwmon .
+
== 风扇速度 ==
 +
即使上述省电功能应该能很好调整风扇速度,一些显卡在空闲状态时仍然太吵了。这时,如果你的风扇支持的话,你可以尝试手动改变风扇速度。
  
There is a GUI for switching profiles [http://code.google.com/p/power-play-switcher here] ([https://aur.archlinux.org/packages.php?ID=53752 available in AUR]).
+
{{注意|
 
+
* 请谨记以下方法会将风扇速度设置为固定值,它不会随着 gpu 的压力而调整,所以在高负荷工作时这有可能导致过热。
===未启用 KMS===
+
* 设置低于标准的数值时最好检查你的 gpu 温度。
 +
}}
  
在 {{ic|xorg.conf}} 文件中的 "Device" 部分添加两行:
+
首先,输入如下命令来启用 gpu(或者在多 gpu 的情况下,第一个 gpu)的风扇手动调速。
        Option      "DynamicPM"          "on"
 
        Option      "ClockGating"        "on"
 
  
如果这两个选项正确启用,你可以在 {{ic|/var/log/Xorg.0.log}} 中看见如下几行:
+
# echo 1 > /sys/class/drm/card0/device/hwmon/hwmon0/pwm1_enable
  
        (**) RADEON(0): Option "ClockGating" "on"
+
接下来设置你想要的风扇速度,可选的数值为 0 到 255,分别对应 0-100% 的风扇速度。(比如下例设置为了大约 20%)
        (**) RADEON(0): Option "DynamicPM" "on"
 
  
        Static power management enable success
+
# echo 55 > /sys/class/drm/card0/device/hwmon/hwmon0/pwm1
        (II) RADEON(0): Dynamic Clock Gating Enabled
 
        (II) RADEON(0): Dynamic Power Management Enabled
 
  
如果你喜欢低耗电,你可以在 "Device" 部分再添加以下一行:
+
如果要让此成为永久设置,使用 [[#永久配置]]。
        Option      "ForceLowPowerMode"  "on"
 
  
== TV输出(TV out) ==
+
如果固定值不符合你的期望,还可以自定义为按一个温度/风扇速度曲线来调整,比如写一个脚本,来根据当前温度 (/sys/class/drm/card0/device/hwmon/hwmon0/temp1_input) 设置风扇速度,最好还能设置为温度变化后延迟调整。这里有一个图形界面的工具:{{AUR|radeon-profile-git}}
{{out of date}}
 
自2007年8月起,所有集成了tv-out功能的Radeon显卡都有了驱动的tv-out支持。
 
  
目前tv-out还有一些局限:它对输出的自动识别并不总是正确,而且只支持NTSC制式。
+
== TV输出 ==
  
首先,检查你的S端子输出:{{ic|xrandr}}应该会给你类似如下的结果:
+
首先,检查你有S-video输出:{{ic|xrandr}}应该会给你类似如下的结果:
  
 
  Screen 0: minimum 320x200, current 1024x768, maximum 1280x1200
 
  Screen 0: minimum 320x200, current 1024x768, maximum 1280x1200
 
  ...
 
  ...
 
  S-video disconnected (normal left inverted right x axis y axis)
 
  S-video disconnected (normal left inverted right x axis y axis)
 
+
现在我们要告诉Xorg线已经插好了(确实插好了,是吧?)
+
现在我们应该告诉Xorg它已经接上了 (本来就是,对吧)
 
+
  xrandr --output S-video --set "load detection" 1
  xrandr --output S-video --set load_detection 1
+
 
 
 
设定TV制式标准
 
设定TV制式标准
 
+
  xrandr --output S-video --set "tv standard" ntsc
  xrandr --output S-video --set tv_standard ntsc
 
  
 
为它添加一个分辨率(目前只支持800x600)
 
为它添加一个分辨率(目前只支持800x600)
 
 
  xrandr --addmode S-video 800x600
 
  xrandr --addmode S-video 800x600
  
我打算使用复制模式(clone mode)
+
复制模式(clone mode)
 
 
 
  xrandr --output S-video --same-as VGA-0
 
  xrandr --output S-video --same-as VGA-0
  
 
好了,让我们来看看效果吧
 
好了,让我们来看看效果吧
 
 
  xrandr --output S-video --mode 800x600
 
  xrandr --output S-video --mode 800x600
  
Line 312: Line 316:
  
 
要关掉这一输出:
 
要关掉这一输出:
 
 
  xrandr --output S-video --off
 
  xrandr --output S-video --off
  
你可能还发现视频只在显示器上播放,而电视上没有。XV_CRTC属性控制着Xv overlay的输出方向。
+
=== 在KMS中强制TV输出 ===
  
把输出指向电视:
+
内核可识别下列格式的 {{ic|1=video=}} 参数 (参见[[KMS]]):
  
  xvattr -a XV_CRTC -v 1
+
  video=<conn>:<xres>x<yres>[M][R][-<bpp>][@<refresh>][i][m][eDd]
  
要切换回显示器,把{{ic|1}}改成{{ic|0}}。{{ic|-1}}应用于双头显示(dual head)设置中的自动切换。
+
例如:
  
Please see [http://www.x.org/wiki/radeonTV Enabling TV-Out Statically] for how to enable TV-out in your xorg configuration file.
+
video=DVI-I-1:1280x1024-24@60e
  
=== Force TV-out in KMS ===
+
带有空格的参数必须用引号括起:
  
Kernel can recognize {{ic|1=video=}} parameter in following form:
+
"video=9-pin DIN-1:1024x768-24@60e"
  
  video=<conn>:<xres>x<yres>[M][R][-<bpp>][@<refresh>][i][m][eDd]
+
Current mkinitcpio implementation also requires {{ic|#}} in front. For example:
  
(see [[KMS]])
+
root=/dev/disk/by-uuid/d950a14f-fc0c-451d-b0d4-f95c2adefee3 ro quiet radeon.modeset=1 security=none # video=DVI-I-1:1280x1024-24@60e "video=9-pin DIN-1:1024x768-24@60e"
  
For example:
+
* [[GRUB Legacy]] 可直接接受如上参数。
 +
*  [[LILO]]  需要在双引号前使用“\”转义 (例如 {{ic|1=# \"video=9-pin DIN-1:1024x768-24@60e\"}})
  
  video=DVI-I-1:1280x1024-24@60e
+
You can get list of your video outputs with following command:
or
 
  "video=9-pin DIN-1:1024x768-24@60e"
 
  
Parameters with whitespaces must be quoted. Current mkinitcpio implementation also requires # before. For example:
+
{{bc|<nowiki>$ ls -1 /sys/class/drm/ | grep -E '^card[[:digit:]]+-' | cut -d- -f2-</nowiki>}}
  
  root=/dev/disk/by-uuid/d950a14f-fc0c-451d-b0d4-f95c2adefee3 ro quiet radeon.modeset=1 security=none # video=DVI-I-1:1280x1024-24@60e "video=9-pin DIN-1:1024x768-24@60e"
+
== HDMI 音频输出 ==
  
* Grub can pass such command line as is.
+
HDMI 音频输出在 {{Pkg|xf86-video-ati}} 软件包中提供支持。要启禁用,在[[Kernel parameters (简体中文)|内核参数]]中添加 {{ic|1=radeon.audio=0}}。
* Lilo needs backslashes for doublequotes (append="...... # .... \"video=9-pin DIN-1:1024x768-24@60e\"")
 
* Grub2: TODO
 
  
You can get list of your video outputs with following command:
+
如果启动后没有视频输出,则请禁用这个参数。
  
{{bc|<nowiki>ls -1 /sys/class/drm/ | grep -E '^card[[:digit:]]+-' | cut -d- -f2-</nowiki>}}
+
{{注意|
 +
* 如果在安装驱动后 HDMI 音频没有工作,请使用[[Advanced Linux Sound Architecture (简体中文)#HDMI 输出无效|这里]]提供的方法进行检测。
 +
* 如果在 PulseAudio 中声音出现问题,尝试设置 {{ic|1=tsched=0}}(参见 [[PulseAudio/Troubleshooting#Glitches, skips or crackling]])并确保 {{ic|rtkit}} 守护进程正在运行。
 +
* 因为 HDA 兼容硬件的相似性,你的声卡可能使用相同的模块。请使用推荐的方式[[Advanced Linux Sound Architecture (简体中文)#设置默认声卡|改变默认声卡]],比如修改 alsa 配置文件的 {{ic|defaults}} 节点。
 +
}}
  
== HDMI输出声音 ==
+
== 多显设置 ==
  
'''xf86-video-ati''' can enable HDMI audio output for all supported chipsets up to r7xx when using [[ATI#Kernel_mode-setting_.28KMS.29|KMS]]. Just use xrandr to enable the output and Test as described below.
+
=== 使用 RandR 扩展 ===
  
=== Testing HDMI Audio ===
+
参见 [[Multihead#RandR]]
# Connect your PC to the Display via HDMI cable.
 
# Use xrandr to get picture to the Display. Ex: {{ic|xrandr --output DVI-D_1 --mode 1280x768 --right-of PANEL}}. Simply typing {{ic|xrandr}} will give you a list of your valid outputs.
 
# Run {{ic|aplay -l}} to get the list of your sound devices. Find HDMI and note the card number and corresponding device number. Example of what you want to see: {{ic|card 1: HDMI [HDA ATI HDMI], device 3: ATI HDMI [ATI HDMI]}}
 
# Try sending sound to this device: {{ic|aplay -D plughw:1,3 /usr/share/sounds/alsa/Front_Center.wav}}. Be sure to change plughw:z,y to match your hardware number found with last command. You should be able to hear the test sound from your Display.
 
  
* The audio module is disabled by default in kernel >=3.0. Add {{ic|1=radeon.audio=1}} to the end of your "kernel" line in /boot/grub/menu.lst to enable it.
+
=== 独立的 X screen ===
* See [https://bbs.archlinux.org/viewtopic.php?id=124130 this thread]
 
  
== Dual Head Setup ==
+
独立的双显示器可以按正常方式配置,radeon 驱动有一个 {{ic|"ZaphodHeads"}} 选项可以把显示的区域绑定到固定的设备,例如:
=== Independent X Screens ===
+
{{hc|/etc/X11/xorg.conf.d/20-radeon.conf|
Independent dual-headed setups can be configured the usual way. However you might want to know that the radeon driver has a {{ic|"ZaphodHeads"}} option which allows you to bind a specific device section to an output of your choice, for instance using:
+
Section "Device"
        Section "Device"
+
  Identifier "Device0"
        Identifier     "Device0"
+
  Driver "radeon"
        Driver         "radeon"
+
  Option "ZaphodHeads" "VGA-0"
        Option         "ZaphodHeads"   "VGA-0"
+
  VendorName "ATI"
        VendorName     "ATI"
+
  BusID "PCI:1:0:0"
        BusID         "PCI:1:0:0"
+
  Screen 0
        Screen         0
+
EndSection
        EndSection
+
}}
  
This can be a life-saver, because some cards which have more than two outputs (for instance one HDMI out, one DVI, one VGA), will only select and use HDMI+DVI outputs for the dual-head setup, unless you explicitely specify {{ic|"ZaphodHeads"   "VGA-0"}}.
+
有些显卡有多个输出(HDMI,DVI 和 VGA),而双屏显示的时候它只使用 HDMI+DVI,这时你可以通过 {{ic|"ZaphodHeads" "VGA-0"}} 来更改输出。这在使用多输出显卡时很方便。
  
Moreover, this option allows you to easily select the screen you want to mark as primary.
+
== 关闭垂直同步刷新==
  
== 已知问题及解决 ==
+
radeon驱动默认启用垂直同步刷新,除了跑分外各种情况下工作良好。要关闭它,可以创建 {{ic|~/.drirc}} (如果已存在请修改),加入以下部分 :
 +
{{hc|~/.drirc|<nowiki>
 +
<driconf>
 +
    <device screen="0" driver="dri2">
 +
        <application name="Default">
 +
            <option name="vblank_mode" value="0" />
 +
        </application>
 +
    </device>
 +
    <!-- Other devices ... -->
 +
</driconf>
 +
</nowiki>}}
  
=== I encounter artifacts when logging into my DE or WM ===
+
请确保是 '''dri2''' , 而不是你的显卡型号(如 r600 )。
  
If you encounter artifacts, first try starting X without {{ic|/etc/X11/xorg.conf}}. Recent versions of Xorg are capable of reliable auto-detection and auto-configuration for most use cases. Outdated or improperly configured {{ic|xorg.conf}} files are known to cause trouble.
+
== 故障排除 ==
  
In order to run without a configuration tile, it is recommended that the {{Ic|xorg-input-drivers}} package group be installed.
+
=== 使用 EXA 时性能低 ===
 +
{{注意|仅适用于使用 EXA 的老显卡(R600 或更老).新卡应该使用  Glamor 。}}
 +
如果2D性能(比如在终端或浏览器的滚动滑块)有问题, 你可以将 {{ic|Option  "MigrationHeuristic"  "greedy"}} 添加到你的 {{ic|xorg.conf}} 文件的 {{ic|'''Device'''}} 部分. 禁用 {{ic|EXAPixmaps}} 也可能避免一些问题,但是可能带来别的问题,所以不建议使用。
  
Artifacts may also be related to [[kernel mode setting]]. Consider [[#Disable KMS|disabling KMS]].
+
这是一个样例 {{ic|/etc/X11/xorg.conf.d/'''20-radeon.conf'''}}:
  
You may as well try disabling EXAPixmaps to {{Ic|Section "Device"}} in {{ic|/etc/X11/'''xorg.conf'''}}:
+
{{bc|
 +
Section "Device"
 +
        Identifier  "My Graphics Card"
 +
        Driver  "radeon"
 +
        Option "AccelMethod" "exa"
 +
        Option  "MigrationHeuristic"  "greedy"
 +
        #Option "EXAPixmaps" "off"
 +
EndSection
 +
}}
  
Option "EXAPixmaps" "off"
+
=== 添加没有被侦测到的分辨率 ===
  
AccelDFS option is likely to cause the artifacts, try disabling this as well
+
参见[[Xrandr#Adding_undetected_resolutions|Xrandr的文章]].
  
  Option "AccelDFS" "off"
+
=== 电视屏幕显示黑边 ===
  
=== I have installed a free driver and my card is painfully slow ===
+
我的Radeon HD 5770用HDMI连接到电视时, 电视显示图像模糊,周围有2-3cm黑边,用催化剂时不是这样. 这是对付过扫描(Overscan)的(参见[[Wikipedia:Overscan]]),使用xrandr关闭它:
 +
xrandr --output HDMI-0 --set underscan off
  
{{注意|Make sure you are member of '''video''' group.}}
+
=== KMS启用时,黑幕,没有控制台,但是 X 能够工作 ===
  
Some cards can be installed by default trying to use [[ATI#AMD/Ati cards and kernel mode-setting (KMS)|KMS]]. You can check whether this is your case running:
+
当在同一台PC使用两张或以上的ATI显卡时可能会遇到此问题. 例如 Fujitsu Siemens Amilo PA 3553 笔记本就有这个问题. 这是因为fbcon控制台驱动程序将自己映射到错误显卡的错误 framebuffer 设备上. 在内核参数添加:
  dmesg | egrep "drm|radeon"
+
fbcon=map:1
 +
这将告诉fbcon映射自己到 {{ic|/dev/fb1}} 而不是 {{ic|/dev/fb0}}.如果这并未解决你的问题,尝试如下配置启动:
 +
  fbcon=map:0
  
This command might show something ''like'' this, meaning it is trying to default to KMS:
+
=== 显示器旋转对光标起效却对窗口/内容不起效 ===
[drm] radeon default to kernel modesetting.
 
...
 
[drm:radeon_driver_load_kms] *ERROR* Failed to initialize radeon, disabling IOCTL
 
  
If your card is not supported by KMS (anything older than r100), then you can [[ATI#Disable KMS|disable KMS]]. This should fix the problem.
+
启用EXA代替glamor的新显卡用户可能会发现,用xrandr旋转显示器将导致光标和显示器尺寸旋转了,但窗口与里面内容却保持原来方向. 另外移动鼠标时光标按照原来的方向移动.若有此问题,在你的 {{ic|/var/log/Xorg.0.log}} 中查找下面这一行:
 
+
{{bc|
=== AGP is disabled (with KMS) ===
+
(EE) RADEON(0): Rotation requires acceleration!
 
+
}}
If you experience poor performance and dmesg shows something like this
+
新显卡上使用EXA时加速将被禁用(来源: [https://bugs.freedesktop.org/show_bug.cgi?id=73420#c17 这里]). 你必须从启用EXA ([[#Glamor|参见这里]]{{Broken section link}}) 和旋转中二选一.
[drm:radeon_agp_init] *ERROR* Unable to acquire AGP: -19
 
then check if the agp driver for your motherboard (e.g., {{Ic|via_agp}}, {{Ic|intel_agp}} etc.) is loaded before the {{Ic|radeon}} module, see [[ATI#Enabling KMS|Enabling KMS]].
 
  
=== My TV is showing a black border around the screen ===
+
=== 在ATI X1600 (RV530 series)上3D应用程序显示黑窗口 ===
  
When I connected my TV to my Radeon HD 5770 using the HDMI port, the TV showed a blurry picture with a 2-3cm border around it. This is not the case when using the proprietary driver. However, this protection against overscanning (see [[Wikipedia:Overscan]]) can be turned off using xrandr:
+
这三种方法可能有效:
xrandr --output HDMI-0 --set underscan off
+
* 将 {{ic|<nowiki>pci=nomsi</nowiki>}} 添加到你的启动器的 [[Kernel parameters|内核参数]].
 +
* 如果没用的话,试试用{{ic|noapic}}代替{{ic|<nowiki>pci=nomsi</nowiki>}}.
 +
* 如果还是没用,你可以试试{{ic|<nowiki>vblank_mode=0 glxgears</nowiki>}} 或者 {{ic|<nowiki>vblank_mode=1 glxgears</nowiki>}},看看哪个对你有用. 然后安装{{AUR|driconf}} , 在{{ic|~/.drirc}}里设置此参数.
  
=== Black screen and no console, but X works in KMS ===
+
=== 从休眠中唤醒后光标崩溃 ===
This is a solution to no-console problem that might come up, when using two or more ATI cards on the same PC. Fujitsu Siemens Amilo PA 3553 laptop for example has this problem. This is due to fbcon console driver mapping itself to wrong framebuffer device that exist on the wrong card. This can be fixed by adding a this to the kernel boot line:
 
fbcon=map:1
 
This will tell the fbcon to map itself to the {{ic|/dev/fb1}} framebuffer dev and not the {{ic|/dev/fb0}}, that in our case exist on the wrong graphics card.
 
  
 +
如果显示器唤醒后光标垂直方向重复刷新,可以在配置文件 {{ic|20-radeon.conf}} 中的 {{ic|"Device"}} 部分里设置 {{ic|"SWCursor" "True"}}。
  
=== Some 3D applications show textures as all black or crash ===
+
=== 多显示器模式下DisplayPort黑屏 ===
You might need texture compression support, which is not included with the free driver.  Install [https://aur.archlinux.org/packages.php?ID=15571 libtxc_dxtn] from AUR (or [https://aur.archlinux.org/packages.php?ID=40343 lib32-libtxc_dxtn] for multilib systems).
 
  
For a list of supported games have a look at the [http://xorg.freedesktop.org/wiki/RadeonProgram Radeon Program] page.
+
尝试以[[kernel parameter|内核参数]] {{ic|1=radeon.audio=0}} 启动。
  
On R600 chips you additionally have to
+
=== R9-390 Poor Performance and/or Instability ===
export R600_ENABLE_S3TC=1
 
to enable the texture compression support (for permanent change write this line to your ~/.bashrc).
 
  
=== 2D performance (e.g. scrolling) is slow ===
+
Firmware issues with R9-390 series cards include poor performance and crashes (frequently caused by gaming or using Google Maps) possibly related DPM. Comment 115 of this bug [https://bugs.freedesktop.org/show_bug.cgi?id=91880 report] includes instructions for a fix.
If you have problem with 2D performance, like scrolling in terminal or browser, you might need to add {{ic|Option  "MigrationHeuristic"  "greedy"}} into the {{ic|"Device"}} section of your {{ic|xorg.conf}} file.
 
  
Bellow is a sample config file {{ic|/etc/X11/xorg.conf.d/'''20-radeon.conf'''}}:
+
=== QHD / UHD / 4k support over HDMI for older Radeon cards ===
  
{{bc|
+
Older cards have their pixel clock limited to 165MHz for HDMI. Hence, they do not support QHD or 4k only via dual-link DVI but not over HDMI.
Section "Device"
 
        Identifier  "My Graphics Card"
 
        Driver  "radeon"
 
        Option  "MigrationHeuristic"  "greedy"
 
EndSection
 
}}
 
  
=== 满屏彩色竖线条 发生在主板为RS482 (Xpress 200M 系列) 不论是开了还是关了KMS ===
+
One possibility to work around this is to use [https://www.elstel.org/software/hunt-for-4K-UHD-2160p.html.en custom modes with lower refresh rate], e.g. 30Hz.
问题描述:在主板为RS482 (Xpress 200M 系列) ,系统启动到x的时候,会发生满屏的彩色竖线条,导致屏幕的内容完全看不到。
 
  
问题严重程度:自从有了kms后,就开始出现这问题
+
Another one is a kernel patch removing the pixel clock limit, but this may damage the card!
  
问题解决:之前一开始以为是kms问题,但最近的更新(20121001起),发现即使是关了kms仍然无法解决此问题,之后经过研究,发现是dri引起的。详情可见:[https://bugs.archlinux.org/task/21918]
+
Official kernel bug ticket with patch for 4.8: https://bugzilla.kernel.org/show_bug.cgi?id=172421
  
初步解决办法:关闭dri (具体的就是在xorg.conf的Section "Device"处,反注释有NoAccel的那一行,把NoAccel 的属性改为True)
+
The patch introduces a new kernel parameter {{ic|radeon.hdmimhz}} which alters the pixel clock limit.  
  
副作用:启动还是会有彩色竖线条,如果是笔记本,只要合上,休眠后再开启,即可消除彩色竖线条。如果是台式机,可以抹黑重启x,即可解决问题。另外,不能使用任何3维加速软件,使用必出现各种问题
+
Be sure to use a high speed HDMI cable for this.

Latest revision as of 07:11, 11 August 2019

翻译状态: 本文是英文页面 ATI翻译,最后翻译时间:2017-12-04,点击这里可以查看翻译后英文页面的改动。

ATI/AMD显卡用户有两个选择:官方的专有驱动(catalystAUR)和开源驱动 (ATIAMDGPU)。本文主要介绍较旧的显卡使用的开源的 ATI/Radeon 驱动. 要选择正确的驱动,请参考Xorg#AMD

在很多显卡上开源驱动的性能几乎已经达到和闭源驱动一样的水平。(参见这里。)同时开源驱动有不错的多显支持,

如果你不确定该用哪种,请先试一试开源版的。开源驱动能满足大多数的需要,而且,一般来说遇到的麻烦也更少些。查看现在功能开发进展情况可访问 功能矩阵

这个页面可以将市场名(例如 Radeon HD4330) 映射到芯片组名(例如 R700).

安装

注意: 如果你之前安装过私有驱动(catalyst),请参见这里来卸载

[[Install|安装]软件包 mesa,它提供 DRI 和 3D 加速。

加速视频解码mesa-vdpaulib32-mesa-vdpau 包提供支持。

载入

radeon模块应该在启动时被正常载入.

要是没有的话...

配置

Xorg 会自动装入驱动并通过 EDID 获得显示器分辨率,只有性能优化时才需要额外配置。

如果要手动配置,请添加文件 /etc/X11/xorg.conf.d/20-radeon.conf, 并加入:

Section "Device"
    Identifier "Radeon"
    Driver "radeon"
EndSection

通过此段可以调整显卡的设置。

早启动 KMS

提示: 若分辨率有问题,试试强设模式也许可以解决.

现在 radeon 支持并需要内核级显示模式设置 (KMS)。KMS 默认启用。

KMS一般在载入initramfs后初始化.不过,也可以在载入initramfs时启用KMS:将 radeon 模块添加到 /etc/mkinitcpio.confMODULES 列:

MODULES="... radeon ..."

重生成initramfs:

# mkinitcpio -p linux

下次重启生效.

性能调整

启动视频加速

参见Hardware video acceleration

驱动设置

下面这些选项属于/etc/X11/xorg.conf.d/20-radeon.conf.

请在应用驱动选项之前先阅读 radeon(4)RadeonFeature

Acceleration architecture; Glamor是一种使用OpenGL的 2D加速方式,适用于R300及以上显卡驱动。 自xf86-video-ati版本1:7.2.0-1后, 在radeonsi(南方群岛系列 和 superior GFX 显卡)上glamor默认启用; 在其他显卡默认使用 EXA.

Option "AccelMethod" "glamor"

使用 Glamor 加速方式时可以启用 ShadowPrimary 选项,它将启用一个被称为 "shadow primary" 的缓冲区来供CPU快速存取像素信息,并给每个显示控制器 (CRTC) 分离出单独的 scanout 缓冲区。这将提升某些 2D 工作的性能,但可能会降低其他(比如3D)工作的性能。

Option "ShadowPrimary" "on"

ColorTilingColorTiling2D 是绝对安全的,并且默认被启用. 大多数用户能注意到性能的提升,但是这个功能R200及更早的显卡不支持. 早的显卡虽可以启用,但是工作负担转移到了cpu上

Option "ColorTiling" "on"
Option "ColorTiling2D" "on"

DRI3 默认是启用的,老卡默认使用 DRI2, 要切换到 DRI3:

Option "DRI" "3"

TearFree 使用硬件的 flipping mechanism 机制来防止撕裂。当前启用这个选项会禁用 "EnablePageFlip" 选项。

Option "TearFree" "on"

EXAVSync 选项仅在使用 EXA 加速方式时有效,它通过stalling the engine until the display controller has passed the destination region来避免撕裂。这将导致性能下降,并已知在某些芯片上导致不稳定。

Option "EXAVSync" "yes"

下面是一个简单的 /etc/X11/xorg.conf.d/20-radeon.conf 配置文件示例:

Section "Device"
        Identifier  "Radeon"
        Driver "radeon"
        Option "AccelMethod" "glamor"
        Option "DRI" "3"
        Option "TearFree" "on"
        Option "ColorTiling" "on"
        Option "ColorTiling2D" "on"
EndSection
提示: driconfAUR 是一个可以修改诸多设置的小工具,如 vsync, anisotropic filtering, texture compression 等。它还有一些程序(比如Goole Earth)需要的"disable Low Impact fallback"功能。

内核参数

提示: 你也许想用 systool 来调试新的参数,参见这里[broken link: invalid section]

如果 gartsize 没有被自动检测到,请添加 radeon.gartsize=32内核参数来手动定义它。

注意: 对于新的AMD显卡不再需要设置这个参数:
[drm] Detected VRAM RAM=2048M, BAR=256M
[drm] radeon: 2048M of VRAM memory ready
[drm] radeon: 2048M of GTT memory ready.

重启后生效。

关闭 PCIE 2.0

从3.6版内核开始,radeon里PCIE 2.0选项默认启用。

对一些主板可能不稳定,可以向内核参数添加 radeon.pcie_gen2=0 来关闭。

参考 Phoronix 文章

Gallium HUD

radeonsi 驱动支持激活一个HUD,来显示透明的图像及文字于正在渲染的程序(如游戏)之上。可以显示当前帧率,每个CPU核心负载或者CPU负载平均值。这个HUD受 GALLIUM_HUD 环境变量控制,可以添加一些参数如:

  • "fps" - 显示当前帧率
  • "cpu" - 显示平均CPU负载
  • "cpu0" - 显示第一个CPU核心负载
  • "cpu0+cpu1" - 显示前两个CPU核心负载
  • "draw-calls" - 显示一个物体的每个材质被显示到屏幕上多少次(displays how many times each material in an object is drawn to the screen)
  • "requested-VRAM" - 显示GPU的VRAM使用量
  • "pixels-rendered" - 显示正在显示的像素计数

关于参数的完整列表以及操作GALLIUM_HUD的一些注意事项,你可以添加"help"参数运行一个简单程序(如glxgears)来查看相应的终端输出。

# GALLIUM_HUD="help" glxgears

更多信息参见 邮件列表页面这篇博客.

混合交火

这是一项通常在配备了双显卡——一块比较节能(比如Intel的核芯显卡),另一块为高性能、高能耗(Radeon或NVIDIA)的笔记本上启用的特性。有两种方法可以启用它:

  • 如果不需要运行很吃GPU的程序,可以禁用独立显卡(参见Ubuntu wiki ): echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
  • PRIME是在Linux系统中使用双显卡切换的正确方式,但仍然需要用户进行大量手动设置。

节能

注意: 所有vbios中包含有适当电源状态表的显卡芯片(R1xx 及更新的)都支持电源管理。"dpm"仅在 R6xx 以及更新的芯片上被支持。

开源驱动的节电功能默认关闭,需要可手动启用.

三种方法可供选择:

  1. dpm(3.13内核后默认启用)
  2. dynpm
  3. profile

详见 http://www.x.org/wiki/RadeonFeature/#index3h2 .

动态电源管理

从3.13内核开始,在很多 AMD Radeon 设备上 DPM 默认启用。如果要禁用可加入参数 radeon.dpm=0kernel parameters

Tip: DPM 可以支持 R6xx,但是在内核里默认没有启用,仅 R7xx 及之后的显卡才默认启用. 在内核参数中加入 radeon.dpm=1 可以启用 dpm.

不像dynpm,“dpm"方式根据GPU负载情况动态调整时钟频率和电压,同时它会启用频率和电压门控.

dpm有3种模式可选:

  • battery 最节能
  • balanced 默认
  • performance 最佳性能

可以通过sysfs来更改dpm的模式,如下:

# echo battery > /sys/class/drm/card0/device/power_dpm_state

你也许想要强制显卡工作在某一性能等级下:

  • auto 默认; 使用当前dpm模式限定的所有性能等级
  • low 强制在最低性能
  • high 强制在最高性能
# echo low > /sys/class/drm/card0/device/power_dpm_force_performance_level

命令行工具

  • radcard - 一个获取/调整 DPM 电源状态与级别的脚本。

老方法

动态频率调整

此方法根据GPU负载自动改变时钟频率,所以GPU忙碌时显示性能提高,空闲时降低。自动变频试图在垂直消隐期间进行,但由于变频函数可能在周期内无法完成,这种方法可能导致显示闪烁。因此,动态调整只能在单显示器下正常工作。

可以通过以下命令启用:

# echo dynpm > /sys/class/drm/card0/device/power_method

基于计划的频率调整

该方法允许你选择5种不同的计划。主要来说,不同的计划最终都改变GPU时钟频率和电压。这种方式不同于积极方式,但更稳定,少闪屏,而且可用于多显示器环境

要激活此方法,可运行以下命令:

# echo profile > /sys/class/drm/card0/device/power_method

可选的计划:

  • default 使用默认时钟频率,不改变电源状态。这是默认启用的计划。
  • auto 根据系统是否使用电池,在电源状态 midhigh 间自动切换
  • low 强制GPU运行于low电源状态.注意low在某些笔记本上可能导致显示问题, 如auto 计划在显示器关闭时只选中low.(Note that low can cause display problems on some laptops, which is why auto only uses low when monitors are off. ) 在其他计划中,当显示器进入节能状态时,将自动切换为 low 计划
  • mid 强制GPU运行于mid电源状态.
  • high 强制GPU运行于high电源状态.

例如,我们可以激活low 计划(你可以根据需要替换为上述其他计划):

# echo low > /sys/class/drm/card0/device/power_profile

永久配置

上述方法不是永久性的,系统重启后将丢失。为了让它一直有效,可以使用udev规则, 例如设置基于计划的频率调整 :

/etc/udev/rules.d/30-radeon-pm.rules
KERNEL=="dri/card0", SUBSYSTEM=="drm", DRIVERS=="radeon", ATTR{device/power_method}="profile", ATTR{device/power_profile}="low"
注意: 如果上述规则失效,你可以试试删除 dri/ 前辍.

KERNEL=="card0", SUBSYSTEM=="drm", DRIVERS=="radeon", ATTR{device/power_method}="profile",

图形化工具

  • Radeon-tray — 通过状态栏图标控制配置方式的小工具。基于PyQt4编写,适合非gnome桌面的用户。
https://github.com/StuntsPT/Radeon-tray || radeon-trayAUR

其它

要查看当前GPU频率,可以运行如下命令,你可以看到类似如下输出:

# cat /sys/kernel/debug/dri/0/radeon_pm_info
  state: PM_STATE_ENABLED
  default engine clock: 300000 kHz
  current engine clock: 300720 kHz
  default memory clock: 200000 kHz

It depends on which GPU line yours is, however. Along with the radeon driver versions, kernel versions, etc. So it may not have much/any voltage regulation at all.

Thermal sensors are implemented via external i2c chips or via the internal thermal sensor (rv6xx-evergreen only). To get the temperature on asics that use i2c chips, you need to load the appropriate hwmon driver for the sensor used on your board (lm63, lm64, etc.). The drm will attempt to load the appropriate hwmon driver. On boards that use the internal thermal sensor, the drm will set up the hwmon interface automatically. When the appropriate driver is loaded, the temperatures can be accessed via lm_sensors tools or via sysfs in /sys/class/hwmon.

风扇速度

即使上述省电功能应该能很好调整风扇速度,一些显卡在空闲状态时仍然太吵了。这时,如果你的风扇支持的话,你可以尝试手动改变风扇速度。

注意:
  • 请谨记以下方法会将风扇速度设置为固定值,它不会随着 gpu 的压力而调整,所以在高负荷工作时这有可能导致过热。
  • 设置低于标准的数值时最好检查你的 gpu 温度。

首先,输入如下命令来启用 gpu(或者在多 gpu 的情况下,第一个 gpu)的风扇手动调速。

# echo 1 > /sys/class/drm/card0/device/hwmon/hwmon0/pwm1_enable

接下来设置你想要的风扇速度,可选的数值为 0 到 255,分别对应 0-100% 的风扇速度。(比如下例设置为了大约 20%)

# echo 55 > /sys/class/drm/card0/device/hwmon/hwmon0/pwm1

如果要让此成为永久设置,使用 #永久配置

如果固定值不符合你的期望,还可以自定义为按一个温度/风扇速度曲线来调整,比如写一个脚本,来根据当前温度 (/sys/class/drm/card0/device/hwmon/hwmon0/temp1_input) 设置风扇速度,最好还能设置为温度变化后延迟调整。这里有一个图形界面的工具:radeon-profile-gitAUR

TV输出

首先,检查你有S-video输出:xrandr应该会给你类似如下的结果:

Screen 0: minimum 320x200, current 1024x768, maximum 1280x1200
...
S-video disconnected (normal left inverted right x axis y axis)

现在我们应该告诉Xorg它已经接上了 (本来就是,对吧)

xrandr --output S-video --set "load detection" 1

设定TV制式标准

xrandr --output S-video --set "tv standard" ntsc

为它添加一个分辨率(目前只支持800x600)

xrandr --addmode S-video 800x600

复制模式(clone mode)

xrandr --output S-video --same-as VGA-0

好了,让我们来看看效果吧

xrandr --output S-video --mode 800x600

这时,在电视上你应该能看到你的桌面,分辨率是800x600。

要关掉这一输出:

xrandr --output S-video --off

在KMS中强制TV输出

内核可识别下列格式的 video= 参数 (参见KMS):

video=<conn>:<xres>x<yres>[M][R][-<bpp>][@<refresh>][i][m][eDd]

例如:

video=DVI-I-1:1280x1024-24@60e

带有空格的参数必须用引号括起:

"video=9-pin DIN-1:1024x768-24@60e"

Current mkinitcpio implementation also requires # in front. For example:

root=/dev/disk/by-uuid/d950a14f-fc0c-451d-b0d4-f95c2adefee3 ro quiet radeon.modeset=1 security=none # video=DVI-I-1:1280x1024-24@60e "video=9-pin DIN-1:1024x768-24@60e"
  • GRUB Legacy 可直接接受如上参数。
  • LILO 需要在双引号前使用“\”转义 (例如 # \"video=9-pin DIN-1:1024x768-24@60e\")

You can get list of your video outputs with following command:

$ ls -1 /sys/class/drm/ | grep -E '^card[[:digit:]]+-' | cut -d- -f2-

HDMI 音频输出

HDMI 音频输出在 xf86-video-ati 软件包中提供支持。要启禁用,在内核参数中添加 radeon.audio=0

如果启动后没有视频输出,则请禁用这个参数。

注意:
  • 如果在安装驱动后 HDMI 音频没有工作,请使用这里提供的方法进行检测。
  • 如果在 PulseAudio 中声音出现问题,尝试设置 tsched=0(参见 PulseAudio/Troubleshooting#Glitches, skips or crackling)并确保 rtkit 守护进程正在运行。
  • 因为 HDA 兼容硬件的相似性,你的声卡可能使用相同的模块。请使用推荐的方式改变默认声卡,比如修改 alsa 配置文件的 defaults 节点。

多显设置

使用 RandR 扩展

参见 Multihead#RandR

独立的 X screen

独立的双显示器可以按正常方式配置,radeon 驱动有一个 "ZaphodHeads" 选项可以把显示的区域绑定到固定的设备,例如:

/etc/X11/xorg.conf.d/20-radeon.conf
Section "Device"
  Identifier "Device0"
  Driver "radeon"
  Option "ZaphodHeads" "VGA-0"
  VendorName "ATI"
  BusID "PCI:1:0:0"
  Screen 0
EndSection

有些显卡有多个输出(HDMI,DVI 和 VGA),而双屏显示的时候它只使用 HDMI+DVI,这时你可以通过 "ZaphodHeads" "VGA-0" 来更改输出。这在使用多输出显卡时很方便。

关闭垂直同步刷新

radeon驱动默认启用垂直同步刷新,除了跑分外各种情况下工作良好。要关闭它,可以创建 ~/.drirc (如果已存在请修改),加入以下部分 :

~/.drirc
<driconf>
    <device screen="0" driver="dri2">
        <application name="Default">
            <option name="vblank_mode" value="0" />
        </application>
    </device>
    <!-- Other devices ... -->
</driconf>

请确保是 dri2 , 而不是你的显卡型号(如 r600 )。

故障排除

使用 EXA 时性能低

注意: 仅适用于使用 EXA 的老显卡(R600 或更老).新卡应该使用 Glamor 。

如果2D性能(比如在终端或浏览器的滚动滑块)有问题, 你可以将 Option "MigrationHeuristic" "greedy" 添加到你的 xorg.conf 文件的 Device 部分. 禁用 EXAPixmaps 也可能避免一些问题,但是可能带来别的问题,所以不建议使用。

这是一个样例 /etc/X11/xorg.conf.d/20-radeon.conf:

Section "Device"
        Identifier  "My Graphics Card"
        Driver  "radeon"
        Option "AccelMethod" "exa"
        Option  "MigrationHeuristic"  "greedy"
        #Option "EXAPixmaps" "off"
EndSection

添加没有被侦测到的分辨率

参见Xrandr的文章.

电视屏幕显示黑边

我的Radeon HD 5770用HDMI连接到电视时, 电视显示图像模糊,周围有2-3cm黑边,用催化剂时不是这样. 这是对付过扫描(Overscan)的(参见Wikipedia:Overscan),使用xrandr关闭它:

xrandr --output HDMI-0 --set underscan off

KMS启用时,黑幕,没有控制台,但是 X 能够工作

当在同一台PC使用两张或以上的ATI显卡时可能会遇到此问题. 例如 Fujitsu Siemens Amilo PA 3553 笔记本就有这个问题. 这是因为fbcon控制台驱动程序将自己映射到错误显卡的错误 framebuffer 设备上. 在内核参数添加:

fbcon=map:1

这将告诉fbcon映射自己到 /dev/fb1 而不是 /dev/fb0.如果这并未解决你的问题,尝试如下配置启动:

fbcon=map:0

显示器旋转对光标起效却对窗口/内容不起效

启用EXA代替glamor的新显卡用户可能会发现,用xrandr旋转显示器将导致光标和显示器尺寸旋转了,但窗口与里面内容却保持原来方向. 另外移动鼠标时光标按照原来的方向移动.若有此问题,在你的 /var/log/Xorg.0.log 中查找下面这一行:

(EE) RADEON(0): Rotation requires acceleration!

新显卡上使用EXA时加速将被禁用(来源: 这里). 你必须从启用EXA (参见这里[broken link: invalid section]) 和旋转中二选一.

在ATI X1600 (RV530 series)上3D应用程序显示黑窗口

这三种方法可能有效:

  • pci=nomsi 添加到你的启动器的 内核参数.
  • 如果没用的话,试试用noapic代替pci=nomsi.
  • 如果还是没用,你可以试试vblank_mode=0 glxgears 或者 vblank_mode=1 glxgears,看看哪个对你有用. 然后安装driconfAUR , 在~/.drirc里设置此参数.

从休眠中唤醒后光标崩溃

如果显示器唤醒后光标垂直方向重复刷新,可以在配置文件 20-radeon.conf 中的 "Device" 部分里设置 "SWCursor" "True"

多显示器模式下DisplayPort黑屏

尝试以内核参数 radeon.audio=0 启动。

R9-390 Poor Performance and/or Instability

Firmware issues with R9-390 series cards include poor performance and crashes (frequently caused by gaming or using Google Maps) possibly related DPM. Comment 115 of this bug report includes instructions for a fix.

QHD / UHD / 4k support over HDMI for older Radeon cards

Older cards have their pixel clock limited to 165MHz for HDMI. Hence, they do not support QHD or 4k only via dual-link DVI but not over HDMI.

One possibility to work around this is to use custom modes with lower refresh rate, e.g. 30Hz.

Another one is a kernel patch removing the pixel clock limit, but this may damage the card!

Official kernel bug ticket with patch for 4.8: https://bugzilla.kernel.org/show_bug.cgi?id=172421

The patch introduces a new kernel parameter radeon.hdmimhz which alters the pixel clock limit.

Be sure to use a high speed HDMI cable for this.