AMD Catalyst (Русский) - ArchWiki

# AMD Catalyst (Русский)

Эта страница нуждается в сопроводителе

Статья не гарантирует актуальность информации. Помогите русскоязычному сообществу поддержкой подобных страниц. См. Команда переводчиков ArchWiki

Related articles

- ATI (Русский)
- Xorg (Русский)

Владельцы видеокарт ATI/AMD имеют выбор между проприетарным (catalystAUR) и открытым драйвером (xf86-video-ati). Эта статья описывает проприетарный драйвер.

Пакет с драйвером AMD для Linux, catalyst, раньше назывался fglrx (FireGL и Radeon X). Было изменено только имя пакета, в то время как модуль ядра сохраняет исходное имя fglrx.ko. Таким образом, любое упоминание о fglrx ниже, является отсылкой к модулю ядра, а не к пакету.

Пакет Catalyst больше не размещается в официальных репозиториях. В прошлом, поддержка Catalyst была прекращена, в связи с неудовлетвореностью качеством и скоростью разработки. После короткого возвращения, поддержка снова была прекращена в апреле 2013 и ее не вернули до сих пор.

В сравнении с открытым драйвером, Catalyst лучше выполняет визуализацию 2D и 3D, а также имеет лучшее управление энергопотреблением, но он неэфективен в поддержке нескольких экранов. Поддерживаемые устройства ATI/AMD Radeon - это видео карты с чипсетом R600 и новее (Radeon HD 2xxx и новее). Смотрите кольцо декодирования Xorg или эту таблицу, переводите имя модели (X1900, HD4850) в/из имя чипа (R580, RV770 соответственно).

## Установка

Существует три способа установки Catalyst. Первый - использование репозитория Vi0L0 (неофицального мейнтейнера Catalyst в Arch). Этот репозиторий содержит все необходимые пакеты. Второй - использование AUR; PKGBUILD'ы, которые сделал Vi0L0 идентичны тем, которые используются в его репозитории. Третий - скачивание драйвера с сайта AMD.

Прежде чем выбрать понравившийся способ, нужно узнать какой драйвер вам нужен. Начиная с Catalyst 12.4, AMD отделила разработку драйвера для видеокарт Radeon HD 2xxx, 3xxx и 4xxx версий в отдельный драйвер, который называется Catalyst legacy. Для видеокарт Radeon HD 5xxx и новее, подойдет обычный драйвер Catalyst. В независимости от выбранного драйвера, вам нужно установить утилиты Catalyst.

Примечание: После установки драйвера выбранным способом, вы найдете общие указания, которые должен выполнить каждый, в независимости от выбранного способа.

### Установка драйвера

#### Установка из неофициального репозитория

Если вам не по душе собирать пакеты из AUR, то этот способ для вас. Репозиторий сопровождается неофициальным мейнтейнером Catalyst, Vi0l0. Все пакеты подписаны и считаются безопасными для использования. Как вы позже увидите в этой статье, Vi0L0 ответственен за многие другие пакеты, которые помогают вашей системе работать с видеокартой ATI.

У Vi0L0 есть три репозитория Catalyst, каждый из которых содержит уникальный драйвер:

- catalyst - репозиторий с последними (стабильными и бета) выпусками Catalyst для видеокарт Radeon HD 5xxx и выше.
- catalyst-stable - репозиторий со стабильными выпусками Catalyst для видеокарт Radeon HD 5xxx и выше.
- catalyst-hd234k - репозиторий с драйвером Catalyst legacy для видеокарт Radeon HD 2xxx, 3xxx и 4xxx.

Чтобы добавить один из репозиториев следуйте инструкциям в этой статье. Добавьте выбранный репозиторий выше всех других репозиториев в `pacman.conf`.

Примечание: Репозитории catalyst и catalyst-stable предоставляют один и тот же URL. Чтобы включить catalyst-stable, следуйте тем же инструкциям, что и для catalyst, но замените `[catalyst]` на `[catalyst-stable]` в `pacman.conf`. Если вам нужно придерживаться старой версии, есть несколько репозиториев, которые используют один и тот же URL (например, catalyst-stable-13.4).
Важно:

- Драйвер Catalyst legacy не поддерживает Xorg 1.17. Если вы хотите использовать этот драйвер, смотрите #Репозитории Xorg для получения инструкций о том, как сделать откат Xorg на версию 1.16.

Совет: Так как catalyst.wirephire.com будет выключаться при превышении определенного предела пропускной способности (это случалось в прошлом) или может быть слишком медленным для вашего местоположения, зеркало для этого репозитория сделал rtsinformatique и оно находится по ссылке [1] (Франция), так же другое зеркало [2] (Германия). Эти зеркала предоставляются без гарантий. Раскомментируйте строку с зеркалом, которое ближе всего к вам. Хорошая идея - держать альтернативу в случае отказа одного зеркала.

Использование зеркала для репозитория можно легко добиться с помощью `rsync://mirror.rts-informatique.fr::archlinux-catalyst`.

