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

# ATI (Русский)

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

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

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

На данный момент открытый драйвер находится не на одном уровне с проприетарным драйвером в плане 3D-ускорения, а также стабильной поддержки TV-out. Однако, открытый драйвер имеет лучшую поддержку вывода графики на два монитора, прекрасное ускорение 2D-графики, а так же неплохое 3D-ускорение, достаточное для работы оконных менеджеров с поддержкой OpenGL, таких как Compiz или Kwin.

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

## Наименование видеокарт и чипов ATI/AMD

В этой статье читатель может увидеть два способа наименования: название продукта (например HD 4850, X1900) и кодовое имя видеочипа (например RV770, R580). Традиционно, линейка продуктов соответствует линейке видеочипов (т.е. линейка видеокарт "X1000" включает в себя карты X1300, X1600, X1800 и X1900, которые используют линейку чипов "R500", включающую чипы RV515, RV530, R520 и R580). Чтобы найти свою карту, посетите страницу википедии: [1]

## Общий обзор

Драйвер `xf86-video-ati` (radeon):

- Работает с чипсетами Radeon вплоть до серий HD 6xxx и 7xxxM (последние чипы Northern Islands).
  - Radeon'ы линейки HD 77xx (Southern Islands) поддерживаются лишь частично. См. матрицу свойств для нахождения неработающих технологий.
  - Radeon'ы вплоть до серии X1xxx полностью поддерживаются, работают стабильно, и имеют полное 2D и 3D ускорение.
  - Radeon'ы с серии HD 2xxx до HD 6xxx имеют полное 2D ускорение и почти полное 3D ускорение, но поддерживают не весь функционал, предоставляемый проприетарным драйвером.
- Поддерживает DRI1, RandR 1.2/1.3, EXA ускорение и KMS/DRI2 (с последними версиями ядра Linux, libdrm и Mesa).

В итоге, xf86-video-ati должен быть вашим первым выбором, вне зависимости от того, какую видеокарту ATI/AMD вы имеете. В случае, если вы хотите драйвер для новейших видеокарт ATI/AMD, выбирайте проприетарный драйвер catalyst.

Обратите внимание: xf86-video-ati указан как radeon для ядра Linux и в `xorg.conf`.

# Драйвера ATI с Открытым Исходным Кодом

## Установка

Если проприетарный драйвер `catalyst` был установлен ранее, удалите его по этой инструкции (англ.)

Установите пакет xf86-video-ati, доступный в официальном репозитории.

-git версия драйвера и других необходимых пакетов (linux-git, и т.д.) можно найти в репозитории radeon или в AUR.

## Настройка

Xorg автоматически загружает драйвер и использует EDID вашего монитора, чтобы выставить родное разрешение. Настройка необходима только для повышения производительности драйвера.

Если вы хотите настроить драйвер вручную, создайте файл `/etc/X11/xorg.conf.d/20-radeon.conf` и добавьте туда следующие строки:

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

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

## Kernel mode-setting (KMS)

Tip: Если у вас имеются проблемы с разрешением, посмотрите эту страницу (англ.).

Установщик видеорежимов ядра (kernel mode-setting) — это технология смены видеорежимов в пространстве ядра, на стадии загрузки модулей (до загрузки X). Он написан практически с нуля и позволяет переключать терминалы (Ctrl+Alt+F1 и др.) практически мгновенно. Как следствие, вы будете иметь полноэкранный фрэймбуфер, который удобен в консольном режиме для дисплеев с высоким разрешением.

### Включение KMS

Обратите внимание: Начиная с версии ядра 2.6.33, KMS изначально включен для автоматически найденных видеокарт ATI/AMD. Этот раздел для тех, кто использует собственную конфигурацию.

#### Ранний запуск

Этот метод позволяет запускать KMS раньше, насколько это возможно в процессе загрузки, когда загружен initramfs.

- Удалите все "vga=" и "video=" опции из строки вашего ядра в /boot/grub/menu.lst. Использование других драйверов фрэймбуфера (таких как uvesafb/radeonfb) приведет к конфликту с KMS. Удалите любые установленные модули фрэймбуфера из /etc/mkinitcpio.conf.

- Добавьте "radeon" (строка MODULES) в /etc/mkinitcpio.conf. Для поддержки AGP необходимо также добавить "intel_agp" перед модулем radeon.

