SDB:Radeon

Перейти к: навигация, поиск

Это руководство поможет вам использовать свободный драйвер radeon (xf86-video-ati), что обеспечит 2D/3D ускорение для вашего GPU. Это в определенных случаях лучше, чем проприетарный драйвер fglrx, несмотря на то, что для некоторых карт имеет более низкую производительность в 3D. Используя свободный драйвер с открытым исходным кодом вы получаете более лучшую поддержку разработчиками, а также поддержку старых чипсетов.

Первым делом

Во-первых, уточните имя вашей карты и чипсета:

/sbin/lspci -nn | grep VGA

Выполнение команды покажет строку, подобную этой:

02:00.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI Redwood [Radeon HD 5670] 

Поддерживаемое оборудование

Версия ядра 3.11+, реализована поддержка динамического управления питанием карты (требуется указать в командной строке ядра параметр radeon.dpm=1).
Внимание: Версия драйвера xf86-video-ati-7.x, используется только переключение видеорежимов на уровне ядра (KMS - Kernel Mode Setting).
Начиная с версии дистрибутива openSUSE 11.3, по умолчанию используется KMS. Если вы испытываете проблемы с поддержкой KMS, то в качестве дополнительного варианта используется драйвер radeonhd, в противном случае, по умолчанию задействован fbdev. Это возможно только при передаче параметра nomodeset в командной строке ядра (см. примечание к выпуску через центр управления YaST).

Все видеокарты AMD/ATI имеют прекрасную поддержку 2D ускорения. Карты серии R100 и R200 имеют полную поддержку 3D, а R300-R700, хорошую. Для более детальной информации о поддержки технологий вы можете узнать из таблицы особенностей свободного драйвера radeon.

Ниже представлен список поддерживаемых карт из страницы руководства (man radeon) дистрибутива openSUSE 13.2, пакета xf86-video-ati-7.5.0

R100 Radeon 7200
RV100 Radeon 7000(VE), M6, RN50/ES1000
RS100 Radeon IGP320(M)
RV200 Radeon 7500, M7, FireGL 7800
RS200 Radeon IGP330(M)/IGP340(M)
RS250 Radeon Mobility 7000 IGP
R200 Radeon 8500, 9100, FireGL 8800/8700
RV250 Radeon 9000PRO/9000, M9
RV280 Radeon 9200PRO/9200/9200SE/9250, M9+
RS300 Radeon 9100 IGP
RS350 Radeon 9200 IGP
RS400/RS480 Radeon XPRESS 200(M)/1100 IGP
R300 Radeon 9700PRO/9700/9500PRO/9500/9600TX, FireGL X1/Z1
R350 Radeon 9800PRO/9800SE/9800, FireGL X2
R360 Radeon 9800XT
RV350 Radeon 9600PRO/9600SE/9600/9550, M10/M11, FireGL T2
RV360 Radeon 9600XT
RV370 Radeon X300, M22
RV380 Radeon X600, M24
RV410 Radeon X700, M26 PCIe
R420 Radeon X800 AGP
R423/R430 Radeon X800, M28 PCIe
R480/R481 Radeon X850 PCIe/AGP
RV505/RV515/RV516/RV550 Radeon X1300/X1400/X1500/X1550/X2300
R520 Radeon X1800
RV530/RV560 Radeon X1600/X1650/X1700
RV570/R580 Radeon X1900/X1950
RS600/RS690/RS740 Radeon X1200/X1250/X2100
R600 Radeon HD 2900
RV610/RV630 Radeon HD 2400/2600/2700/4200/4225/4250
RV620/RV635 Radeon HD 3410/3430/3450/3470/3650/3670
RV670 Radeon HD 3690/3850/3870
RS780/RS880 Radeon HD 3100/3200/3300/4100/4200/4250/4290
RV710/RV730 Radeon HD 4330/4350/4550/4650/4670/5145/5165/530v/545v/560v/565v
RV740/RV770/RV790 Radeon HD 4770/4730/4830/4850/4860/4870/4890
CEDAR Radeon HD 5430/5450/6330/6350/6370
REDWOOD Radeon HD 5550/5570/5650/5670/5730/5750/5770/6530/6550/6570
JUNIPER Radeon HD 5750/5770/5830/5850/5870/6750/6770/6830/6850/6870
CYPRESS Radeon HD 5830/5850/5870
HEMLOCK Radeon HD 5970
PALM Radeon HD 6310/6250
SUMO/SUMO2 Radeon HD 6370/6380/6410/6480/6520/6530/6550/6620
BARTS Radeon HD 6790/6850/6870/6950/6970/6990
TURKS Radeon HD 6570/6630/6650/6670/6730/6750/6770
CAICOS Radeon HD 6430/6450/6470/6490
CAYMAN Radeon HD 6950/6970/6990
ARUBA Radeon HD 7000 series
TAHITI Radeon HD 7900 series
PITCAIRN Radeon HD 7800 series
VERDE Radeon HD 7700 series
OLAND Radeon HD 8000 series
HAINAN Radeon HD 8000 series
BONAIRE Radeon HD 7790 series
KAVERI KAVERI APUs
KABINI KABINI APUs
HAWAII Radeon R9 series
MULLINS MULLINS APUs

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

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

