ATI (Русский)
Владельцы видеокарт ATI/AMD имеют выбор между проприетарным (catalystAUR) и открытым (xf86-video-ati) видеодрайвером.
На данный момент открытый драйвер находится не на одном уровне с проприетарным драйвером в плане 3D-ускорения, а также стабильной поддержки TV-out. Однако, открытый драйвер имеет лучшую поддержку вывода графики на два монитора, прекрасное ускорение 2D-графики, а так же неплохое 3D-ускорение, достаточное для работы оконных менеджеров с поддержкой OpenGL, таких как Compiz или Kwin.
Если вы не знаете, какой драйвер выбрать, попробуйте для начала открытый. Он лучше поддерживается разработчиками, и с ним, как правило, меньше проблем. Для получение информации о поддержке видеокарт и технологий, смотрите страницу матрица свойств.
Contents
- 1 Наименование видеокарт и чипов ATI/AMD
- 2 Общий обзор
- 3 Драйвера ATI с Открытым Исходным Кодом
-
4 Проприетарные драйвера ATI Catalyst
- 4.1 Поддерживаемые Устройства
- 4.2 Установка
- 4.3 Конфигурация
-
4.4 Возможные проблемы
- 4.4.1 Флажок/Checkbox не прорисовывается в OpenGL программах
- 4.4.2 Черный экран, с полным зависанием системы после перезагрузки или запуска startx
- 4.4.3 KDM не появляется после выхода из сессии
- 4.4.4 Неверное разрешение экрана при запуске менеджера входа
- 4.4.5 Ускорение не работает
- 4.4.6 Проблемы режимов Hibernate/Sleep
- 4.4.7 Зависание системы
- 4.4.8 Конфликты Железа
- 4.4.9 Ноутбуки Compaq Presario
- 4.4.10 Зависания при воспроизведении видео
- 5 Внешние Ресурсы
Наименование видеокарт и чипов ATI/AMD
В этой статье читатель может увидеть два способа наименования: название продукта (например HD 4850, X1900) и кодовое имя видеочипа (например RV770, R580). Традиционно, линейка продуктов соответствует линейке видеочипов (т.е. линейка видеокарт "X1000" включает в себя карты X1300, X1600, X1800 и X1900, которые используют линейку чипов "R500", включающую чипы RV515, RV530, R520 и R580). Чтобы найти свою карту, посетите страницу википедии: wikipedia:Comparison_of_ATI_Graphics_Processing_Units
Общий обзор
Драйвер 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.
Драйвера 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)
Установщик видеорежимов ядра (kernel mode-setting) — это технология смены видеорежимов в пространстве ядра, на стадии загрузки модулей (до загрузки X). Он написан практически с нуля и позволяет переключать терминалы (Ctrl+Alt+F1 и др.) практически мгновенно. Как следствие, вы будете иметь полноэкранный фрэймбуфер, который удобен в консольном режиме для дисплеев с высоким разрешением.
Включение KMS
Ранний запуск
Этот метод позволяет запускать 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).
- Удалите все "vga=" и "video=" опции из строки вашего ядра в /boot/grub/menu.lst. Использование других драйверов фрэймбуфера (таких как uvesafb/radeonfb) приведёт к конфликту с KMS. Удалите любые установленные модули фрэймбуфера из /etc/mkinitcpio.conf.
- Добавьте
options radeon modeset=1
в/etc/modprobe.d/modprobe.conf
.
- Перезагрузите систему.
Решение проблем с KMS
Отключение KMS
Пользователь должен рассмотреть вариант отключение KMS, если он столкнулся при его использовании с kernel panic, искажением фрэймбуфера при загрузке, отстутствии сигнала от видеокарты, отказе загрузки Xorg, невозможности Xorg вернуться к программной растеризации Mesa (без 3D ускорения), или проблемой выключения компьютера.
- Добавьте
radeon.modeset=0
(илиnomodeset
, если не сработало) в строку kernel конфигурационного файла вашего загрузчика configuration file[broken link: invalid section]. Это должно сработать.
Если вы хотите убрать поддержку 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.
Повышение Производительности
Общие рекомендации
Изначально 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 вашего загрузчика.
Больше информации в этой статье на 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
Для переключения обратно на монитор, измените в 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
- Подключите ваш ПК к ТВ через кабель HDMI (duh).
- Используйте xrandr для получения картинки на ТВ. Пример:
xrandr --output DVI-D_1 --mode 1280x768 --right-of PANEL
. Просто наберитеxrandr
, он выдаст вам список правильных выводов. - Запустите
aplay -l
для получения списка ваших звуковых устройств. Найдите HDMI и запомните номер карты и номер передающего устройства. Пример того, что вы увидите:card 1: HDMI [HDA ATI HDMI], device 3: ATI HDMI [ATI HDMI]
- Попробуйте отправить звук на это устройство:
aplay -D plughw:1,3 /usr/share/sounds/alsa/Front_Center.wav
. Убедитесь, что ваш изменённый plughw:z,y совпадает с номером вашей карты, найденном в последней команде. Вы услышите тестовый звук на вашем ТВ. - Если всё заработало, можно сделать 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.
Я перешёл с 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.
Если это также не помогло, тогда посмотрите темы на форуме, возможно ваша проблема уже решена.
Проприетарные драйвера 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
Использование его может привести к конфликтам файлов с различным пакетами и возможно вызовет ошибки в 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_(Русский)#.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 и попробуйте еще раз.
Возможные проблемы
Флажок/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 (или просто перегрузитесь).
KDM не появляется после выхода из сессии
Если при запущенном драйвере catalyst и вы увидели консоль (tty1) вместо приветствия KDM, когда вышли из сессии, то вы должны сказать KDM, чтобы он перезапускал X-сервер после каждого выхода из сессии:
$ sudoedit /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.
Если вы имеете проблемы с ускорением, выполните:
$ 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 (англ.)