LINUX.ORG.RU

Настройка Radeon в консоли и Х


0

0

После того, как одолел fglrx драйвер от ATI, решил описать процесс настройки Radeon с этим драйвером и заодно настройку его для работы с DirectFB в консоли в одном месте. Надеюсь, что кому-то будет полезно. Кроме того, подправил свои скрипты для автосборки LFS-системы с учетом вышеупомянутого драйвера.

Kaminsky_S

>>> Подробности

anonymous

Проверено: Shaman007 ()

> настройку его для работы с DirectFB в консоли _в одном месте_.

;-) Я так понял, что работает плохо? ;-)))

atrus ★★★★★
()

а зачем directfb?

у меня radeonfb нормально с fglrx работал

JB ★★★★★
()

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

лучше уж опенсурсный radeon / drm. всё из коробки.

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

>Никто не подскажет как завести AGP GART в 2.4.26 на VIA KT600?

перейти на 2.6

у меня VIA KM400A, решилось именно таким образом

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

очень хорошая статья, а то я долго не мог понять почему у меня не с первого раза раньше получалось поставить дрова.

кстати, на всех радеонах foobillard и в win и в lin работает криво. не понятно.

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

Вот я РК не юзаю просто, тарфа не так много и не хочицы качать. Тока релизы качаю и так через один где-то, в зависимости от чанджлога. На 2.6.11 на всех пашет радеон 100%, а кривизна да, есть! Иногда бесит.

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

вот это меня и бесит в атишных драйверах, их приходится переделывать для каждого нового релиза ядра

> а 2.6.11 на всех пашет радеон 100%

а gcc какой? я когда сидел на 2.6.11.8 fglrx пришлось патчить, иначе не компилился

JB ★★★★★
()

debian, ядро 2.6.8-10-amd64-k8 скачанный с атишного сайта 64-битный fglrx (8.12.10) завелся с полпинка (ну или с целого пинка) и работает ... 1. (у кого тоже дебиллиан) конвертируем alien'ом в .deb 2. "dpkg --force-overwrite -i то_что_получилось.deb" 3. он при этом создаст каталог /usr/X11R6/lib64 - копируем с него все в /usr/X11R6/lib замещая попутно файлы (затрет предыдущий libGL.so.1 в /usr/X11R6/lib - бэкапьте) 4. сам каталог lib64 удаляем, вместо него делаем ссылку на lib ... то есть ln -s lib lib64 ... (!) иначе не заработает гад 5. для компиляции нужны kernel-headers от используемого ядра + именно тот компилятор которым было скомпилировано ядро (!) (его версию обычно можно посмотреть в файле /proc/version) ... в моем случае gcc-3.4 - при этом я правил ссылки в /usr/bin, а именно ссылку gcc, правка оной в нижеописанном скрипте результата почему-то не дала). Также для работы нужно чтобы в ядре было включен CONFIG_MTRR=y - если его нету - говорят что все, кирдык, придется собирать ядро заново 5. идем в /lib/modules/fglrx/build_mod - запускаем скрипт make.sh 6. идем в каталог выше (/lib/modules/fglrx/) и запускаем make_install.sh 7. depmod -ae modprobe fglrx 8. прописываем в Х-конфиге в секции device строки типа: Driver "fglrx" Option "UseInternalAGPGART" "no" (или "yes" в зависимости от того какой драйвер AGP будет лучше работать) 9. запускаем Х и надеемся что он заработает ... для проверки glxinfo - если выдаст ATI что_то_там - УРА! заработало! ... ну а если там выдаст что-то типа Mesa GLX - нифига не заработало, плюемся, пьем пиво и вспоминаем недобрым словом ATI которая не хочет выдать исходники дров чтобы нормальные люди сделали нормальные дрова :(

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

> Я патчил тоже, прямые руки рулят :)

А если есть другие дела?
Кто-нибудь патчил 2.4 на предмет поддержки AGP GART в VIA KT600?

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