Удаление проприетарного драйвера fglrx

1. Выполните деинсталляцию драйвера с помощью сценария, например, установленного таким способом. Если же вы устанавливали драйвер в одно нажатие или из репозитория, тогда для удаления используйте YaST (GUI) или zypper (CLI).

2. Удалите строку, предотвращающую загрузку модуля radeon (blacklist radeon):

sudo sed -i '/radeon$/d' /etc/modprobe.d/*

3. Создайте резервную копию файл конфигурации xorg.conf сгенерированный утилитой aticonfig --intial:

sudo mv /etc/X11/xorg.conf /etc/x11/xorg.conf.backup

4. Убедитесь в отсутствии параметра nomodeset в командной строке ядра центра управления YaST -> Загрузчик:

  • для GRUB Legacy: Управление секциями -> Редактировать -> Дополнительный параметр командной строки ядра
  • для GRUB 2: Настройка загрузчика -> Дополнительный параметр командной строки ядра
  • разрешите загрузку модуля drm на раннем этапе загрузки системы (до загрузки модуля radeon):
sudo sh -c 'yast2 sysconfig set NO_KMS_IN_INITRD="no" && mkinitrd'

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

Тестирование драйвера

Установите демонстрационную программу на основе GLX, возможно она еще не установлена:

sudo zypper in mesa-demo-x 

Для тестирования драйвера используйте следующую команду:

glxgears

Вы должны увидеть новое окно с вращающимися шестеренками, а в окне терминала частоту кадров (FPS).

Использование гибридной графики

Версия ядра 3.13, добавлена поддержка динамического управления питанием GPU для технологии AMD PowerXpress.

Сперва проверьте список видеокарт, подключенных к монитору:

$ $ xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x7d cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 3 outputs: 4 associated providers: 1 name:Intel
Provider 1: id: 0x56 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 6 outputs: 1 associated providers: 1 name:radeon

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

$ xrandr --setprovideroffloadsink radeon Intel

Теперь вы можете запускать ресурсоемкие приложения на дискретной карте radeon, используя следующую команду:

$ DRI_PRIME=1 <имя_приложения>

Рекомендации по настройке X.org

В настоящие время никакой настройки не требуется, вы можете спокойно использовать настройки по умолчанию. Однако, в некоторых случаях, для лучшей производительности может потребоваться дополнительная настройка секции "Device". Для включения параметров используется файл /etc/X11/xorg.conf.d/50-device.conf, вы также можете создать /etc/X11/xorg.conf. В любом случае, секция "Device" должна содержать, как минимум, следующие:

Section "Device"
   Identifier  "Device0"
   Driver      "radeon"
EndSection

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

Внимание: Будьте осторожны при изменении настроек. Некоторые параметры могут привести к неработоспособности X-сервера. Обязательно сверьте параметры с таблицей свойств.

Скорость передачи данных (используется только тогда, когда включен DRI). Если у вас есть AGP карта, то вы можете установить максимальное значение поддерживаемое картой. Возможные значения: 1, 2, 4 и 8.

Option      "AGPMode" "8"

Обратите внимание, что используя KMS, эта опция не работает. Вместо этого используйте настройки modprobe:

 echo 'options radeon agpmode=8' | tee sudo /etc/modprobe.d/radeon-kms.conf 

Увеличение производительности 3D-ускорения. По умолчанию включена, если используется KMS. В ином случае (UMS), по умолчанию выключена, и преимущественно используется на картах R/RV/RS4xx или более старой.

Option       "EnablePageFlip" "on"

Выбор архитектуры ускорение. Это может быть "XAA" или "EXA". ЕXA является новой архитектурой и должна улучшить производительность. Однако, XAA более стабильна. По умолчанию используется EXA.

Option       "AccelMethod" "XAA"

Режим фреймбуфера, обеспечивающий прирост производительности в 3D приложениях

Option       "ColorTiling" "on"

Для получения дополнительной информации о параметрах настройки вы можете найти на странице руководства (man radeon).

Поиск и устранение неисправностей

glxgears не работает?

1. Существует вероятность того, что проприетарный драйвер fglrx перезаписывает некоторые библиотеки mesa и Xorg, например, libglx.so. Переустановите эти библиотеки:

sudo zypper in -f xorg-x11-server mesa 
  • и перезагрузитесь или перезапустите X-cервер:
  • для версии дистрибутива openSUSE 12.3/12.2/12.1:
sudo systemctl restart xdm.service
  • для версии дистрибутива openSUSE 12.1/11.4:
sudo service xdm restart

2. Если же вы все еще испытываете трудности, тогда запустите следующую команду:

glxinfo|egrep 'OpenGL|^direct'
  • где direct rendering — если прописано "No", тогда смотрите журнал событий X-сервера: /var/log/Xorg.0.log; OpenGL version string — если прописано "fglrx" или "ATI", то убедитесь в том, что вы полностью удалили проприетарный драйвер fglrx.

3. Вы продолжаете испытывать трудности, тогда проверьте приложение glxgears на использование библиотек драйвера radeon:

ldd /usr/bin/glxgears|grep found
  • и переустановите пакеты отсутствующих библиотек.

Kernel mode-setting (KMS)

Прежде всего убедитесь в том, что не загружены модули фрэймбуфера: radeonfb, uvesafb или vesafb. Это же относится и к параметрам vga командной строки ядра. Поддержку фрэймбуфера консоли обеспечивает fbcon и radeondrmfb. Убедитесь в использование данного фрэймбуфера: dmesg | grep fbcon

Убедитесь, что KMS включен до запуска X-сервера

Об этом будут свидетельствовать следующие сообщения журнала событий /var/log/Xorg.0.log, подобные этим:

(EE) RADEON(0): [dri] RADEONDRIGetVersion failed because of a version mismatch.
[dri] This chipset requires a kernel module version of 1.17.0,
[dri] but the kernel reports a version of 2.0.0.[dri] If using legacy modesetting, upgrade your kernel.
[dri] If using kernel modesetting, make sure your module is
[dri] loaded prior to starting X, and that this driver was built
[dri] with support for KMS.
[dri] Disabling DRI

Чтобы исправить это, используйте командную строку ядра, присвоив параметр radeon.modeset=1 или создав файл конфигурации modprobe:

echo 'options radeon modeset=1' | tee sudo /etc/modprobe.d/radeon-kms.conf 

Проблемы загрузки с KMS

Если вы не можете загрузиться с KMS, то для отладки проблемы используйте текстовый режим с отключенным KMS. Загрузившись в многопользовательский режим (Grub - командная строка: добавить параметры nomodeset 3) вам необходимо вызгрузить/загрузить модули ядра drm/radeon c помощью modprobe (желательно через ssh из другой системы):

sudo /sbin/modprobe -rv drm radeon   
sudo /sbin/modprobe -v drm debug=1     
sudo /sbin/modprobe -v radeon modeset=1 

За деталями обращайтесь в буфер сообщений ядра (dmesg) и журнала событий /var/log/Xorg.0.log.

Отсутствует прошивка

Прошивка используется автоматически модулем radeon, проверить использование прошивки можно следующей командой:

dmesg|egrep -i 'firmware|microcode'

Дополнительные файлы прошивки вы можете найти в пакете:

sudo zypper in kernel-firmware