- Пересоздайте ваш initramfs:

    mkinitcpio -p linux

- Перезагрузите систему.

#### Поздний запуск

При таком выборе KMS будет включен, когда в процессе загрузки появится сообщение "Loading modules."

Если вы используете специальное ядр (например, linux-zen), редактируйте конфигурационный файл mkinitcpio, принадлежащий вашему ядру, например, `/etc/mkinitcpio-zen.conf`. Эта инструкция написана для стандартного ядра (linux).

Обратите внимание: Для поддержки AGP необходимо добавить `intel_agp`, `ali_agp`, `ati_agp`, `amd_agp`, или `amd64_agp`) в соответствующие .conf файлы в `/etc/modules-load.d`.

- Удалите все "vga=" и "video=" опции из строки вашего ядра в /boot/grub/menu.lst. Использование других драйверов фрэймбуфера (таких как uvesafb/radeonfb) приведёт к конфликту с KMS. Удалите любые установленные модули фрэймбуфера из /etc/mkinitcpio.conf.

- Добавьте `options radeon modeset=1` в `/etc/modprobe.d/modprobe.conf`.

- Перезагрузите систему.

Важно: Если поздний запуск у вас не работает, попробуйте ранний запуск Kernel Mode Setting.

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

#### Отключение KMS

Пользователь должен рассмотреть вариант отключение KMS, если он столкнулся при его использовании с kernel panic, искажением фрэймбуфера при загрузке, отстутствии сигнала от видеокарты, отказе загрузки Xorg, невозможности Xorg вернуться к программной растеризации Mesa (без 3D ускорения), или проблемой выключения компьютера.

- Добавьте `radeon.modeset=0` (или `nomodeset`, если не сработало) в строку kernel конфигурационного файла вашего загрузчика configuration file. Это должно сработать.

Обратите внимание: Добавление nomodeset в строку kernel может помешать GNOME'у 3 или KDE's запускать графические эффекты при загрузке.

Если вы хотите убрать поддержку KMS из initramfs, проделайте два следующих шага.

- Если `radeon` был добавлен в строку `MODULES` в `mkinitcpio.conf` для включения раннего запуска, удалите его оттуда.
- Пересоберите initramfs с помощью

      # mkinitcpio -p linux

В ином случае, модуль может быть указан в файле внутри директории `/etc/modprobe.d`. Если вы используете модуль radeon (`lsmod | grep radeon`), отключите KMS, создав файл со следующим содержимым:

    /etc/modprobe.d/radeon.conf

    options radeon modeset=0

#### Переименование `xorg.conf`

Переименование `/etc/X11/xorg.conf`, который может содержать конфликтующие с KMS опции, позволит Xorg добиться автообнаружение оборудования с приемлимыми настройками. После переименования перезапустите Xorg.

### Повышение Производительности

#### Общие рекомендации

Обратите внимание: Нижеследующие опции включаются в файле `/etc/X11/xorg.conf.d/20-radeon.conf`.

Изначально xf86-video-ati работает со скоростью AGP 4x. Эту скорость можно изменить, и притом это довольно безопасно. Если вы заметите зависания, попробуйте изменить значение или удалить его полностью (вы можете использовать значения 1, 2, 4, 8). Если KMS включен, эта опция не используется и заменяется опцией `radeon.agpmode` в строке kernel у конф. файла вашего загрузчика.

    Option "AGPMode" "8"

ColorTiling абсолютно безопасен для включения и предположительно используется изначально. Многие пользователи отмечают повышение производительности, эта опция пока ещё не работает с картами на чипе R200 и более ранними. Может быть включена на ранних картах, однако работа будет переводиться на CPU.

    Option "ColorTiling" "on"

Архитектура ускорения; это будет работать только на новых видеокартах. Если вы включили эту опцию и не можете запустить X, то удалите её.

    Option "AccelMethod" "EXA"

Page Flip в целом безопасен для включения. Эта опция предназначена больше для старых карт, поскольку её включение отключает EXA. C последними драйверами может быть использована вместе с EXA.

    Option "EnablePageFlip" "on"