После добавления репозитория Catalyst, обновите базу данных pacman и установите эти пакеты (смотрите #Инструменты для большей информации):

- catalyst-hook
- catalyst-utils
- catalyst-libgl
- opencl-catalyst - необязательный, нужен для поддержки OpenCL
- lib32-catalyst-utils - необязательный, нужен для поддержки 32-битного OpenGL на 64-битных системах
- lib32-catalyst-libgl - необязательный, нужен для поддержки 32-битного OpenGL на 64-битных системах
- lib32-opencl-catalyst - необязательный, нужен для поддержки 32-битного OpenCL на 64-битных системах

Если вы используете ноутбук с гибридной графикой Intel/AMD, набор пакетов будет немного отличаться:

- catalyst-hook
- catalyst-utils-pxp
- lib32-catalyst-utils-pxp - необязательный, нужен для поддержки 32-битного OpenGL на 64-битных системах

Примечание: Если pacman спросит вас про удаление libgl, вы можете смело соглашаться.
Важно: Пакет catalyst был удален из репозитория Vi0L0, его место занял catalyst-hook.

#### Установка из AUR

Второй способ заключается в установке Catalyst из AUR. Если вы хотите собрать пакеты конкретно для вашего компьютера, то этот способ для вас. Обратите внимание, что это также и самый утомительный способ установки Catalyst; он требует больше всего работы, а также требует обновления вручную при каждом обновлении ядра.

Важно: Если вы установили пакет Catalyst из AUR, вам нужно будет пересобирать Catalyst после каждого обновления ядра. Иначе, X сервер не запустится.

Все пакеты, которые сопровождает Vi0L0 в неофициальном репозитории доступны в AUR:

- catalystAUR
- catalyst-generatorAUR
- catalyst-hookAUR
- catalyst-utilsAUR
- lib32-catalyst-utilsAUR

Также, AUR содержит пакеты, которых нет в других репозиториях. Эти пакеты содержат так называемые Catalyst-total пакеты и бета версии:

- catalyst-totalAUR
- catalyst-total-pxpAUR
- catalyst-total-hd234kAUR
- catalyst-testAUR

Пакеты catalyst-totalAUR создаются чтобы облегчить жизнь пользователям AUR. Они обеспечивают построение драйвера, утилит и 32-битных утилит. Также они собирают пакет catalyst-hookAUR, который описан в разделе #Инструменты.

catalyst-total-pxpAUR собирает Catalyst с экспериментальной поддержкой powerXpress.

### Конфигурация драйвера

После того, как вы установили драйвер выбранным способом, вам нужно настроить X для работы с Catalyst. Также, вам придется убедиться, что модуль загружается при запуске. И еще, вы должны выключить kernel mode setting.

#### Конфигурация X

Чтобы настроить X, вам нужно создать файл `xorg.conf`. Catalyst предоставляет свой собственный инструмент `aticonfig` для создания и/или изменения этого файла.

Он также может настроить практически каждый аспект видеокарты, он также получает доступ к файлу `/etc/ati/amdpcsdb`. Для получения полного списка параметров `aticonfig`, запустите:

    # aticonfig --help | less

Важно: Используйте параметр `--output` прежде чем совершать изменения в `/etc/X11/`, также как и в файле `xorg.conf`, инструмент перезапишет все в `/etc/X11/xorg.conf.d/`
Примечание: Чтобы использовать новое местоположение файла конфигурации используйте `# aticonfig [...] --output`, чтобы адаптировать раздел `Device` в `/etc/X11/xorg.conf.d/20-radeon.conf`. Недостатком является то, что многие опции `aticonfig` зависят от `xorg.conf` и будут недоступны.

Теперь, настроим Catalyst. Если у вас только один монитор, запустите:

    # aticonfig --initial

Примечание: Если у вас проблемы с PowerXpress, вам, вероятно, нужно установить catalyst-total-pxpAUR.

Если у вас два монитора и вы хотите использовать их оба, вы можете запустить команду ниже. Обратите внимание на то, что инструмент сгенерирует файл конфигурации, где второй экран выше первого экрана.

    # aticonfig --initial=dual-head --screen-layout=above

Примечание: Смотрите #Два экрана (Dual Head / Dual Screen / Xinerama) для получения дополнительной информации по настройке двух экранов.

Вы можете сравнить сгенерированный файл с примером xorg.conf.

Хотя текущие версии Xorg автоматически обнаруживают большинство параметров при запуске, вы можете указать некоторые параметры по умолчанию в случае изменения между версиями.

Вот пример (с заметками) 'для справки' . Записи с `#` должны присутствовать в файле, записи с `##` добавляйте по необходимости:

    /etc/X11/xorg.conf

    Section "ServerLayout"
            Identifier     "Arch"
            Screen      0  "Screen0" 0 0          # 0 обязателен.
    EndSection
    Section "Module"
            Load [...]
            [...]
    EndSection
    Section "Monitor"
            Identifier   "Monitor0"
            [...]
    EndSection
    Section "Device"
            Identifier  "Card0"
            Driver      "fglrx"                         # Необходимо.
            BusID       "PCI:1:0:0"                     # Рекомендуется, если не получается автоопределить.
            Option      "OpenGLOverlay" "0"             ##
            Option      "XAANoOffscreenPixmaps" "false" ##
    EndSection
    Section "Screen"
            Identifier "Screen0"
            Device     "Card0"
            Monitor    "Monitor0"
            DefaultDepth    24
            SubSection "Display"
                    Viewport   0 0
                    Depth     24                        # Не должно быть отличным от '24'
                    Modes "1280x1024" "2048x1536"       ## Первое значение=разрешение по умолчанию, второе=максимальное.
                    Virtual 1664 1200                   ## (x+64, y) для обхода прямоугольников OGL. артефакты/
            EndSubSection                               ## исправлено в Catalyst 9.8
    EndSection
    Section "DRI"
            Mode 0666                                   # Может помочь включить direct rendering.
    EndSection

Примечание: C каждым обновлением Catalyst этим способом вы должны удалять файл `amdpcsdb`: убейте X, удалите `/etc/ati/amdpcsdb`, запустите X и запустите`amdcccle` - иначе, версия Catalyst может не правильно отображаться в`amdcccle`.

Если вам нужна дополнительная информация о Catalyst, посетите эту тему.

#### Загрузка модуля при загрузе

Мы должны запретить загрузку модуля `radeon`. Для этого, добавьте radeon в `/etc/modprobe.d/modprobe.conf`. Также, убедитесь, что он не загружается каким - либо файлом в `/etc/modules-load.d/`. Для большей информации, смотрите kernel modules#Запрет загрузки.

Далее, мы должны убедиться, что модуль `fglrx` автоматически загружается. Также добавьте `fglrx` в существующий файл модуля в `/etc/modules-load.d/` или создайте новый файл и добавьте туда `fglrx`.

#### Отключение kernel mode setting

Примечание: Не отключайте kernel mode setting если вы используете `catalyst-utils-pxp` или `catalyst-total-pxp`, так как драйвер intel использует это.

Важно отключить kernel mode setting, так как драйвер не использует преимущества KMS. Если вы не отключите KMS, ваша система может зависнуть при попытке переключиться в TTY или даже при выключении через среду рабочего стола.

Чтобы выключить kernel mode setting, добавьте `nomodeset` в параметры ядра.

#### Проверка работоспособности

Предполагая, что перезагрузка и вход в систему прошли успешно, вы можете проверить, что fglrx работает правильно:

    $ lsmod | grep fglrx
    $ fglrxinfo

Если вы получаете сообщения, он работает. Наконец, запустим X при помощи `startx` или используя GDM/KDM и проверим, что direct rendering включен:

    $ glxinfo | grep "direct rendering"

Если ответ `"direct rendering: yes"`, то это хорошо! Если команда `$ glxinfo` не найдена, установите пакет mesa-demos.

Примечание: Вы также можете использовать:

    $ fgl_glxgears

как альтернативу `glxgears`.

Важно: В последних версиях Xorg, пути к библиотекам поменялись. Поэтому, иногда `libGL.so` не может быть правильно загружена, даже если она установлена. Проверьте это, если GL не работает. Читайте подробности в разделе #Решение проблем.

### Пользовательские ядра

Примечание: Если вам неудобно или вы не умеете собирать пакеты, прочитайте статью ABS.

Чтобы установить catalyst с пользовательским ядром, вам нужно собрать свой собственный пакет `catalyst-$kernel`:

1. Возьмите файлы `PKGBUILD` и `catalyst.install` из Catalyst.
2. Отредактируйте PKGBUILD. Нужно сделать два изменения:
   1. Измените `pkgname=catalyst` на `pkgname=catalyst-$название_ядра`, где `$название_ядра` это то, что вы хотите (например, пользовательское, мм, самоекрутоеядро).
   2. Измените зависимости `linux` на `$название_ядра`.
3. Соберите и установите этот пакет; запустите `makepkg -i` или `makepkg`, затем `# pacman -U имяпакета.pkg.tar.gz`

Примечание:

- Если вы запускаете несколько ядер, вам нужно установить пакет catalyst-utilsAUR для всех ядер. Они не конфликтуют друг с другом.
- Утилита catalyst-generatorAUR в состоянии собрать пакеты `catalyst-{версия_ядра}` для вас и вам ненужно проделывать все самостоятельно. Для большей информации, смотрите раздел инструменты.

### Поддержка PowerXpress

Технология PowerXpress позволяет ноутбуку с двумя видеокартами переключаться из интегрированной графики (ИГП) на дискретную и обратно, для того чтобы достигнуть долгой автономной работы или более лучшей 3D визуализации.

Чтобы использовать эту технологию в Arch, вам придется:

- Скачать и собрать пакет catalyst-totalAUR / catalyst-testAUR из AUR или
- Установить пакеты catalyst-libgl и catalyst-utils из репозитория [catalyst] (если требуется, установите lib32-catalyst-utils-pxp).

Чтобы переключиться на ИГП Intel, вам нужно установить пакет mesa и драйвер Intel: xf86-video-intel.

Примечание: Иногда у catalyst появляются проблемы с новейшими драйверами intel. Если это происходит, понизьте версию пакета xf86-video-intel на предыдущую версию найденную в архиве Arch Linux или даже в архиве репозиториев Xorg вместе с пакетом (пакетами) xorg-server.

Вы можете переключаться между встроенным графическим процессором и дискретным, используя следующие команды:

    # aticonfig --px-igpu    #для встроенного графического процессора
    # aticonfig --px-dgpu    #для дискретного графического процессора

Просто запомните, что fglrx требует сконфигурированный `/etc/X11/xorg.conf` для видеокарты AMD c fglrx.

Вы можете использовать скрипт `pxp_switch_catalyst`, который позволит выполнять некоторые полезные операции:

- Переключение - переименовывает `xorg.conf` в `xorg.conf.cat` (если fglrx внутри) или `xorg.conf.oth` (если intel внутри) и тогда создает символическую ссылку на `xorg.conf`, в зависимости от вашего выбора.
- Запуск `aticonfig --px-Xgpu`.
- Запуск `switchlibGL`.
- Добавление/удаление `fglrx` в/из `/etc/modules-load.d/catalyst.conf`.

Использование:

    # pxp_switch_catalyst amd
    # pxp_switch_catalyst intel

Если у вас проблемы при запуске X на драйвере Intel, вы можете попробовать принудительно использовать ускорение "UXA". Просто убедитесь, что у вас есть строка `Option "AccelMethod" "uxa"` в `xorg.conf`:

    /etc/X11/xorg.conf

    Section "Device"
            Identifier  "Intel Graphics"
            Driver      "intel"
            #Option      "AccelMethod"  "sna"
            Option      "AccelMethod"  "uxa"
            #Option      "AccelMethod"  "xaa"
    EndSection

#### Запуск двух X серверов (один использующий драйвер Intel, другой fglrx) одновременно

Так как fglrx склонен к падениям (относительно PowerXpress), это может быть хорошей идеей, использовать драйвер Intel на основном сервере X, а fglrx на дополнительном, когда понадобится 3D-ускорение. Однако, простое переключение на дискретный графический процессор с встроенного графического процессора используя `aticonfig` или `amdcccle` вызовет ошибки разного рода при запуске второго X.

Чтобы запустить два X сервера в одно время (каждый с разным драйвером), вы должны настроить полностью рабочий X с Catalyst и затем переместить {[ic|xorg.conf}} во временное место (например, `/etc/X11/xorg.conf.fglrx`). В следующий раз, когда X запустится, он будет по умолчанию использовать драйвер Intel вместо fglrx.

Чтобы запустить второй X сервер использующий fglrx, просто переместите `xorg.conf` назад в правильное место (`/etc/X11/xorg.conf`) перед запуском X. Этот метод позволяет вам переключаться между запущенными сессиями X. Когда вы закончили использовать fglrx, снова переместите `xorg.conf` в другое место.

Единственный недостаток этого метода в том, что у вас не будет 3D-ускорения используя драйвер Intel. 2D-ускорение полностью функционирует. Кроме того, это обеспечит нас полностью стабильным рабочим столом.

#### Проблемы с PowerXpress на ноутбуке запущенный в режиме AMD (pxp_switch_catalyst amd) с внешним / вторым монитором

Используя PowerXpress на ноутбуке в режиме AMD-только (т.е., дискретная видеокарта все визуализирует), иногда, вы можете столкнуться с артефактами/дублированием между дисплеями. Это известная проблема, и, кажется, она характера для видеокарт 7xxxM серии.

Артефакты исчезнут когда вы преобразуете один из мониторов при помощи поворота или масштабирования. Вы можете использовать xrand:

    xrandr --output HDMI1 --left-of LVDS1 --primary --scale 1x1 --output LVDS1 --scale 1.0001x1.0001

## Репозитории Xorg

Catalyst славится своим медленным обновлением. Поэтому новые версии Xorg несовместимы с Catalyst. Это значит, что вам нужно собрать свои пакеты Xorg или использовать репозиторий. Vi0L0 занялся этой задачей и сделал несколько репозиториев.

Чтобы включить один из репозиториев, следуйте инструкциям в Unofficial user repositories (используйте тот же PGP ключ для репозитория catalyst). Не забудьте добавит выбранный репозиторий выше других репозиториев в `pacman.conf`, даже выше репозитория catalyst.

### xorg117

Catalyst не поддерживает xorg-server 1.18

    [xorg117]
    Server = http://catalyst.wirephire.com/repo/xorg117/$arch
    ## Зеркала, если основной сервер не работает или работает, но слишком медленно:
    #Server = http://mirror.rts-informatique.fr/archlinux-catalyst/repo/xorg117/$arch
    #Server = http://mirror.hactar.bz/Vi0L0/xorg117/$arch

### xorg116

Catalyst < 15.7 не поддерживает xorg-server 1.17

    [xorg116]
    Server = http://catalyst.wirephire.com/repo/xorg116/$arch
    ## Зеркала, если основной сервер не работает или работает, но слишком медленно:
    #Server = http://mirror.rts-informatique.fr/archlinux-catalyst/repo/xorg116/$arch
    #Server = http://mirror.hactar.bz/Vi0L0/xorg116/$arch

### xorg115

Catalyst < 14.9 не поддерживает xorg-server 1.16

    [xorg115]
    Server = http://catalyst.wirephire.com/repo/xorg115/$arch
    ## Зеркала, если основной сервер не работает или работает, но слишком медленно:
    #Server = http://mirror.rts-informatique.fr/archlinux-catalyst/repo/xorg115/$arch
    #Server = http://mirror.hactar.bz/Vi0L0/xorg115/$arch

### xorg114

Catalyst < 14.1 doesn't support xorg-server 1.15.

    [xorg114]
    Server = http://catalyst.wirephire.com/repo/xorg114/$arch
    ## Mirrors, if the primary server does not work or is too slow:
    #Server = http://mirror.rts-informatique.fr/archlinux-catalyst/repo/xorg114/$arch
    #Server = http://mirror.hactar.bz/Vi0L0/xorg114/$arch

### xorg113

Catalyst < 13.6 не поддерживает xorg-server 1.14.

    [xorg113]
    Server = http://catalyst.wirephire.com/repo/xorg113/$arch
    ## Зеркала, если основной сервер не работает или работает, но слишком медленно:
    #Server = http://mirror.rts-informatique.fr/archlinux-catalyst/repo/xorg113/$arch
    #Server = http://mirror.hactar.bz/Vi0L0/xorg113/$arch

### xorg112

Catalyst < 12.10 и Catalyst Legacy не поддерживают xorg-server 1.13.

    [xorg112]
    Server = http://catalyst.wirephire.com/repo/xorg112/$arch
    ## Зеркала, если основной сервер не работает или работает, но слишком медленно:
    #Server = http://mirror.rts-informatique.fr/archlinux-catalyst/repo/xorg112/$arch
    #Server = http://mirror.hactar.bz/Vi0L0/xorg112/$arch

## Инструменты

### Catalyst-hook

Catalyst-hookAUR - это сервис systemd, который автоматически собирает модуль `fglrx` пока система выключается или перезагружается, но только когда это нужно (например, после обновления).

Перед использованием убедитесь, что группа base-devel и пакет linux-headers установлены.

Чтобы включить автоматическое обновление, включите `catalyst-hook.service`:

    # systemctl enable catalyst-hook
    # systemctl start catalyst-hook

Также, вы можете использовать этот пакет чтобы собственноручно собирать модуль `fglrx`. Просто запустите скрипт `catalyst_build_module` после обновления ядра:

    # catalyst_build_module all

Несколько технических деталей:

`catalyst-hook.service` останавливает "поток" systemd и заставляет systemd ждать пока catalyst-hook завершит свою работу.

`catalyst-hook.service` вызывает функцию `catalyst_build_module check`, которая проверяет, что пересборка fglrx действительно нужна.

Функция `check` проверяет, что модуль `fglrx` существует, если он:

- не существует, то он будет собран;

- существует, он будет сравнен с двумя значениями, чтобы удостовериться, что пересборка модуля действительно нужна.

Этими значениями являются md5sum файла `/usr/lib/modules/<kernel_version>/build/Module.symvers` (потому что я, Vi0L0, заметил, что этот файл уникален и отличается для каждой версии ядра). Первое значение - это md5sum существующего файла `Module.symvers`. Второе значение - это md5sum файла `Module.symvers`, который существует на момент сборки модуля `fglrx`. Это значение было встроено при компиляции в модуль `fglrx` скриптом `catalyst_build_module`.

Если значения отличаются, то будет скомпилирован новый модуль `fglrx`.

Функция проверки проверяет всю директорию `/usr/lib/modules` и собирает модули для всех установленных ядер если это нужно. Если сборка или пересборка не нужна, то процесс длится всего несколько миллисекунд перед тем как он будет завершен systemd.

### Catalyst-generator

catalyst-generatorAUR - это пакет, который в состоянии собрать и установить модуль `fglrx` запакованный в совместимый с pacman пакет `catalyst-${kernver}`. Основное отличие от #Catalyst-hook, это то, что вам не нужно запускать скрипты собственноручно, Catalyst-hook будет делать это все автоматически при загрузке когда новое ядро установлено.

Он создает пакет `catalyst-${kernver}` используя makepkg и устанавливает их с помощью pacman. `${kernver}` - это версия ядра для которой собирается пакет (например, пакет catalyst-2.6.35-ARCH который будет собран для ядра 2.6.35-ARCH).

Чтобы собрать и установить пакет `catalyst-${kernver}` для текущего ядра как пользователь без привилегий (пользователь не являющийся root; безопаснейший путь), используйте `catalyst_build_module`. Вас спросят пароль root для продолжения установки пакета.

Небольшой обзор об использовании этого пакета:

1. Как root: `catalyst_build_module remove`. Эта команда удалит неиспользуемые пакеты `catalyst-{kernver}`.
2. Как пользователь без привилегий: `catalyst_build_module ${kernver}`, где `${kernver}` это версия ядра, которую только что обновили. Например: `catalyst_build_module 2.6.36-ARCH`. Вы также можете собрать `catalyst-{kernver}` для всех установленных ядер используя `catalyst_build_module all`.
3. Если вы хотите удалить `catalyst-generator`, лучше всего запустить эту команду как root перед удалением catalyst-generator: `catalyst_build_module remove_all`. Эта команда удалит все пакеты `catalyst-{kernver}` из системы.

`Catalyst-generator` не в состоянии удалить все пакеты `catalyst-{kernver}` автоматически, потому что pacman может быть запущен только в одном экземпляре. Если вы забыли запустить `# catalyst_build_module remove_all` перед использованием `# pacman -R catalyst-generator`, catalyst-generator сообщит вам о том, какие пакеты `catalyst-{kernver}` вы должны удалить вручную после удаления его самого.

Catalyst-generator - это самое безопасное и просто решение потому что:

1. вы можете использовать пользователя без привилегий чтобы собрать этот пакет;
2. он собирает модули в среде fakeroot;
3. он не бросает файлы туда-сюда, pacman всегда знает где они есть;
4. все что вам нужно запомнить, это не забыть использовать catalyst-generator

Примечание: Если вы видите эти предупреждения:

    WARNING: Package contains reference to $srcdir

    WARNING: '.pkg' is not a valid archive extension.

во время сборки пакета `catalyst-{kernver}`, не беспокойтесь, это нормально.

### Разработка OpenCL и OpenGL

Уже много лет AMD работает над инструментами для разработки на OpenCL и OpenGL.

В настоящее время под заголовком "Heterogeneous Computing" AMD обеспечивает еще больше, к счастью, большинство из вычислительных инструментов доступны также и для Linux.

В AUR и репозиториях [catalyst] вы найдете пакеты, которые представляют наиболее важную работу AMD, а именно:

- amdapp-aparapiAUR
- amdapp-sdkAUR
- amdapp-codexlAUR

Ярлык APP выступает за Ускорение Параллельной Обработки.

#### amdapp-aparapi

AMD Aparapi - это API языка программирования Java для написания и выполнения OpenCL - ядер на графических акселераторах компании AMD. Если целевая платформа поддерживает OpenCL, то байткод будет проанализирован "на лету" и в случае отсутствия неконвертируемого в OpenCL кода, он транслируется в OpenCL, компилируется и запускается на GPU (если подходящий GPU присутствует). В противном случае, код будет запущен как обычный байткод на CPU.

Больше информации о Aparapi вы найдете здесь

#### amdapp-sdk (ранее известный как amdstream)

Коплект Средств Разработки (КСР) AMD APP - это полная платформа разработки от AMD, которая позволяет быстро и легко разрабатывать приложения, аппаратно ускоренные с помощью технологии AMD APP. КСР предоставляет примеры, документацию и другие материалы, которые помогают быстрее начать разрабатывать приложения использующие OpenCL, Bolt или C++ AMP в вашем приложении C/C++.

Начиная с версии 2.8 amdapp-sdk предоставляет aparapiUtil, а также примеры aparapi. Пакет доступен в репозитории [catalyst]; он зависит от пакета amdapp-aparapiAUR. Пакет из AUR позволяет вам решать, хотите ли вы дополнения к aparapi или нет.

Версия 2.8 не предоставляет функциональность Профайлера, он был перемещен в CodeXL.

Больше информации о AMD APP SDK здесь.

#### amdapp-codexl

CodeXL - это Отладчик и Профилировщик для OpenCL и OpenGL со статическим анализом ядра OpenCL. Это приложение с графическим интерфейсом написано поверх известного gdebuggerAUR[ссылка недействительна: сохранено в aur-mirror] и доступно только для систем x86_64.

Больше информации о CodeXL вы найдете здесь.

## Преимущества

### Tear Free Rendering

Технология, представленная в Catalyst 11.1, называемая Tear Free Desktop, которая уменьшает разрывы между изображениями на экране, в 2D, 3D и видео приложениях. Скорее всего, она добавляет тройную буферизацию и вертикальную синхронизацию. Обратите внимание, включение данной технологии создает дополнительную нагрузку на видеокарту.

Чтобы включить 'Tear Free Desktop' запустите `amdcccle` и перейдите в: `Display Options` → `Tear Free`.

Или выполните:

    # aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1

Чтобы выключить, используйте `amdcccle` или выполните:

    # aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop

### Аппаратное ускорение

Video Acceleration API (VA API) - это библиотека с открытым исходным кодом (libVA) и API, который обеспечивает ускорение GPU для обработки видео в операционных системах Linux/UNIX. Процесс работает включая аппаратного ускорения обработки видео на разных входных точках (VLD, IDCT, Motion Compensation, deblocking) для распространенных стандартов кодирования (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/WMV3).

У VA-API есть проприетарный бекэнд (появился в ноябре 2009) называемый xvba-videoAUR[ссылка недействительна: сохранено в aur-mirror], который позволяет приложениям VA-API использовать преимущества чипсетов AMD Radeons UVD2 через библиотеку XvBA (X-Video Bitstream Acceleration API designed by AMD).

Примечание: Нет необходимости устанавливать пакет xvba-videoAUR[ссылка недействительна: сохранено в aur-mirror], если вы используете `catalyst-test` или `catalyst-total`, потому что в этом случае работает символическая ссылка

Поддержка XvBA и xvba-video находится еще в стадии разработки, однако они работают хорошо в большинстве случаев. Соберите (или установите из репозитория Vi0L0) проприетарный пакет xvba-videoAUR[ссылка недействительна: сохранено в aur-mirror], если у вас имеются проблемы с этой версией установите libva-xvba-driverAUR, а также установите mplayer-vaapiAUR и libva. Затем просто скажите вашему видео проигрывателю, чтобы он использовал vaapi:gl как видеовыход:

    $ mplayer -vo vaapi:gl movie.avi

Эти параметры могут быть добавлены в конфигурационный файл mplayer, смотрите MPlayer.

Для smplayer:

    Настройки → Настройки → Основные → Видео (вкладка) → Устройство вывода: Определено пользователем : vaapi:gl
    Настройки → Настройки → Основные → Видео (вкладка) → Двойная буферизация включить
    Настройки → Настройки → Основные → Основные → Снимки экрана → Включить снимки экрана выключить
    Настройки → Настройки → Быстродействие → Потоков декодирование: 1 (чтобы выключить параметр -lavdopts)

Примечание: Если технология Tear Free Desktop включена, лучше использовать:

    Настройки → Настройки → Основные → Видео (вкладка) → Устройство вывода: vaapi

Если Видео Выход vaapi:gl не работает - проверьте:

    vaapi, vaapi:gl2 или просто xv(0 - AMD Radeon AVIVO Video).

Для VLC:

    Инструменты → Настройки → Ввод & кодеки → Декодирование с аппаратным ускорением

Может помочь включение вертикальной синхронизации в amdcccle:

    3D → More Settings → Wait for vertical refresh = Always On

Примечание: Если вы используете Compiz/KWin, то единственный способ избежать мерцания видео - это смотреть видео в полноэкранном режиме и только когда Unredirect Fullscreen выключен. В compiz вам нужно включить Redirected Direct Rendering в настройках ccsm. Если видео по прежнему мерцает, попробуйте выключить эту опцию в CCSM. Redirected Direct Rendering по умолчанию выключен в KWin, но если вы видите мерцания, попробуйте включить "Suspend desktop effects for fullscreen windows" или выключить в `System Settings` → `Desktop Effects` → `Advanced`.

### Частота, температура, скорость вентилятора, утилиты для разгона GPU/Памяти

Чтобы узнать частоту GPU/Памяти: `$ aticonfig --od-getclocks`.

Чтобы узнать скорость вентилятора: `$ aticonfig --pplib-cmd "get fanspeed 0"`

Чтобы узнать температуру: `$ aticonfig --odgt`

Чтобы установить скорость вращения вентилятора: `$ aticonfig --pplib-cmd "set fanspeed 0 50"`, где Query Index: 50, Скорость в процентах.

Для разгона и/или уменьшение частоты оборудования проще использовать программу с графическим интерфейсом, например ATi Overclocking Utility, которая очень простая и требует qt для работы. Она может быть устаревшей, но вы можете скачать ее здесь.

Другая, более сложная утилита для выполнения таких операций - AMDOverdriveCtrl. Ее домашняя страница здесь или вы можете собрать amdoverdrivectrlAUR из AUR или из неофициального репозитория Vi0L0.

### Два экрана (Dual Head / Dual Screen / Xinerama)

#### Введение

Важно: Вам следует запомнить, что тут нет единого решения, каждая установка и настройка нуждается в конфигурации. Поэтому вы должны адаптировать инструкции ниже под себя. Вполне возможно, что вам придется попробовать несколько раз. Поэтому вы должны сохранить ваш `/etc/X11/xorg.conf` перед началом изменений чтобы у вас была возможность восстановить рабочее состояние из командной строки.

- В этой главе мы опишем установку двух экранов разных размеров с использование одной видеокарты, которая использует разные порты для вывода (DVI + HDMI) используя конфигурацию "Большой рабочий стол"

- Решение в котором используется Xinerama имеет некоторые неудобства, особенно потому что она не совместима с XrandR. Именно по этой причине вы не должны использовать ее, т.к. XrandR понадобится нам для последующей конфигурации.

- Решение в котором используется Dual Head позволит вам иметь 2 различные сессии (по одной на каждый экран). Это может быть то, что вы хотите, но вы не сможете перемещать окна с одного экрана на другой. Если у вас только один экран, вам придется определять мышь в вашей сессии Xorg для каждой из двух сессий внутри раздела Server Layout.

Документация ATI

#### ATI Catalyst Control Center

Инструмент с графическим интерфейсом предоставляемый ATI очень полезен и мы постараемся использовать все его возможности. Чтобы запустить его, откройте терминал и выполните следующую команду:

    $ {kdesu/gksu} amdcccle

Важно: Использовать sudo напрямую в графическом интерфейсе не стоит. Sudo дает административные привилегия вместе с информацией об учетной записи пользователя. Вместо него используйте gksu (GNOME) или kdesu (KDE).

#### Установка

Прежде чем мы начнем, убедитесь, что ваше оборудование правильно подключено и вы знаете ваши аппаратные характеристики (размеры экрана, диагональ, частота обновления и т.д.). Обычно оба экрана распознаются во время загрузки, но не обязательно правильно, особенно если вы не используете никакой конфигурационный файл Xorg (`/etc/X11/xorg.conf`), но надеетесь, что ваши устройства распознаются при запуске.

Сначала нужно убедится, что ваши экраны распознаются вашим DE и X. Для этого, вам нужно с генерировать базовый конфигурационный файл Xorg для двух экранов:

    # aticonfig --initial --desktop-setup=horizontal --overlay-on=1

или

    # aticonfig --initial=dual-head --screen-layout=left

Примечание: Аргумент `overlay` важен, поскольку он позволяет вам иметь 1 пиксель (или больше) разделенный между 2 экранами.
Совет: Для других возможных и доступных опций, напечатайте `aticonfig --help` внутри терминала чтобы отобразить все доступные аргументы командой строки.

Теперь у вас должен быть базовый файл конфигурации Xorg, который вы можете отредактировать чтобы добавить свое разрешение экрана. Важно использовать точное разрешение экрана, особенно если у вас мониторы разных размеров. Разрешения экрана должны быть добавлены в секцию "Screen":

    SubSection "Display"
        Depth     24
        Modes     "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2"
    EndSubSection

Теперь, вместо редактирования файла `xorg.conf` вручную, можно использовать инструмент с графическим интерфейсом от ATI. Перезапустите X чтобы убедится, что ваши два экрана поддерживаются должным образом и ваше разрешение экрана правильно распознавалось (Экраны должны быть независимыми, не должно быть отражения).

From now on, instead of editing the `xorg.conf` file manually, let us use the ATI GUI tool. Restart X to be sure that your two screens are properly supported and that the resolutions are properly recognized (Screens must be independent, not mirrored).

#### Конфигурация

Теперь вас остается только запустить панель управления ATI с привилегиями root, перейдите в меню дисплей и выберите как вы бы хотели установить вашу конфигурацию (маленькая стрелка выпадающего меню). Перезапустите X и все должно быть готово!

Перед перезагрузкой X перепроверьте ваш новый `xorg.conf`. Внутри подраздела "Display", который находится внутри "Screen" вы должны увидеть "виртуальную" командную строку, которая определяет какое разрешение экрана в сумме должно быть у обоих экранов. Раздел "Server Layout" описывает все остальное.

## Удаление

Если по какой-либо причине драйвер не работает или вы просто хотите попробовать открытый драйвер, удалите пакеты `catalyst` и `catalyst-utils`. Также вы должны удалить пакеты catalyst-generatorAUR, catalyst-hookAUR и lib32-catalyst-utilsAUR если они установлены в вашей системе.

Важно:

- Вам, возможно, придется использовать `# pacman -Rdd` чтобы удалить catalyst-utilsAUR (и/или lib32-catalyst-utilsAUR), потому что этот пакет содержит связанные файлы gl и много ваших пакетов зависят от них. Эти зависимости снова удовлетворятся когда вы установите xf86-video-ati.
- Вам, возможно, придется удалить `/etc/profile.d/ati-flgrx.sh` и `/etc/profile.d/lib32-catalyst` (если они существуют в вашей системе), в противном случае `r600_dri.so` не сможет загрузится и у вас скорее всего не будет 3D поддержки.

Примечание: Вам следует удалить неофициальный репозиторий из вашего `/etc/pacman.conf` и запустить `# pacman -Syu`, потому что они содержат пакеты с устаревшими версиями Xorg, которые позволяют использовать `catalyst`, а пакету xf86-video-ati нужна самая свежая версия пакета Xorg из Официальных репозиториев.

Также выполните следующие действие:

- Если у вас есть файл `/etc/modprobe.d/blacklist-radeon.conf`, удалите его или закомментируйте строку `blacklist radeon` в этом файле
- Если у вас есть файл в `/etc/modules-load.d`, который загружает модуль `fglrx` при загрузке, удалите его или закомментируйте линию, которая содержит `fglrx`.
- Убедитесь в том, что вы удалили или сделали резервную копию файла `/etc/X11/xorg.conf`.
- Если у вас установлен пакет catalyst-hookAUR, убедитесь в том, что вы отключили службу.
- Если вы использовали параметр `nomodeset` в параметрах ядра и планируете использовать KMS, удалите его.
- Перезагрузитесь перед установкой другого драйвера.

## Решение проблем

Если вы все еще загружаетесь в командную строку, то проблема скорее всего заключается в `/etc/X11/xorg.conf`

Вы можете проанализировать весь `/var/log/Xorg.0.log`:

    $ grep '(EE)' /var/log/Xorg.0.log
    $ grep '(WW)' /var/log/Xorg.0.log

Если вы до сих пор не понимаете в чем проблема, сначала попробуйте поискать на форумах. Затем опубликуйте сообщение в тему специфичную для ATI/AMD. В сообщение вложите файл `xorg.conf` и вывод двух команд сверху.

### Не удалось запустить atieventsd.service

Установите acpid из официальных репозиториев. Запустите и включите службу acpid.

Если служба не смогла запуститься, отредактируйте файл `/usr/lib/systemd/system/atieventsd.service` и замените `acpid.socket` на `acpid.service`.

### Не удалось открыть fglrx_dri.so

Создайте символическую ссылку из файла `/usr/lib/xorg/modules/dri/fglrx_dri.so` на файл `/usr/X11R6/lib64/modules/dri/fglrx_dri.so` (или другой требуемый путь):

    # mkdir -p /usr/X11R6/lib64/modules/dri
    # ln -s /usr/lib/xorg/modules/dri/fglrx_dri.so /usr/X11R6/lib64/modules/dri/fglrx_dri.so

### Не запускается GDM

Понизьте версию пакета xorg-server или попытайтесь использовать другой экранный менеджер, например, LightDM.

### Притормаживают 3D приложения в Wine

Если вы используете 3D приложения в Wine и они притормаживают, вам нужно выключить TLS. Чтобы это сделать, вы можете использовать `aticonfig` или отредактировать файл `/etc/X11/xorg.conf`. Используя `aticonfig`:

    # aticonfig --tls=off

Или, отредактировать файл `/etc/X11/xorg.conf`; сначала, откройте файл в редакторе с привилегиями root, а затем добавьте `Option "UseFastTLS" "off"` в раздел Device этого файла.

После выполнения любого из решений, перезапустите X для того, чтобы изменения вступили в силу.

### Проблема с цветами в видео

Вы по-прежнему можете использовать `vaapi:gl` чтобы избежать мерцания в видео, но без графического ускорения:

- Запустите mplayer без `-vo vaapi`.
- Запустите smplayer и удалите `-vo vaapi` из Настройки → Настройки → Дополнительно → Параметры MPlayer → Настройки: -vo vaapi

Теперь мы можете безопасно включить скриншоты в smplayer.

### KWin и композит

Вы можете использовать XRender если визуализация при помощи OpenGL очень медленная. Однако, XRender может быть медленнее чем OpenGL в зависимости от вашей карты. XRender также решает артефакты в некоторых случаях, например, при изменении размера Konsole.

### Черный экран с полным зависанием и/или притормаживания после перезагрузки или startx

Убедитесь в том, что вы добавили параметр `nomodeset` в параметры ядра в вашем загрузчике (смотрите #Отключение kernel mode setting).

Если вы используете legacy драйвер (`catalyst-hd234k`) и получаете черный экран, попробуйте понизить версию xorg-server до 1.12 используя репозиторий #xorg112.

#### Неисправные вызовы ACPI

Вполне возможно, что fglrx может плохо кооперировать с системным ACPI при помощи аппаратных вызовов, поэтому он автоматически отключается и из-за этого нет вывода на экран.

Если это так, попробуйте запустить:

    $ aticonfig --acpi-services=off

#### Неподдерживаемые версии ядра Linux

Catalyst не поддерживает ядро Linux 4.2 и выше.

Пожалуйста, настройте загрузчик так, чтобы использовалось правильное ядро при загрузке, как linux-lts например.

### KDM исчезает после выхода из системы

Если вы используете проприетарный драйвер Catalyst и вы получаете консоль (tty1) вместо ожидаемого приветсвия KDM после выхода, вы должны дать указания KDM чтобы он перезапускал сервер X после каждого выхода. Раскоментируйте линию в разделе `[X-:*-Core]`

    /usr/share/config/kdm/kdmrc

    TerminateServer=True

Теперь KDM будет появляться после выхода из KDE.

### Не работает Direct Rendering

Проблема может возникнуть при использование проприетарного драйвера Catalyst.

Важно: Эта ошибка также появляется, если вы не перезапустили систему после установки или обновления catalyst. Система должна правильно загрузить модуль fglrx.ko, чтобы драйвер работал.

Если у вас проблемы с direct rendering, запустите:

    $ LIBGL_DEBUG=verbose glxinfo > /dev/null

в командной строке. В самом начале вывода, как правило, показываются сообщения об ошибке, которые говорят вам о том, что у вас отсутствует direct rendering.

Распространенные ошибки и способы их устранения:

    libGL error: XF86DRIQueryDirectRenderingCapable returned false

- Убедитесь в том, что вы правильно загрузили модуль для вашего чипсета AGP перед модулем ядра `fglrx`. Чтобы узнать, какой именно модуль AGP требуется, запустите `# hwdetect --show-agp`. Затем, откройте файл `/etc/modules-load.d/fglrx.conf` и добавьте модуль AGP перед линией, которая содержит `fglrx`.

    libGL error: failed to open DRM: Operation not permitted
    libGL error: reverting to (slow) indirect rendering

    libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so
    libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed
    (/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory)
    libGL error: unable to find driver: fglrx_dri.so

- Что-то не было правильно инициализировано. Если путь в ошибке - `/usr/X11R6/lib/modules/dri/fglrx_dri.so`, то, убедитесь в том, что вы полностью вышли из системы, затем, зайдите снова. Если вы используете графический экранный менеджер (gdm, kdm, xdm), убедитесь в том, что `/etc/profile` выполняется при каждом входе. Обычно это делается путем добавления `source /etc/profile` в `~/.xsession` или `~/.xinitrc`, но это может варьироваться в зависимости от используемого экранного менеджера.

- Если путь в ошибке - `/usr/lib/xorg/modules/dri/fglrx_dri.so`, значит, что-то не было правильно установлено. Попробуйте переустановить пакет catalystAUR.

Такие ошибки как:

    fglrx: libGL version undetermined - OpenGL module is using glapi fallback

вызваны тем, что у вас в системе несколько версий `libGL.so`. Команда ниже должна вернуть следующее:

    $ locate libGL.s

    /usr/lib/libGL.so
    /usr/lib/libGL.so.1
    /usr/lib/libGL.so.1.2

В вашей системе должно быть только три файла libGL.so. Если у вас больше (например, `/usr/X11R6/lib/libGL.so.1.2`), удалите их. Это должно исправить ошибку.

Вы можете не получать никакого сообщения об ошибке. Если вы используете X11R7, убедитесь в том, что у вас нет следующих файлов в системе:

    /usr/X11R6/lib/libGL.so.1.2
    /usr/X11R6/lib/libGL.so.1

### Проблемы с гибернацией/сном

#### Видео не возобновляется из suspend2ram

Проприетарный драйвер Catalyst не сможет выйти из ждущего режима пока фреймбуфер включен. Чтобы отключить фреймбуфер, добавьте `vga=0` в параметры ядра.

Чтобы увидеть, где нужно добавить эти параметры для других загрузчиков, смотрите #Отключение kernel mode setting

### Система Притормаживает/Сильно зависает

- Драйвера фреймбуфера `radeonfb` в прошлом вызывали проблемы такого характера. Если ваше ядро скомпилировано с поддержкой radeonfb, вы можете попробовать другое ядро и посмотреть, помогает ли это.

- Если у вас притормаживает система когда вы выходите из DE (выключение, режим ожидания, переключение на tty и т.д.), то вы скорее всего забыли выключить KMS. (смотрите #Отключение kernel mode setting)

### Конфликты оборудования

Видеокарты Radeon в сочетании с некоторыми версиями чипсетов nForce3 (например, nForce 3 250Gb) не будут иметь 3D-ускорения. В настоящее время причина этой проблемы неизвестна, но некоторые источники указывают, что можно включить 3D-ускорение с таким сочетанием оборудования. Нужно загрузиться в Windows с драйверами от Nvidia, а затем перезагрузить систему. Работоспособность можно проверить получив сообщения похожие на эти (с использованием системы, основанной на nForce3):

    $ dmesg | grep agp

    agpgart: Detected AGP bridge 0
    agpgart: Setting up Nforce3 AGP.
    agpgart: aperture base > 4G

а также, если вы получите следующий вывод:

    $ tail -n 100 /var/log/Xorg.0.log | grep agp

    (EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"

у вас есть этот баг.

Некоторые источники указывают, что в некоторых ситуациях может помочь откат на предыдущую версию BIOS, но это невозможно проверить во всех случаях. Кроме того, неправильный откат BIOS может привести оборудование в негодное состояние, будьте осторожны.

Смотрите этот отчет об ошибке для получения дополнительной информации и потенциальных решений.

### Временные зависания при воспроизведении видео

Эта проблема может возникнуть при использовании проприетарного Catalyst.

Если у вас возникают временные зависания продолжительностью от нескольких секунд до нескольких минут, происходящее случайным образом во время воспроизведения в mplayer, проверьте системные логи и вывод должен быть примерно таким:

    /var/log/messages.log

    Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160
    Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160
    Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx]
    Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160
    Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90
    Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0
    Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70
    Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33
    Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160
    Nov 28 18:31:56 pandemonium =======================

Добавьте `nopat` и/или `nomodeset` в параметры ядра, после этого все должно работать.

### "aticonfig: No supported adapters detected"

If you get the following:

    # aticonfig --initial

    aticonfig: No supported adapters detected

It may still be possible to get Catalyst working by manually setting the device in your your `etc/X11/xorg.conf` file or by copying an older working `/etc/ati/control` file (preferred - this also fixes the watermark issue).

To get an older control file, download a previous version of fglrx from AMD and run it with `--extract driver` parameter. You'll find the control file in `driver/common/etc/ati/control`. Copy the extracted file over the system file and restart Xorg. You can try different versions of the file.

To set your model in `xorg.conf`, edit the device section of `/etc/X11/xorg.conf` to:

    /etc/X11/xorg.conf

    Section "Device"
            Identifier "ATI radeon ****"
            Driver     "fglrx"
    EndSection

Where `****` should be replaced with your device's marketing number (e.g. 6870 for the HD 6870 and 6310 for the E-350 APU).

Xorg will start and it is possible to use `amdcccle` instead of `aticonfig`. There will be an "AMD Unsupported hardware" watermark.

You can remove this watermark using the following script:

    #!/bin/sh
    DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so
    for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do
       sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER
    done

and then reboot your machine.

### Поддержка WebGL в chromium

Google has blacklisted Linux's Catalyst driver from supporting webGL in their Chromium/Chrome browsers. See Chromium#WebGL for details.

### Задержки/подтормаживания просматривая flash видео через Adobe's flashplugin

Edit:

    /etc/adobe/mms.cfg

    #EnableLinuxHWVideoDecode=1
    OverrideGPUValidation=true

If you are using KDE make sure that "Suspend desktop effects for fullscreen windows" is unchecked under `System Settings` → `Desktop Effects` → `Advanced`.

### Задержки/медленные перемещения окон в GNOME3

You can try this solution, it has been reported to work for many people.

Add this line into `~/.profile` or into `/etc/profile`:

    export CLUTTER_VBLANK=none

Restart X server or reboot your system.

### Not using full screen resolution at 1920x1080 (underscanning, black borders around the screen)

This usually happens when you use a HDMI connection to connect your monitor/TV to your computer.

Seemed to be a feature by AMD/ATI to work with all HDTVs that could be adjusted via the amdccle.

Using the amdcccle GUI you can select the affected display, go to adjustments, and set underscan to 0% (aticonfig defaults to 15% underscan). It is possible as well that the underscan slider won't show under the display's adjustments, as sometimes in (at least) version 14.10.

The problem is that the settings will not persist after restarting X server or rebooting or wake up or might even revert after changing TTYs.

For the changes to become permanent, you will need to adjust the underscan settings manually using "aticonfig" via console (as root) or manually edit the file `/etc/ati/amdpcsdb` (as root)

using aticonfig method:

    # aticonfig --set-pcs-u32=MCIL,DigitalHDTVDefaultUnderscan,0

After changing the settings, reboot.

For newer version (for example, 12.11), if Catalyst control center repeatedly fails to save the overscan setting you can also try:

    # aticonfig --set-pcs-u32=MCIL,TVEnableOverscan,0

Manually editing /etc/ati/amdpcsdb method:

Add the following line anywhere under the following header `[AMDPCSROOT/SYSTEM/MCIL]`

    # DigitalHDTVDefaultUnderscan=V0

For newer version (for example, 12.11), if Catalyst control center repeatedly fails to save the overscan setting you can also try: locate under `[AMDPCSROOT/SYSTEM/MCIL]` the following line

    # TVEnableOverscan=V1

and change it to

    # TVEnableOverscan=V0

After changing the settings, reboot.

Note: You might find that the file `/etc/ati/amdpcsdb` will be overwritten and revert no matter what you do as user or as root even with log in/log out/reboot, ergo the modification will not stick.

For the amd database file not to be overwritten you have to modify it without the fgrlx driver running.

This can be made by rebooting in any "safe mode" that will not use the driver or directly booting into console mode

Workaround: For whatever reason you can find yourself not wanting to touch ATI's config files you can circumvent the problem by forcing the panel's position and resolution: as user:

    # aticonfig --set-dispattrib=DISPLAYTYPE,positionX:0
    # aticonfig --set-dispattrib=DISPLAYTYPE,positionY:0
    # aticonfig --set-dispattrib=DISPLAYTYPE,sizeX:1920
    # aticonfig --set-dispattrib=DISPLAYTYPE,sizeY:1080

`DISPLAYTYPE` will be the name of the monitor you want to change it's attributes, for example "dfp9". To get the name of your `DISPLAYTYPE` run the following command:

    # xrandr --current

Should RandR be not enabled use:

    # aticonfig --query-monitor

Using the display switch or DISPLAY variable set to the appropriate display/screen (:0.1 for example) might be necessary.

That will show you which displays are connected and disconnected and it's properties

This workaround will not persist but it is a quick fix that will show that the panel works just fine and that the above solutions are to be put into place.

Note: `aticonfig --set-pcs-val=MCIL,DigitalHDTVDefaultUnderscan,0` should not be used on newer versions of the driver as it is deprecated and will be soon removed as stated by ATI.

Try `aticonfig --help | grep set-pcs-val` to read ATI's notice

### Dual Screen Setup: general problems with acceleration, OpenGL, compositing, performance

Try to disable xinerama and xrandr12. Check out ie. this way:

Type those commands:

    # aticonfig --initial
    # aticonfig --set-pcs-str="DDX,EnableRandR12,FALSE"

Then reboot your system. In `/etc/X11/xorg.conf` check that xinerama is disabled, if it's not disable it and reboot your system.

Next run `amdcccle` and pick up amdcccle → display manager → multi-display → multidisplay desktop with display(s) 2.

Reboot again and set up your display layout whatever you desire.

### Disabling VariBright feature

Type the following command to disable VariBright:

    # aticonfig --set-pcs-u32=MCIL,PP_UserVariBrightEnable,0

### Hybrid/PowerXpress: turning off discrete GPU

When you are using catalyst-total-pxpAUR or catalyst-utils-pxp and you are switching to integrated GPU you may notice that discrete GPU is still working, consuming power and making your system's temperature higher.

Sometimes ie. when your integrated GPU is intel's one you can use `vgaswitcheroo` to turn the discrete GPU off. Sometimes unfortunatelly, it's not working.

Then you may check out acpi_call. MrDeepPurple has prepared the script which he's using to perform 'turn off' task, he's calling script via systemd service while booting and resuming his system. Here's his script:

    #!/bin/sh
    libglx=$(/usr/lib/fglrx/switchlibglx query)
    modprobe acpi_call
    if [ "$libglx" = "intel" ]; then
        echo '\_SB.PCI0.PEG0.PEGP._OFF' > /proc/acpi/call
    fi

### Switching from X session to TTYs gives a blank screen/low resolution TTY

Workaround for this "feature", which appeared in catalyst 13.2 betas, is to use `vga=` kernel option, like `vga=792`. You can get the list of supported resolutions with the

    $ hwinfo --framebuffer

command. Get the one that corresponds to your wanted resolution, and copy-paste it into kernel line of your bootloader, so it could look like ie. `vga=0x03d4`

### Switching from X session to TTYs gives a black screen with the monitor backlight on

Используйте uvesafb в качестве драйвера для фреймбуфера. Кроме того с помощью `uvesafb` вы можете установить любое разрешение в TTY.

### Switching to TTYs then back to X session gives a black screen with a mouse cursor

If you experience this bug, try adding

    Option      "XAANoOffscreenPixmaps" "true"

to the 'Device' section of your xorg.conf file.

Also, make sure you have a polkit authentication agent installed and running, as this behavior can happen when a program is asking for a password, but doesn't have an authentication agent installed to display the password dialog box.

### 30 FPS / Tear-Free / V-Sync bug

Bug introduced in Catalyst 13.6 beta, not fixed till now (13.9).

After enabling "Tear-Free" functionality every freshly started OpenGL application is lagging, often generates only 30 FPS, it also touches composited desktop.

Workaround is pretty simple and was found by M132. Here are the steps, do everything in "AMD Catalyst Control Center" (amdcccle) application:

    1. Enable Tear-Free, it will set 3D V-Sync option to "Always on".
    2. Set 3D V-Sync to "Always Off".
    3. Make sure Tear-Free is still on.
    4. Restart X / Re-login.

It is working well on KDE 4.11.x, but in case of problems M132 suggests: "Try disabling "Detect refresh rate" and specify monitor's refresh rate in the Composite plugin."

### Backlight adjustment does not work

If you have a problem with backlight adjustment, you can try the following command:

    # aticonfig --set-pcs-u32=MCIL,PP_PhmUseDummyBackEnd,1

Some users reported that this can decrease FPS. To restore defaults, run:

    # aticonfig --set-pcs-u32=MCIL,PP_PhmUseDummyBackEnd,0

Read more about this bug

## See also

- Unofficial Wiki for the ATI Linux Driver
- Unofficial ATI Linux Driver Bugzilla

Categories:

- Graphics (Русский)
- X server (Русский)

Hidden category:

- Pages with broken package links