Difference between revisions of "Talk:ATI"

From ArchWiki
Jump to: navigation, search
m (Dynamic power management)
(Enabling HDMI audio: mark unsigned posts and properly indent)
(3 intermediate revisions by 3 users not shown)
Line 214: Line 214:
It works, at least for me.
It works, at least for me.
== Dynamic power management ==
The initial paragraph states: "With kernel 3.11, ASPM is activated by default but DPM is not."
:I (halimbo) got it working with the help of pulseaudio and pavucontrol, but then the sound was very distorted like mentioned in the other wiki section about hdmi audio problems.
:The next opportunity i will try it with the solution above via org.conf. If it works i think we really should this add on the main page "ati" page, not only in this talk section.
On my system (kernel 3.13.7, no GPU-related kernel commandline options), <code>$ cat /sys/class/drm/card0/device/power_method</code> returns <code>dpm</code>.
Is is safe to assume that DPM is now enabled by default? In which kernel version did this happen?
-- [[User:Ackalker|Ackalker]] ([[User talk:Ackalker|talk]]) 13:32, 28 March 2014 (UTC)

Revision as of 00:38, 5 April 2014

Questionable Statements


"Naming conventions" paired with an introduction and an overview, feels overly verbose and jumbled flow-wise. I suggest a consolidation of the three, offloading much of that info to wikipedia or the like. Any objections? I'll edit as soon as April. T1nk3r3r (talk) 08:25, 12 March 2013 (UTC)

Enabling video acceleration

~/.bashrc is the wrong place for setting this environment variables. This file is not consulted when starting i.e. firefox from the gnome shell. Setting this variables makes a difference when using flashplayer for youtube videos. When set, flashplayer reports accelerated rendering enabled at home with my ati hd3200 onboard graphics and rendering is faster in full screen mode.

It works now no more worse than under windows.

So it only remains to replace content to reference /etc/profile.d instead. I don't know the specifics off the top of my head, so if someone else would be so kind.... T1nk3r3r (talk) 08:18, 12 March 2013 (UTC)
I simply put a vdpau.sh and a vdpau.csh file under /etc/profile.d/ which sets the environment variables and it seems to work (Flash video information says hw-acceleration is on). Kleinph (talk) 14:50, 4 June 2013 (UTC)

Catalyst versus Radeon


The ATI and Catalyst pages state that Catalyst performs better for 3D. As most of you may have experienced, the Catalyst driver is clunky and very badly optimized for Linux. Gaming performance is usually worse than on Windows. Catalyst and Nvidia drivers do not uses Unix interfaces properly (Linux kernel and Xorg), a big part of it is just a bunch of hacks. See what the nouveau folks think. Maybe it's a matter of syncing development between different platforms, so adapting the driver as less as possible from Windows is probably more profitable. The lack of respect for interfaces has one major issue: the compatibility with Xorg and Kernels is extremely fragile. Besides, a lot of features or simply not reliable (or at least a real pain to setup) with these drivers, such as dual head / external output, custom kernels, hibernation...

It would be a great relief for the Unix communities to finally have a free, full-featured and top class 3D graphic driver.


AMD did a very good thing when they decided to release the specs of their cards. FOSS radeon driver is now lightyears beyond nouveau in term of OpenGL implementation. The FOSS radeon driver seems like the ideal future of Unix graphics to me.

Since version 9.0.* from late 2012 and January 2013, OpenGL implementation has moved several steps forward as you can see on the feature matrix. In fact, I've tested several games (native or Wine) and radeon performs much better than catalyst most of the times.

For performance and Unix-frendliness, I suggest we should encourage Unix users to choose radeon over catalyst. Too many people are held back in their switching-to-Unix because of the terrible, infamous catalyst, even if all they need is average 3D graphics.

Since this revolution is brand new, it requires support from the community. We also need concrete data that states the progress, the support and the performance of radeon compared to catalyst.

I suggest we create a benchmark page for that. Should we create a new page? I'll begin it below for now, but we shall move it in the future.

--Ambrevar (talk) 12:07, 6 February 2013 (UTC)