AGPFastWrite включит быструю запись для AGP карт. Эта опция может привести к нестабильности, поэтому будьте готовы удалить её, если не сможете зайти в X. Эта опция не используется, если включен KMS.

    Option "AGPFastWrite" "yes"

EXAVSync включает вертикальную синхронизацию при включённом EXA. Эта функция вызывает падение производительности, а также может вызвать нестабильность в работе некоторых видеокарт. Очень полезная функция при использовании Xv наложения на рабочих станциях с 3D ускорением. Функция не нужна, если используется KMS.

    Option "EXAVSync" "yes"

Ниже представлен пример содержимого файла `/etc/X11/xorg.conf.d/20-radeon.conf`:

    Section "Device"
           Identifier  "My Graphics Card"
            Option	"AGPMode"               "8"   #not used when KMS is on
    	Option	"AGPFastWrite"          "off" #could cause instabilities enable it at your own risk
    	Option	"SWcursor"              "off" #software cursor might be necessary on some rare occasions, hence set off by default
    	Option	"EnablePageFlip"        "on"  #supported on all R/RV/RS4xx and older hardware and set off by default
    	Option	"AccelMethod"           "EXA" #valid options are XAA, EXA and Glamor. EXA is the default.
    	Option	"RenderAccel"           "on"  #enabled by default on all radeon hardware
    	Option	"ColorTiling"           "on"  #enabled by default on RV300 and later radeon cards.
    	Option	"EXAVSync"              "off" #default is off, otherwise on. 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, read the radeon manpage for more information
    EndSection

Определение значения gartsize, если этого не произошло автоматически, можно произвести с помощью опции`radeon.gartsize=32` в строке параметров ядра (англ.) вашего загрузчика. Размер указывается в мегабайтах. Приведённое значение в 32 мегабайта подходит для чипов RV280.

Альтернативный вариант - добавить следующую опцию в файл`/etc/modprobe.d/radeon.conf`:

    options radeon gartsize=32

Для получения дополнительной информации и опций, читайте man-руководство по radeon и страницу информации модуля:

    man radeon

    modinfo radeon

Можно использовать очень хорошую утилиту driconf. Она позволит вам изменять некоторые настройки, такие как вертикальная синхронизация, анизотропная фильтрация, компрессия текстур и др. Используя эту утилиту также можно "запретить откат Низкоуровневых Коллизий" необходимый некоторым программам (например Google Earth).

#### Включение PCI-E 2.0

Может быть нестабильно с некоторыми материнскими платами, а также не принести никакого выигрыша в производительности.Опробовать можно, добавив "radeon.pcie_gen2=1" в строку kernel вашего загрузчика.

Обратите внимание: Начиная с ядра 3.6, PCI-E v2.0 в radeon включено изначально.

Больше информации в этой статье на Phoronix

#### Glamor

С новыми версиями открытых драйверов ATI вы можете использовать новый метод ускорения под названием "glamor": это метод ускорения 2D реализуется через OpenGL и будет работать только с видеокартами на чипсете R300 и новее.

     Option	"AccelMethod"           "glamor"

Однако, вам необходимо добавить следующую секцию до этого:

    Section "Module"
    	Load "dri2"
    	Load "glamoregl"
    EndSection

### TV выход

Начиная с августа 2007, TV-выход поддерживают все карты Radeon с интегрированным TV-out.

Они имеют некоторые ограничения, в частности, некоторые из них, не всегда определяются правильно и работают только в NTSC режиме.

Сначала, проверьте есть ли у вас выход S-video: `xrandr` должен показать что-то вроде такого

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

Теперь, мы должны сказать Xorg'у, что выход подключён (это верно?)

    xrandr --output S-video --set load_detection 1

Настройка ТВ стандарта:

    xrandr --output S-video --set tv_standard ntsc

Добавление видеорежима (сейчас поддерживается только 800x600):

    xrandr --addmode S-video 800x600

Переход в режим клонирования:

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

Пока всё хорошо. Теперь давайте посмотрим, что мы имеем:

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

В этот момент, вы должны увидеть версию вашего рабочего стола на экране ТВ в режиме 800x600.

Запретить использовать выход

    xrandr --output S-video --off

Также, вы можете заметить, что видео проигрывается только на мониторе, на ТВ его нет. Управление Xv наложением, передается атрибутом XV_CRTC.