>2.6.12-rc3-mm3, gcc 3.4.3
>радеон неработает :(

А по что ядро нерелизное? А по что gcc, с которым глюки?
Я так понял, что ATI дружит пока только с gcc-3.3.*

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

> А по что ядро нерелизное?

мне reiser4 нужен :)

> А по что gcc, с которым глюки?

глюков незамечал

> Я так понял, что ATI дружит пока только с gcc-3.3.*

после плясок с бубном и гуглинга, удалось собрать fglrx на 2.6.11.8 с gcc 3.4.3

модуль даже загрузился ;) только иксы отказались работать

Fatal server error: Caught signal 11. Server aborting

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

Кстати никто не запрещает иметь второй компилер ;)

Metallic
()

Ха! У меня радеон 9500 на мамке сисовской выдавал 180 и 480 fps, после пинаний конфигов конечно. А на asrock k7s41 последовательно 120, 87, иии 2818. Могу скинуть xorg.conf, если кому интересно. Ядро 2.6, гцц умолчальные, не 4.х.х. Кривизна легкая конечно есть, иначе чем объяснить такой разброс результатов теста. Но лично я еще не решил где именно кривизна - в моих руках или таки в драйвере.

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

на работе радик 8500 + kt400 + athlon 1500
gcc 3.2.2, ядро 2.4.30, fglrx (какой-то последний =))

пришлось долго и упорно пинать:
agpgart - модуль
drm - вырубить
патчить ничего не надо

самое интересное - понимает только 24 bpp. 16 не знает =))

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

> самое интересное - понимает только 24 bpp. 16 не знает =))

дык об этом в readme написано, типа 16bpp not supported

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

Ну в принципе я гамаюсь и так :) Фтопку :) А дрова нада доработать на совместимость с кернылями и все глючки пофиксить, и работать над ТВаут упорно, а то порожень вообще кино с бука на телек пустить не могу :( Про прямые руки еси, то скажите как сделать второй монитор телеком чтобы иксы на него забивали еси не найден на старте плиз :)

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

>на работе радик 8500 + kt400 + athlon 1500 >... >пришлось долго и упорно пинать

а смысл? r200 _прекрасно_ поддерживается нативными XFree/Xorg дровами.

anonymous
()

Да... я fgl_glxgears не могу собрать в gentoo, потому что 1) ati-drivers-extra НЕ требует mesa-glu однако её хочет использовать 2) в размаскенной и собраной библиотеке mesa-glu отсутствуют нужные функции (куда ошибок undefined reference)

У меня ACCEPT_KEYWORDS="~X86"

Что можно сделать? (только давайте без гона на мои кривые руки - в "идиологически неправильном Дебиане" на котором я сидел 4 года всё прекрасно собиралось)

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

2PashaKustov ты смотрел почему mesa-glu маскированы? Как ты определил что они хотят их использовать?

Ну да лана. Ты opengl-update обновлял (и вообще им пользовался?) Вполне возможно, что у тебя просто glxext.h старый... поэтому и выдаёт ошибку undefined reference.

# opengl-update ati

fgl_glxgears если не ошибаюсь (не помню уже точно, давно ковырял -смотрел как с pbufer работать) не использует mesa-glu (даже не использует специфичные для ATI расширения), она использует стандартные glx... функции, которые прописаны в соответствующем заголовочном файле (см. выше).

ACCEPT_KEYWORDS="~х86" (а не ~X86) к данному разговору смысла упоминать не вижу.

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

> я НЕ ПЕРХОЖУ

что хожу простите? :)

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

lnx ~ # opengl-update --get-implementation
ati

