Difference between revisions of "AMD Catalyst (Español)"
(→Configurar X) |
(→Cargar los módulos al arrancar) |
||
Line 237: | Line 237: | ||
A continuación, vamos a tener que asegurarnos que el módulo {{ic|fglrx}} se carga automáticamente. Bien añadiendo {{ic|fglrx}} en una nueva línea de un archivo de módulo existente ubicado en {{ic|/etc/modules-load.d/}}, o bien creando un nuevo archivo y agregando {{ic|fglrx}} . | A continuación, vamos a tener que asegurarnos que el módulo {{ic|fglrx}} se carga automáticamente. Bien añadiendo {{ic|fglrx}} en una nueva línea de un archivo de módulo existente ubicado en {{ic|/etc/modules-load.d/}}, o bien creando un nuevo archivo y agregando {{ic|fglrx}} . | ||
− | |||
− | |||
==== Desactivar kernel mode setting ==== | ==== Desactivar kernel mode setting ==== |
Revision as of 16:56, 4 March 2013
zh-CN:AMD Catalyst Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary heading Template:Article summary link Template:Article summary link Template:Article summary end
Los poseedores de tarjetas de video ATI/AMD tienen la opción de elegir entre el controlador propietario de ATI (CatalystAUR) y el controlador de código abierto (xf86-video-ati). Este artículo trata sobre el driver propietario.
El paquete de controladores de ATI para linux , conocido anteriormente como fglrx (FireGL y Radeon X), se conoce hoy como Catalyst, siguiendo así el esquema de nombres de los controladores de Windows. Solo el nombre del paquete ha cambiado, mientras que el módulo del núcleo conserva su nombre original fglrx.ko. Por lo tanto, cualquier mención de fglrx en este artículo se refiere específicamente al módulo del kernel, no al paquete.
A partir de octubre de 2012, los paquetes binarios están siendo ofrecidos. En la actualidad, los paquetes están disponibles en el repositorio [community], pero no se sabe qué va a pasar cuando una actualización de Xorg rompa el controlador. Además, el antiguo controlador para Radeon HD 2xxx 3xxx 4xxx no está disponible todavía. Para obtener más información, vea el post de este foro y siguientes.
En comparación con el controlador de código abierto, Catalyst tiene peor rendimiento en gráficos 2D, pero tiene un mejor soporte para la representación 3D. Los dispositivos soportados son las tarjetas de vídeo ATI/AMD Radeon con chipset R600 y más reciente (versión 9.4 de catalyst y posteriores). Consulte esta tabla, o Xorg "Decoder ring" para relacionar nombres de modelo (X1900, HD4850) desde/con nombres de chipts (R580, RV770, respectivamente).
Contents
- 1 Instalación
- 2 Repositorios Xorg
- 3 Herramientas
- 4 Características
- 5 Desinstalación
- 6 Solución de problemas
- 6.1 Aplicaciones 3D en Wine congeladas
- 6.2 Problemas con los colores de vídeo
- 6.3 KWin y composite
- 6.4 Pantalla en negro con bloqueos completos al reiniciar el sistema o startx
- 6.5 KDM desaparece después de cerrar la sesión
- 6.6 Direct Rendering no funciona
- 6.7 Problemas con la hibernación y la suspensión
- 6.8 Bloqueo del sistema/Hard lock
- 6.9 Conflictos con el hardware
- 6.10 Bloqueos temporales durante la reproducción de vídeo
- 6.11 «aticonfig: No supported adaptaters detected»
- 6.12 Soporte WebGL en Chromium
- 6.13 Retardos y bloqueos en vídeos flash con el flashplugin de Adobe
- 6.14 Retardos en el movimiento de ventanas en GNOME3
- 6.15 Imposible utilizar pantalla completa con resolución 1920x1080
Instalación
Hay cuatro formas de instalar Catalyst en el sistema:
- Una forma es usar el repositorio oficial [community], con el inconveniente de que no contiene todos los paquetes por el momento. (A fecha de hoy, octubre de 2012, no hay controladores para xvba-video y lib32 todavía. Además, el controlador legacy sigue ausente).
- Otra es utilizar el repositorio Vi0L0 (mantenedor Catalyst no oficial de Arch). Este repositorio contiene todos los paquetes necesarios.
- El tercer método que puede utilizar es desde AUR; PKGBUILDs ofrece aquí los mismos paquetes que Vi0L0 y son los que utiliza para compilar paquetes para su repositorio.
- Por último, se puede instalar el controlador directamente desde AMD.
Antes de elegir el método que prefiera, tendrá que ver el controlador que necesita. A partir de Catalyst 12.4, AMD ha decidido seguir de modo diferente el desarrollo para las tarjetas Radeon HD 5xxx y Radeon HD 2xxx, 3xxx y 4xxx. Para las tarjetas Radeon HD 2xxx, 3xxx y 4xxx, existe el controlador Catalyst legacy, siendo el controlador actual el proporcionado para Radeon HD 5xxx (y posteriores). Al margen del controlador adecuado, se necesitarán las utilidades Catalyst.
Instalar el controlador
Instalar desde el repositorio oficial
Esta es la forma más sencilla y directa, ya que no requiere repositorios no oficiales y porque este paquete utiliza DKMS para compilar automáticamente los módulos del kernel cuando el kernel se actualice. Si este repositorio contiene los paquetes que necesita, es recomendable utilizarlo.
Para instalar Catalyst, puede usar pacman:
# pacman -S catalyst-dkms catalyst-utils
Si es usuario de un sistema de 64 bits y necesita soporte para OpenGL de 32 bits, instale lib32-catalyst-utils. Tenga en cuenta que tendrá que activar primero el repositorio [multilib].
# pacman -S lib32-catalyst-utils
Más tarde, el controlador legacy también se ofrecerá aquí.
Instalar desde el repositorio no oficial
Si se necesitan los paquetes que actualmente no están alojados en el repositorio oficial y no pretende compilarlos de los paquetes de AUR, este es el método a seguir. El repositorio es mantenido por nuestro mantenedor Catalyst no oficial, Vi0L0. Todos los paquetes están firmados y es seguro usarlos. Como se verá más adelante en este artículo, Vi0L0 también es responsable de muchos otros paquetes que le ayudarán a conseguir que su sistema trabaje con sus tarjetas gráficas ATI.
Vi0L0 tiene dos repositorios Catalyst diferentes, cada uno de los cuales tiene controladores diferentes:
- [catalyst]; para el controlador Catalyst actual que necesitan las tarjetas Radeon HD 5xxx y superiores.
- [catalyst-stable]; para el controlador normal de Catalyst requerido por las tarjetas Radeon HD 5xxx y posteriores, con la última versión estable del controlador;
- [catalyst-hd234k]; para el controlador Catalyst legacy que necesitan las tarjetas Radeon HD 2xxx, 3xxx y 4xxx.
Para activar uno de estos, tendrá que editar /etc/pacman.conf
y añadir el repositorio de su elección por encima de todos los demás repositorios en /etc/pacman.conf
:
# nano /etc/pacman.conf
Para [catalyst], es este:
[catalyst] Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch
Para [catalyst-stable] se obtiene con el siguiente:
[catalyst-stable] Server = http://catalyst.wirephire.com/repo/catalyst/$arch
Para [catalyst-hd234k], hay que añadir el siguiente:
[catalyst-hd234k] Server = http://catalyst.apocalypsus.net/repo/catalyst-hd234k/$arch
También debe añadir clave GPG para Vi0L0 de modo que pacman confíe en los repositorios:
# pacman-key --keyserver pgp.mit.edu --recv-keys 0xabed422d653c3094 # pacman-key --lsign-key 0xabed422d653c3094
Una vez que los haya agregado, actualice la base de datos de pacman e instale los paquetes:
# pacman -Syu # pacman -S catalyst catalyst-utils
Si es usuario de un sistema de 64 bits y necesita soporte para OpenGL de 32 bits, instale lib32-catalyst-utils. Tenga en cuenta que tendrá que activar primero el repositorio [multilib].
# pacman -S lib32-catalyst-utils
Ambos repositorios también contienen algunos paquetes adicionales que pueden ser útiles, con los que se pueden sustituir el paquete Catalyst y proveer los módulos fglrx para múltiples kernels instalados en su sistema. Estos paquetes son:
- Catalyst-generator; este paquete es capaz de generar módulos fglrx empaquetados para ser accesibles por pacman -paquete más seguro y compatible, aunque tiene que ser realizado manualmente-.
- Catalyst-hook; contiene un hook para mkinitcpio, capaz de regenerar los módulos fglrx con cada actualización del kernel. Este es básicamente el mismo que catalyst-dkms de [community].
- Catalyst-daemon; capaz de actualizar automáticamente los módulos fglrx con cada actualización del kernel, funcionalidad realizada por los init script. Este al igual que Catalyst-hook es el mismo que catalyst-dkms de [community]. Además, los usuarios de systemd no deben utilizar este paquete, dado que systemd no tiene soporte para init script.
Encontrará más detalles acerca de estos paquetes en la sección Herramientas. Por último, ambos repositorios también contienen el paquete xvba-video, que permiten la aceleración de vídeo descrita aquí y el paquete AMDOverdriveCtrl, que es una GUI para controlar over- y underclocking. Consulte esta sección.
Instalar desde AUR
La última forma de instalar Catalyst es desde AUR. Si quiere compilar los paquetes específicamente para su equipo, esta es tu mejor opción. Tenga en cuenta que también es la manera más tediosa para instalar Catalyst, por el trabajo que conlleva y por que requiere actualizaciones manuales sobre cada actualización del kernel.
Todos los paquetes mencionados anteriormente en el repositorio no oficial Vi0L0 también están disponibles en AUR:
- CatalystAUR;
- Catalyst-utilsAUR;
- Lib32-catalyst-utilsAUR;
- Catalyst-generatorAUR;
- Catalyst-hookAUR;
- Catalyst-daemonAUR.
AUR además contiene algunos paquetes que no están en ninguno de los repositorios. Este contienen el paquete denominado Catalyst-total y las versiones beta:
- Catalyst-total-hd234kAUR;
- Catalyst-totalAUR;
- Catalyst-testAUR;
- Lib32-catalyst-testAUR;
- Catalyst-total-pxpAUR;
El paquete Catalyst-total hace más fácil el trabajo de los usuarios de AUR. Compila el controlador, las utilidades del kernel y las utilidades del kernel de 32 bit. También compila el paquete Catalyst-hook, explicado más arriba.
Catalyst-total-pxp construye Catalyst con el soporte experimental powerXpress.
Para obtener más información sobre la compilación desde AUR, léase Instalar desde AUR
Instalar directamente desde AMD
# /usr/share/ati/fglrx-uninstall.sh
1.) Descargue el instalador de AMD del sitio oficial o de otro lugar (donde *-* será la versión): ati-driver-installer-*-*-x86.x86_64.run
2.) Asegúrese de que sea ejecutable: # chmod -x ati-driver*
3.) Asegúrese de que está utilizando un controlador de vídeo básico como vesa, y quite los controladores que pueden entrar en conflicto (es decir, xf86-video-ati, radeon) tanto del sistema con pacman como del archivo /etc/rc.conf.
4.) Cree un enlace simbólico /usr/src/linux
a /usr/src/{kernelsource}
. Para los usuarios de un sistema de 64-bit también deben crear el enlace simbólico /usr/lib64
a /usr/lib
.
5.) Asegúrese de que en su sistema estén correctamente instaladas las dependencias: # pacman -S linux-headers base-devel
6.) Como root, ejecute: # ./ati-driver-installer-*-*-x86.86_64.run
(Los archivos se extraen en una carpeta temporal y los scripts comenzarán ...).
Suponiendo que nada salió mal ...
7.) Compruebe el archivo /usr/share/ati/fglrx-install.log
para ver el registro de los posibles problemas. También debe tener el archivo /lib/modules/fglrx/make.{ker_version}.log
Configurar el controlador
Una vez que haya instalado el controlador mediante alguno de los métodos anteriores, tendrá que configurar X para que funcione con Catalyst. También, tendrá que asegurarse de que el módulo se carga en el arranque. Además, se debe desactivar kernel mode setting.
Configurar X
Para configurar X, tendrá que crear un archivo xorg.conf. Catalyst proporciona la herramienta aticonfig
para crear/modificar el archivo xorg.conf
. También puede configurar prácticamente todos los aspectos de la tarjeta accediendo al archivo amdpcsdb
. Para obtener una lista completa de las opciones de aticonfig
, ejecute:
# aticonfig --help | less
aticonfig
la opción --output para que pueda adaptarse a la sección Device en /etc/X11/xorg.conf.d/20-radeon.conf
. El inconveniente de esto es que muchas opciones de aticonfig
se basan en un archivo xorg.conf, y, por lo tanto, no estarán disponible para el nuevo.Ahora, hay que configurar Catalyst.
- Si solo tiene un monitor, ejecute lo siguiente:
# aticonfig --initial
- Nota: Si tiene problemas con PowerXpress quizás debería probar instalando
catalyst-utils-pxp
- Sin embargo, si tiene dos monitores y desea utilizar los dos, puede ejecutar la orden indicada a continuación. Tenga en cuenta que esto generará una configuración de «dual head» con la segunda pantalla situada encima de la primera pantalla.
# aticonfig --initial=dual-head --screen-layout=above
- Nota: Consulte esta sección para obtener más información sobre la configuración de dos monitores.
Puede comparar el archivo generado con uno de los ejemplos Xorg.conf (listado de ejemplos que figuran en la página de Xorg).
Aunque las versiones actuales de Xorg detectan automáticamente la mayoría de las opciones cuando se inicia, es posible que desee especificar, en algún caso, otras opciones respecto a las dadas en las versiones por defecto.
Aquí hay un ejemplo (con notas) para referencias. Las entradas con '#' son necesarias, agregue entradas después de '##' según su conveniencia:
Section "ServerLayout" Identifier "Arch" Screen 0 "Screen0" 0 0 # Los 0 son necesarios. EndSection Section "Module" Load ... ... EndSection Section "Monitor" Identifier "Monitor0" ... EndSection Section "Device" Identifier "Card0" Driver "fglrx" # Esencial. BusID "PCI:1:0:0" # Recomendado si falla la autodetección. Option "OpenGLOverlay" "0" ## Option "XAANoOffscreenPixmaps" "false" ## EndSection Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 # No debe cambiar de '24' Modes "1280x1024" "2048x1536" ## 1er valor=resolución predeterminada, segundo=máxima. Virtual 1664 1200 ## (x+64, y) to workaround potential OGL rect. artifacts/ EndSubSection ## fijado en Catalyst 9.8 EndSection Section "DRI" Mode 0666 # Puede ayudar a habilitar direct rendering. EndSection
/etc/ati/amdpcsdb
, iniciar X, y a continuación, ejecutar amdcccle
, de lo contrario puede experimentar una mala detección de la versión de Catalyst en amdcccle.Si necesita más información sobre Catalyst, visite este hilo.
Cargar los módulos al arrancar
Tenemos que colocar en blacklist el módulo radeon
para evitar la carga automática. Para ello, pondremos radeon en la lista negra en /etc/modprobe.d/modprobe.conf
. Además, nos aseguraremos que no se carga ningún archivo en /etc/modules-load.d/
. Para obtener más información, podemos consultar blacklisting en este artículo.
A continuación, vamos a tener que asegurarnos que el módulo fglrx
se carga automáticamente. Bien añadiendo fglrx
en una nueva línea de un archivo de módulo existente ubicado en /etc/modules-load.d/
, o bien creando un nuevo archivo y agregando fglrx
.
Desactivar kernel mode setting
Desactivar el mode setting del kernel es importante, ya que el controlador no parece compatible con KMS todavía. Si no desactiva KMS, el sistema puede congelarse cuando se trata de cambiar a un tty o, incluso, cuando apague el equipo a través de su DE.
Para GRUB Legacy, edite menu.lst
y añada nomodeset
en los parámetros del kernel. Por ejemplo:
kernel /boot/vmlinuz-linux root=/dev/sda1 ro nomodeset
Para GRUB 2, edite /etc/default/grub
y añada nomodeset a las opciones de los parámetros del kernel, por ejemplo,
GRUB_CMDLINE_LINUX="nomodeset"
A continuación, ejecute como root;
# grub-mkconfig -o /boot/grub/grub.cfg
Para Syslinux, edite /boot/syslinux/syslinux.cfg
y añada nomodeset a la línea APPEND
, por ejemplo:
APPEND root=/dev/sda2 ro nomodeset
Comprobación del funcionamiento
Suponiendo que ha reiniciado el sistema y el inicio de sesión se ha realizado correctamente, se puede comprobar si fglrx está funcionando correctamente con los siguientes comandos::
$ lsmod | grep fglrx $ fglrxinfo
Si tiene salida, funciona. Por último, ejecute Xorg con startx
o usando GDM/KDM y verifique que el direct rendering está activado ejecutando el siguiente comando en una terminal:
$ glxinfo | grep direct
Si la salida es «direct rendering: yes», entonces ¡todo ha funcionado!. Si la orden glxinfo no se encuentra, puede que tenga que instalar el paquete mesa-demos también.
$ fgl_glxgears
como test alternativo de fglrx para glxgears.
Si tiene problemas, consulte esta sección.
Kernels personalizados
Para instalar catalyst de un kernel personalizado, tendrá que crear su propio paquete catalyst-$kernel
.
Si usted no tiene experiencia o confianza en compilar paquetes, consulte la sección de ABS de la wiki para un tutorial completo sobre el método a utilizar.
- Obtenga, en primer lugar, los archivos
PKGBUILD
ycatalyst.install
desde Catalyst. - Edite PKGBUILD. Dos cambios son necesarios aquí:
- Cambie
pkgname=catalyst
enpkgname=catalyst-$kernel_name
, donde $kernel_name es el nombre que desee (por ejemplo, custom, mm...). - Cambie la dependencia
linux
a$kernel_name
.
- Cambie
- Compile e instale el paquete: ejecute (
makepkg -i
omakepkg
seguido depacman -U pkgname.pkg.tar.gz
)
{{Nota|Catalyst-generator es capaz de compilar el paquete catalyst-{kernver} por sí solo, por lo que no se necesita realmente llevar a cabo ningún paso manual. Para obtener más información, consulte esta sección.}}
Apoyo a PowerXpress
La tegnología PowerXpress permite intercambiar desde las tarjetas gráficas integradas (IGP) a gráficas distintas en los portátiles, ya sea para aumentar la duración de la batería o para lograr una mejor capacidad de renderizado 3D.
Para utilizar esta funcionalidad en Arch tendrá que:
- Obtener y compilar el paquete catalyst-total-pxpAUR desde AUR, o
- Instalar el paquete catalyst-utils-pxp desde el repositorio [catalyst] (además de lib32-catalyst-utils-pxp, si es necesario).
Para habilitar el intercambio en la IGP de Intel también tendrá que instalar el paquete libgl y los controladores: xf86-video-intel y intel-dri.
Se puede conseguir xf86-video-intel 2.20.2-2 desde aquí; basta con descargarlo en su sistema según su propia arquitectura e instalarlo con pacman -U
.
Ahora se puede intercambiar entre la tarjeta integrada y la otras de la GPU, usando las siguientes órdenes:
# aticonfig --px-igpu #for integrated GPU # aticonfig --px-dgpu #for discrete GPU
Recordarle únicamente que necesita /etc/X11/xorg.conf configurado para la tarjeta AMD con «fglrx» incorporado.
También puede utilizar el script de intercabio pxp_switch_catalyst que llevará a cabo algunas operaciones utiles adicionales:
- Intercambiar xorg.conf - se cambiará el nombre de xorg.conf en xorg.conf.cat (si está fglrx en su interior) o xorg.conf.oth (si está intel incorporado) y se creará un enlace simbólico a xorg.conf, en función de lo que se eligió.
- Ejecutar
aticonfig --px-Xgpu
. - Ejecutar
switchlibGL
. - Añadir/eliminar fglrx en/desde
/etc/modules-load.d/catalyst.conf
.
Utilización:
# pxp_switch_catalyst amd # pxp_switch_catalyst intel
Si se tienen problemas cuando se intenta ejecutar X con el controlador de Intel, es posible que sea porque está tratando de forzar "UXA" acceleration; asegúrese de que xorg.conf para la GPU de Intel tiene Option "AccelMethod" "uxa", como sigue:
Section "Device" Identifier "Intel Graphics" Driver "intel" #Option "AccelMethod" "sna" Option "AccelMethod" "uxa" #Option "AccelMethod" "xaa" EndSection
Repositorios Xorg
Es notoria la lentitud del proceso de actualización de Catalyst. En consecuencia, es normal que una versión nueva de Xorg rompa la compatibilidad para el controlador Catalyst. Esto significa que los usuarios de Catalyst o bien deben retener la actualización de los paquetes de Xorg, o usar un repositorio backports que solo contenga los paquetes Xorg compatibles. Vi0L0 ha permitido realizar esta tarea y proporciona varios repositorios backports.
Si se desea usar pacman para contener la actualización de paquetes, vea skip package from being upgraded. Los paquetes que se deben retener, son los siguientes:
- xorg-server-*
- xorg-input-*
- xorg-video-*
Si desea utilizar los repositorios backports, tiene que editar /etc/pacman.conf
y añadir la información del repositorio por encima de todos los demás repositorios, incluso por encima de su repositorio Catalyst, y debería añadir solo uno.
[xorg112]
La versión actual de Catalyst de momento no soporta xorg-server 1.13.
[xorg112] Server = http://catalyst.apocalypsus.net/repo/xorg112/$arch
[xorg111]
El controlador Catalyst < 12.6 no soporta xorg-server 1.12.
[xorg111] Server = http://catalyst.apocalypsus.net/repo/xorg111/$arch
Herramientas
Catalyst-hook
Catalyst-hook es un hook para mkinitcpio que actualizará automáticamente los módulos fglrx con cada actualización del kernel. Esto hace básicamente lo mismo que catalyst-dkms de [community]. Antes de la actualización de los módulos de fglrx, primero intente actualizar el paquete linux-headers.
El hook llamará al comando catalyst_build_module para actualizar el módulo fglrx a la versión de su kernel nuevo. Adicionalmente, lanzará la orden catalyst_build_module remove para eliminar el módulo(s) flgrx innecesario.
SyncFirst
del archivo /etc/pacman.conf
después de haber ejecutado 'catalyst_build_module auto'. Si tiene tambien un linux-headers personalizado, puede intercambiar linux-headers en la línea SyncFirst
con el suyo personalizado, por ejemplo linux-lts-headers.Catalyst-generator
Catalyst-generator es un paquete capaz de construir e instalar los módulos fglrx generando un paquete catalyst-{kernver} accesible por pacman. La diferencia de Catalyst-hook es que se tendrá que activar este comando manualmente, mientras Catalyst-generator lo hará automáticamente en el arranque cuando advierta un nuevo kernel instalado.
Cree el paquete catalyst-${kernver} usando makepkg e instálelo con el auxilio de pacman. ${kernver} es la versión del kernel con el cual se compiló el paquete (por ejemplo, el paquete catalyst-2.6.35-ARCH fue compilado para el kernel 6.2.35-ARCH).
Para compilar e instalar el paquete catalyst-${kernver} para el kernel actualmente en ejecución, como usuario sin privilegios (no como root, método más seguro), escriba: catalyst_build_module
. Se le pedirá la contraseña de root para continuar con la instalación del paquete.
Un breve resumen de cómo usar este paquete:
- Como root:
catalyst_build_module remove
. Esto eliminará todos los paquetes {{ic|catalyst-{kernver} }} no utilizados. - Como usuario sin privilegios:
catalyst_build_module ${kernver
}, donde ${kernver} es una versión del kernel que acaba de actualizar. Por ejemplo:catalyst_build_module 2.6.36-ARCH
. También es posible compilar catalyst-${kernver} para todos los kernels instalados usandocatalyst_build_module all
. - Si desea eliminar
catalyst-generator
, lo mejor es ejecutar, antes de quitar catalyst-generator, como root:catalyst_build_module remove_all
. Esto eliminará todos los paquetes catalyst-{kernver} del sistema.
Catalyst-generator no es capaz de eliminar todos esos paquetes catalyst-{kernver} automáticamente mientras es eliminado porque no puede haber más de una instancia de pacman ejecutándose simultáneamente. Si se ha olvidado de ejecutar catalyst_build_module remove_all
antes de ejecutar pacman -R catalyst-generator
, catalyst-generator le dirá qué paquetes catalyst-{kernver} tiene que eliminar manualmente después de la eliminación de catalyst-generator.
{{Nota|Si ve estas advertencias:
WARNING: Package contains reference to $srcdir
WARNING: '.pkg' is not a valid archive extension.
mientras compila el paquete catalyst-{kernver}, no se preocupe, es normal.}}
Características
Prestación «Tear Free»
Presentado en Catalyst 11.1, la función 'Desktop Tear Free' reduce el desgarro en aplicaciones 2D, 3D y de vídeo. Es probable que a esto se sume el triple-buffering y v-sync. Tenga en cuenta que requiere un suplemento adicional de recursos de la GPU.
Para activar 'Tear Free Desktop' ejecute amdcccle
y vaya a: Display Options
→ Tear Free
.
O ejecute como root:
# aticonfig --set-pcs-u32=DDX,EnableTearFreeDesktop,1
Para desactivarlo, use también amdcccle
, o ejecute como root:
# aticonfig --del-pcs-key=DDX,EnableTearFreeDesktop
Aceleración de vídeo
Aceleración de Vídeo API (VA API) es una biblioteca de software de código abierto (libVA) adherida a la especificación API que proporciona una aceleración de la GPU para el procesamiento del contenido de vídeo en sistemas operativos basados en Linux/UNIX. El proceso funciona al permitir la decodificación de video acelerada mediante hardware en varios puntos de entrada (VLD, IDCT, Compensación de movimiento, desbloqueo) para los estándares de codificación comunes (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264 , y VC-1/WMV3).
VA-API ha ganado una nueva patente propietaria (en noviembre 2009) llamada xvba-videoAUR, que permite a las aplicaciones habilitar el uso de VA-API para aprovechar el chipset AMD Radeon chipsets UVD2 mediante la biblioteca XvBA (X-Video Bitstream Acceleration API) de AMD).
El soporte a XvBA y a xvba-video está todavía en desarrollo, sin embargo, está funcionando muy bien en la mayoría de los casos. Compile el paquete xvba-videoAUR e instale los paquetes mplayer-VAAPI y libva. A continuación, ajuste el reproductor de vídeo para utilizar el parámetro vaapi:gl como salida de vídeo:
$ mplayer -vo vaapi:gl movie.avi
Estas opciones se pueden añadir al archivo de configuración mplayer, consulte MPlayer.
Para smplayer:
Opciones → Preferencias → General → Video (pestaña) → Controlador de salida: Definido por el usuario : vaapi:gl Opciones → Preferencias → General → Video (pestaña) → Doble buffering on Opciones → Preferencias → General → General → Imágenes → Rotar imágenes screenshots off Opciones → Preferencias → Rendimiento → Temas para decodificar 1 (para desactivar el parámetro -lavdopts)
Opciones → Preferencias → General → Video (pestaña) → Controlador de salida: vaapi
Si la salida de vídeo vaapi:gl no funciona, por favor, compruebe:
vaapi, vaapi:gl2 o simplemente xv(0 - AMD Radeon AVIVO Video).
Para VLC:
Herramientas → Preferencias → Input & Codecs → Use decodificar aceleración GPU
Podría ayudar a activar v-sync en amdcccle:
3D → Otras configuraciones → Wait for vertical refresh = Always On
Frecuencia GPU/Mem, Temperatura, Velocidad del ventilador, utilidades Overclocking
Se pueden obtener los relojes de la GPU/Mem con: $ aticonfig --od-getclocks
.
Se puede obtener la velocidad del ventilador con: $ aticonfig --pplib-cmd "get fanspeed 0"
Se puede obtener la temperatura con: $ aticonfig --odgt
Para establecer la velocidad del ventilador con: $ aticonfig --pplib-cmd "set fanspeed 0 50"
Índice de Consulta: 50, velocidad en porcentaje
Para operaciones de overclock y/o underclock es más fácil utilizar algún GUI, como ATi Overclocking Utility, que es muy simple de usar pero requiere la biblioteca qt para funcionar. Podría estar desactualizado/anticuado, pero se puede conseguir aquí.
Otra utilidad, más compleja, para llevar a cabo este tipo de operaciones es AMDOverdriveCtrl. Su página web es esta y se puede obtener un paquete compilado para Arch desde AUR o desde los repositorios no oficiales de Vi0L0.
Doble Pantalla (Dual Head / Dual Screen / Xinerama)
Introducción
- En esta parte, vamos a describir la instalación de dos pantallas de tamaño diferentes en una sola tarjeta gráfica con dos puertos de salida diferentes (DVI + HDMI) con la configuración "Big desktop".
- La solución Xinerama tiene algunos inconvenientes, sobre todo porque no es compatible con XrandR. Por esa misma razón, no se debe utilizar ahora, porque XrandR es solo un recurso que utilizaremos más tarde en nuestra configuración.
- La solución "Dual Head" le permitiría tener dos sesiones distintas (una para cada pantalla). Podría ser esto preferible, pero no será capaz de mover ventanas de una pantalla a otra. Si solo dispone de una pantalla, tendrá que definir el ratón dentro de Xorg para las 2 sesiones dentro de la sección Server Layout.
ATI Catalyst Control Center
La herramienta GUI proporcionada por ATI es muy útil y vamos a tratar de usarla tanto como nos sea posible. Para iniciarla, abra un terminal y utilice la siguiente línea de comandos:
$ {kdesu/gksu} amdcccle
Instalación
Este paso es fácil, pero importante: asegúrese de que el hardware está conectado correctamente y que usted conoce sus caracteristicas fundamentales (dimensiones de la pantalla, tamaños, tasa de refresco, etc.). Normalmente, las dos pantallas se reconocen en el momento del arranque pero no siempre su configuración resulta ser correcta, especialmente si se está usando un archivo de configuración base de Xorg (/etc/X11/xorg.conf
) pero se cuenta con la función hot-plugging.
El primer paso es asegurarse de que las pantallas serán reconocidas por su DE y por X. Para ello, es necesario generar un archivo de configuración Xorg básico para sus dos pantallas:
# aticonfig --initial --desktop-setup=horizontal --overlay-on=1
o
# aticonfig --initial=dual-head --screen-layout=left
overlay
es importante porque le permite tener un pixel (o más) compartido entre las dos pantallas.Normalmente, ahora tendrá un archivo básico que podrá editar para añadir las resoluciones de pantalla deseadas. Es importante utilizar la resolución precisa, especialmente si tiene pantallas de diferentes tamaños. Estas resoluciones tienen que ser añadidas en la sección "Screen":
SubSection "Display" Depth 24 Modes "X-resolution screen 1xY-resolution screen 1" "Xresolution screen 2xY-resolution screen 2" EndSubSection
A partir de ahora, en lugar de editar el archivo xorg.conf
manualmente, vamos a utilizar la herramienta GUI de ATI. Reinicie X para asegurarse de que sus dos pantallas están bien soportados y que la resolución es correcta. (Las pantallas deben ser independientes).
Configuración
En este caso, es suficiente lanzar el ATI Control Center con privilegios de root, entrar en el menú de pantalla y elegir la configuración que se prefiera para su sistema (flecha pequeña en el menú desplegable). Terminado, reinicie X y ¡todo debería funcionar!
Antes de reiniciar X, compruebe su nuevo archivo xorg.conf
. En este punto, dentro de la sub-sección "Display" de la sección "Screen", debería ver la línea de comandos "Virtual", en la que la resolución debería ser la suma de las dos pantallas. La sección "Server Layout" contiene el resto.
Desinstalación
Si desea instalar el driver de código abierto y previamente estaba usando y, por lo tanto, tenía instalado, el driver propietario (catalyst), lo primero que es necesario hacer es remover catalyst. Básicamente, necesita quitar los paquetes catalyst
y catalyst-utils
. También debe eliminar los paquetes catalyst-daemonAUR, catalyst-generatorAUR, catalyst-hookAUR y lib32-catalyst-utilsAUR si han sido instalado en el sistema.
/etc/pacman.conf
y ejecutar pacman-Syu
, porque esos depósitos contienen paquetes Xorg obsoletos para el uso de catalyst y el paquete xf86-video-ati necesita los paquetes de Xorg más actualizados presentes en los Repositorios OficialesTambién puede seguir estos pasos:
- Si tiene un archivo
/etc/modprobe.d/blacklist-radeon.conf
, elimine o comente la líneablacklist radeon
contenida en ese archivo. - Asegúrese de quitar el antiguo
/etc/X11/xorg.conf
- Si ha instalado el paquete catalyst-hookAUR, asegúrese de retirar fglrx de la matriz «HOOKS» del archivo
/etc/mkinitcipo.conf
para el caso de que después de remover el paquete el script no funcionase. - Si ha instalado el paquete catalyst-generatorAUR, asegúrese de retirar fglrx de la matriz «MODULES» del archivo
/etc/rc.conf
para el caso de que después de remover el paquete el script no funcionase. - Si ha instalado el paquete catalyst-daemonAUR, asegúrese de retirar autofglrx de la matriz «DAEMONS» del archivo
/etc/rc.conf
para el caso de que después de remover el paquete el script no funcionase. - Si utiliza la opción "nomodeset" en su archivo de configuración como parámetros en la línea del kernel y va a utilizar KMS, retírelo.
- Reinicie antes de instalar el controlador radeon.
Solución de problemas
Si todavía puede arrancar desde la línea de comandos, entonces el problema probablemente se encuentra en /etc/X11/xorg.conf
Se puede analizar el conjunto /var/log/Xorg.0.log
o, buscar pistas con:
$ grep '(EE)' /var/log/Xorg.0.log $ grep '(WW)' /var/log/Xorg.0.log
Si no sabe qué hacer, puede publicar un mensaje en la sede de support de los foros. Cuando lo haga, por favor proporcione la información que se obtiene de ambos comandos mencionados anteriormente.
Aplicaciones 3D en Wine congeladas
Si utiliza una aplicación 3D con wine y se bloquea, hay que desactivar TLS. Para ello utilice, o bien aticonfig
o modifique /etc/X11/xorg.conf
. Para usar aticonfig
:
# aticonfig --tls=off
O, para modificar /etc/X11/xorg.conf
: en primer lugar, con privilegios de root, abra el archivo y añada Option "UseFastTLS" "off"
para la sección Device de este archivo.
Después de aplicar cualquiera de las dos soluciones, reinicie X para que surta efecto.
Problemas con los colores de vídeo
Se puede usar todavía vaapi:gl
para evitar el parpadeo de vídeo, pero sin aceleración de vídeo:
- Ejecute mplayer sin la opción
-vo vaapi
.
- Ejecute smplayer y remueva
-vo vaapi
de las Opciones → Preferencias → Avanzado → Opciones de MPlayer → Opciones: -vo vaapi
Además, para smplayer ahora puede convertir imágenes en forma segura.
KWin y composite
Se puede utilizar XRender si la prestación con OpenGL es lenta. Sin embargo, XRender también podría ser más lento que OpenGL dependiendo de su tarjeta. XRender también resuelve los problemas aparatos gráficos en algunos casos.
Pantalla en negro con bloqueos completos al reiniciar el sistema o startx
Asegúrese de que ha añadido la opción nomodeset a la línea de opciones del kernel en el gestor de arranque (consulte esta sección).
Si se está utilizando el controlador legacy (catalyst-hd234k) y obtener una pantalla en negro, pruebe haciendo downgrading de xorg-server a 1.11 usando el repositorio #xorg111.
Llamadas hardware ACPI defectuosa
Es posible que fglrx no coopere bien con las llamadas hardware ACPI del sistema, por lo que se deshabilita él mismo y no hay salida de pantalla.
Así que trate de ejecutar esto:
$ aticonfig --acpi-services=off
KDM desaparece después de cerrar la sesión
Si está ejecutando el controlador propietario Catalyst y se obtiene una consola (tty1) en lugar de la pantalla de KDM cuando se cierra la sesión, debe indicar a KDM que reinicie el servidor X después de cada cierre de sesión:
$ sudo nano /usr/share/config/kdm/kdmrc
Descomente la línea siguiente en la sección titulada [X-:*-Core]
:
TerminateServer=True
KDM debe aparecer al cerrar la sesión de KDE.
Direct Rendering no funciona
El problema puede producirse cuando se utiliza el controlador propietario Catalyst.
Si se tiene un problema con direct rendering, ejecute en un terminal:
$ LIBGL_DEBUG=verbose glxinfo > /dev/null
Se obtendrá una salida en cuyo inicio, por lo general, se va a mostrar un mensaje de error diciendo que no se tiene direct rendering.
Los errores más comunes y sus soluciones, son los siguientes:
libGL error: XF86DRIQueryDirectRenderingCapable returned false
- Asegúrese de que está cargando los módulos correctos agp para su chipset AGP antes de cargar el módulo del kernel fglrx. Para determinar qué módulos agp necesita, ejecute
hwdetect --show-agp
, a continuación, asegúrese de que todos los módulos que figuran en la salida del anterior comando están en la matrizMODULES=
en rc. conf, antes que fglrx si se utiliza SysVinit; en otro caso, abra el archivofglrx.conf
en/etc/modules-load.d
y añada el módulo agp en una línea previa a fglrx.
libGL error: failed to open DRM: Operation not permitted libGL error: reverting to (slow) indirect rendering
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed (/usr/lib/xorg/modules/dri//fglrx_dri.so: cannot open shared object file: No such file or directory) libGL error: unable to find driver: fglrx_dri.so
- Asegúrese de que todo ha sido instalado correctamente. Si la salida en el mensaje de error es
/usr/X11R6/lib/modules/dri/fglrx_dri.so
, ahora, asegúrese de salir completamente del sistema y entre de nuevo. Si está utilizando un gestor de pantalla (gdm, kdm, xdm), asegúrese de que/etc/profile
se vuelva cada vez que inicie sesión. Esto generalmente se logra mediante la adición desource /etc/profile
en~/.xsession
o~/.xinitrc
, no obstante lo cual esto puede variar entre los distintos administradores de inicio de sesión.
- Si entre las rutas anteriores de su mensaje de error está
/usr/lib/xorg/modules/dri/fglrx_dri.so
, entonces algo no está bien instalado. Pruebe volviendo a instalar el paquetecatalyst
.
Errores tales como:
fglrx: libGL version undetermined - OpenGL module is using glapi fallback
podría ser causado por tener múltiples versiones de libGL.so
en su sistema. Ejecute:
$ sudo updatedb $ locate libGL.so
Esto debería devolver la siguiente salida:
$ locate libGL.so /usr/lib/libGL.so /usr/lib/libGL.so.1 /usr/lib/libGL.so.1.2
Estos son los tres únicos archivos libGL.so que debe tener en su sistema. Si tiene alguno más (por ejemplo /usr/X11R6/lib/libGL.so.1.2
), entonces elimínelos. Esto debería solucionar el problema.
Hay casos que no se muestran errores que indiquen la presencia de un problema. Si se está usando X11R7, asegúrese de no tener estos archivos en su sistema:
/usr/X11R6/lib/libGL.so.1.2 /usr/X11R6/lib/libGL.so.1
Problemas con la hibernación y la suspensión
Vídeo no reanuda desde suspend2ram
El controlador propietario ATI Catalyst no se puede reanudar desde la suspensión si el framebuffer está habilitado. Para desactivar el framebuffer, añada vga=0 a sus opciones del kernel, por ejemplo, con Grub Legacy, en /boot/grub/menu.lst
:
kernel /vmlinuz-linux root=/dev/sda3 resume=/dev/sda2 ro quiet vga=0
Para ver dónde es necesario agregar esto con otros gestores de arranque, consulte #Desactivar kernel mode setting.
Bloqueo del sistema/Hard lock
- El driver del framebuffer
radeonfb
es conocido por causar problemas de esta naturaleza. Si el kernel está compilado con el soporte radeonfb, puede ser útil probar un kernel diferente y ver si esto resuelve el problema.
- Si se experimenta bloqueos del sistema al salir de su DE (apagar, suspender, cambiar a tty, etc.) probablemente se olvidó de desactivar KMS. (Consulte #Desactivar kernel mode setting).
Conflictos con el hardware
La tarjeta radeon usada conjuntamente con alguna versión del chipset nForce3 (por ejemplo, nForce 3 250Gb) no proporciona aceleración 3D. Actualmente la causa de este problema es desconocida, pero algunas fuentes indican que puede ser posible obtener la aceleración con esta combinación de hardware mediante el arranque de Windows con los controladores de NVIDIA y luego reiniciar el sistema. Esto se puede verificar mediante la emisión en una consola como root del siguiente comando:
$ dmesg | grep agp
Si obtiene algo similar a esto (usando un sistema basado en nForce3):
agpgart: Detected AGP bridge 0 agpgart: Setting up Nforce3 AGP. agpgart: aperture base > 4G
y también si la emisión de este comando...
$ tail -n 100 /var/log/Xorg.0.log | grep agp
...obtiene una salida similar a:
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV"
Entonces efectivamente tiene este bug.
Algunas fuentes indican que, en algunas situaciones, es útil hacer un downgrade de la BIOS de la placa base, pero esto no se ha podido comprobar en todos los casos. Además, un mal downgrade de la BIOS puede hacer inutilizable su hardware, así que preste atención.
Consulte este bugreport para más información y posibles soluciones.
Bloqueos temporales durante la reproducción de vídeo
Este problema puede producirse cuando se utiliza el driver Catalyst propietario.
Si usted experimenta cuelgues temporales de unos segundos a varios minutos de duración que ocurren al azar durante la reproducción de mplayer, compruebe /var/log/messages.log buscando una salida como:
Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160 Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160 Nov 28 18:31:56 pandemonium [<f8bc628c>] ? ip_firegl_ioctl+0x1c/0x30 [fglrx] Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160 Nov 28 18:31:56 pandemonium [<c0197038>] ? vfs_ioctl+0x78/0x90 Nov 28 18:31:56 pandemonium [<c01970b7>] ? do_vfs_ioctl+0x67/0x2f0 Nov 28 18:31:56 pandemonium [<c01973a6>] ? sys_ioctl+0x66/0x70 Nov 28 18:31:56 pandemonium [<c0103ef3>] ? sysenter_do_call+0x12/0x33 Nov 28 18:31:56 pandemonium [<c01c64a6>] ? proc_get_sb+0xc6/0x160 Nov 28 18:31:56 pandemonium =======================
Añada la opción nopat kernel a las opciones del kernel en el gestor de arranque y reinicie. Para ver cómo hacer esto para gestores de arranque diferente, consulte #Desactivar kernel mode setting.
«aticonfig: No supported adaptaters detected»
Si al ejecutar la orden:
# sudo aticonfig --initial
se obtiene la siguiente salida:
aticonfig: No supported adaptaters detected
todavía es posible manipular Catalyst para que funcione, si se tiene una GPU AMD (o APU), configurando manualmente la sección device en el archivo etc/X11/xorg.conf
. Puede configurarla de la siguiente manera:
Section "Device" Identifier "ATI radeon ****" Driver "fglrx" EndSection
Donde **** debería sustituirse por el número de comercialización de su dispositivo (por ejemplo, 6870 para la HD 6870 y 6310 para la APU E-350).
Xorg ahora se iniciará y será posible utilizar amdcccle
en lugar de aticonfig
. Puede mostrar el siguiente aviso: «AMD Unsupported hardware».
Es posible quitar el aviso utilizando el siguiente script:
#!/bin/sh DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER done
y reiniciando.
Soporte WebGL en Chromium
Google introduce en blacklist el controlador Catalyst para Linux con el fin de dar apoyo a la aceleración webGL en los navegadores Chromium/Chrome.
Puede obviar esto editando el archivo /usr/share/applications/chromium.desktop
y añadiendo el parámetro --ignore-gpu-blacklist
en la línea Exec, de modo que se vea así:
Exec=chromium %U --ignore-gpu-blacklist
También puede ejecutar chromium desde consola con el mismo parámetro --ignore-gpu-blacklist
:
$ chromium --ignore-gpu-blacklist
Retardos y bloqueos en vídeos flash con el flashplugin de Adobe
Edite /etc/adobe/mms.cfg
y modifíquelo en estos términos:
#EnableLinuxHWVideoDecode=1 OverrideGPUValidation=true
Retardos en el movimiento de ventanas en GNOME3
Puede probar esta solución, funciona para muchos usuarios.
Añada esta línea en ~/.profile
o en /etc/profile
:
export CLUTTER_VBLANK=none
Reinicie el servidor X o reinicie el sistema.
Imposible utilizar pantalla completa con resolución 1920x1080
Usando la interfaz amdcccle es posible seleccionar la pantalla, vaya a ajustes, y configure Underscan a 0% (por defecto está en 15%).
Como alternativa, puede desactivar underscanning usando aticonfig:
aticonfig --set-pcs-val=MCIL,DigitalHDTVDefaultUnderscan,0
Para la versión más reciente (por ejemplo, 12.11), si Catalyst control center falla repetidamente al guardar la configuración de overscan, modifique /etc/ati/amdpcsdb:
TVEnableOverscan=V0
Después salga y reinicie sesión.