Перенаправить вывод на ТВ

    xvattr -a XV_CRTC -v 1

Обратите внимание: вам необходимо установить xvattr из AUR для выполнения этой команды.

Для переключения обратно на монитор, измените в `0`. `-1` используется для автоматического переключения в двух-выходной установке.

Дополнительно смотрите Включение Статического TV-Out (англ.), для того чтобы узнать как включить TV-out в вашем конфигурационном файле xorg.

### HDMI со звуком

Если ваше оборудование поддерживает это и вы имеете установленный xf86-video-radeonhd или xf86-video-ati, вы можете вставить следующие опции в ваш xorg.conf для включения HDMI со звуком:

    Section "Device"
      # ...
      Option "Audio" "on"
      Option "HDMI" "all"
    EndSection

Когда вы внесете изменения, перегрузите X-сервер и проверьте, передается ли звук на ТВ через кабель HDMI.

В ядрах >= 3.0 модуль звука выключен по умолчанию. Для включения этого модуля добавьте `radeon.audio=1` к значению переменной GRUB_CMDLINE_LINUX_DEFAULT в файле /etc/default/grub и перегенерируйте конфигурацию командой `grub-mkconfig -o /boot/grub/grub.cfg`. Если у вас Grub 1.x то просто добавьте этот параметр в конец строки "kernel" в файле /boot/grub/menu.lst. Подробности можно узнать в этом треде. Видеокарты линейки Evergreen получат поддержку начиная с ядра >= 3.3

1. Подключите ваш ПК к ТВ через кабель HDMI (duh).
2. Используйте xrandr для получения картинки на ТВ. Пример: `xrandr --output DVI-D_1 --mode 1280x768 --right-of PANEL`. Просто наберите `xrandr`, он выдаст вам список правильных выводов.
3. Запустите `aplay -l` для получения списка ваших звуковых устройств. Найдите HDMI и запомните номер карты и номер передающего устройства. Пример того, что вы увидите: `card 1: HDMI [HDA ATI HDMI], device 3: ATI HDMI [ATI HDMI]`
4. Попробуйте отправить звук на это устройство: `aplay -D plughw:1,3 /usr/share/sounds/alsa/Front_Center.wav`. Убедитесь, что ваш изменённый plughw:z,y совпадает с номером вашей карты, найденном в последней команде. Вы услышите тестовый звук на вашем ТВ.
5. Если всё заработало, можно сделать hdmi устройством вывода звука по умолчанию для alsa. Для этого приведите /etc/asound.conf или ~/.asoundrc к следующему виду:

    pcm.!default {
        type hw
        card 1
        device 3
    }

    ctl.!default {
        type hw
        card 1
        device 3
    }

## Решение Проблем (xf86-video-ati и xf86-video-radeonhd)

### Я вижу артефакты, когда пытаюсь зайти в DE или WM

Если вы видите артефакты, сначала попробуйте зайти в ваш любимый DE или WM без xorg.conf в /etc/X11/. Многие люди пытаются сделать изменения в xorg.conf для своей системы, но в некоторых случаях, это приводит к проблемам.

Если вы это сделаете, не забудьте установить и запустить HAL, а также установить xorg-input-drivers.

Важно: Также, возможно, проблема может быть связана с KMS. Если это так, отключите KMS.

### Я перешёл с catalyst на radeonhd или radeon и у меня что-то не работает

Прежде всего, не паникуйте. Удалите catalyst и catalyst-utils, установите xf86-video-radeonhd или xf86-video-ati и теперь перегрузитесь.

Убедитесь в том, что вы не используете xorg.conf, сгенерированный для catalyst. Ваш оригинальный файл должен быть сохранен и вы можете его вернуть:

    cp /etc/X11/xorg.conf.original-0 /etc/X11/xorg.conf

В противном случае, остановите графический сервер, если он запущен и в терминале tty наберите как root:

    Xorg -configure
    mv xorg.conf.new /etc/X11/xorg.conf

и убедитесь в наличии нужных опций.

Если, все эти шаги не решили ваших проблем, известно, что catalyst имеет плохую привычку заменять файлы Xorg символическими ссылками, указывающих на свои файлы. Самое простое решение - удаление всех пакетов catalyst и полная переустановка xorg, libgl, ati-dri и xf86-video-radeonhd или xf86-video-ati.

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

