ATI (Русский)

From ArchWiki

Jump to: navigation, search


Article summary
Информация о Проприетарных и Открытых Драйверах ATI.
Available Languages
English
简体中文
Italiano
Türkçe
Русский

Владельцы видеокарт ATI могут использовать два варианта драйверов — проприетарный (catalyst) и один из открытых (xf86-video-ati или RadeonHD).


xf86-video-ati преимущественно предназначены для чипсетов до R5xx (X1xxx), а RadeonHD для чипсетов старше R5xx. Проприетарный catalyst предназначен только для R6xx (HD2xxx) и более новых чипсетов.

Закрытый драйвер, начиная с версии 7.10 (8.42.3) и позже, поддерживает AIGLX, то есть, с ним вы можете использовать композитные менеджеры (например, Compiz Fusion или KWin4). На даный момент производительность открытых драйверов (xf86-video-ati или xf86-video-radeonhd) значительно хуже проприетарных, больше всего это заметно в OpenGL-приложениях. Также отсутствуют некоторые свойства, например, хорошая поддержка TV-out. С другой стороны, открытые драйвера имеют лучшую поддержку dual-head (xf86-video-ati), а также великолепное ускорение 2D и хорошее ускорение 3D.

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

Contents

Rxxx?

Схема имен вида Rxxx ссылается на название карты. Чтобы найти свою карту, посетите страницу википедии: [1]

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

AMD/ATI видеокарты и KMS

Официальное ядро 2.6.31 имеет экспериментальную поддержку установщика видеорежимов ядра (kernel mode-setting).

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

Note: На данный момент, только видеокарты Radeon с чипсетом R5xx (X1xxx) поддерживаются в KMS. Поддержка более новых карт будет добавлена в Linux 2.6.32.

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

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

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

2) Добавьте "radeon" (строка MODULES) в /etc/mkinitcpio.conf. В зависимости от вашего чипсета может потребоваться добавить "intel_agp" перед модулем radeon.

3) Пересоздайте ваш initcpio:

mkinitcpio -p kernel26

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

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

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

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

2) Добавьте модуль "radeon" или, если необходимо, "intel_agp radeon" (строка MODULES) в /etc/rc.conf.

Некоторые пользователи сообщают, что модуль udev может быть загружен быстрее, добавлением опции "options radeon modeset=1" в вашем файле /etc/modeprobe.d/modprobe.conf.

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

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

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

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

Нет композитного вывода (или очень медленный) после включения KMS

Вы должны установить эти версии пакетов, для нормальной работы KMS и включения 3D через композитный вывод:

kernel26 2.6.31.x
mesa 7.5.x
ati-dri 7.5.x
libgl 7.5.x
xf86-video-ati 6.12.4

Если они уже установлены, но нет ни KMS, ни композитного вывода 3D, отключите KMS.

Note: Многие проблемы и основные недостатки будут решены, если установленная версия Mesa, как миниум 7.6.x. Это предупреждение касается тех, кто еще не перешёл на Mesa 7.6.

Решение проблем, связанных с KMS

Отключение KMS
Warning: Если ваша карта не поддерживается, то может произойти: крах ядра, Xorg не запустится, Xorg будет выгружать модуль DRI2 и возращаться к программной эмуляции 3D.

Решение данной проблемы может быть в отключении экспериментального KMS и откат к старым настройкам.

1) Добавьте "radeon.modeset=0" в строку загрузки ядра в файле /boot/grub/menu.lst или в конфигурационном файле lilo.

Если "radeon.modeset=0" не помогло, попробуйте "nomodeset" взамен.

2) Если вы добавили "radeon" (строка MODULES) в mkinitcpio.conf, удалите его

3) Пересоберите initramfs командой

 mkinitcpio -p kernel26
Warning: Пользователи Catalyst: вам возможно, также понадобится запретить загрузку модуля radeon. Поместите "!radeon" (строка MODULES) в /etc/rc.conf.
  • Опции для модулей могут быть указаны в файле, расположенном в /etc/modprobe.d/. Если вы используетет модуль radeon (вы можете это проверить командой lsmod | grep radeon ), то можно отключить KMS созданием файла например, /etc/modprobe.d/radeon.conf, с опцией
