ATI Radeon HOWTO (for X Window System)

Содержание:

Конфигурирование ядра
Hастройка карты на работу с XFree86
С использованием драйверов ATI (для 4.x.0)
С использованием встроенных драйверов (для XFree 4.3.0)
Настройка в ALT Linux
Примечание

I. Конфигурирование ядра

В дистрибутивных ядрах ничего менять не надо, а если вы решите пересобрать ядро, то не забудьте включить в "Character Devices" пункты:
[M] /dev/agpgart
[*] Direct Rendering Manager (XFree86 DRI support)
      и пункт содержаший GLX для вашего чипсета, например
[*] Intel 440LX/BX/GX and I815/.../I860 support

II. Настройка карты на работу с XFree

1). С использованием драйверов ATI (для 4.x.0)

Для начала необходимо скачать архив с драйвером под свою видео карту и версию XFree86 со страницы http://www.schneider-digital.de/html/body_download_ati.html
Hапример, для карт Radeon (старше 8500, про работу с 7000 ничего не сказано) и XFree86 4.3.0 возьмем файл glx8x_linux_X4.3.zip , разархивируем его и получим пакет fglrx-glc22-4.3.0-2.9.8.i586.rpm
Hint: Предыдущую версию (2.5.1) драйверов брать на сайте компании ATI: ATI Linux Drivers
fglrx-glc22-4.1.0-2.5.1.i586.rpm (для 4.1.0)
fglrx-glc22-4.2.0-2.5.1.i586.rpm (для 4.2.0)
Далее установить его: rpm -i <имя пакета>
Если будут проблемы (неудовлетворенные зависимости), то в принципе их можно решить так
(но может так и не стОит):

rpm -i --nodeps (--force) <имя пакета>
После установки rpm пакета должен запуститься скрипт конфигурирования, в противном случае наберите: fglrxconfig и ответьте на вопросы скрипта.
Он создаст модуль под ваше ядро в /lib/modules/<какое там у вас ядро?>/fglrx Hint: Если вы поменяли ядро, то идите в каталог /lib/modules/<какое там у вас ядро?>/fglrx/build_mod и запустите скрипт make.sh, например, так: sh ./make.sh и он создаст новый модуль под ваше новое ядро.
Теперь модуль есть и надо его загрузить в ядро. Пишем:
depmod -a
modprobe fglrx (либо insmod fglrx)
Если все прошло удачно добавляем данную строчку в /etc/modules.conf:
alias char-major-10-134 fglrx

Далее приведена часть, относящаяся к видео карте, рабочего конфига XF86Config-4:

Section "dri"
    Mode 0666
EndSection

Section "Module"
    Load  "glx"    # libglx.a # Direct rendering аппаратно
    Load  "dri"    # libdri.a # OpenGL X protocol interface аппаратно
EndSection

Section "Device"
    Identifier                          "ATI Graphics Adapter"
    Driver                              "fglrx"
# === disable PnP Monitor  ===
#    Option                             "NoDDC"
# === disable/enable XAA/DRI ===
    Option "no_accel"                   "no"
    Option "no_dri"                     "no"
# === FireGL DDX driver module specific settings ===
# === Screen Management ===
    Option "DesktopSetup"               "0x00000000"
    Option "MonitorLayout"              "AUTO, AUTO"  (*)
    Option "IgnoreEDID"                 "off"         (*)
    Option "HSync2"                     "unspecified"
    Option "VRefresh2"                  "unspecified"
    Option "ScreenOverlap"              "0"
    Option "GammaCorrectionI"           "0x00000000"
    Option "GammaCorrectionII"          "0x00000000"
# === OpenGL specific profiles/settings ===
    Option "Capabilities"               "0x00008000"
# === Video Overlay for the Xv extension ===
    Option "VideoOverlay"               "on"
# === OpenGL Overlay ===
# Note: When OpenGL Overlay is enabled, Video Overlay
#       will be disabled automatically
    Option "OpenGLOverlay"              "off"