Обратите внимание: Когда вы переходите на xf86-video-ati или xf86-video-radeonhd, помните, что вы можете зайти без xorg.conf (без особых проблем), сначала Xorg должен автоматически определить ваши настройки. xorg.conf для этого не обязателен.

# Проприетарные драйвера ATI Catalyst

Известный раньше как 'fglrx', ATI ребрендила свой проприетарный Linux драйвер, который теперь известен как 'Catalyst'. Изменения, коснулись только имени пакета, имя модуля ядра 'fglrx' осталось таким же, поэтому любые упоминания fglrx ниже относятся именно к модулю ядра, а не к имени пакета.

## Поддерживаемые Устройства

Для просмотра списка поддерживаемых устройств текущей версией драйвера, обратитесь к Заметкам к релизу ATI Catalyst 8.8 (англ.).

ПРИМЕЧАНИЕ: Начиная с версии 9.4, закрытый драйвер ATI поддерживает только R600 и более новые устройства (HD2xxx и выше). Владельцы старых карт, в частности пользователи ноутбуков, должны знать, что драйвер ATI Catalyst 8-8 поддерживает только Xorg <= 7.3. Xorg 7.4 не имеет поддержки вплоть до драйвера ниже версии 8-10. Это означает, что если вы хотите использовать Xorg 7.4 со старыми картами, ваш единственный вариант открытые драйвера, например, xf86-video-ati. Хотя Xorg 7.4 поддерживается в Catalyst с 8-10 вплоть до релиза 9-3, эти драйвера не представлены в виде пакетов в Archlinux, так как многие старые карты, имеют проблемы с этими версиями драйвера.

## Установка

Catalyst был раньше уже собранным пакетом в Arch, находившийся в репозитории `extra`, но в марте 2009, оффициальная поддержка была прекращена, в связи с неудовлетворительным качеством и скоростью разработки закрытого драйвера. Теперь, драйвер catalyst и catalyst-utils доступны в AUR.

### Основное Ядро

#### kernel26

Чтобы установить драйвер ATI для пакета `kernel26`, вам необходимо установить пакет `catalyst`, который можно найти в AUR. Вы можете собрать его с помощью makepkg.

Этот пакет содержит только модуль ядра, вместе с ним, устанавливается пакет `catalyst-utils` как зависимость. Пакет `catalyst-utils` не зависит от версии ядра и предоставляет библиотеки и утилиты для Xorg, а также включает `libGL.so` от ATI.

Для основного ядра это всё. Сконфигурируйте ваш xorg.conf как обычно, если это необходимо.

### Собственное Ядро

Для установки catalyst для собственного ядра, вам необходимо собрать свой пакет `catalyst-$kernel`, содержащий модуль ядра, непосредственно для вашего ядра.

Если вы не знаете, как создается пакет, после первого прочтения страницы ABS в вики, всё должно быть проще.

#### Получение PKGBUILD

Получить файлы `PKGBUILD` и `catalyst.install` можно из AUR.

#### Редактирование PKGBUILD и сборка

Здесь необходимо сделать три вещи:

Первое, измените

       pkgname=catalyst

в

       pkgname=catalyst-KERNEL_NAME

где KERNEL_NAME такое, которое вам нужно (например custom, mm)

Второе, удалите `kernel26` из списка зависимостей.

Третье, соберите и установите пакет. (`makepkg -i` или `makepkg` и потом `pacman -U pkgname.pkg.tar.gz`)

#### Заметки

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

- Никаких изменений в пакет `catalyst-utils` вносить не нужно, так как он полностью независит от версий ядра. Главное скомпилировать модуль ядра.

### Установщик ATI/AMD

Важно: Использование установщика с ati.com/amd.com очень НЕ рекомендуется!

Использование его может привести к конфликтам файлов с различным пакетами и возможно вызовет ошибки в X. Вместо него должны использоваться пакеты, доступные через pacman и сконфигурированные специально для Arch Linux.

Если вы пытаетесь вручную установить оффициальный установщик и обнаружили, что ничего не работает, удалите его, скрипт удаления расположен в /usr/share/ati - запустите его, после установите пакеты, собранные для pacman.