options radeon modeset=0

4) Перегрузите вашу систему.

Удаление xorg.conf

Удалите xorg.conf, который может включать в себя опции, вызывающие проблемы стабильной работы драйвера, создайте резервную копию xorg.conf, затем удалите его.

После этого, перегрузите Xorg.

Различия между открытыми драйверами ATI, xf86-video-ati и xf86-video-radeonhd.

  • xf86-video-ati : будет работать с полной поддержкой 3D на чипсетах Radeon до X1950 (последнии версии R500 чипсетов). Карты Radeon до серии 9200 включают поддержку многих свойств, стабильны и полностью поддерживают 2D и 3D ускорение. Видеокарты Radeon от 9500 до X1950 имеют полную 2D поддержку ускорения, также присутствует очень хорошая поддержка 3D ускорения, но поддерживаются не все дополнительные свойства, которые присутствуют в закрытом драйвере (например, режим экономии питания находится в фазе тестирования). Полный список карт можно найти здесь. Также, все видеокарты полностью поддерживают DRI1, RandR 1.2/1.3, ускорение EXA и KMS/DRI2 (в последнем ядре linux, а также с последними версиями libDRM и Mesa).
Note: поддержка HDMI скоро будет реализована в xf86-video-ati через AtomBIOS.

Все карты, начиная с HD2xxx (R6xx) включая последние, подерживаются в xf86-video-ati, но пока только с поддержкой 2D ускорения.

  • xf86-video-radeonhd: это драйвер для чипсетов ATI R500 (Radeon серии X1000) и выше. Он написан компанией Novell с предоставлением публичных специфкаций компанией AMD. Он поддерживает RandR 1.2 и очень динамично развивается. Он также имеет поддержку HDMI вместе со звуком, если конечно, ваша карты поддерживает это свойство.

Какой мне выбрать?

Право выбора остается вам, руководствуйтесь правилом - какой из них поддерживает больше функций вашей карты. xf86-video-ati подойдет в большинстве случаев и является предпочтительным, до того, как вы решите использовать xf86-video-radeonhd, попробуйте первый.

Установка и Настройка

Note: Если до этого у вас были установлены проприетарные драйвера, удостовертесь, что вы удалили catalyst и catalyst-utils.


Установка xf86-video-ati :

pacman -S xf86-video-ati libgl ati-dri

Установка xf86-video-radeonhd :

pacman -S xf86-video-radeonhd libgl ati-dri


Note: Версии драйверов с GIT вы можете найти в AUR

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

С включенным KMS (Настройка Режима Ядра), xorg.conf может быть не обязателен.

В случае, если вы хотите настроить вручную, отредактируйте свой xorg.conf и добавьте или удостовертесь в присутствии следующей секции.

Section "Module"
  Load  "glx"
  Load  "dri"
  Load  "drm"
EndSection

Секция Устройства для xf86-video-ati :

Section "Device"
 Identifier "name"                     # имя вашей карты
 Driver "radeon"
EndSection

Секция Устройства для xf86-video-radeonhd :

Section "Device"
 Identifier "name"                     # имя вашей карты
 Driver "radeonhd"
 Option "AccelMethod" "exa"            # включает 2D и Xv ускорение на R6xx/R7xx - по умолчанию AccelMethod имеет параметр shadowfb
 Option "DRI" "on"                     # включает 2D и Xv ускорение на R6xx/R7xx - по умолчанию DRI выключен
EndSection
Note: Попробуйте использовать указанные ниже параметры, для повышения производительности с Option "DRI", для RS780M/MN [Radeon HD 3200], использующие драйверы radeonhd (от 3 Мая 2009)

Эта секция (DRI) необязательна (считается устаревшей), но лучше её оставить если вы будете испытывать проблемы с DRI.

Section "DRI"
 Group        "video"
 Mode         0666
EndSection

Когда используется этот драйвер, убедитесь, что вы не имеете установленных catalyst и catalyst-utils, вместо них используйте ati-dri. Иначе, вы получите нерабочую библиотеку libGL.so, которая приведёт к отсутствию ускорения.

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

