24 октября 2007 г.

ATI FGLRX 8.42.3

Да, товарищи. Мы, владельцы видеокарт ATI, ждали этого очень давно. Наконец-таки вышел драйвер, поддерживающий расширения AIGLX. Ура! Ну, с патетическими речами можно покончить и поглядеть, что мы в итоге получили.

Установка
За день до официального релиза я обновил свой kubuntu Feisty Fawn до Gutsy Gibbon. Подробно останавливаться на этом моменте не буду, да и желания нету. Скажу только, что после обновления я получил ядро 2.6.22-14, и естественно, мне пришлось снести предыдущее ядро (2.6.20-16) и старый FGLRX за версией 8.38. Однако, своими силами, из бинарного пакета с сайта разработчика, мне поставить более новый 8.40.4 мне не удалось. То есть, устанавливаться-то он устанавливался, а GL не запускался. Поэтому я махнул на него рукой в ожидании сегодняшнего события и поднял открытый драйвер, естественно, установив Compiz Fusion. Сегодня вечером появился драйвер и я не мог удержаться от того, чтобы не «пощупать» его. Попытка установить бинарный драйвер, даже следуя всем возможным инструкциям благополучно провалилась. И я уже было разочаровался и приготовился ждать выхода либо готового пакета для ubuntu, либо ждать адекватной инструкции по установке. Честно говоря, не хотелось. Решение оказалось абсолютно дилетантским и непростительно неюниксовым, но оно сработало. Вооружившись скриптом Envy, предназначенным для установки проприетарных драйверов, я установил драйвер версии 8.40.4, после чего сразу же, поверх него своими силами поставил 8.42.3, в соответствии с инструкцией для Ubuntu Gutsy для предыдущих версий. И это сработало. Команда fglrxinfo дала соответствующий вывод (OpenGL vendor string: ATI Technologies Inc.), и я, с радостным боевым воплем, принялся плясать с бубном вокруг запуска всяких рюшечек.

Запуск
Прежде, чем что-то заработает, нам необходимо выправить скрипт запуска Compiz’а, который уверен, что fglrx совсем не дружит с композитными окнами, а также разубедить в этом xorg.conf. Обрадуем обоих: дружит, теперь дружит. Добавим в скрипт /usr/bin/compiz в строку WHITELIST волшебное слово fglrx. В файле /etc/X11/xorg.conf найдем секцию "Extensions" и впишем в опцию "Composite" слово "Enable". Все. Теперь можно отойти на безопасное расстояние и запускать: обещаные композитные окна заведутся и потихоньку покатят.

Впечатления
А впечатления, друзья мои, смешанные. Во-первых, драйвер неплохо оптимизирован: glxgears на моей ATI Mobility Radeon 9600 выдает аж 2,5 тысячи FPS (на открытом драйвере с трудом достигалось значение в 1,5 тысячи). Композитные окна действительно есть и работают: достаточно быстро, как подобает работать композитным окнам под проприетарным драйвером. OpenGL-игрушки носятся и летают, обрадованные тем, что им приходится иметь дело не с чем-нибудь, а с самым настоящим проприетарным драйвером: Alien Arena — просто заглядение: и тени, и динамическое освещение, и блум-свечение, и никаких артефактов, которые кишели при запуске игры с открытым драйвером. Отлично! Однако, это первый блин, которому, как известно, положено выходить комом: во-первых, меня сильно огорчил конфликт Compiz и Conky в KDE: при обновлении системного монитора (ровно раз в секунду) наблюдался рывок в GL-графике. Во-вторых, часть эффектов просто не стала работать: размытие, которое и под свободным драйвером завешивало иксы, под свежим драйвером просто не дает никакого эффекта. В-третьих, я так и не понял, каким макаром мне смотреть видео с этим драйвером. Если при использовании открытого, видео работало с xv-выводом, просто не таскало его за собой при изменении экрана (картинка оставалась на месте, перекрываясь пустым черным полем в случае смещения «угла обзора»), то здесь xv-вывод просто дал равномерную черную заливку вместо нормальной картинки, gl-вывод перекрыл вообще всё, оставив окно с видео поверх всего, что происходило на экране, а x11 — ну это же несерьезно, выводить видео программно, так ведь?