Если вы упорно по каким-то причинам, хотите использовать установщик ATI/AMD (хоть это и неправильный путь установки драйвера), следование этим шагам может быть поможет вам:

- Скачайте установщик драйвер с оффициального сайта AMD/ATI.
- Сделайте его исполняющимся.
- Откройте эмулятор терминала (например Konsole) как root.
- Установите пакет mesa

       pacman -S mesa

- Установите Xorg (если вы не установили его раньше).
- Проверьте остальные зависимости для установщика ATI/AMD перечисленные на оффициальном сайте

       #pacman -Q | grep ИмяПакета

- Используйте aticonfig, как описано ниже, для обновления xorg.conf
- Добавьте в ModulesPath, путь к модулю fglrx.so, в xorg.conf, если это необходимо.

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

ATI предлагает утилиту `aticonfig`, для изменения существующего файла `xorg.conf` и полной конфигурации карты. Для получения списка опций запустите `aticonfig`:

    $ aticonfig --help

Если у вас нет файла xorg.conf, запустите следующую команду, для его создания:

    # Xorg -configure

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

       Examples:
         1. Setting up fglrx for the first time.
              Single head :    aticonfig --initial --input=/etc/X11/xorg.conf
              Dual head   :    aticonfig --initial=dual-head --screen-layout=above
                               This command will generate a dual head configuration
                               file with the second screen located above the first
                               screen.

Просто измените одну из двух строк, для ваших настроек.

Важно: Обязательно посмотрите сгенерированный xorg.conf до того, как вы его скопируете в /etc/X11/xorg.conf и запустите startx или перезагрузитесь. Иначе, вы вероятно получите пустой экран и не сможете работать со своей системой.

