Fglrx

Материал из Gentoo Linux Wiki

Перейти к: навигация, поиск
Пожалуйста отредактируйте статью в соответствии со стилями и предложениями по викификации, затем уберите из статьи {{Wikify}}.

Страница в разработке

Эта страница в текущее время находится в разработке участником: Strikser

Статья направлена на описание: Использование проприетарного драйвера fglrx

Предложения и жалобы просьба излагать на странице обсуждения.

(перевод с англ.)

Catalyst - название прориетарного драйвера для основанных наборов микросхем AMD/ATI для Linux и Windows. Он также известен как fglrx и x11-drivers/ati-drivers в дереве протежей.

Содержание

[править] Установка fglrx

Установка fglrx является относительно прямой.

# emerge -av x11-drivers/ati-drivers

Или включите fglrx видеокарту, которая находится в x11-drivers/ati-drivers:

Файл: # /etc/make.conf
...
VIDEO_CARDS="fglrx"
...

и пересоберите x11-base/xorg-server:

# emerge -av1 x11-base/xorg-server

[править] Конфигурация X

AMD выпускают fglrx со свободным инструментом для быстрого получения работающего xorg.conf, который может также использоваться, чтобы далее настроить конфигурацию.

# /opt/bin/aticonfig --initial --input=/etc/X11/xorg.conf

Это резервирует ваш xorg.conf и изменяет его для fglrx. Наконец, eselect может использоваться, чтобы сказать X.Org о fglrx:

# eselect opengl set ati

Теперь вы можете (ре)стартануть X, и все должно быть прекрасным. В противном случае продолжите к #Диагностика.

[править] AIGLX c fglrx

Используя ati-драйверы 8.433 или более поздние, вы можете использовать AIGLX и таким образом использовать создание составных изображений в оконном менеджере таких как Compiz Fusion. Некоторые пользователи сообщили о неустойчивости, но Вы должны будете лично убедиться.

[править] Диагностика

[править] Проблемы запуска

[править] AGP

По умолчанию, драйвер использует внутренний AGPGART. Иногда внутренний не работает и вы должны будете использовать тот, что предоставляется ядром. Найдите в вашем xorg.conf линию, у которой есть выбор "UseInternalAGPGART". Просто измените "да" на "нет".

На заметку: Если Вы не можете найти это, добавьте это. В секции "Device" справа под драйвером "fglrx"
Файл: /etc/X11/xorg.conf
...
        Option "UseInternalAGPGART" "no"
...

Теперь просто добавьте модули в /etc/modules.autoload.d/kernel-2.6.

Файл: /etc/modules.autoload.d/kernel-2.6
...
agpgart
intel-agp # change intel-agp to your chipset. eg: via-agp, nvidia-agp sis-agp.
fglrx
...

Все, запускайте

# update-modules

После перезагрузки все должно работать. Если имеются проблемы проверьте 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

# modprobe -r dri radeon # modprobe fglrx

[править] PreInitDAL неудача

(Неудача в прединициализации языка доступа к данным)

Это может случиться, если обнаружены множественные мониторы, даже при том, что у вас нет множественных мониторов. Чтобы исправить это, используйте aticonfig --enable-monitor и aticonfig --force-monitor для определения какие мониторы вы используете. Например, если вы имеете карту с VGA + DVI, но используете только VGA выход:

# aticonfig --enable-monitor=crt1 --force-monitor=crt1,notmds1

Иногда нужно отключить framebuffer в конфигурации ядра, перекомпилируйте, перезагрузитесь! Например когда я обновился с 8.28.8 до 8.32.5.

[править] Сбои/заморозка

[править] X дает сбой, когда проигрываете видео используя Xv

Даже при том, что Xv намечен для запуска, bindings правильно еще не работает. Добавьте следующую опцию к своему файлу Xorg.conf в секции устройства:

Файл: /etc/X11/xorg.conf
...
 Option "TexturedVideo" "on"
...

[править] Заморозка системы после выхода с GDM или KDM

Если вы используете GDM, измение /etc/X11/gdm/custom.conf

Файл: /etc/X11/gdm/custom.conf
...
[daemon]
AlwaysRestartServer=true

Если вы используете KDM добавьте секцию [X-:*-Core]:

Файл: /usr/share/config/kdm/kdmrc
...
[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:

Файл: /etc/fstab
...
tmpfs     /dev/shm           tmpfs        defaults            0 0

После чего необходимо примонтировать ее:

# mount /dev/shm

[править] Mplayer во весь экран

Если у вас проблемы с просмотром видео во весь экран через mplayer, добавьте следующую строку в /etc/X11/xorg.conf

Файл: /etc/X11/xorg.conf
...
Option "VideoOverlay"       "on"
...

В секцию устройства.

[править] Предупреждения/ошибки при выполнении

[править] libGL: сбой при открытии DRM

Если вы получили эту ошибку (например если вы использовали glxgears):

libGL error: failed to open DRM

это значит у пользователя, от которого был произведен запуск этого приложения, не было прав на использование DRI (root единственный пользователь у которого по умолчанию есть доступ). Для разрешения доступа пользователям к DRI добавьте следующую строку в /etc/X11/xorg.conf:

Файл: /etc/X11/xorg.conf
...
Section "dri"
   Mode 0666
EndSection
...

Либо, если вы хотите разрешить доступ только для тех пользователей, что входят в группу "video", то вам необходимо добавить следующую строку в /etc/X11/xorg.conf:

Файл: /etc/X11/xorg.conf
...
Section "dri"
  Group "video"
  Mode 0660
EndSection
...

После чего неплохо было бы добавить нужного пользователя в данную группу (например, пользователя jonn в группу video):

# gpasswd -a john 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)

вы можете сделать следующее

# emerge -av eselect-opengl # eselect opengl set ati # source /etc/profile

Кроме того удостоверьтесь, что 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 пакет, который обеспечивает комманду указателями.

# emerge -av netkit-fingerd
Источник — «http://ru.gentoo-wiki.com/wiki/Fglrx»
поддержка по wiki
На других языках