ATI - ArchWiki

# ATI

Related articles

- AMD Catalyst
- Xorg

Owners of AMD (previously ATI) video cards have a choice between AMD's proprietary driver (catalystAUR) and the open source driver (xf86-video-ati). This article covers the open source driver.

The open source driver is currently not on par with the proprietary driver in terms of 3D performance on newer cards or reliable TV-out support. It does, however, offer better dual-head support, excellent 2D acceleration, and provide sufficient 3D acceleration for OpenGL-accelerated window managers, such as Mutter, KWin or Compiz.

If unsure, try the open source driver first, it will suit most needs and is generally less problematic (see the feature matrix what is supported for the GPU).

## Naming conventions

The 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).

For a table of core and product series, see Wikipedia:Comparison of AMD graphics processing units.

## Overview

The `xf86-video-ati` (radeon) driver:

- Works with Radeon chipsets up to HD 6xxx and 7xxxM (latest Northern Islands chipsets).
  - Radeons in the HD 77xx (Southern Islands) series are mostly supported. Check the feature matrix for unsupported features.
  - Radeons up to the X1xxx series are fully supported, stable, and full 2D and 3D acceleration are provided.
  - Radeons from HD 2xxx to HD 6xxx have full 2D acceleration and functional 3D acceleration, but are not supported by all the features that the proprietary driver provides.
- Supports DRI1, RandR 1.2/1.3/1.4, Glamor, EXA acceleration and kernel mode-setting/DRI2.

Generally, xf86-video-ati should be your first choice, no matter which AMD/ATI card you own. In case you need to use a driver for newer AMD cards, you should consider the proprietary catalyst driver.

Note: xf86-video-ati is specified as radeon for the kernel and in `xorg.conf`.

## Installation

Note: If coming from the proprietary Catalyst driver, see AMD Catalyst#Uninstallation first.

Install the xf86-video-ati package. It provides the DDX driver for 2D acceleration and it pulls in mesa as a dependency, providing the DRI driver for 3D acceleration.

To enable OpenGL support, also install mesa-libgl. If you are on x86_64 and need 32-bit support, also install lib32-mesa-libgl from the multilib repository.

Support for accelerated video decoding is provided by mesa-vdpau and lib32-mesa-vdpau packages.

## Configuration

Xorg will automatically load the driver and it will use your monitor's EDID to set the native resolution. Configuration is only required for tuning the driver.

If you want manual configuration, create `/etc/X11/xorg.conf.d/20-radeon.conf`, and add the following:

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

Using this section, you can enable features and tweak the driver settings.

## Loading

The radeon kernel module should load fine automatically on system boot.

If it does not happen, then:

- Make sure you do not have `nomodeset` or `vga=` as a kernel parameter, since radeon requires kernel mode-setting.
- Also, check that you have not disabled radeon by using any modprobe blacklisting within `/etc/modprobe.d/` or `/usr/lib/modprobe.d/`.

### Enable early KMS

Tip: If you have problems with the resolution, Kernel Mode Setting#Forcing modes and EDID may help.

Kernel Mode Setting (KMS) is supported by the radeon driver and is mandatory and enabled by default.

KMS is typically initialized after the initramfs stage. It is possible, however, to enable KMS during the initramfs stage. To do this, add the `radeon` module to the `MODULES` line in `/etc/mkinitcpio.conf`:

    MODULES="... radeon ..."

Now, regenerate the initramfs:

    # mkinitcpio -p linux

The change takes effect at the next reboot.

## Performance tuning

The following options apply to `/etc/X11/xorg.conf.d/20-radeon.conf`.

ColorTiling is completely safe to enable and supposedly is enabled by default. Most users will notice increased performance but it is not yet supported on R200 and earlier cards. Can be enabled on earlier cards, but the workload is transferred to the CPU

    Option "ColorTiling" "on"

Acceleration architecture; Glamor is available as 2D acceleration method implement through OpenGL, and it should work with graphic cards whose drivers are newer or equal to R300. Since xf86-video-ati driver-1:7.2.0-1, it is automatically enabled with radeonsi drivers (Southern Islands and superior GFX cards); on other graphic cards the method can be forced by adding AccelMethod glamor to the config file:

    Option "AccelMethod" "Glamor"

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"

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. 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"

