Открытые драйвера для видеокарт ATI в Mageia 1 поддерживают только базовые графические возможности. Вероятнее всего этот вариант подойдёт для офисной машины, но в случае с домашним компьютером, есть приложения где требуются все 3D-возможности адаптера. В закрытой (проприетарной) версии драйвера, реализованы все 3D-функции адаптера. В этой статье и пойдёт речь об установке проприетарного драйвера ATI в дистрибутиве Mageia 1. Автор не исключает, что есть более простой способ установки драйверов - в этой статье рассказано об установке проприетарного драйвера с сайта AMD.

Дано: машина с установленным дистрибутивом Mageia 1, установленные открытые драйвера для видеокарт ATI (опционально), PCI-E видеокарта ATI Radeon HD4560.
Задача: установить проприетарные драйвера ATI.
Уровень пользователя: выше среднего.

Шаг 1. Подготовка

Прежде чем начать "штурмовать систему", лучше всего будет поставить и запустить сервер ssh для возможности подключения к данному компьютеру с другого, в процессе отладки Xorg. Есть вариант, что всё пойдёт не так успешно и работать придётся только в консоли, поэтому сервер ssh и второй компьютер не помешают. Также потребуется доступ в сеть Интернет.

На всякий случай сохраните рабочую версию xorg.conf:

 # cd /etc/X11
 # cp xorg.conf xorg.conf.bak 

Выясняем модель видеокарты, идём на сайт производителя http://www.amd.com/ и скачиваем последнюю версию драйвера для архитектуры и версии видеокарты. Сохраняем драйвер в каком-нибудь легкодоступном каталоге, например /temp/src или /usr/src .

Шаг 2. Установка

Выгружаем иксы и переходим в чистый консольный режим: корректно завершаем текущий сеанс работы через меню "Система" --> "Завершить сеанс пользователя". Далее, если используется 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-пакетов драйвера

Небольшое отступление. Можно драйвер собрать и в виде *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 драйвера. На этом шаге автор "забил" на проблему и провёл непосредственную установку драйвера. Минус этого метода перед пакетным режимом в том, что придётся каждый раз переустанавливать драйвер при обновлениях ядра и удаление драйвера производить бинарником пакета драйвера.

Шаг 3. Начальная настройка и проверка

После установки драйвера, перезагружаем систему. Во время загрузки, выйдет окно с предупреждением, что видеодрайвер изменён. Нужно подтвердить и система продолжить загружаться дальше.

Если Вы не отключили менеджер графических окружений и появилось изображение, значит всё в порядке и драйверы возможно "завелись". В противном случае может быть просто чёрный экран. В этом случае подключиться к системе можно будет только через 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". Поможет в решении проблемы:

  • просмотр лога запуска xorg - /var/log/Xorg.0.log
  • просмотр выводов lsmod и modinfo fglrx
  • гугл.

На этом базовая настройка завершена. Для проверки пробуем запустить какую-нибудь программу, где требуется 3D-графика (например TuxRacer или Secret Maryo Chronicles). Если графика рендерится и с приличной скоростью, значит ускорение работает.

Восстановление настроек

Если кто пользуется менеджерами графических окружений, нужно:
1. Удалить файл .xinitrc из домашнего каталога:

 $ cd 
 $ rm .xinitrc

2. Восстановить автозапуск менеджера графических окружений:

 # cd /etc/rc3.d
 # mv K09dm S09dm

3. Перезагрузить систему и проверить как работает.

Смотрите также
Печать/экспорт