Configurando nvidia driver en FreeBSD 6.2

A veces es dificil encontrar documentacion detallada sobre como hacer esto, tienes que pasarte un buen rato buscando en los foros, lista de correo y cualquier otra pagina que te salga en el buscador, es por eso que decidi escribir una miniguia como instalar los drivers nvidia en FreeBSD 6.2, sin usar los ports solo, paquetes esto tambien porque mi conexion de internet no es muy rapida y no deseo pasar todo el dia descargando fuentes para que se compilen.

Bueno para comenzar, asumimos que la instalacion del FreeBSD esta completa y tienes un sistema listo corriendo solo en modo consola con los paquetes instalados de las X (Xorg), y gnome2.

Obtenemos los driver del sitio de Nvidia, en mi caso fue el NVIDIA-FreeBSD-x86-100.14.19.tar.gz, mi tarjeta grafica es una GeForce 6200 A-LE

“nvidia0: mem 0xf0000000-0xf0ffffff,0xe0000000-0xefffffff,0xf1000000-0xf1ffffff irq 16 at device 0.0 on pci1”

Los requerimientos para instalar este driver:

  • El paquete de compatibilidad con linux, por si se quiere tener soporte 3D y correr aplicaciones como el compiz o beryl con el FreeBSD
    linux_base-fc-4_9 Base set of packages needed in Linux mode (for i386/amd64)
  • El paquete compat5x
    “compat5x-i386-5.4.0.8_7 A convenience package to install the compat5x libraries”
  • Los fuentes del kernel de FreeBSD
    sys(/usr/src/sys)
  • Los paquetes Xorg

    xorg-6.9.0 X.Org distribution metaport

    xorg-clients-6.9.0_3 X client programs and related files from X.Org

    xorg-documents-6.9.0 Documentation of X11 protocol and libraries from X.Org

    xorg-fonts-100dpi-6.9.0_1 X.Org 100dpi bitmap fonts

    xorg-fonts-75dpi-6.9.0_1 X.Org 75dpi bitmap fonts

    xorg-fonts-cyrillic-6.9.0_1 X.Org Cyrillic bitmap fonts

    xorg-fonts-encodings-6.9.0_1 X.Org font encoding files

    xorg-fonts-miscbitmaps-6.9.0_1 X.Org miscellaneous bitmap fonts

    xorg-fonts-truetype-6.9.0 X.Org TrueType fonts

    xorg-fonts-type1-6.9.0 X.Org Type1 fonts

    xorg-fontserver-6.9.0_1 X font server from X.Org

    xorg-libraries-6.9.0 X11 libraries and headers from X.Org

    xorg-manpages-6.9.0 X.Org library manual pages

    xorg-nestserver-6.9.0_1 Nesting X server from X.Org

    xorg-printserver-6.9.0_2 X Print server from X.Org

    xorg-server-6.9.0_5 X.Org X server and related programs

    xorg-vfbserver-6.9.0_2 X virtual framebuffer server from X.Org

Los 2 primero paquetes los obtenemos facilmente usando el comando “pkg_add”

# pkg_add -r compat5x-i386
# pkg_add -r linux_base-fc

para obtener los fuentes del kernel utilizamos el programa “sysinstall” los fuentes del kernel estan el cd oficial de FreeBSD

Si los paquetes anteriores se han instalado bien, solo deberemos realizar unas configuraciones, en el archivo “/boot/loader.conf” debe contener la siguiente linea:

linux_load=”YES”

El archivo “/etc/rc.conf” debe contener las siguientes lineas:

linux_enable=”YES”
COMPAT_FREEBSD5=”YES”

despues de esto deberemos reiniciar para cargar los modulos del loader.conf y la nueva configuracion del rc.conf.

Ahora solo queda compilar el driver:

# tar xzvf NVIDIA-FreeBSD-x86-100.14.19.tar.gz
# cd NVIDIA-FreeBSD-x86-100.14.19/
# make install
# nvidia-xconfig

Al ejecutar el nvidia-xconfig este genera el archivo de configuracion xorg, con el cual arrancaremos el servidor X. El driver modificara el archivo /boot/loader.conf agregando el modulo nuevo para la tarjeta nvidia.

nvidia_load=”YES”
linux_load=”YES”

como extra si deseamos iniciar el modo grafico y usar GDM como login manager para FreeBSD haremos lo siguiente:

en el archivo /etc/ttys modificamos:

Comentamos la linea que dice:
#ttyv8 “/usr/X11R6/bin/xdm -nodaemon” xterm off secure

y agregamos:
ttyv8 “/usr/local/sbin/gdm -nodaemon” xterm on secure

luego en /etc/rc.conf agregamos:

dbus_enable=”YES”
polkitd_enable=”YES”
hald_enable=”YES”
gnome_enable=”YES”

Listo tenemos los drivers y el modo grafico funcionando en FreeBSD.


Referencias

http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/linuxemu-lbc-install.html

http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/packages-using.html

http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-building.html