ATi Radeon HOWTO (for XFree86)
Содержание:Конфигурирование ядра
Hастройка карты на работу с XFree86
С использованием драйверов ATI (для 4.x.0)
С использованием встроенных драйверов (для XFree 4.3.0)
Настройка в ALT Linux
I. Конфигурирование ядра
В большинстве дистрибутивных ядер ничего менять не надо, если же ничего работать не будет, то пересоберите ядро, включив в "Character Devices" пункты:
[*] /dev/agpgart
Hint: В последних драйверах можно использовать встроенный драйвер AGP
[*] 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 возьмем файл
glx1_linux_X4.3.zipРазархивируем его и получим пакет
fglrx-glc22-4.3.0-xxx.i586.rpm - где xxx версия драйверов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/<какое там у вас ядро?>/fglrxHint: Если вы поменяли ядро, то идите в каталог
/lib/modules/<какое там у вас ядро?>/fglrx/build_modзапустите скрипт make.sh, например, так:
sh ./make.shи он создаст новый модуль под ваше новое ядро.
Теперь модуль есть и надо его загрузить в ядро. Пишем:
depmod -aЕсли все прошло удачно добавляем данную строчку в /etc/modules.conf:
modprobe fglrx (либо insmod fglrx)
alias char-major-10-134 fglrxДалее приведена часть, относящаяся к видео карте, рабочего конфига XF86Config-4:
Section "dri" Mode 0666 EndSection Section "Module" Load "glx" # libglx.a # OpenGL X protocol interface аппаратно Load "dri" # libdri.a # Direct rendering аппаратно 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" #Option "ClientDriverName" "fglrxgnu" (*) #Option "KernelModuleParm" "agpgart=2;debug=0x00040003" (*) #Option "BufferTiling" "on" (*) #Option "AGPMask" "0x00000000" (*) #Option "RingSize" "0x100" (*) Screen 0 EndSection (*) Эти опции появились в драйверах версии 2.9.12В дальнейшем работу карты можно проверить, запустив
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ждем и получаем модуль "radeon.o"
make -f Makefile.linux
Теперь скопируем его, например, в
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". Не забываем про
modprobe agpgartесли он уже не загружен, конечно, или не вкомпилен в ядро.
После этого получаем быстрый 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 [...]Обратите внимание на строчку - "direct rendering: Yes". Для софтверного рендеринга будет стоять "no".
Andrey M. Izrantsev - andrey_izrantsev@front.ru