Below is a sample config file `/etc/X11/xorg.conf.d/20-radeon.conf`:

    Section "Device"
    	Identifier  "My Graphics Card"
    	Driver	"radeon"
    	Option	"SWcursor"              "off" #software cursor might be necessary on some rare occasions, hence set off by default
    	Option	"AccelMethod"           "Glamor" #valid options are XAA, EXA and Glamor. Default value varies per-GPU.
    	#Option	"EXAVSync"              "off" #default is off, otherwise on. Only works if EXA activated
    	#Option	"EXAPixmaps"            "on"  #when on icreases 2D performance, but may also cause artifacts on some old cards. Only works if EXA activated
    	Option	"AccelDFS"              "on"  #default is off, because it can give problems with some PCI-e/AGP cards (artefacts, corruption, etc.)
    EndSection

Tip: driconf is a tool that allows to modify several settings: 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).

### Module Parameters

Please read `man radeon` and RadeonFeature first before applying module parameters.

Useful kernel parameters may be `radeon.bapm=1` [1], `radeon.disp_priority=2` [2], `radeon.hw_i2c=1` [3], `radeon.mst=1` [4], `radeon.msi=1` (force-enable MSI-support), `radeon.audio=0` (force-disable GPU audio) and/or `radeon.tv=0` (disable TV-out).

To debug the module parameters use `systool` as stated in Kernel_modules#Obtaining_information:

    $ systool -v -m radeon

      Parameters:
        agpmode             = "0"
        aspm                = "-1"
        audio               = "-1"
        auxch               = "-1"
        backlight           = "-1"
        bapm                = "-1"
        benchmark           = "0"
        connector_table     = "0"
        deep_color          = "0"
        disp_priority       = "0"
        dpm                 = "-1"
        dynclks             = "-1"
        fastfb              = "0"
        hard_reset          = "0"
        hw_i2c              = "0"
        lockup_timeout      = "10000"
        msi                 = "-1"
        mst                 = "0"
        no_wb               = "0"
        pcie_gen2           = "-1"
        r4xx_atom           = "0"
        runpm               = "-1"
        test                = "0"
        tv                  = "1"
        use_pflipirq        = "2"
        vm_block_size       = "12"
        vm_size             = "8"

Defining the gartsize, if not autodetected, can be done by adding `radeon.gartsize=32` into kernel parameters. Size is in megabytes and 32 is for RV280 cards.

Note: Setting this parameter should not be needed anymore with modern AMD videocards:

    [drm] Detected VRAM RAM=2048M, BAR=256M
    [drm] radeon: 2048M of VRAM memory ready
    [drm] radeon: 2048M of GTT memory ready.

### Deactivating PCI-E 2.0

Since kernel 3.6, PCI-E v2.0 in radeon is turned on by default.

It may be unstable with some motherboards, deactivation can be done by adding `radeon.pcie_gen2=0` as a kernel parameters.

See Phoronix article for more information.

## Hybrid graphics/AMD Dynamic Switchable Graphics

It is the technology used on recent laptops equiped with two GPUs, one power-efficent (generally Intel integrated card) and one more powerful and more power-hungry (generally Radeon or Nvidia). There are two ways to get it work:

- If it is not required to run 'GPU-hungry' applications, it is possible to disable the discrete card (see Ubuntu wiki): `echo OFF > /sys/kernel/debug/vgaswitcheroo/switch`.
- PRIME: Is a proper way to use hybrid graphics on Linux, but still requires a bit of manual intervention from the user.

## Powersaving

Note: Power management is supported on all chips that include the appropriate power state tables in the vbios (R1xx and newer). "dpm" is only supported on R6xx and newer chips.

With the radeon driver, power saving is disabled by default and has to be enabled manually if desired.

You can choose between three different methods:

1. dynpm
2. profile
3. dpm (enabled by default since kernel 3.13)

It is hard to say which is the best for you, so you have to try it yourself!

See http://www.x.org/wiki/RadeonFeature/#index3h2 for more details.

### Old methods

#### Dynamic frequency switching