# === Misc Options ===
    Option "UseFastTLS"                 "0"   (*)
    Option "BlockSignalsOnLock"         "on"  (*)
    Option "UseInternalAGPGART"         "yes" (*)
    Option "ForceGenericCPU"            "no"  (*)
    Screen 0
EndSection

(*) Эти опции появились в драйверах версии 2.9.8

В дальнейшем работу карты можно проверить, запустив glxgears или fgl_glxgears а также посмотрев вывод команды glxinfo

name of display: :0.0
Loading required GL library /usr/X11R6/lib/libGL.so.1.2
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.2
server glx extensions:
[...]

В начале должно быть написано "direct rendering: Yes" чего, собственно, мы и добивались.

2). С использованием встроенных драйверов (для XFree 4.3.0)

(Переведено и дополнено из XFree-R200 how-to)

Необходимо скачать исходники модуля ядра с gatos.sourceforge.net Модуль называется drm-kernel и выкачивается из cvs.
Пишем
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/gatos login
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/gatos co drm-kernel
Hint: -z[0..9] - степень сжатия

Ждем пока исходники скачаются, затем

cd drm-kernel
make -f Makefile.linux
ждем и получаем модуль "radeon.o"

Теперь скопируем его, например, в cp radeon.o /lib/modules/<какое там у вас ядро?>/kernel/drivers/char/dri и выполним depmod -a , загрузим любым способом, например, modprobe radeon

Теперь подправим ваш XF86Config-4

Section "dri"
    Mode 0666
EndSection

Section "Module"
    Load  "glx"    # libglx.a # Direct rendering аппаратно
    Load  "dri"    # libdri.a # OpenGL X protocol interface аппаратно
EndSection

Section "Device"
    Identifier  "Radeon 9000"
    VendorName  "Unknown"
    BoardName   "Unknown"
    Driver      "radeon"
    #Еще туда можно добавить
    #Option "no_accel" "no"
    #Option "no_dri"   "no"
EndSection

Ну что, теперь грузим иксы и если все прошло гладко наберем в терминале glxinfo и увидим (должны во всяком случае :) "direct rendering: Yes" Теперь запустим glxgears и посмотрим на FPS'ищи :) А у вас есть Tuxracer ? Так самое время погонять на пингвине!

III. Настройка в ALT Linux

Для установки драйверов firegl на мастер 2.2 или на сизиф достаточно выполнить всего несколько пунктов. Поставить пакеты fglrx и fglrx_kernel для своего ядра и xfree. Взять эти пакеты можно на дисках "мастера" или на ftp.altlinux.ru Hапример, в Junior 2.2 для дистрибутивного ядра и XFree ставим пакеты:
fglrx-2.5.1-alt1.i586.rpm
fglrx_kernel-up-2.4.20_2.5.1-alt6.i586.rpm
Внести в /etc/modules.conf строку alias char-major-10-134 fglrx и выполнить от рута depmod -a привести секцию видеокарты в /etc/X11/XF86Config-4 к виду:

Section "Device"
    Identifier  "ATI Radeon"
    VendorName  "Unknown"
    BoardName   "Unknown"
    Driver      "fglrx"
    Option "AGPMode" "4"
    Option "DPMS"    "on"
EndSection

Единственное изменение по сравнению со стандартной настройкой radeon - смена строки Driver "radeon" на Driver "fglrx". После этого получаем быстрый 3D и примерно такой вывод glxinfo:

name of display: :0.0
Loading required GL library /usr/X11R6/lib/libGL.so.1.2
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.2
server glx extensions:
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context
client glx vendor string: SGI
client glx version string: 1.2
client glx extensions:
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context
GLX extensions:
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: Radeon 9000/Mobility Fire GL 8800 Prototype DDR Pentium 4 (SSE2)
OpenGL version string: 1.3.3477 (X4.2.0-2.5.1)
[...]

Обратите внимание на строчку - "direct rendering: Yes". Для софтверного рендеринга будет стоять "no".

IV. Примечание:

Текущая версия драйверов - 2.9.8
Текущая версия HOWTO - 3 (08.05.03)