Fglrx
Материал из Gentoo Linux Wiki
| Пожалуйста отредактируйте статью в соответствии со стилями и предложениями по викификации, затем уберите из статьи {{Wikify}}. |
(перевод с англ.)
Catalyst - название прориетарного драйвера для основанных наборов микросхем AMD/ATI для Linux и Windows. Он также известен как fglrx и x11-drivers/ati-drivers в дереве протежей.
Содержание |
[править] Установка fglrx
Установка fglrx является относительно прямой.
Или включите fglrx видеокарту, которая находится в x11-drivers/ati-drivers:
... VIDEO_CARDS="fglrx" ...
и пересоберите x11-base/xorg-server:
[править] Конфигурация X
AMD выпускают fglrx со свободным инструментом для быстрого получения работающего xorg.conf, который может также использоваться, чтобы далее настроить конфигурацию.
Это резервирует ваш xorg.conf и изменяет его для fglrx. Наконец, eselect может использоваться, чтобы сказать X.Org о fglrx:
Теперь вы можете (ре)стартануть X, и все должно быть прекрасным. В противном случае продолжите к #Диагностика.
[править] AIGLX c fglrx
Используя ati-драйверы 8.433 или более поздние, вы можете использовать AIGLX и таким образом использовать создание составных изображений в оконном менеджере таких как Compiz Fusion. Некоторые пользователи сообщили о неустойчивости, но Вы должны будете лично убедиться.
[править] Диагностика
[править] Проблемы запуска
[править] AGP
По умолчанию, драйвер использует внутренний AGPGART. Иногда внутренний не работает и вы должны будете использовать тот, что предоставляется ядром. Найдите в вашем xorg.conf линию, у которой есть выбор "UseInternalAGPGART". Просто измените "да" на "нет".
...
Option "UseInternalAGPGART" "no"
...
Теперь просто добавьте модули в /etc/modules.autoload.d/kernel-2.6.
... agpgart intel-agp # change intel-agp to your chipset. eg: via-agp, nvidia-agp sis-agp. fglrx ...
Все, запускайте
После перезагрузки все должно работать. Если имеются проблемы проверьте dmesg и/var/log/Xorg.0.log для большей информации.
[править] Выключение модуля fglrx
Если модуль не может быть загружен ("operation not permitted"), проверьте в ядре опцию Direct Rendering Manager, она должна быть отключена:
| Конфигурация ядра Linux: |
Device Drivers --->
Graphics support --->
< > Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
|
Если вы используете предварительно откомпилированное ядро, вы должны попытаться вызгрузить модули dri и radeon прежде чем выполните загрузку модуля fglrx
[править] PreInitDAL неудача
(Неудача в прединициализации языка доступа к данным)
Это может случиться, если обнаружены множественные мониторы, даже при том, что у вас нет множественных мониторов. Чтобы исправить это, используйте aticonfig --enable-monitor и aticonfig --force-monitor для определения какие мониторы вы используете. Например, если вы имеете карту с VGA + DVI, но используете только VGA выход:
Иногда нужно отключить framebuffer в конфигурации ядра, перекомпилируйте, перезагрузитесь! Например когда я обновился с 8.28.8 до 8.32.5.
[править] Сбои/заморозка
[править] X дает сбой, когда проигрываете видео используя Xv
Даже при том, что Xv намечен для запуска, bindings правильно еще не работает. Добавьте следующую опцию к своему файлу Xorg.conf в секции устройства:
... Option "TexturedVideo" "on" ...
[править] Заморозка системы после выхода с GDM или KDM
Если вы используете GDM, измение /etc/X11/gdm/custom.conf
... [daemon] AlwaysRestartServer=true
Если вы используете KDM добавьте секцию [X-:*-Core]:
... [X-:*-Core] ... TerminateServer=true ...
[править] Крах fglrx при запуске 3D приложений
Если у вас вылетают 3D приложения с вот такой ошибкой:
FGLTexMgr: open of shared memory object failed (Function not implemented) __FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!! fglX11AllocateManagedSurface: __FGLTexMgrCreateObject failed!! FGLTexMgr: open of shared memory object failed (Function not implemented) __FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!! fglX11AllocateManagedSurface: __FGLTexMgrCreateObject failed!! FGLTexMgr: open of shared memory object failed (Function not implemented) __FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!!
Тогда у вас нет временной файловой системы (tmpfs) смонтированной на /dev/shm, которая необходима драйверу. Для ее монтирования добавьте следующую строку в /etc/fstab:
... tmpfs /dev/shm tmpfs defaults 0 0
После чего необходимо примонтировать ее:
[править] Mplayer во весь экран
Если у вас проблемы с просмотром видео во весь экран через mplayer, добавьте следующую строку в /etc/X11/xorg.conf
... Option "VideoOverlay" "on" ...
В секцию устройства.
[править] Предупреждения/ошибки при выполнении
[править] libGL: сбой при открытии DRM
Если вы получили эту ошибку (например если вы использовали glxgears):
libGL error: failed to open DRM
это значит у пользователя, от которого был произведен запуск этого приложения, не было прав на использование DRI (root единственный пользователь у которого по умолчанию есть доступ). Для разрешения доступа пользователям к DRI добавьте следующую строку в /etc/X11/xorg.conf:
... Section "dri" Mode 0666 EndSection ...
Либо, если вы хотите разрешить доступ только для тех пользователей, что входят в группу "video", то вам необходимо добавить следующую строку в /etc/X11/xorg.conf:
... Section "dri" Group "video" Mode 0660 EndSection ...
После чего неплохо было бы добавить нужного пользователя в данную группу (например, пользователя jonn в группу video):
[править] Нет прямой передачи (rendering)
Если fglrxinfo выводит "mesa3d.org" вместо "ATI" после успешной загрузки модуля fglrx, например следующее:
display: :0.0 screen: 0 OpenGL vendor string: Mesa project: www.mesa3d.org OpenGL renderer string: Mesa GLX Indirect OpenGL version string: 1.2 (1.5 Mesa 6.2.1)
вы можете сделать следующее
Кроме того удостоверьтесь, что DRI доступен и выстовлены надлежащие права в xorg.conf, как описано в этой части. Надлежащий вывод должен быть похож на следующее:
display: :0.0 screen: 0 OpenGL vendor string: ATI Technologies Inc. OpenGL renderer string: MOBILITY RADEON X300 Generic OpenGL version string: 2.0.5695 (8.23.7)
OpenGL теперь должен работать со включенным DRI. Проверьте это с помощью glxinfo.
[править] ACPI скрипт: недостающие параметры комманды
Если вы получили слудущюю ошибку в /var/log/acpid:
/etc/acpi/ati-powermode.sh: line 8: finger: command not found /etc/acpi/ati-powermode.sh: line 10: finger: command not found
Установите netkit-fingerd пакет, который обеспечивает комманду указателями.