This method dynamically changes the frequency depending on GPU load, 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.

It can be activated by simply running the following command:

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

#### Profile-based frequency switching

This method will allow you to select one of the five profiles (described below). Different profiles, for the most part, end up changing the frequency/voltage of the GPU. This method is not as aggressive, but is more stable and flicker free and works with multiple heads active.

To activate the method, run the following command:

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

Select one of the available profiles:

- `default` uses the default clocks and does not change the power state. This is the default behaviour.
- `auto` selects between `mid` and `high` power states based on the whether the system is on battery power or not.
- `low` forces the gpu to be in the `low` power state all the time. Note that `low` can cause display problems on some laptops, which is why `auto` only uses `low` when monitors are off. Selected on other profiles when the monitors are in the DPMS-off state.
- `mid` forces the gpu to be in the `mid` power state all the time.
- `high` forces the gpu to be in the `high` power state all the time.

As an example, we will activate the `low` profile (replace `low` with any of the aforementioned profiles as necessary):

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

#### Persistent configuration

The activation described above is not persistent, it will not last when the computer is rebooted. To make it persistent, you can use systemd-tmpfiles (example for #Dynamic frequency switching):

    /etc/tmpfiles.d/radeon-pm.conf

    w /sys/class/drm/card0/device/power_method - - - - dynpm

Alternatively, you may use this udev rule instead (example for #Profile-based frequency switching):

    /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"

Note: If the above rule is failing, try removing the `dri/` prefix.

#### Graphical tools

- Radeon-tray — A small program to control the power profiles of your Radeon card via systray icon. It is written in PyQt4 and is suitable for non-Gnome users.

  https://github.com/StuntsPT/Radeon-tray || radeon-trayAUR

- power-play-switcher — A gui for changing powerplay setting of the open source driver for ati radeon video cards.

  https://code.google.com/p/power-play-switcher/ || power-play-switcherAUR

- Gnome-shell-extension-Radeon-Power-Profile-Manager — A small extension for Gnome-shell that will allow you to change the power profile of your radeon card when using the open source drivers.

  https://github.com/StuntsPT/shell-extension-radeon-power-profile-manager || gnome-shell-extension-radeon-ppmAUR gnome-shell-extension-radeon-power-profile-manager-gitAUR

### Dynamic power management

Since kernel 3.13, DPM is enabled by default for lots of AMD Radeon hardware. If you want to disable it, add the parameter `radeon.dpm=0` to the kernel parameters.

Unlike dynpm, the "dpm" method uses hardware on the GPU to dynamically change the clocks and voltage based on GPU load. It also enables clock and power gating.

There are 3 operation modes to choose from:

- `battery` lowest power consumption
- `balanced` sane default
- `performance` highest performance

They can be changed via sysfs

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

For testing or debugging purposes, you can force the card to run in a set performance mode:

- `auto` default; uses all levels in the power state
- `low` enforces the lowest performance level
- `high` enforces the highest performance level

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

### Other notes

To view the speed that the GPU is running at, perform the following command and you will get something like this output:

    # 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`.

## TV out

First, check that you have an S-video output: `xrandr` should give you something like

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

Now we should tell Xorg that it is actually connected (it is, right?)

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

Setting TV standard to use:

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

Adding a mode for it (currently supports only 800x600):

    xrandr --addmode S-video 800x600

Clone mode:

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

Now let us try to see what we have:

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

At this point you should see a 800x600 version of your desktop on your TV.

To disable the output, do

    xrandr --output S-video --off

Also you may notice that the video is being played on monitor only and not on the TV. Where the Xv overlay is sent is controlled by XV_CRTC attribute.

To send the output to the TV, do:

    xvattr -a XV_CRTC -v 1

Note: you need to install xvattrAUR to execute this command.

To switch back to the monitor, I change this to `0`. `-1` is used for automatic switching in dualhead setups.

Please see Enabling TV-Out Statically for how to enable TV-out in your xorg configuration file.

### Force TV-out in KMS

The kernel can recognize `video=` parameter in following form (see KMS for more details):

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

For example:

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

Parameters with whitespaces must be quoted:

    "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 can pass such command line as is.
- 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:

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

## HDMI audio

HDMI audio is supported in the xf86-video-ati video driver. By default HDMI audio is disabled in the driver kernel versions >=3.0 because it can be problematic. To enable HDMI audio add `radeon.audio=1` to your kernel parameters.

If there is no video after boot up, the driver option has to be disabled.

Note:

- If HDMI audio does not work after installing the driver, test your setup with the procedure at Advanced Linux Sound Architecture/Troubleshooting#HDMI Output does not work.
- If the sound is distorted in PulseAudio try setting `tsched=0` as described in PulseAudio/Troubleshooting#Glitches, skips or crackling and make sure `rtkit` daemon is running.
- Your sound card might use the same module, since HDA compliant hardware is pretty common. Change the default sound card using one of the suggested methods, which include using the `defaults` node in alsa configuration.

## Dual Head setup

### Independent X screens

Independent dual-headed setups can be configured the usual way. However you might want to know that the radeon driver has a `"ZaphodHeads"` option which allows you to bind a specific device section to an output of your choice, for instance using:

           Section "Device"
           Identifier     "Device0"
           Driver         "radeon"
           Option         "ZaphodHeads"   "VGA-0"
           VendorName     "ATI"
           BusID          "PCI:1:0:0"
           Screen          0
           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 `"ZaphodHeads" "VGA-0"`.

## Enabling video acceleration

The mesa-vdpau package added support for MPEG1/2 decoding to free drivers, exported via libvdpau and are automatically detected.

In case it did not automatically use it, you can force the use of the driver by assigning environment variable `LIBVA_DRIVER_NAME` to `vdpau` and `VDPAU_DRIVER` to the name of driver core, e.g.:

    ~/.bashrc

    export LIBVA_DRIVER_NAME=vdpau
    export VDPAU_DRIVER=r600

for r600-based+ cards (all available VDPAU drivers are in `/usr/lib/vdpau/`).

If you own a Southern Islands (HD 7XXX) card or newer, the `VDPAU_DRIVER` variable should be exported as `radeonsi`:

    ~/.bashrc

    export VDPAU_DRIVER=radeonsi

Verify the new settings by using `vainfo`:

    $ vainfo

    libva info: VA-API version 0.38.0
    libva info: va_getDriverName() returns 0
    libva info: User requested driver 'vdpau'
    libva info: Trying to open /usr/lib/dri/vdpau_drv_video.so
    libva info: Found init function __vaDriverInit_0_35
    libva info: va_openDriver() returns 0
    vainfo: VA-API version: 0.38 (libva 1.6.0)
    vainfo: Driver version: Splitted-Desktop Systems VDPAU backend for VA-API - 0.7.4
    vainfo: Supported profile and entrypoints
          VAProfileMPEG2Simple            :	VAEntrypointVLD
          VAProfileMPEG2Main              :	VAEntrypointVLD
          VAProfileMPEG4Simple            :	VAEntrypointVLD
          VAProfileMPEG4AdvancedSimple    :	VAEntrypointVLD
          VAProfileH264Baseline           :	VAEntrypointVLD
          VAProfileH264Main               :	VAEntrypointVLD
          VAProfileH264High               :	VAEntrypointVLD
          VAProfileVC1Advanced            :	VAEntrypointVLD

## 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:

    ~/.drirc

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

Make sure the driver is dri2, not your video card code (like r600).

## Troubleshooting

### Artifacts upon logging in

If encountering artifacts, first try starting X without `/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 `xorg.conf` files are known to cause trouble.

In order to run without a configuration tile, it is recommended that the `xorg-input-drivers` package group be installed.

You may as well try disabling `EXAPixmaps` in `/etc/X11/xorg.conf.d/20-radeon.conf`:

    Section "Device"
        Identifier "Radeon"
        Driver "radeon"
        Option "EXAPixmaps" "off"
    EndSection

Further tweaking could be done by disabling `AccelDFS`:

    Option "AccelDFS" "off"

### Adding undetected resolutions

Please see the Xrandr page.

### AGP is disabled (with KMS)

If you experience poor performance and dmesg shows something like this

    [drm:radeon_agp_init] *ERROR* Unable to acquire AGP: -19

then check if the agp driver for your motherboard (e.g., `via_agp`, `intel_agp` etc.) is loaded before the `radeon` module, see Enabling KMS.

### TV showing a black border around the screen

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

### Black screen with mouse cursor on resume from suspend in X

Waking from suspend on cards with 32MB or less can result in a black screen with a mouse pointer in X. Some parts of the screen may be redrawn when under the mouse cursor. Forcing `EXAPixmaps` to `"enabled"` in `/etc/X11/xorg.conf.d/20-radeon.conf` may fix the problem. See performance tuning for more information.

### No desktop effects in KDE4 with X1300 and Radeon driver

A bug in KDE4 may prevent an accurate video hardware check, thereby deactivating desktop effects despite the X1300 having more than sufficient GPU power. A workaround may be to manually override such checks in KDE4 configuration files `/usr/share/kde-settings/kde-profile/default/share/config/kwinrc` and/or `.kde/share/config/kwinrc`.

Add:

    DisableChecks=true

To the [Compositing] section. Ensure that compositing is enabled with:

    Enabled=true

### 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 `/dev/fb1` framebuffer dev and not the `/dev/fb0`, that in our case exist on the wrong graphics card. If that does not fix your problem, try booting with

    fbcon=map:0

instead.

### 2D performance (e.g. scrolling) is slow

If you have problem with 2D performance, like scrolling in terminal or browser, you might need to add `Option "MigrationHeuristic" "greedy"` into the `"Device"` section of your `xorg.conf` file.

Note: This only applies to EXA.

Below is a sample config file `/etc/X11/xorg.conf.d/20-radeon.conf`:

    Section "Device"
            Identifier  "My Graphics Card"
            Driver  "radeon"
            Option  "MigrationHeuristic"  "greedy"
    EndSection

### Monitor rotation works for cursor but not windows/content

Users with newer graphics boards who have enabled EXA instead of glamor may find that rotating their monitor with xrandr causes the cursor and monitor dimensions to rotate, but windows and other content stay in their normal orientation. Additionally, the cursor moves according to normal rotation when the user moves the mouse. Look for the following line in your `/var/log/Xorg.0.log` when you issue the xrandr rotate command:

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

Acceleration is disabled when using EXA on newer graphics cards (source: comment 17). You must choose between enabling EXA (detailed above in the glamor section) and the ability to rotate.

### ATI X1600 (RV530 series) 3D application show black windows

There are three possible solutions:

- Try add `pci=nomsi` to your boot loader Kernel parameters.
- If this does not work, you can try adding `noapic` instead of `pci=nomsi`.
- If none of the above work, then you can try running `vblank_mode=0 glxgears` or `vblank_mode=1 glxgears` to see which one works for you, then install driconf and set that option in `~/.drirc`.

### Cursor corruption after coming out of sleep

If the cursor becomes corrupted like it's repeating itself vertically after the monitor(s) comes out of sleep, set "SWCursor" to "True" in the "Device" section of the xorg configuration file.

### DisplayPort stays black on multimonitor mode

Try booting with the kernel parameter `radeon.audio=0`.

### Gallium Heads-Up Display

The radeon driver supports activating a heads up display which can draw transparent graphs and text on top of applications that are rendering such as games. These can show such values as the current frame rate or the CPU load for each CPU core or an average of all of them. The HUD is controlled by the GALLIUM_HUD environment variable, and can be passed the following list of parameters among others:

- "fps" - displays current frames per second
- "cpu" - displays the average CPU load
- "cpu0" - displays the CPU load for the first CPU core
- "cpu0+cpu1" - displays the CPU load for the first two CPU cores
- "draw-calls" - displays how many times each material in an object is drawn to the screen
- "requested-VRAM" - displayed how much VRAM is being used on the GPU
- "pixels-rendered" - displays how many pixels are being displayed

To see a full list of parameters as well as some notes on operating GALLIUM_HUD you can also pass the "help" parameter to a simple application such as glxgears and see the corresponding terminal output:

    # GALLIUM_HUD="help" glxgears

More information can be found from this mailing list post or this blog post.

Categories:

- Graphics
- X server