A benchmark page could be informative, especially for newcomers that are having a difficult time making up their minds. AMD is actually shifting support from Catalyst to radeon drivers. They had hired two bodies to work on the radeon driver. But then I came across this: http://www.h-online.com/open/news/item/AMD-dismisses-numerous-open-source-developers-1745131.html
I just found this: http://www.theregister.co.uk/2013/02/05/amd_open_source_hd_8000_drivers/print.html
Regardless, there has been a lot of headway in the last four years. I recently tested some games on vanilla Wine and performance was considerable.
When I came to Arch, I was using Catalyst. I was a pain to setup and maintain. I was since persuaded by a Wine developer to switch to the radeon driver, as it is much easier to debug and submit patches upstream for either Wine or Radeon. Not to mention Catalyst only ever "officially" supported Ubuntu, SUSE, and RedHat.
Drop a line to the Catalyst talk page? T1nk3r3r (talk) 17:27, 6 February 2013 (UTC)
I think the message in the introduction is clear: If unsure, try the open source driver first, it will suit most needs and is generally less problematic. -- 09:37, 7 February 2013 (UTC)
Sure, but the previous paragraph clearly tells 'if you want 3D performance, go for Catalyst', which is not very true anymore. --Ambrevar (talk) 09:43, 7 February 2013 (UTC)
I agree. So we just need a clear statement from a benchmarking website that supports that. Preferably something recent.
I will not question the removal of dubious statements, so long as that point is made clear in the edit summary. T1nk3r3r (talk) 19:00, 7 February 2013 (UTC)
At any rate, edits to wiki articles should be free of personal bias. Older content should be neutralized if appropriate. I believe the wiki exists to instruct procedures from any angle, not to influence a personal attitude. Cite credible sources when necessary. T1nk3r3r (talk) 08:08, 12 March 2013 (UTC)


The following benchmark table is open for contribution. However the benchmarking process is not trivial, it needs some helper scripts and configurations beforehand.

Turn vsync off

The radeon driver will enable vsync by default, which is perfectly fine except for benchmarking. To turn it off, create ~/.drirc (or edit it if it already exists) and add the following section:

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

It is effectively dri2, not your video card code (like r600).

Driver switching helper

You may find yourself switching the driver a lot for benchmarking. Since there is conflicts between radeon and catalyst-utils it is quite cumbersome in the long run. So I wrote a little, very simple script. It only works for syslinux and Arch Linux. You must adapt it if you are using GRUB or another bootloader. This will also remove the /etc/X11/xorg.conf file, so if you are using it, backup this file. Catalyst will backup it anyway.


if [ -z "$(lspci|grep "VGA.*Radeon")" ]; then
    echo "You must have a Radeon graphic adapter. Exit."

if [ $(id -u) -ne 0 ]; then
    echo "You must be root to run this script. Exit."

if [ $(pacman -Qi catalyst-utils 2>/dev/null|wc -l) -ge 2 ]; then
    pacman -Rdd --noconfirm catalyst-utils catalyst-dkms lib32-catalyst-utils
    rm -f "/etc/X11/xorg.conf"
    pacman -S --noconfirm ati-dri lib32-ati-dri  xf86-video-ati
    if [ -f "/boot/syslinux/syslinux.cfg" ]; then
        sed -i 's/nomodeset//' "/boot/syslinux/syslinux.cfg"
        echo "#### Syslinux entry:"
        grep -A4 "^LABEL arch$" "/boot/syslinux/syslinux.cfg"
        echo "You do not seem to use Syslinux. No configuration done."
        echo "You have to remove 'nomodeset' kernel parameter manually."
    pacman -Rs --noconfirm ati-dri lib32-ati-dri  xf86-video-ati
    pacman -Rdd --noconfirm mesa-libgl lib32-mesa-libgl
    pacman -S  --noconfirm catalyst-utils catalyst-dkms lib32-catalyst-utils
    aticonfig --initial
    if [ $? -eq 0 ] && [ -f "/boot/syslinux/syslinux.cfg" ]; then
        sed -i '/^LABEL arch$/{n;n;n;s/$/ nomodeset/}' "/boot/syslinux/syslinux.cfg"
        echo "#### Syslinux entry:"
        grep -A4 "^LABEL arch$" "/boot/syslinux/syslinux.cfg"
        echo "You do not seem to use Syslinux. No configuration done."
        echo "You have to add 'nomodeset' kernel parameter manually."

OpenGL FPS monitor

