Conociendo tu Hardware

Los drivers que necesitas dependen de la tarjeta gráfica que tengas. Primero debemos identificarla, usaremos el comando LSPCI (si no la tienes descargate el paquete pciutils). El resultado del LSPCI sería algo como:

00:1e.0 PCI bridge: nVidia Corporation nForce2 AGP (rev c1)
03:00.0 VGA compatible controller: ATI Technologies Inc RV535 [Radeon X1650 Series] (rev 9e)
03:00.1 Display controller: ATI Technologies Inc RV535 [Radeon X1650 Series] (rev 9e)

sLa segunda linea indica que ésta PC usa una Radeon X1650 GPU, que tiene un chipset RV535. Nota que la primera linea indica que esta es una tarjeta AGP. Si obtienes menos informacion del lspci, tu hardware podría ser más nuevo que la información disponible para PCI. Puedes arreglar esto con el comando:
# update-pciids

ESCOGIENDO UN DRIVER PARA GRAFICOS

"AMD/ATI"
radeon (x11-drivers/xf86-video-ati): Es un driver de código abierto para tarjetas AMD/ATI.  Sí tu tarjeta es pre-DirectX 10, necesitas usar este driver. Para más información sobre la configuración click aquí.
ATI Catalyst / fglrx (x11-drivers/ati-drivers): El binario propietario para tarjetas AMD/ATI.  Este driver ya no tiene soporte para tarjetas pre-driectX 10, pero soporta Crossfire. Para más instrucciones click aquí.
RadeonHD (obsoleta): esta es una rama obsoleta del driver radeon, que ha sido fusionada dentro de la radeon. Sí tienes una de éstas (cómo en mi caso) usa la documentacion del AMD/ATI.

"INTEL"
Este driver es para la mayoría de adaptadores integrados de Intel, del 'Acelerador de Medios Graficos Intel'. Pon VIDEO_CARDS="intel" en el archivo /etc/make.conf. El paquete se llama xf86-video-intel en Portage. Para más información click aquí.
"nVidia"
nouveau: es un driver de ingeniería inversa para los chips nVidia. Pon VIDEO_CARDS="nouveau" en el archivo /etc/make.conf. El paquete se llama x86-video-nouveau en Portage. Para más información click aquí.
nv: es el driver oficial para chips nVidia. Pon VIDEO_CARDS="nv" en el archivo /etc/make.conf. El paquete se llama xf86-video-nv en Portage.
nvidia: es el driver propietario para los chips nvidia. Pon VIDEO_CARDS="nvidia" en /etc/make.conf. El paquete se llama nvidia-drivers en Portage. Para más información click aquí.

"TRIDENT"
Las tarjetas de video Trident se encuentran en muchas computadoras laptop, mas que todo las de la familia Trident CyberBlade, Pon VIDEO_CARDS="trident" en /etc/make.conf. El paquete se llama xf86-video-trident en Portage.

"VIA"
openchrome: es un driver de codigo abierto para gráficos para algunos VIA IGPs.  Pon VIDEO_CARDS="via" en el /etc/make.conf. El paquete se llama xf86-video-via en Portage.

CONFIGURACIÓN DEL KERNEL
Bus de gráficos:
Primero habilita el soporte para tu bus de graficos, ya sea AGP, PCI o PCI-E. Algunas opciones para tarjetas de gráficos no aparecerán hasta que tu las hagas.
PCI-Express
Si tu tarjeta de gráficos está situada en un bus PCI-E necesitarás activar tu PCI Express support.

Bus options (PCI etc.)  --->
    [*] PCI Express support

Tarjetas AGP:

Device Drivers  --->
    Graphics support  --->
        <M> /dev/agpgart (AGP Support)  --->