Конфигурационный файл созданный в предыдущих шагах не всегда генерируется правильно. Если вы хотите, вы можете сравнить сгенерированный файл с одним из [Xorg_(Русский)#.D0.9F.D1.80.D0.B8.D0.BC.D0.B5.D1.80.D1.8B_.D1.84.D0.B0.D0.B9.D0.BB.D0.BE.D0.B2_xorg.conf| Примеров файлов Xorg.conf]] показанных на странице вики Xorg.

Проверьте, чтобы в секции "Screen" у вас было "DefaultDepth 24", а также в секции "DRI" опция "Mode 666". Драйверу fglrx необходимы эти строки для нормальной работы, но сгенерированный автоматически предыдущей программой файл не добавляет их. Без этих линий вы можете получить нерабочий пустой экран после перзагрузки. Кроме этого, сейчас многие параметры автоматически определяются в последних Xorg, поэтому нет необходимости описывать все параметры в xorg.conf, как это делалось раньше в старых версиях Xorg. Даже некоторые созданные сеекции/значения в сгенерированном xorg.conf излишни.

Вот минимальный рабочий вариант для примера:

    Section "ServerLayout"
    	Identifier     "X.org Configured"
    	Screen      0  "Screen0" 0 0
    	InputDevice    "Mouse0" "CorePointer"
    	InputDevice    "Keyboard0" "CoreKeyboard"
    EndSection

    Section "Files"
    	RgbPath      "/usr/share/X11/rgb"
    	ModulePath   "/usr/lib/xorg/modules"
    	FontPath     "/usr/share/fonts/misc"
    	FontPath     "/usr/share/fonts/100dpi:unscaled"
    	FontPath     "/usr/share/fonts/75dpi:unscaled"
    	FontPath     "/usr/share/fonts/TTF"
    	FontPath     "/usr/share/fonts/Type1"
    EndSection

    Section "Module"
    	Load  "extmod"
    	Load  "dbe"
    	Load  "xtrap"
    	Load  "record"
    	Load  "dri"
    	Load  "glx"
    	Load  "GLcore"
    	Load  "freetype"
    EndSection

    Section "InputDevice"
    	Identifier  "Keyboard0"
    	Driver      "kbd"
    EndSection

    Section "InputDevice"
    	Identifier  "Mouse0"
    	Driver      "mouse"
    	Option	    "Protocol" "auto"
    	Option	    "Device" "/dev/input/mice"
    	Option	    "ZAxisMapping" "4 5 6 7"
    EndSection

    Section "Monitor"
    	Identifier   "Monitor0"
    	VendorName   "Monitor Vendor"
    	ModelName    "Monitor Model"
    EndSection

    Section "Device"
    	Identifier  "Card0"
    	Driver      "fglrx"
    	VendorName  "ATI Technologies Inc"
    	BoardName   "Radeon Mobility X1400"
    	BusID       "PCI:1:0:0"
    EndSection

    Section "Screen"
    	Identifier "Screen0"
    	Device     "Card0"
    	Monitor    "Monitor0"
    	DefaultDepth	24
    	SubSection "Display"
    		Viewport   0 0
    		Depth     24
    	EndSubSection
    EndSection

    Section "DRI"
    	Mode 0666
    EndSection

Теперь, убедитесь, что модуль fglrx и все необходимые модули (такие как agp) загружены.

    # modprobe fglrx

Добавьте его в строку MODULES файла /etc/rc.conf, чтобы он загружался при каждом запуске.

В конце, запустите Xorg с помощью `startx` или используя GDM/KDM/SLiM и проверьте наличие ускорения следующей коммандой в терминале:

    $ glxinfo | grep direct

Если есть фраза "direct rendering: yes" тогда все хорошо! Если команда glxinfo не найдена, установите пакет mesa и попробуйте еще раз.

Важно: В предыдущих версиях Xorg, пути к библиотекам были другими. В некторых случаях, libGL.so не может корректно загрузится, если они указаны не верно. Не забудьте проверить их, если GL не работает. А также прочитайте секцию "Возможные Проблемы".

## Возможные проблемы

### Флажок/Checkbox не прорисовывается в OpenGL программах

Это было исправлено в catalyst 8.9. Однако, может происходить и в более поздних версиях.

OpenGL программы, такие как blender, в оконном режиме, неверно отрисовывают флажок/checkbox. Это можно решить используя настройки Виртуального режима, добавив к настоящему разрешению 64, например, 1664 вместо 1600 для ширины:

     Section "Screen"
       Identifier "Screen0"
       Device     "Card0"
       Monitor    "Monitor0"
       SubSection "Display"
         Depth     24
         Virtual 1664 1200
       EndSubSection
     EndSection

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

#### Повреждение базы данных amdpcsdb

Fglrx и его Catalyst Control Center сохраняют информацию в базе данных, которая называется amdpcsdb, расположенная в /etc/ati. Она не читабельна, только Catalyst Control Center может её использовать. Это может произойти после обновления, настройки не совместимые с новой версией fglrx, приводят к чёрному экрану при запуске X.

Можно попробовать одну вещь.

Загрузитесь в режим init3 (добавьте число 3 в строке опций ядра в menu.lst)

(как root)

    # rm /etc/ati/amdpcsdb

и перегрузите Xorg (или просто перегрузитесь).

Важно: Если вы имели сохраненные настройки Catalyst Control Center, после создания нового файла, настройки будут утеряны. Вы должны отредактировать xorg.conf снова, используя aticonfig.

### KDM не появляется после выхода из сессии

Если при запущенном драйвере catalyst и вы увидели консоль (tty1) вместо приветствия KDM, когда вышли из сессии, то вы должны сказать KDM, чтобы он перезапускал X-сервер после каждого выхода из сессии:

    $ sudo nano /usr/share/config/kdm/kdmrc

Раскомментируйте следующую строку в секции [X-:*-Core]:

    TerminateServer=True

Теперь, KDM должен отображаться, когда вы выходите с сессии KDE.

### Неверное разрешение экрана при запуске менеджера входа

Если разрешение вашего менеджера входа к примеру 1600x1200, а вы хотите 1280x1024, вы можете это исправить, используя xorg.conf (новые версии X-сервера, совместно с открытыми драйверами, не нуждаются в xorg.conf, если вы не имеете xorg.conf, то вам необходимо его создать). В секции "Screen" добавьте следующее:

     Section "Screen"
       Identifier "aticonfig-Screen[0]-0"
       Device     "aticonfig-Device[0]-0"
       Monitor    "aticonfig-Monitor[0]-0"
       DefaultDepth     24
       SubSection "Display"
         Viewport   0 0
         Depth     24
         Modes    "1280x1024" "2048x1536"#<-добавьте эту строку для изменения разрешения экрана по умолчанию для менеджера входа
       EndSubSection
       EndSection

Первый аргумент в режимах разрешения, будет использоваться по умолчанию. Второй аргумент, максимальное разрешение, поддерживаемое вашим монтиором. Это необходимо указать, чтобы можно было выбрать высокое разрешение, например в системных настройках KDE.

### Ускорение не работает

Это проблема происходит при использовании закрытого драйвера catalyst.

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

Если вы имеете проблемы с ускорением, выполните:

       $ LIBGL_DEBUG=verbose glxinfo > /dev/null

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

Стандартные ошибки и их решения:

       libGL error: XF86DRIQueryDirectRenderingCapable returned false

- Проверьте, правильный ли для вашего AGP чипсета загружен модуль agp, до того как вы загружаете модуль ядра fglrx. Для определения нужного модуля agp, вам необходимо выполнить `hwdetect --show-agp` и сравнить что все модули, указанные в этой команде, есть в строке `MODULES=`, вашего rc.conf и стоят до fglrx.

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

- Для этого, убедитесь, что вы имеете следующую секцию `xorg.conf`:

       Section "DRI"
           Mode 0666
       EndSection

       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`, тогда точно что-то не так. Попробуйте переустановить пакет `catalyst-utils`.

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

- Это происходит при наличии нескольких версий библиотек `libGL.so` в вашей системе. Выполните:

       $ sudo updatedb
       $ locate libGL.so

Должно вам вернуть что-то вроде:

       $ locate libGL.so
       /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

### Проблемы режимов Hibernate/Sleep

#### Проблемы видео при входе в suspend/hibernate

Если `fglrx` возвращает ошибку при попытке приостановки через скрипты hibernate, решением может быть добавление следующей строки в секцию "Device" вашего `/etc/X11/xorg.conf`, которая разрешит модулю `fglrx` заходит в режим suspend.

    Option      "UseInternalAGPGart" "no"

#### Проблемы видео при возврате из suspend2ram

Закрытый драйвер ATI - `catalyst` не может вернуться из suspend, если включен фрэймбуфер. Запретите фрэймбуффер, добавьте vga=0 в опции вашего ядра, в `/boot/grub/menu.lst`, например:

    # (0) Arch Linux
    title  Arch Linux
    root   (hd0,0)
    kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro vga=0
    initrd /initramfs-linux.img

### Зависание системы

- Для предотвращения зависаний системы, попробуйте добавить следующие строки в секцию "Device" вашего `xorg.conf`

       Option "UseInternalAGPGART"         "no"
       Option "KernelModuleParm"           "agplock=0" # AGP блокирует страницы пользователя: выключено

Примечание: Эти опции не нужны начиная с версии 8.24.18, потому что ATI удалила поддержку встроенного AGP GART из драйвера.

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

### Конфликты Железа

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

        dmesg | grep agp

Если вы получите что-то вроде этого (при системе на основе nForce3)

        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 может сделать ваше железо бесполезным, остерегайтесь.

Смотрите баг http://bugzilla.kernel.org/show_bug.cgi?id=6350 для получения более подробной информации и путях решения.

### Ноутбуки Compaq Presario

После установки драйвера и редактирования конфигурации как требуется, некоторые ноутбуки (например Presario R4000 with Xpress 200M) стартуют с пустым экраном.

Проблема заключается в неправильном определении размера памяти ядром (если вы имеете 128М видеопамяти, lspci - v всегда показывает 256М). Измените настройки BIOS чтобы он использовал опцию "SidePort+UMA" и 128М видеопамяти плюс 128М от системы будут замечательно работать.

Это должно быть баг BIOS или кода PCI в Linux.

### Зависания при воспроизведении видео

Эта проблема происходит когда используется закрытый драйвер 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 в /boot/grub/menu.lst и перезагрузка должны решить это проблему.

# Внешние Ресурсы

Более подробная информация может быть найдена здесь

- Unofficial ATI Wiki (англ.)
- Unofficial ATI Linux Bugtracker (англ.)
- Rage3D ATI Linux Forums (англ.)
- ThinkWiki fglrx Problems page (англ.)
- ATI R300: Open v. Closed Drivers (англ.) (устарело в начале April 2009)
- Additional options for the radeon driver (англ.) (частично устарело, но есть ссылки)
- Hidden ATI Feature For Textured XRendering (англ.)

Categories:

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