[sisyphus] Как можно играть в doom3 на DRI для R200/R100 с наибольшим комфортом

Konstantin A. Lepikhov =?iso-8859-1?q?lakostis_=CE=C1_anti-leasure=2Eru?=
Чт Янв 6 01:02:31 MSK 2005


Hi!

Хочу поделиться секретом, как можно имея под рукой Сизиф и некоторые файлы
из DRI-CVS завести почти "коммерческий" OpenGL на R200/R100 картах.
Потребуется для этого всего чуть-чуть:

- ядро 2.6 (подойдет 2.6.10-std-(up|smp)) + все headers (modules|drm)
- xorg-x11-sdk, xorg-x11-server, xorg-x11-drv-ati, gcc-3.3 etc
- снапшоты Mesa и drm из cvs.freedesktop.org:/cvs/
- библиотека libtxc_dxtn для поддержки s3tc (ее можно взять с
  http://homepage.hispeed.ch/rscheidegger/dri_experimental/s3tc_index.html).

Порядок установки:

1. Делаем резерные копии /usr/X11R6/lib/modules/dri/(r200|radeon)_dri.so,
/lib/modules/<kver>/kernel/drivers/char/drm/radeon.ko

2. Скачиваем снапшоты (см.
http://dri.sourceforge.net/cgi-bin/moin.cgi/Download), потом копируем Mesa
и drm в один каталог.

3. Изменяем файл. сборки Mesa (configs/linux-dri-x86), добавив туда след.
строки:

...

OPT_FLAGS = -pipe -Wall -O2 -march=i586 -mcpu=i686 -pipe
SRC_DIRS = mesa
DRI_DIRS = dri_client r200 radeon

далее говорим:

LINUXDIR=/usr/src/linux-2.6.10-std26-up make linux-dri-x86

...

получаем в libs/(r200|radeon)_dri.so, копируем их в
/usr/X11R6/lib/modules/dri вместо старых.

4. Собираем drm модули:

переходим в drm/linux-2.6, говорим:

LINUXDIR=/usr/src/linux-2.6.10-std26-up make DRM_MODULES="radeon"

...

получаем radeon.ko, копируем его вместо старого, говорим depmod -a,
смотрим, что все нормально. Хотя в dri-devel говорят, что linux-2.6 уже
давно не обновлялся, а надо использовать linux-core, но модуль, полученный
там, давал при загрузке кучу unresolved symbols, так что пока его не
собираем. Также прошу заметить, что полученный drm модуль работает только
при указании pci=routeirq в параметрах загрузки ядра.

5. Собираем libtxc_dxtn, кладем ее в /usr/local/lib, говорим ldconfig

6. Далее перегружаемся, смотрим, что ничего не зависло :) говорим,
glxinfo, должны увидеть что-то типа этого:

$ glxinfo

name of display: :0.0
display: :0  screen: 0
direct rendering: Yes

<skip>

OpenGL vendor string: Tungsten Graphics, Inc.
OpenGL renderer string: Mesa DRI R200 20041207 AGP 4x x86/MMX/SSE2 TCL
OpenGL version string: 1.3 Mesa 6.3
OpenGL extensions:
    
<skip>
    
    GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_S3_s3tc
						     ^^^^^^^^^^

7. Далее запускаем doom3, с помощью команды
LD_PRELOAD=/usr/X11R6/lib/libGL.so.1 doom3, и пробуем играть, должно
получиться ;)

8. Теперь обустраиваем свой DRI, для этого надо скачать утилиту driconf
(см. ссылку на сайте dri.sf.net), она позволит поковыряться в настройках,
включая всякие полезные/бесполезные штуки (типа поддержки hyperz,
_реально_ дающей прирост скорости).

Собственно все.

-- 
WBR, Konstantin	      chat with ==>ICQ: 109916175
     Lepikhov,	      speak  to ==>JID: lakostis на jabber.org
aka L.A. Kostis       write  to ==>mailto:lakostis на pisem.net.nospam

...The information is like the bank... 			  (c) EC8OR
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : smime.p7s
Тип     : application/x-pkcs7-signature
Размер  : 2212 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20050106/93bf125c/attachment-0002.bin>


Подробная информация о списке рассылки Sisyphus