Как установить проприетарный драйвер ATi в 64-битный дистрибутив


Zenitur - Posted on 13 Сентябрь 2009

Уже второй раз я ишу про особенности 64-битных дистрибутивов. Ну что поделаешь. Да, они работают без проблем, но есть же некоторые особенности...
На этот раз речь пойдёт о драйвере ATi. Есть там одна интересная функция, которая компилирует из 80-мегабайтого бинарного установщика - пакет для нужного дистрибутива. Который будет занимать мегабайтов 25. Бинарник просто содержит сразу и 32-, и 64-битные драйверы. Ни в коем случае не устанавливайте сам бинарник, если можете создать пакеты! В нём нет возможности удаления, как в nVidia (а это очень надо, если захочешь установить драйвер nVidia или S3). Если это было хоть раз сделано, то установка подготовленного пакета для дистрибутива заканчивается его неработоспособностью. Проверено мной на Ubuntu 8.10 (теперь у меня два дистрибутива Ubuntu - один для ATi, другой - для nVidia). А так всегда можно драйвер удалить, и обновить без проблем...

Вот что надо сделать в 32-битном дистрибутиве:

$ ./ati-driver-installer-9-8-x86.x86_64.run --buildpkg jaunty

И всё.
Вот - самый правильный способ создания пакетов для 64-битного дистрибутива! Можно, конечно, просто запустить бинарник и выбрать "создать пакет" - но это не работает. Во всяком случае, раньше не работало, теперь не знаю. У меня давно не ATi, и проверять я не хочу.

$ ./ati-driver-installer-9-8-x86.x86_64.run --extract ~/fglrx
$ cd ~/fglrx
$ cd arch/x86_64/usr/X11R6
$ ln -s lib64 lib
$ cd -
$ ./packages/Ubuntu/ati-packager.sh --buildpkg jaunty

Это для Ubuntu 9.04 (если у вас он Ubuntu - не забудьте установить перед этим процессом debhelper, cdbs, libstdc++5 и dkms). А поддерживаются - десятка три дистрибутивов. Естественно, надо поменять в командах слова Ubuntu и jaunty на название и версию дистрибутива (посмотреть в ~/fglrx/packages). После этого можно установить пакеты, например, так:

$ su
# rpm -ivh *.rpm

или

$ sudo dpkg -i *.deb

и перезагрузить графическую оболочку (или компьютер). Например, так:

$ su
# init 3
# init 5

или

$ sudo /etc/init.d/gdm stop
$ sudo /etc/init.d/gdm start

Вместо gdm может быть и kdm, или что угодно. То, что вы используете для входа в систему.
Ура! Всё должно работать, в Ubuntu в менеджере проприетарных драйверов всё пропишется само - работайте, играйте, рисуйте и моделируйте в Maya и Blender!

P.S. Если у вас видеокарта серии меньше, чем Radeon HD 3xxx (а на ноутбуке, если верить чатам, 4xxx), то они больше не поддерживаются в новейших проприетарных драйверах. Стоит установить ati, radeonhd или старый fglrx, который версии 9.3. Но здесь проблема... Этим fglrx не поддерживаются последние версии X-сервера, от 7.4, и на Ubuntu 9.04, например, проприетарный драйвер вам устанавливать уже нельзя. А у свободных драйверов ati и radeonhd есть 3D, и работают на этих видеокартах они стабильно, но медленнее и без OpenGL 3 (если верить чатам - даже без 2).

P.P.S. Если у вас правда ATi - компилируйте Wine. Если вы им пользуетесь. Тот, что в репозитарии, обычно скомпилирован с Mesa3D - свободной реализацией OpenGL. Он не сделан плохо - он недоделан (если верить чатам). Если у вас видеокарта Intel - ничего делать не надо. Если nVidia - сбоев тоже нет (кроме игры Morrowind, где глючит пиксельно-шейдерная вода, так что тоже стоит скомпилировать Wine с драйверами nVidia; в сталкере до патча 1.004 сбоит трава). А вот с ATi вы избавитесь от огромного количества сбоев в играх. Oblivion, например, вообще не запустится без этого. Сделать это можно, например, так:

$ sudo apt-get build-dep wine
$ fakeroot apt-get -b source wine

Получится пакет.
В 64-битной системе это действие отнимет сотню мегабайт для 32-битных библиотек (если ещё не установлено других 32-битных программ). И ещё 300 для зависимостей для сборки (первое действие), которые затем можно и удалить. А для версий 1.1.28 и 1.1.29 можно положить libgsm и libmpg123 в /usr/lib32, если хочется воспользоваться новыми кодеками в Wine.

Сначала тестируй и потом думай о совете.
Никуя не работает.

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

Google Friend Connect (leave a quick comment)
loading...
Содержание этого поля является приватным и не предназначено к показу.