Выводы
Наигравшись с композитными окнами, я отложил их. Теперь гораздо проще будет показывать красоты Compiz непосвященным: никакой правки конфигов не надо — запускай-не хочу! Да и самому иногда хочется поглядеть на все эти красоты. Несмотря на недостатки, я остался доволен новым драйвером. Это шаг вперед для ATI, будем надеяться, что развитие будет продолжено в правильном направлении, и будем ждать новых, более совершенных версий драйвера.

UPD: уже сегодня, после установки драйвера, обнаружился пренеприятнейший глюк. Каждый раз при загрузке системы из каталога /lib/modules/2.6.22-14-generic/volatile/ удаляется симлинк или копия fglrx.ko. Иначе говоря, система грузится, а модуля не находит. Приходится ручками его переносить из ../misc в volatile и переопрашивать на предмет наличия модуля.

9 комментариев:

nagos комментирует...

О! Свершилось чудо! А то уже стали поговаривать "купим nvidia",у них хоть драйвер нормальный.
Да, покупка их AMD видимо пошла на пользу.

virens комментирует...

Не очень понимаю смысл использования компиза и конки одновременно. Ставь уж тогда суперкарамбу или как её там и сноси башни виндузятникам. :-)

Меня тут огорчили: с IceWM компиз не пашет, придётся ставить полноценный гном. А ну его лесом... :-)

Статья понравилась, появилась надежда на то, что ATI начнёт делать пристойное железо и выгонит часть своих обезьян из числа программистов обратно в Индию :-))

vonderer@darkstar комментирует...

virens,
Спасибо. :)

У [super]Karamba, а точнее у ее виджетов, есть один огромный недостаток: в отличии от Conky их не так просто конфигурировать, да и гибкостью они не блещут. Прибавь к этому дикое пожирание оперативки и получишь неутешительный результат. Кстати в Xfce4 Conky совсем не мешает работе Compiz'а. Видимо, дело в рабочем столе KDE с иконками, на которые я уже где-то сетовал. %)

GNOME или KDE ставить не обязательно: Compiz работает и с Xfce4, который в минимальной сборке занимает 70 МБ, в отличии от трехсотметровых сред на G или K. И, в отличие от KDE (уж точно, про Гном не знаю), в Xfce4 имеются отличные хоткеи.

Анонимный комментирует...

>UPD: уже сегодня, после установки драйвера, обнаружился пренеприятнейший глюк. Каждый раз при загрузке системы из каталога /lib/modules/2.6.22-14-generic/volatile/ удаляется симлинк или копия fglrx.ko. Иначе говоря, система грузится, а модуля не находит. Приходится ручками его переносить из ../misc в volatile и переопрашивать на предмет наличия модуля.


Это работает сервис ставящий проприетарные драйвера. Добавь DISABLED_MODULES="fglrx" в /etc/default/linux-restricted-modules-common
чтобы драйвер fglrx из restricted-modules не перебивал новый драйвер поставленный ручками. Ну еще вроде бы нужно было грохнуть этот старый драйвер из restricted и сделать depmod.

vonderer@darkstar комментирует...

Проделывалось не раз и под разными углами: без толку. Единственное найденное решение - в следующем посте. Хоть новый Envy уже и вышел, приведенное мною решение работает. А коли работает - зачем его трогать? :)

Yuriy комментирует...

спасибо за статью, а то уж думал с ума сойду, пока заставлю фулскринное видео в компизе работать без тормозов.

gcc комментирует...

А какая у вас модель видеокарты?

vonderer@darkstar комментирует...

Раздел Впечатления, второе предложение. ;)

Sapphire ATI Mobility Radeon 9600

Yuriy комментирует...

блин.. после обновления компиза опять перестал работать. повторил операцию, не помогло. не работает. остальное все в порядке.. буду копать((

Отправить комментарий