For native OpenGL games, there is actually no universal solution. Check if the game has an embedded FPS monitor (check the developper console or something like that). Otherwise we must use an external tool that will hook the double buffering function (glXSwapBuffers) to compute the framerate. I've found two FPS monitors that could do that:

  • libglfps which I haven't been able to run properly. But with some source code edits I managed to output the FPS to the terminal.
  • frapix is newer and seems to work.

It works for some OpenGL applications like glxgears, but it will not for others, e.g. Legend of Grimrock. I'm still looking for a solution here.


Thankfully Wine features an embedded FPS monitor which works for all graphical applications. You just need to start the application with the WINEDEBUG=fps variable set. You can actually display the FPS on top of the game window thanks to osd_cat from the xosd package. I wrote a helper script for convenience:

if [ $# -lt 1 ]; then
    echo "Usage: ${0##*/} WIN32EXE PARAMS"

if [ -z "$(command -v osd_cat)" ]; then
    echo "You must have osd_cat."

if [ -z "$(sed --version | grep "GNU")" ]; then
    echo "You must have GNU sed."

WINEDEBUG=fps wine "$@" 2>&1 | tee /dev/stderr | \
    sed -un '/^trace:fps:/{s/.* \([^ ]*\)fps/\1/;p}' | \
    osd_cat -l1 -f  "-*-*-*-*-*-*-32-*-*-*-*-*-*-*" -O1 -c "yellow"

It works fullscreen with radeon, but seems quite messy with catalyst: you get a flash everytime osd_cat refreshes the output. A workaround is to play in windowed mode. If you are using a nice enough window manager you can toggle full screen with a shortcut. Ambrevar (talk) 22:15, 9 March 2013 (UTC)

Benchmark table

The relevent measures here focus on the comparison between the two drivers. Remember to use the same configuration and measure tools when benchmarking an application.

average framerate
minimum and maximum framerate
Game Version Native Wine Hardware Radeon Catalyst Comments
version avg min-max version avg min-max
Command and Conquer Generals First Decade Wine HD5770 9.1 30 26-32 13.1 27 18-30
eduke32 20130120_342 HRP 5.2 Native HD5770 9.1 15 12-18 13.1 Polymer, crash with Catalyst.
eduke32 20130120_342 HRP 5.2 Native HD5770 9.1 60 60-60 13.1 120 70-200 Polymost, loads faster on Catalyst, capped with Radeon.
Fallout New Vegas 1.0 Wine HD5770 9.1 14 5-20 13.1 15 8-22 Average graphics.
Far Cry 2 1.3 Wine HD5770 9.1 18 15-40 13.1 20 13-25 Videos are very buggy with Catalyst.
Quake 3 Arena 1.32 Wine HD5770 9.1 76 75-77 13.1 86 85-87
Team Fortress 2 Native HD5770 9.1 20 10-60 13.1 200 30-300 16 bots cp_gorge, high graphics.
The Elder Scrolls III Morrowind GOTYE Wine HD5770 9.1 26 16-60 13.1 26 14-50
Unigine Heaven Benchmark 2.5 Native HD5770 9.1 13.1 20 15-25 Using normal tesselation. Radeon does not support tesselation as of 9.1.
Unreal Tournament 436 Wine HD5770 9.1 120 118-160 13.1 95 90-100 Game stutters while using Catalyst + osd_cat.

Note: this table looks properly aligned when edited in monospace (using Emacs Mediawiki for instance). I'm not sure that's the best way to go for tables in a wiki because the web view looks terrible; but if each column goes on its respective line, that's even harder to read in my opinion. Ambrevar (talk) 22:22, 9 March 2013 (UTC)

Obviously you went through a serious effort to produce these results, thank you. It appears to me that driver performance might be dependant on the game engine as much as anything else, but the two drivers are neck to neck on most games. At least for the 5770, there is no clear performance winner except in a few specific cases. If only we could convince one of the tech sites to do something more comprehensive...I know they always have a nice selection of hardware to pick from... T1nk3r3r (talk) 07:56, 12 March 2013 (UTC)

Well, that was some research on the topic, but that's only the beginning! I still need to work on a proper FPS monitor, but I do not have much time right now. If someone knows how to measure FPS for OpenGL games that do not seem to use glXSwapBuffers... Anyway, as you said, we need more results. I have a bunch of games still waiting to be benchmarked, but I do not have much time right now. I can do it in a month or so. However this is not of utmost importance, what we need right now is a benchmark covering the various ATI cards.

This benchmark definitely needs more advertising. On this page it's worth nothing, chances are high nobody ever reads it. It think it deserves a better, more visited place. ArchWiki is great, and in a few years it managed to gathered so much stuff about Unix. Even when I was using FreeBSD I used Arch Wiki a lot (I'm still using it actually). Besides it seems like there is an army of ex-gamers among Arch users. Look at the Wine stats: AppDB Distributions. I've skimmed over the pages, and it seems like Arch is in the top 5 with Ubuntu, Debian, Mint and Gentoo. What I'm suggesting here is that we can manage to gather the benchmark results for different hardware using the manpower of the Arch Wiki.