Note: Следующие опции применяются к секции "Device" в /etc/X11/xorg.conf.

Повышение производительности в xf86-video-ati

По умолчанию, xf86-video-ati запускает AGP на 1x скорости. Это можно изменить в большинстве случаев. Если появились зависания, попробуйте убавить значение или убрать всю строку (вы можете использовать следующие значения: 1, 2, 4, 8).

       Option "AGPMode" "4"

ColorTiling эта опция является полностью безопасной и как бы включена по умолчанию. Но люди, отмечают повышение производительности при включении этой опции в ручную в xorg.conf.

       Option "ColorTiling" "on"

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

       Option "AccelMethod" "EXA"

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

       Option "EnablePageFlip" "on" 

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

       Option "AGPFastWrite" "yes"

EXAVSync эта опция пытается избежать разрывов (тьюринга), приостанавливая драйвер, пока контроллер монитора назначает регион. Это сокращает время исполнения, иногда, может вызывать нестабильность в некоторых чипах. Очень полезна при использовании Xv видеоналожения на рабочих станциях с 3D ускорением. Перестанет быть нужным, когда ускорение UXA (через DRI2) будет реализовано в драйвере xf86-video-ati.

      Option "EXAVSync" "yes"

Вот пример секции Device в xorg.conf:


Section "Device"
       Identifier  "My Graphics Card"
       Driver      "radeon"
       Option      "DRI" "on" 
       Option      "DynamicPM" "on"      # Динамический режим экномии питания.
       Option      "ClockGating" "on"    # Сопутствующие опции для режима экномии питания.
       Option      "AccelMethod" "EXA"   # EXA должна быть включена в большинстве случаев.
       Option      "EXAVSync" "on"       # EXAVSync описано выше.
       Option      "DMAForXv" "on"       # Принудительная опция, дополнение к включению Xv.
       Option      "ScalerWidth" "2048"  # Поможет решить несколько очень редких ошибок.
       Option      "EnablePageFlip" "on" # Это не должно быть включено на картах R5xx.
       Option      "RenderAccel" "on"    # Опционально. Это должно быть включено по умолчанию.
       Option      "AccelDFS" "on"       # Опционально. Смотрите страницы man.
       BusID       "PCI:1:0:0"
EndSection


Для более подробной информации о конфигурации, обратитесь к страницам man.

man radeon

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

Повышение производительности в xf86-video-radeonhd

ПЛАНИРУЕТСЯ

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
Note: вам необходимо установить xvattr из AUR для выполнения этой команды.

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


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

HDMI со звуком

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

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

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

  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 совпадает с номером вашей карты, найденном в последней команде. Вы услышите тестовый звук на вашем ТВ.

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

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

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

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

Warning: Также, возможно, проблема может быть связана с 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.

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

Note: Когда вы переходите на 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

Warning: Использование установщика с 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.

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

Warning: Обязательно посмотрите сгенерированный xorg.conf до того, как вы его скопируете в /etc/X11/xorg.conf и запустите startx или перезагрузитесь. Иначе, вы вероятно получите пустой экран и не сможете работать со своей системой.
Конфигурационный файл созданный в предыдущих шагах не всегда генерируется правильно. Если вы хотите, вы можете сравнить сгенерированный файл с одним из Примеров файлов 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 и попробуйте еще раз.

Warning: В предыдущих версиях 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 (или просто перегрузитесь).

Warning: Будьте осторожны. Если вы имели сохраненные настройки 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.

Warning: Убедитесь что у вас как минимум R6xx (HD2xxx) или более новая карта, иначе, драйвер не будет работать. Вы столкнетесь с ошибками при запуске, когда будете использовать catalyst и карту младше R6xx.
Warning: Эта ошибка должна также если вы не перезагрузили вашу систему после установки или обновления 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 /vmlinuz26 root=/dev/sda3 resume=/dev/sda2 ro vga=0
initrd /kernel26.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 и перезагрузка должны решить это проблему.

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

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

Personal tools