LINUX.ORG.RU

3D на Radeon 7000


0

0

Здравствуйте, давно мучаюсь с такой проблемой: У меня ALTMaster2.4 и довольно старая видюха Radeon 7000, с которой как я понял родные атишные дрова (fglrx или типа того) не работают. В Mandrake 3D-ускорение работало отлично (видимо с opensource дровами от XFree), в Альте -нет. Как его настроить? Модули radeon и agpgart загружены, более того в логах иксов есть строчка: (II) RADEON(0): Direct rendering enabled. Однако fps в gears порядка 200 и glxinfo говорит:

bash-2.05b$ glxinfo | more name of display: :0.0 display: :0 screen: 0 direct rendering: No server glx vendor string: Brian Paul server glx version string: 1.4 Mesa 5.0.2 server glx extensions: GLX_MESA_copy_sub_buffer, GLX_MESA_pixmap_colormap, GLX_MESA_release_buffers, GLX_ARB_get_proc_address, --More--

Вот части конфига иксов (XFree86 Version 4.3.0.1):

............... Section "Module" Load "dbe" # Double-Buffering Extension Load "v4l" # Video for Linux Load "extmod" Load "type1" Load "freetype" Load "glx" # 3D layer Load "dri" # direct rendering EndSection ............... Section "Device" Identifier "Radeon" VendorName "ATI" BoardName "ATI Radeon" Driver "ati" Option "AGPMode" "1" # Option "DPMS" # Option "NoAccel" "no" EndSection

Section "Screen" Identifier "screen1" Device "Radeon" Monitor "monitor1" ............... Section "DRI" Mode 0666 EndSection

Пробовал ставить драйвер "radeon", но и так, и так сам подгружает radeon.o. Очень надеюсь на вашу помощь.

★★

Запусти X -configure, а потом допиши куски из старого конфига. Если не поможет --- тогда дело в кривых руках Altовских мантейнеров. Подробнее про то, что надо написать в конфиг можно почитать вот тут: http://saratov.lug.ru/?p=61, только бакслеши перед кавычками убирай, я все никак не соберусь исправить результат кривого переноса со старого движка.

dn2010 ★★★★★
()
Ответ на: комментарий от dn2010

То же самое и с конфигом от X -configure. В логах пишет, что всё ок, а на деле ускорения нету. В dmesg обнаружил такую гадость:

agpgart: SiS chipset with AGP problems detected. Giving bridge time to recover.

Может из-за этого?

Tayler ★★
() автор топика

Для начала попробуй запустить glxinfo так:

LIBGL_DEBUG="verbose" glxinfo

Возможно, по ошибкам в первых строках вывода можно будет понять в чём проблема. Если вывод этой команды ничем не отличается от простого запуска glxinfo, то похоже, что используется библиотека libGL не из mesa.

И, вообще, попробуй сделать всё по этой статье: http://dri.freedesktop.org/wiki/DriTroubleshooting

sarulezzz
()
Ответ на: комментарий от sarulezzz

http://dri.freedesktop.org/wiki/DriTroubleshooting я читал и подробно в него втыкал. Ошибок описанных там у себя не нашел, кроме:

"libGL: OpenDriver: trying /usr/X11R6/lib/modules/dri/radeon_dri.so" If it isn't doing that, you have replaced your X.Org-provided libGL with some other libGL.

И действительно, при verbose этой строчки в glxinfo у меня нет. Всё как и без verbose. Значит не та libGL? Вот что дает ldd:

libGL.so.1 => /usr/X11R6/lib/libGL.so.1 (0x00195000)

Библиотеку из пакета: Mesa-5.0.2-alt2.M24.2. Что скажете?

Tayler ★★
() автор топика
Ответ на: комментарий от Tayler

Похоже, что libGL собрана без поддрежки dri. Библиотека libGL может собираться в mesa с поддержкой dri (например, make linux-dri-x86) и без поддержки dri (make linux-x86). По всей видимости у тебя второй вариант. Или у тебя несколько библиотек и для работы выбирается неправильная. На всякий случай покажи ещё ls -l /usr/X11R6/lib/libGL* и ldconfig -v |grep libGL . А, вообще, версия mesa 5.0.2 довольно старая, может быть в этой версии ещё не было возможности дебага с помощью переменной LIBGL_DEBUG. Так что если ничего не получится, то, наверное, нужно обновить mesa.

sarulezzz
()
Ответ на: комментарий от sarulezzz

ls -l /usr/X11R6/lib/libGL*:


-rw-r--r-- 1 root root 603230 Сен 16 16:19 /usr/X11R6/lib/libGL.a
lrwxrwxrwx 1 root root 12 Ноя 18 17:52 /usr/X11R6/lib/libGL.so -> libGL.so.1.2
lrwxrwxrwx 1 root root 16 Сен 5 11:14 /usr/X11R6/lib/libGL.so.1 -> libGL.so.1.4.502
-rw-r--r-- 1 root root 240736 Апр 28 2004 /usr/X11R6/lib/libGL.so.1.0
-rw-r--r-- 1 root root 453216 Сен 16 16:21 /usr/X11R6/lib/libGL.so.1.2
-rw-r--r-- 1 root root 1942528 Май 28 2005 /usr/X11R6/lib/libGL.so.1.4.502
lrwxrwxrwx 1 root root 17 Янв 5 21:13 /usr/X11R6/lib/libGLU.so -> libGLU.so.1.3.502
lrwxrwxrwx 1 root root 17 Июл 3 2005 /usr/X11R6/lib/libGLU.so.1 -> libGLU.so.1.3.502
-rw-r--r-- 1 root root 462260 Апр 28 2004 /usr/X11R6/lib/libGLU.so.1.3.502
-rw-r--r-- 1 root root 18778 Сен 16 16:19 /usr/X11R6/lib/libGLw.a
lrwxrwxrwx 1 root root 13 Ноя 18 17:52 /usr/X11R6/lib/libGLw.so -> libGLw.so.1.0
lrwxrwxrwx 1 root root 13 Ноя 18 17:52 /usr/X11R6/lib/libGLw.so.1 -> libGLw.so.1.0
-rw-r--r-- 1 root root 16664 Сен 16 16:21 /usr/X11R6/lib/libGLw.so.1.0


ldconfig -v |grep libGL:


ldconfig: Path `/usr/X11R6/lib' given more than once
libGLU.so.1 -> libGLU.so.1.3.502
libGLw.so.1 -> libGLw.so.1.0
libGL.so.1 -> libGL.so.1.4.502


Но если libGL собрана без поддрежки dri (у меня все пакеты из дистрибутива + updates), то в ALTLinux вообще не работает ускорение?

Tayler ★★
() автор топика
Ответ на: комментарий от Tayler

-rw-r--r-- 1 root root 603230 Сен 16 16:19 /usr/X11R6/lib/libGL.a
lrwxrwxrwx 1 root root 12 Ноя 18 17:52 /usr/X11R6/lib/libGL.so -> libGL.so.1.2
lrwxrwxrwx 1 root root 16 Сен 5 11:14 /usr/X11R6/lib/libGL.so.1 -> libGL.so.1.4.502
-rw-r--r-- 1 root root 240736 Апр 28 2004 /usr/X11R6/lib/libGL.so.1.0
-rw-r--r-- 1 root root 453216 Сен 16 16:21 /usr/X11R6/lib/libGL.so.1.2
-rw-r--r-- 1 root root 1942528 Май 28 2005 /usr/X11R6/lib/libGL.so.1.4.502

Кажется понятно. libGL.so ссылается на libGL.so.1.2 (скорее всего, это библиотека с поддрежкой dri, потому что дата создания больше), а libGL.so.1 ссылается на libGL.so.1.4.502 (библиотека без поддержки dri). Для проверки этой теории, можешь отложить библиотеку libGL.so.1.4.502 в надёжное место, чтоб её не было в каталоге /usr/X11R6/lib/. После этого редактируешь ссылку /usr/X11R6/lib/libGL.so.1 , чтоб она указывала на libGL.so.1.2 . Делаешь ldconfig, перезапускаешь Xorg, пробуешь запустить LIBGL_DEBUG="verbose" glxinfo , сообщаешь сюда о результатах.

sarulezzz
()
Ответ на: комментарий от sarulezzz

Сделал как вы сказали, tuxracer летает, glxinfo показывает:
direct rendering: Yes !!!!!!

Действительно libGL.so.1.4.502 из пакета Mesa, а libGL.so.1.2 из XFree-libs. Mesa не хочет нормально удаляться (тянет до фига зависимостей). Наверно сейчас самый легкий путь это принудительно (--nodeps) переустановить XFree-libs, тогда libGL.so.1 с ней залинкуется?
ЗЫ. sarulezzz, огромное-гигантское спасибо. Как вам пиво передать? :)

Tayler ★★
() автор топика
Ответ на: комментарий от Tayler

>Сделал как вы сказали, tuxracer летает, glxinfo показывает: direct rendering: Yes !!!!!! Действительно libGL.so.1.4.502 из пакета Mesa, а libGL.so.1.2 из XFree-libs. Mesa не хочет нормально удаляться (тянет до фига зависимостей). Наверно сейчас самый легкий путь это принудительно (--nodeps) переустановить XFree-libs, тогда libGL.so.1 с ней залинкуется?

А зачем что-то делать ещё? Всё летает, вот и хорошо :) Считай, что случайно удалил библиотеку :)) На самом деле, как это сделать корректно не знаю. Надо ещё у кого-то спросить. Например, спроси в рассылке ALT Linux почему так произошло и что нужно сделать, чтоб при очередном обновлении не случилось то же самое.

>ЗЫ. sarulezzz, огромное-гигантское спасибо. Как вам пиво передать? :)

Пожалуйста. Лей пиво прямо в модем :)))

sarulezzz
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.