lnx ~ # emerge ati-drivers-extra
Calculating dependencies ...done!
>>> emerge (1 of 1) media-video/ati-drivers-extra-8.12.10 to /
>>> md5 files   ;-) ati-drivers-extra-8.10.19.ebuild
>>> md5 files   ;-) ati-drivers-extra-8.8.25.ebuild
>>> md5 files   ;-) ati-drivers-extra-8.12.10.ebuild
>>> md5 files   ;-) files/fireglcontrol.desktop
>>> md5 files   ;-) files/ati-drivers-extra-8.10.19-improvements.patch.bz2
>>> md5 files   ;-) files/ati-drivers-extra-8.8.25-improvements.patch.bz2
>>> md5 files   ;-) files/digest-ati-drivers-extra-8.10.19
>>> md5 files   ;-) files/digest-ati-drivers-extra-8.8.25
>>> md5 files   ;-) files/ati-drivers-extra-8.12.10-improvements.patch.bz2
>>> md5 files   ;-) files/digest-ati-drivers-extra-8.12.10
>>> md5 src_uri ;-) fglrx_6_8_0-8.12.10-1.i386.rpm
 * Determining the location of the kernel source code
 * Found kernel source directory:
 *     /usr/src/linux
 * Found sources for kernel version:
 *     2.6.12-rc3
>>> Unpacking source...
>>> Unpacking fglrx_6_8_0-8.12.10-1.i386.rpm
 * Unpacking fglrx_sample_source.tgz...
 * Unpacking fglrx_panel_sources.tgz...
 * Applying ati-drivers-extra-8.12.10-improvements.patch.bz2 ...          [ ok ]
>>> Source unpacked.
 * Building the fgl_glxgears sample...
gcc -o fgl_glxgears -Wall -g -D USE_GLU -I/usr/X11R6/include -L/usr/X11R6/lib -lGL -lGLU -lX11 -lm fgl_glxgears.c
/usr/X11R6/lib/libGLU.so: undefined reference to `operator new[](unsigned int)'
/usr/X11R6/lib/libGLU.so: undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
/usr/X11R6/lib/libGLU.so: undefined reference to `operator delete(void*)'
/usr/X11R6/lib/libGLU.so: undefined reference to `__gxx_personality_v0'
/usr/X11R6/lib/libGLU.so: undefined reference to `__cxa_pure_virtual'
/usr/X11R6/lib/libGLU.so: undefined reference to `vtable for __cxxabiv1::__class_type_info'
/usr/X11R6/lib/libGLU.so: undefined reference to `operator delete[](void*)'
/usr/X11R6/lib/libGLU.so: undefined reference to `vtable for __cxxabiv1::__vmi_class_type_info'
/usr/X11R6/lib/libGLU.so: undefined reference to `operator new(unsigned int)'
collect2: ld returned 1 exit status
make: *** [fgl_glxgears] Error 1
 * fgl_glxgears sample not build!

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

Такой вопрос:

а кто-то смог заставить работать ATI (Radeon 9500) с Software Suspend 2 ?

А то как-то не очень он работает. Ввроде сделал как FAQ по swsusp2 написано, но виснет при переходе в граф. режим.

есть у кого-то успешный опыт?

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

Хех... Мда ситуация интересная... Как я понял суть проблемы сча в следующем: у тебя попорченные библиотеки от Х'ов (т.к. glu сча входит в состав xorg - именно поэтому в вибе отдельного пакета она замаскирована). Вероятнее всего это произошло из-за того, что ты обновлял какие-то базовые библиотеки (типа glibc, но явно не её - приведена просто для примера). Т.е. проблема не в fgl_glxgears, а собственно в X'ax Решение может быть такое:

1. Проверь библиотеки на зависимости:

# revdep-rebuild -- -p

тебе будет выдан список пакетов, которые надо пересобрать, т.к. в их библиотках есть "битые ссылки" на другие библиотеки

2. Если список не пуст, то просто запускаем

# revdep-rebuild

3. Иначе вручную удаляем месу (emerge -C mesa-glu) и пересобираем X'ы

Другого решения пока не вижу....

P.S. revdep-rebuild находится в одном из gentoolkit'ов

Надеюсь помог, если что не так не серчай шибко

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

Хм... revdep-rebuild -- -p ругнулся только на вручную поставленный crossover office pro и на java 1.5 от sun.

Я просто не знал что mesa теперь в самих иксах... Ну вот когда иксы чуть поновее выйдут -пересоберу. ну или сегодня ночью ;)

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

добавь в строку линковки -lstdc++

поможет

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