Direct Rendering:
Si tu driver de gráficos lo soporta, debes habilitar el módulo DRM  en la configuración de tu kernel, y un driver de kernel correspondiente. Los múltiples módulos DRM están listados bajo Direct Rendering Manager (XFree86 4.1.0 and higher DRI support). Sí no estas segura qué driver soporta qué tarjeta, marca la opción y presiona h para ver la pantalla de ayuda. Por último habilita el módulo DRM de tu tarjeta de gráfico bajo Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) ---> sí está hábil:

Device Drivers  --->
    Graphics support  --->
        <M> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->


Todas estas opciones están disponibles al entrar al directorio /usr/src/linux y tecleando make menuconfig.

TARJETAS DE GRAFICOS (VIDEO_CARDS)
VIDEO_CARDS es un alias de la bandera (flag) USE para tarjetas de gráficos. Cuando x11-base/xorg-drivers son emergeados (emerge), las variables en VIDEO_CARDS evocan los drivers apropiados para el video. Entonces, un emerge del xorg-server se define en xorg-drivers, por ejemplo con VIDEO_CARDS="radeon", se definirá xf86-video-radeon.
VIDEO_CARDS también afecta a media-libs/mesa, donde actúa como una bandera USE ordinaria y causa un código chipset específico para construir. Debes definir las variables VIDEO_CARDS conteniendo cada driver que quieras usar, separados por espacios. Para ver tus opciones escribe:
# emerge -pv xorg-drivers
Y mirá la salida en donde diga VIDEO_CARDS.


[ebuild  N    ] x11-base/xorg-drivers-...VIDEO_CARDS="..."...


Añade las variables VIDEO_CARDS con el driver que deseas en /etc/make.conf.

VIDEO_CARDS="nvidia nv"

Ahora debes actualizar tu sistema para el nuevo driver:
# emerge -aDNv system

Direct & Indirect Rendering
X puede manejar gráficos de dos formas distintas, directa e indirecta. Sí estas operando un escritorio normal o laptop, podrías querer Direct Rendering, pues es más rápido. X tratará de habilitar ambos, hardware-acceñerating indirect rendering (AIGLX) y Direct Rendering sí ambas son soportadas por tu driver, tarjeta y tus opciones de construcción (banderas USE).

Direct Rendering:
Las aplicaciones evitan el protocolo X y hablan con el driver del hardware directamente. Esto tiene el beneficio de ser más rápido y esquivar intermediarios, pero evita las redes de X servers y sus modelos de abstracción. Con drivers buggy, esto puede hacer tu sistema más inestable, pero es generalmente menos pérdida si no intenta usar X para desplegarse remotamente. Para tener el X server permitiendo el direct rendering necesitas tener una extensión DRI habilitada, así que asegúrate que tu emerge del xorg-server con el -minimal desactivado.
Además es posible que la variable en VIDEO_CARDS lleve la USE dri, si es así, habilitala.

# nano /etc/make.conf..

USE="$USE dri"


# nano /etc/portage/package.use

x11-base/xorg-server -minimal



Luego corre:
# emerge -DNv xorg-server

Ahora checa si direct rendering está funcionando:
# emerge -v x11-apps/mesa-progs


glxinfo
# glxinfo | grep "direct rendering"


esto debería mostrarnos:
direct rendering: Yes

Un usuario que desea Direct Rendering debe estar en el el grupo video:
# gpasswd -a <usuario> video


Indirect Rendering:
El método indirecto se dá cuando una aplicación habla al X server, el que a su vez transmite esto a los controladores de hardware y luego vuelve a la aplicación a través del servidor X. Una extensión para el servidor X llamada GLX con AIGLX habilitado permite la prestación indirecta de ser acelerada por hardware. Esto requiere que x11-base/xorg-server se salió con-mínimo y los controladores de gráficos realmente hacen la aceleración de hardware. Para comprobar si el servidor de X es AIGLX habilitado, ejecute:
grep "AIGLX enabled" /var/log/Xorg.0.log
Lo que nos debería mostrar:
(==) AIGLX enabled

No hay comentarios:

Publicar un comentario