ATI (Русский)
From ArchWiki
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.
Если вы не знаете, какой из них выбрать, попробуйте сначала любой из открытых. Открытые драйвера предпочтительнее и обычно проблем с ними меньше. Также, чтобы узнать, что уже работает, над чем идёт работа и что планируется добавить, посетите страничку матрица свойств.
Rxxx?
Схема имен вида Rxxx ссылается на название карты. Чтобы найти свою карту, посетите страницу википедии: [1]
Драйвера ATI с Открытым Исходным Кодом
AMD/ATI видеокарты и KMS
Официальное ядро 2.6.31 имеет экспериментальную поддержку установщика видеорежимов ядра (kernel mode-setting).
Установщик видеорежимов ядра — это технология смены видеорежимов в пространстве ядра, на стадии загрузки модулей (до загрузки X). Он написан практически с нуля и позволяет переключать терминалы (Ctrl+Alt+F1 и др.) практически мгновенно. Как следствие, вы будете иметь полноэкранный фрэймбуфер, который удобен в консольном режиме для дисплеев с высоким разрешением.
Ранний запуск
Этот метод позволяет запускать 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 будет запускаться очень быстро.
Возможные проблемы 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.
Решение проблем, связанных с KMS
Отключение KMS
Решение данной проблемы может быть в отключении экспериментального KMS и откат к старым настройкам.
1) Добавьте "radeon.modeset=0" в строку загрузки ядра в файле /boot/grub/menu.lst или в конфигурационном файле lilo.
Если "radeon.modeset=0" не помогло, попробуйте "nomodeset" взамен.
2) Если вы добавили "radeon" (строка MODULES) в mkinitcpio.conf, удалите его
3) Пересоберите initramfs командой
mkinitcpio -p kernel26
- Опции для модулей могут быть указаны в файле, расположенном в /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).
Все карты, начиная с 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, попробуйте первый.
Установка и Настройка
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
Теперь вы можете сделать две вещи. Вы можете создать файл 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
Эта секция (DRI) необязательна (считается устаревшей), но лучше её оставить если вы будете испытывать проблемы с DRI.
Section "DRI" Group "video" Mode 0666 EndSection
Когда используется этот драйвер, убедитесь, что вы не имеете установленных catalyst
и catalyst-utils
, вместо них используйте ati-dri
. Иначе, вы получите нерабочую библиотеку libGL.so
, которая приведёт к отсутствию ускорения.
Повышение Производительности
Повышение производительности в 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
Для переключения обратно на монитор, измените в 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.
- Подключите ваш ПК к ТВ через кабель 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 совпадает с номером вашей карты, найденном в последней команде. Вы услышите тестовый звук на вашем ТВ.
Решение Проблем (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.
Просто измените одну из двух строк, для ваших настроек.
Проверьте, чтобы в секции "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-сервер после каждого выхода из сессии:
$ 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.
Если вы имеете проблемы с ускорением, выполните:
$ 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 и перезагрузка должны решить это проблему.
Внешние Ресурсы
Более подробная информация может быть найдена здесь
- 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 (англ.)