domingo, 15 de abril de 2007

Nvidia Geforce FX 5200 en FreeBSD 6.2


Luego de 2 días luchando con los ports, para configurar una Nvidia GeForce FX 5200, comence a armar el rompecabezas ya que si ejecutaba cd /usr/ports/x11/nvidia-drivers/ && make install, en efecto descargaba el controlador NVIDIA-FreeBSD-x86-1.0-9746.tar.gz, todo parece normal, se descarga, se compila y se instala, pero por alguna extraña razón, cuando configuraba las X, y ejecutaba no obtenía vídeo y se colgaba el pc por lo que debía hacer un reset al mismo.

Luego de varios test e inventos, entre a la pagina del fabricante y observe que existen dos generaciones de controladores para FreeBSD, el primero y mas reciente es para nuevas tarjetas y el segundo para tarjetas ya no tan nuevas :-( como la Fx5200, en efecto (por lo poco que comprendi) en la pagina se recomienda usar la versión NVIDIA-FreeBSD-x86-1.0-7184.tar.gz para la tarjeta que poseo en mi pc, recorde que en los ports existen otros ports:
/usr/ports/x11/nvidia-driver
/usr/ports/x11/nvidia-driver-7184
/usr/ports/x11/nvidia-driver-9631
/usr/ports/x11/nvidia-settings
/usr/ports/x11/nvidia-xconfig

procedi a ejectuar cd /usr/ports/x11/nvidia-driver && make deinstall
y ejecutar cd /usr/ports/x11/nvidia-driver-7184 && make install
se descargo el driver NVIDIA-FreeBSD-x86-1.0-7184.tar.gz compilo he instalo, pero al ejectutar startx se colgaba el pc o me daba el error
"(EE) Failed to initialize GLX extension (Compatible NVIDIA X driver not found)"
repace el README que trae este controlador, y al parecer cumplia con todos los requisitos, "tener AGP habilitado en el Kernel, compatibilida con linux y otros" pero al verificar la lista de archivos y librerias que se listan en el README:

The following list summarizes the files installed by the script and their
designated locations in the file system hierarchy.

- libGL.so /usr/X11R6/lib
- libGL.so.1 /usr/X11R6/lib
- libnvidia-tls.so /usr/X11R6/lib
- libnvidia-tls.so.1 /usr/X11R6/lib
- libGLcore.so /usr/X11R6/lib
- libGLcore.so.1 /usr/X11R6/lib

- nvidia_drv.o /usr/X11R6/lib/modules/drivers
- libglx.so /usr/X11R6/lib/modules/extensions
- libglx.so.1 /usr/X11R6/lib/modules/extensions

- nvidia0 /dev
- nvidia1 /dev
- nvidia2 /dev
- nvidia3 /dev
- nvidiactl /dev

- libGL.so.1.0-7184 /compat/linux/usr/lib
- libnvidia-tls.so.1.0-7184 /compat/linux/usr/lib
- libGLcore.so.1.0-7184 /compat/linux/usr/lib

estos no se encontraban:
- nvidia_drv.o /usr/X11R6/lib/modules/drivers
- libglx.so /usr/X11R6/lib/modules/extensions
- libglx.so.1 /usr/X11R6/lib/modules/extensions

descomprimí el archivo NVIDIA-FreeBSD-x86-1.0-7184.tar.gz (uso GNU Midnight Commander "lo puedes instalar a través de /usr/ports/misc/mc" es muy útil) y verifique directamente en los fuentes, todo parecía bien así que decidí hacer un make install y me dio el error:

thor# make install
===> src (install)
install -o root -g wheel -m 555 nvidia.ko /boot/modules
kldxref /boot/modules
===> lib (install)
===> lib/libGL (install)
===> lib/libnvidia-tls (install)
===> lib/libGLcore (install)
===> lib/libXvMCNVIDIA (install)
===> lib/compat (install)
===> lib/compat/libGL (install)
===> lib/compat/libnvidia-tls (install)
===> lib/compat/libGLcore (install)
===> x11 (install)
===> x11/driver (install)
install: /lib/modules/drivers: No such file or directory
*** Error code 71

Stop in /root/NVIDIA-FreeBSD-x86-1.0-7184/x11/driver.
*** Error code 1

Stop in /root/NVIDIA-FreeBSD-x86-1.0-7184/x11.
*** Error code 1

Stop in /root/NVIDIA-FreeBSD-x86-1.0-7184.

Procedi a verificar el archivo makefile dentro de (/root/NVIDIA-FreeBSD-x86-1.0-7184/x11/driver/makefile)
y remplace
DRIVERDIR= ${X11BASE}/lib/modules/drivers
por
DRIVERDIR= /usr/X11R6/lib/modules/drivers

Realice otro make install y este paso del error pero se detuvo en extension
mismo procedimiento
(/root/NVIDIA-FreeBSD-x86-1.0-7184/x11/extension/makefile)
y remplace
LIBDIR= ${X11BASE}/lib/modules/extensions
por
LIBDIR= /usr/X11R6/lib/modules/extensions

make install de nuevo, y compilo he instalo sin problemas, hice la verificacion y ahora si estaban todos los archivos incluyendo
- nvidia_drv.o /usr/X11R6/lib/modules/drivers
- libglx.so /usr/X11R6/lib/modules/extensions
- libglx.so.1 /usr/X11R6/lib/modules/extensions

Ahora edite mi archivo /etc/x11/xorg.conf
descomente Load "glx"
y añadi en la Section "Device" Driver "nvidia" en ves de Driver "nv" y
Option "NvAgp" "2" este ultimo para use el controlados agp de FreeBSD y el del driver "he leido de que este ultimo da problemas" inicie startx y todo perfecto mostro el lodo de nvidia y cargo perfecto gdm.


Datos técnicos:
Versión de FreeBSD: 6.2-RELEASE-p3
Tarjeta Madre: PcChips 935G V3.3
Memoria RAM: 512 MB
Video: Nvidia GeForce FX5200 256 MB
config sysctl.conf:
hw.nvidia.registry.EnableAGPFW=1
hw.nvidia.registry.EnableAGPSBA=1

Requisitos para instalar:
Compatibilidad con linux Activada
cargar el modulo AGP vía loader.conf (agp_load="YES") o compilar el kernel para dar el soporte (FreeBSD 6.X ya viene con agp en el kernel)
identificar cual driver necesitas 7184 para la serie vieja y 97xx para las tarjetas recientes.

también esta este manual

Saludos..

No hay comentarios:

Tira Ecol