Maybe that's not a good idea and it would fit better at Xorg or some place. Tell me what you think. If you agree, we can create an specific page Radeon vs Catalyst or something, create links on ATI and Catalyst pages, and invite users on the forum to contribute. -- Ambrevar (talk) 15:25, 12 March 2013 (UTC)

My personal conclusion on this benchmark: Catalyst has better performances for native games, but is as bad as Radeon for Wine. Radeon is much more comfortable in many ways since it is almost bug-free (I'm speaking of obvious bugs like crashes and glitches). Every new release of Radeon gives a huge performance boost in games, up to 100-150% I'd say, but I have no data for that. (I could benchmark with 9.0, but that's not worth it, let's wait for 9.2.) -- Ambrevar (talk) 15:34, 12 March 2013 (UTC)
This has got to start somewhere...I think posting something on the forums, linking here, will increase traffic. We might possibly create a dedicated wiki page, but I don't know how the admins will feel about that. I suppose the forum thread would poll the support on such a move. The main argument for Radeon that was presented to me by a Wine developer was: a bug in Catalyst might get fixed in the distant future, a bug in Radeon could get fixed in a few days. That motivated me to switch. T1nk3r3r (talk) 05:49, 13 March 2013 (UTC)
Okay, so I'll start a thread. If it works and gains popularity, this page will get bloated soon (it already is), so moving it to a dedicated page will be more than necessary. -- Ambrevar (talk) 11:29, 14 March 2013 (UTC)
New thread here: https://bbs.archlinux.org/viewtopic.php?pid=1244119#p1244119
By the way I've found this benchmark on phoronix. -- Ambrevar (talk) 12:07, 14 March 2013 (UTC)


Worth to mention that the powersaving is related to overheating issues. With the default powersaving off my laptop's graphic card, Mobility Radeon HD 4650, overheating causing the system to shutdown. Changing the setting to mid solved this issue.Dhead (talk) 12:37, 9 March 2013 (UTC)

Laptops are also prone to dust accumulation. You should try taking some pressurized air to the vents, whether from a can or air compressor. I've seen dust=overheating dozens of times with my own equipment and with friends and family. Naturally, lowering the voltage via powersaving functions will mitigate such issues. Temporarily. T1nk3r3r (talk) 19:55, 9 March 2013 (UTC)
Thanks T1nk3r3r, but this isn't dust related, I've a habbit of cracking open my laptop once in a while and cleaning it with a blow fan. This is a real issue that I think needed to be addressed in the wiki. Good remark about lowering the voltage, currently I'm satisfied with the manual mid setting.Dhead (talk) 09:37, 20 March 2013 (UTC)

Early KMS

I think that the Early KMS start in this page is very messy. The explanations on nouveau and intel pages, and the generic in KMS are much simpler. If someone confirm that this is poorly explained, I will modify it.--Jacobopantoja (talk) 02:37, 27 March 2013 (UTC)

I think they are simpler only because they are incomplete. ATI#Early_start describes both kernel line and initramfs methods. -- Lahwaacz (talk) 12:47, 3 September 2013 (UTC)

Enabling HDMI audio

HDMI audio can be enabled via xorg.conf. You need to add these two lines in Device section:

Option "Audio" "true"
Option "HDMI" "all"

It works, at least for me.


I (halimbo) got it working with the help of pulseaudio and pavucontrol, but then the sound was very distorted like mentioned in the other wiki section about hdmi audio problems.
The next opportunity i will try it with the solution above via org.conf. If it works i think we really should this add on the main page "ati" page, not only in this talk section.