Открытые драйвера для видеокарт ATI в Mageia 1 поддерживают только базовые графические возможности. Вероятнее всего этот вариант подойдёт для офисной машины, но в случае с домашним компьютером, есть приложения где требуются все 3D-возможности адаптера. В закрытой (проприетарной) версии драйвера, реализованы все 3D-функции адаптера. В этой статье и пойдёт речь об установке проприетарного драйвера ATI в дистрибутиве Mageia 1. Автор не исключает, что есть более простой способ установки драйверов - в этой статье рассказано об установке проприетарного драйвера с сайта AMD.
Дано: машина с установленным дистрибутивом Mageia 1, установленные открытые драйвера для видеокарт ATI (опционально), PCI-E видеокарта ATI Radeon HD4560.
Задача: установить проприетарные драйвера ATI.
Уровень пользователя: выше среднего.
Прежде чем начать "штурмовать систему", лучше всего будет поставить и запустить сервер ssh для возможности подключения к данному компьютеру с другого, в процессе отладки Xorg. Есть вариант, что всё пойдёт не так успешно и работать придётся только в консоли, поэтому сервер ssh и второй компьютер не помешают. Также потребуется доступ в сеть Интернет.
На всякий случай сохраните рабочую версию xorg.conf:
# cd /etc/X11 # cp xorg.conf xorg.conf.bak
Выясняем модель видеокарты, идём на сайт производителя http://www.amd.com/ и скачиваем последнюю версию драйвера для архитектуры и версии видеокарты. Сохраняем драйвер в каком-нибудь легкодоступном каталоге, например /temp/src или /usr/src .
Выгружаем иксы и переходим в чистый консольный режим: корректно завершаем текущий сеанс работы через меню "Система" --> "Завершить сеанс пользователя". Далее, если используется GDM (KDM), то переходим в другую консоль Alt+F1, Alt+F2 и тд, и завершаем работу менеджера, выполнив одну из команд (зависит от используемого менеджера):
# /etc/init.d/dm stop
или
# /etc/init.d/gdm stop
или
# /etc/init.d/kdm stop
Возможно что текущий консольный сеанс завершится. Придётся снова зарегистрироваться в системе по учётной записью root`а. На этом этапе все приложения, связанные с графическим сервером будут выгружены, что собственно и требуется.
Теперь временно отключаем автозагрузку менеджера рабочих столов - после установки и перезагрузки нужна будет чистая консоль. Для этого переходим в каталог 3-го уровня запуска и переименовываем ссылку на dm:
# cd /etc/rc3.d # ls ... S09dm@ ...
У меня ссылка называлась S09dm. Возможно у Вас будет также или что-то типа S09kdm или S09gdm. Переименовываем ссылку чтобы вместо S было K:
# mv S09dm K09dm
Теперь менеджер рабочих столов не будет запускаться автоматически при старте системы.
Перед выполнением каких-либо драйверных работ, следует выяснить, установлены ли сейчас открытые драйвера для видеокарт ATI? Если на компьютере уже установлен открытый драйвер, то его следует удалить перед установкой проприетарного. У кого драйвер не установлен, а используется фрейм-буфер, то этот шаг можно пропустить.
За открытый драйвер отвечают такие пакеты: x11-driver-video, x11-driver-video-ati, x11-driver-video-radeonhd, radeon-firmware. Произведём удаление:
# urpme x11-driver-video # urpme x11-driver-video-ati # urpme x11-driver-video-radeonhd # urpme radeon-firmware
Возможно что вместе с этими пакетами будут удалены и зависимости, их можно будет поставить заново, проанализировав файл /var/log/syslog - в нём rpmdrake отмечает какие пакеты добавлялись\удалялись.
Теперь, ничего не мешает заняться установкой драйвера, переходим в каталог, где был сохранён файл драйвера:
# cd /temp/src
# ls
amd-driver-installer-12-2-x86.x86_64.run
Далее этому файлу даём право на выполнение:
# chmod a+x amd-driver-installer-12-2-x86.x86_64.run
Собственно установка:
# ./amd-driver-installer-12-2-x86.x86_64.run --install
Инсталлятор в процессе работы попросит принять лицензионное соглашение, а потом спросит о типе установки: собрать пакетом для дистрибутива или произвести непосредственную установку. Нужно выбрать непосредственную установку. Далее инсталлятор соберёт модули ядра и скопирует в нужные директории.
Небольшое отступление. Можно драйвер собрать и в виде *rpm-пакетов для данного дистрибутива и это лучший способ в плане соблюдения стандарта (кодекса) дистрибутива, но у автора хоть пакеты и собрались, а установить их не получилось. Если кто хочет попробовать, делается это таким образом:
1. Выясняем, может ли инсталлятор собрать пакеты для Mageia:
# ./amd-driver-installer-12-2-x86.x86_64.run --listpkg
будет выведен список поддерживаемых дистрибутивов. Если там присутствует нужный, то выполняем сборку:
# ./amd-driver-installer-12-2-x86.x86_64.run --buildpkg Mageia/1
2. Если сборка прошла успешно, в текущей директории появятся такие пакеты:
# ls dkms-fglrx-8.950-1amd.mga1.i586.rpm fglrx-control-center-8.950-1amd.mga1.i586.rpm fglrx-debug-8.950-1amd.mga1.i586.rpm fglrx-devel-8.950-1amd.mga1.i586.rpm fglrx-opencl-8.950-1amd.mga1.i586.rpm x11-driver-video-fglrx-8.950-1amd.mga1.i586.rpm
Далее эти пакеты устанавливаются вручную примерно в таком порядке:
# rpm -i dkms-fglrx-8.950-1amd.mga1.i586.rpm # rpm -i x11-driver-video-fglrx-8.950-1amd.mga1.i586.rpm # rpm -i fglrx-debug-8.950-1amd.mga1.i586.rpm # rpm -i fglrx-devel-8.950-1amd.mga1.i586.rpm # rpm -i fglrx-opencl-8.950-1amd.mga1.i586.rpm # rpm -i fglrx-control-center-8.950-1amd.mga1.i586.rpm
У автора, при установке пакета x11-driver-video-fglrx-8.950-1amd.mga1.i586.rpm возникло сообщение о недоступной библиотеке libGL.so.1 Эта библиотека как раз должна быть в этом пакете :) Далее, даже если поставить "внаглую", то на следующем шаге будет примерно такой же запрос на разрешение зависимости. Если и его проигнорировать, то не запустится aticonfig. Если же поискать эту библиотеку в существующих пакетах Mageia:
# urpmf libGL.so.1
То выйдет список пакетов, в том числе и с открытыми драйверами. Если их поставить, то придётся решать проблему несовместимости этой библиотеки и её окружения с версией 8.950 драйвера. На этом шаге автор "забил" на проблему и провёл непосредственную установку драйвера. Минус этого метода перед пакетным режимом в том, что придётся каждый раз переустанавливать драйвер при обновлениях ядра и удаление драйвера производить бинарником пакета драйвера.
После установки драйвера, перезагружаем систему. Во время загрузки, выйдет окно с предупреждением, что видеодрайвер изменён. Нужно подтвердить и система продолжить загружаться дальше.
Если Вы не отключили менеджер графических окружений и появилось изображение, значит всё в порядке и драйверы возможно "завелись". В противном случае может быть просто чёрный экран. В этом случае подключиться к системе можно будет только через ssh.
Входим в систему под root`ом и выполняем:
для конфигурации с одним монитором:
# aticonfig --initial
для конфигурации с двумя мониторами:
# aticonfig --initial=dual-head
В каталоге /etc/X11 будет создан файл xorg.conf с базовой конфигурацией. В соседней консоли заходим в систему под учётной записью обычного пользователя и создаём в домашнем каталоге файл .xinitrc и записываем в него директиву запуска графического окружения, который уже установлен (для примера - запуск среды Gnome):
$ echo "gnome-session" > .xinitrc
Теперь пробуем запустить графическое окружение:
$ startx
Дальнейшие варианты:
1. Есть вариант, что появится окно рабочего стола - значит драйвера заработали и можно переходить на следующий шаг.
2. Также возможно что монитор выведет окно с предупреждением, что один из параметров вышел за пределы допустимого. Это значит что драйвер выдаёт на монитор частоты развёрток и разрешение, которое сам монитор не поддерживает. Для устранения, завершаем работу графического окружения, через нажатие на Ctrl+Alt+BackSpace. В консоли, открываем на редактирование файл /etc/X11/xorg.conf и добавляем в него строки, помеченные зелёным:
... Section "Screen" Identifier "aticonfig-Screen[0]-0" Device "aticonfig-Device[0]-0" Monitor "aticonfig-Monitor[0]-0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 Modes "1280x1024" "1024x768" "800x600" EndSubSection EndSection ...
Естественно, Вы должны знать какие режимы поддерживает Ваш монитор и прописать нужные. Возможно потребуется прописать и частоты горизонтальной и вертикальной развёрток в секции монитора.
3. Есть вариант, что драйвера не установятся или не загрузятся. В этом случае на экране монитора будет чёрное окно без курсоров и другого изображения. В этом случае жмём Ctrl+Alt+BackSpace и возвращаемся в консоль. Возможен вариант, что Xorg "зависнет" и перейти в консоль не удастся - нужна перезагрузка, - заходим на машину по ssh и выполняем необходимые действия. У автора был подобный случай - если после установки, в процессе загрузки системы, не появилось сообщение о смене драйвера, то вероятнее всего ядро не взаимодействует с ними. Был случай, что ядро подгружало открытые драйвера "radeon", вместо проприетарного "fglrx". Поможет в решении проблемы:
На этом базовая настройка завершена. Для проверки пробуем запустить какую-нибудь программу, где требуется 3D-графика (например TuxRacer или Secret Maryo Chronicles). Если графика рендерится и с приличной скоростью, значит ускорение работает.
Если кто пользуется менеджерами графических окружений, нужно:
1. Удалить файл .xinitrc из домашнего каталога:
$ cd $ rm .xinitrc
2. Восстановить автозапуск менеджера графических окружений:
# cd /etc/rc3.d # mv K09dm S09dm
3. Перезагрузить систему и проверить как работает.