NVIDIA y AGP

GNU/Linux, Gentoo No Comments

Todo empezó por saber cómo demonios se activaba el soporte de Fast Writes en mi tarjeta Nvidia (nada del otro mundo, Geforce FX 5500 256 MB) y después (se nota que me gusta liarme con estas cosas?) me enteré que se puede usar el soporte AGP del kernel para que reemplace la implementación AGP de las propia Nvidia, aunque realmente, no tengo la menor idea si hay mejora en el rendimiento (en mi caso, es el mismo sin tener Fast Writes activado, ya que con él, mejora), aunque mi testeo ha sido poco.

Hago esto porque he visto muchas dudas al respecto en muchos foros, lo mismo sucede con la posibilidad de habilitar SBA y Fast Writes. Posiblemente piensen que hablo en chino, la descripción al respecto la pueden encontrar acá.

Para empezar hay que saber que chipset’s se llevan con la implementación de Nvidia de AGP (NVAGP), hay un descripción por aqui: ftp://download.nvidia.com/XFree86/Linux-x86/1.0-8174/README/32bit_html/appendix-f.html. Ahí dice que los chispset’s que se llevan bien con NVAGP son las siguientes:

Supported AGP Chipsets
Intel 440LX
Intel 440BX
Intel 440GX
Intel 815 (”Solano”)
Intel 820 (”Camino”)
Intel 830M
Intel 840 (”Carmel”)
Intel 845 (”Brookdale”)
Intel 845G
Intel 850 (”Tehama”)
Intel 855 (”Odem”)
Intel 860 (”Colusa”)
Intel 865G (”Springdale”)
Intel 875P (”Canterwood”)
Intel E7205 (”Granite Bay”)
Intel E7505 (”Placer”)
AMD 751 (”Irongate”)
AMD 761 (”IGD4″)
AMD 762 (”IGD4 MP”)
AMD 8151 (”Lokar”)
VIA 8371
VIA 82C694X
VIA KT133
VIA KT266
VIA KT400
VIA P4M266
VIA P4M266A
VIA P4X400
VIA K8T800
VIA K8N800
VIA PT880
VIA KT880
RCC CNB20LE
RCC 6585HE
Micron SAMDDR (”Samurai”)
Micron SCIDDR (”Scimitar”)
NVIDIA nForce
NVIDIA nForce2
NVIDIA nForce3
ALi 1621
ALi 1631
ALi 1647
ALi 1651
ALi 1671
SiS 630
SiS 633
SiS 635
SiS 645
SiS 646
SiS 648
SiS 648FX
SiS 650
SiS 651
SiS 655
SiS 655FX
SiS 661
SiS 730
SiS 733
SiS 735
SiS 745
SiS 755
ATI RS200M

Para saber que chip tienes ejecuta lo siguiente:

UnderHouse ~ # lspci | grep -i agp
00:01.0 PCI bridge: Intel Corporation 82865G/PE/P PCI to AGP Controller (rev 02)

Como ven yo tengo una Intel 865G que figura en la lista. Pasemos a ver como se activa NVAGP o AGPGART (el módulo de AGP del kernel de linux) si no se encuentra en la lista anterior. Nota: Estos pasos son realizados en Gentoo GNU/Linux, podría ser similares en otras distribuciones, pero, están advertidos.

Activar AGP del kernel de linux con NVIDIA.

Hay que activar AGP en el kernel como módulo (escoge tu chipset correspondiente).

Device Drivers  --->
  Graphics support  --->
    <m> /dev/agpgart (AGP Support)  --->
      <m>   Intel 440LX/BX/GX, I8xx and E7x05 chipset support

Para ver si ya lo tienes integrado:

UnderHouse ~ # modprobe -l | grep -i agp

Si te aparecen la ubicación donde se encuentran los módulos, lo tienes correcto.

En gentoo hay que re-instalar los drivers de NVIDIA para que tomen la dependencia de AGPGART, ya que al parecer revisa la configuración del kernel al compilar. Prueba de esto:

UnderHouse ~ # modinfo nvidia
filename:       /lib/modules/2.6.24-gentoo-r3/video/nvidia.ko
license:        NVIDIA
alias:          char-major-195-*
alias:          pci:v000010DEd*sv*sd*bc03sc02i00*
alias:          pci:v000010DEd*sv*sd*bc03sc00i00*
depends:        agpgart,i2c-core

La línea que describe las dependencias del módulo: depends: agpgart,i2c-core. Por lo que se ha preparado a NVIDIA para usar el AGP del kernel. En otras distribuciones generalmente se hace la instalación mediante el paquete oficial de NVIDIA o mediante el gestor de paquetes de dicha distribución, no sé si funcione igual, pero sería mejor investigar al respecto (aunque modprobe debería funcionar de la misma forma).

Hay que agregar/modificar la siguiente línea en la configuración de Xorg en la sección Device (donde se coloca las opciones de tu tarjeta gráfica).

    Option      "NvAGP"  "2"

Reiniciamos el sistema y el módulo de NVIDIA debería cargar correctamente usando AGPGART:

soullost@UnderHouse ~ $ cat /proc/driver/nvidia/agp/status
Status: 	 Enabled
Driver: 	 AGPGART
AGP Rate: 	 8x
Fast Writes: 	 Disabled
SBA: 		 Enabled
soullost@UnderHouse ~ $ lsmod
Module                  Size  Used by
nvidia               7104708  24
intel_agp              25748  1
agpgart                35016  2 nvidia,intel_agp

Usar NVAGP de NVIDIA.

Si tu chipset se encuentra como compatible con NVAGP, es recomendable usarlo. Para esto hay que desactivar el soporte de AGP en el kernel (en gentoo). En otras distribuciones he visto que se bloquean los módulos al iniciar en /etc/modprobe.d/blacklist o en grub con agp=off (habrá que investigarlo).

En gentoo al compilar sin soporte AGP del kernel, modinfo no nos muestra la dependencia de AGPGART:

UnderHouse ~ # modinfo nvidia
filename:       /lib/modules/2.6.24-gentoo-r3/video/nvidia.ko
license:        NVIDIA
alias:          char-major-195-*
alias:          pci:v000010DEd*sv*sd*bc03sc02i00*
alias:          pci:v000010DEd*sv*sd*bc03sc00i00*
depends:        i2c-core

Por lo que el módulo de NVIDIA implementará su propio driver de AGP. Editar el xorg.conf con la siguiente opción:

    Option      "NvAGP"  "1"

Podemos ver la información de /proc.

soullost@UnderHouse ~ $ cat /proc/driver/nvidia/agp/status
Status: 	 Enabled
Driver: 	 NVIDIA
AGP Rate: 	 8x
Fast Writes: 	 Disabled
SBA: 		 Enabled
UnderHouse ~ # lsmod
Module                  Size  Used by
nvidia               7102020  24

Test de glgears:

soullost@UnderHouse ~ $ glxgears
9382 frames in 5.0 seconds = 1876.342 FPS
9394 frames in 5.0 seconds = 1878.656 FPS
9350 frames in 5.0 seconds = 1869.923 FPS

Activar Fast Writes y SBA.

Antes que nada hay que saber si tenes la posibilidad de habilitarlo, de nuevo, con ayuda de /proc.

soullost@UnderHouse ~ $ cat /proc/driver/nvidia/agp/card
Fast Writes: 	 Supported
SBA: 		 Supported
AGP Rates: 	 8x 4x
Registers: 	 0x1f000e1b:0x1f004312
soullost@UnderHouse ~ $ cat /proc/driver/nvidia/agp/host-bridge
Host Bridge: 	 PCI device 8086:2570
Fast Writes: 	 Supported
SBA: 		 Supported
AGP Rates: 	 8x 4x
Registers: 	 0x1f004a1b:0x00000b12

Correcto, tenemos soportado tanto Fast Writes y SBA tanto en el driver de NVIDIA para mi tarjeta gráfica como por medio del chipset de AGP de mi tarjeta madre (motherboard).

En general para hacer esto hay que pasar las opciones al módulo de NVIDIA, en gentoo, existe la siguiente guía: http://gentoo-wiki.com/HARDWARE_Nvidia_Driver_AGP_FastWrite_and_Side_Band_Addressing, que es bastante enredosa y sobre todo, había cosas que no entendía para que se hacían (prefiero no hacerlas si desconozco). Yo lo que hice fue agregar lo siguiente: NVreg_EnableAGPFW=1 NVreg_EnableAGPSBA=1 al archivo /etc/modprobe.d/nvidia, quedando de la siguiente forma:

alias char-major-195 nvidia
alias /dev/nvidiactl char-major-195

options nvidia NVreg_DeviceFileMode=432 NVreg_DeviceFileUID=0
NVreg_DeviceFileGID=27 NVreg_ModifyDeviceFiles=1 NVreg_EnableAGPFW=1
NVreg_EnableAGPSBA=1

Y hacer un update-modules para re-generar el archivo /etc/modprobe.conf.

update-modules

Si el módulo de NVIDIA se encontraba cargado antes de hacer la modificación, hay que salir del servidor X totalmente (parar GDM) y desactivar el módulo, para después volverlo a cargar (si prefieres no hacerte bolas, reiniciar el sistema xD).

1. Salir de GNOME/KDE/?.
2. Matar KDM/GDM/?.
3. modprobe -r nvidia
4. modprobe nvidia
5. startx

Veremos si ha sido correctamente configurado en /proc.

soullost@UnderHouse ~ $ cat /proc/driver/nvidia/agp/status
Status: 	 Enabled
Driver: 	 NVIDIA
AGP Rate: 	 8x
Fast Writes: 	 Enabled
SBA: 		 Enabled

Parece que es todo, nos vemos.

Califica el tema:
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Anuncio de AMSN 2

GNU/Linux No Comments

Hace unas unas semana se anunció el camino que seguirá amsn 2 de ahora en adelante, pueden ver el anuncio en el foro de amsn http://www.amsn-project.net/forums/viewtopic.php?t=5299 y un screencast de lo que podría ser la nueva interfaz gráfica: http://www.amsn-project.net/~kakaroto/edje/amsn2-v4.mpeg.

Lo relevante es que tres desarrolladores de Emesene se unen al desarollo de Amsn 2, lo mismo con tres desarrolladores de pymsny además veremos que tan lindo queda amsn con librerías de EFL (ya no se utilizará tk).

Califica el tema:
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Mi primera impresión de LaTEX

GNU/Linux, General No Comments

Logo LaTEX. Según wikipedia:

(escrito LaTeX en texto plano) es un lenguaje de marcado para documentos, y un sistema de preparación de documentos, formado por un gran conjunto de macros de TeX, escritas inicialmente por Leslie Lamport (LamportTeX) en 1984, con la intención de facilitar el uso del lenguaje de composición tipográfica creado por Donald Knuth. Es muy utilizado para la composición de artículos académicos, tesis y libros técnicos, dado que la calidad tipográfica de los documentos realizados con LaTeX es comparable a la de una editorial científica de primera línea. LaTeX es software libre bajo licencia LPPL.

Ya sabía de la existencia de LaTEX pero nunca había creado un documento utilizando-lo, ahora por un trabajo en la universidad teníamos que realizar una investigación y entregar un PDF (creado a partir de LaTEX) con el contenido de la misma. No es nada del otro mundo, el manejo de LaTEX es bastante fácil, como en todo, basta con aprenderse cosas básicas como el manejo de las instrucciones o por ejemplo, la estructura de un documento base.

Estructura de un documento básico usando LaTEX:

\documentclass{tipo}
\usepackage{paquete}

\begin{document}
....
\end{document}

La estructura es secnilla, ya que dispone de dos partes principalmente: el preámbulo y el contenido. En el preámbulo se describen cosas como el estilo del documento (documentclass), paquetes a usar (usepackage) y sus respectivas opciones, entre otras cosas. A partir del contenido del documento (begin{document}), se empieza a escribir la información del mismo como el indice, los capítulos, la bibliografia y todas esas partes de un documento que empiezan a dar dolores de cabeza.

Para usar LaTEX basta con instalar TeTex o Texlive (precursor del anterior), que contienen lo necesario para empezar a crear documentos a partir de LaTEX, generalmente se encuentra en cualquier distribución GNU/Linux. En gentoo hay un meta-ebuild llamado texlive que dispone de los paquetes necesarios. Más info: acá. Después, puedes empezar a crear tu documento en cualquier editor de texto (vi/vim/nano/gedit/etc). Aquí una lista de algunos de los editores gráficos (GUIs) especializados en LaTEX:

Kile http://kile.sourceforge.net/
WineFish hhttp://winefish.berlios.de/
Lyx http://www.lyx.org/

Personalmente, he usado el plugin para Gedit :D , permite entre otras cosas: coloreado de sintaxis, auto-completado de código, generación de archivos DVI/PDF/PostScript/etc. (hay que tener Rubber instalado), asistentes para insertar algunos elementos, integración con BibTex y algunas otras características que te proporciona el editor en sí, como la corrección ortográfica.

Ventaja de LaTex sobre procesadores de texto como MS WORD. LaTex tiene la filosofía de crear documentos concentrándose en el contenido y no en el formato (presentación) de mismo, y es cierto, es muy fácil crear un índice con una sola instrucción siguiendo las instrucciones para generar capítulos/subcapítulos/secciones/subsecciones/etc y respetando ciertas reglas, en general esa es la regla de oro para usar LaTex, seguir las instrucciones de forma correcta para que el interprete genere el documento como tú lo quieres. En LaTex puedes generar de forma sencilla:

  • Portadas.
  • Índices.
  • Bibliografías.
  • Pies de página.
  • Referencias.
  • Citas.
  • Numeración de páginas.
  • Etc.
  • Etc.

Por ejemplo, vamos a generar un índice de 5 capítulos. Vamos a crear el preámbulo:

\documentclass[10pt,letterpaper]{report}

\usepackage{ifpdf}
\usepackage[latin1]{inputenc}
\usepackage[spanish]{babel}
\title{Prueba}
\author{Soullost}
\date{\today}
\ifpdf
\pdfinfo {
	/Author (Soullost)
	/Title (Prueba)
	/Subject (Prueba)
	/Keywords (LaTex soullost.org GNU/Linux)
	/CreationDate (D:20080620150614)
}
\fi
\begin{document}
	\maketitle

\end{document}

Ahora seguimos con la creación de los capítulos:

  \chapter{ Capítulo uno de prueba }
  \chapter{ Capítulo dos de prueba }
  \chapter{ Capítulo tres de prueba }
  \chapter{ Capítulo cuatro de prueba }
  \chapter*{ Capítulo x de prueba }
  \chapter{ Capítulo cinco de prueba }
  \section{ Sección 1 del capítulo cindo de prueba }

Cómo creamos el índice?. Sencillo con la siguiente instrucción:

\tableofcontents

Y listo!, generamos el PDF :o . Vean el resultado: http://soullost.org/wp-content/uploads/2008/06/prueba.pdf. Pueden notar lo sencillo que es? Ya no hay que darle formato hay indice, ni pelearnos con las alineaciones, ni la numeración de las hojas, simplemente seguir las reglas de forma correcta. Ps eso mismo sucede con las citas, las referencias, etc,etc,etc.

Por último, pueden mirar la documentación de LaTex a través de la información que contienen los mismo paquetes que instalamos (en mi caso, TexLive) con un simple: info latex, en consola.


Offtopic: Ese día me quedé sin internet.

También les recomiendo el siguiente manual: http://es.wikibooks.org/wiki/Manual_de_LaTeX.

Espero alguien más se anime a probar LaTex, no creo que se arrepiente, además si eres universitario, en muchas universidades se requiere entregar la tesis hecho en LateX.

Nos vemos.

Califica el tema:
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Usando Gedit para PHP/(X)HTML/CSS

Desarrollo web, GNU/Linux, Programación No Comments

Gedit

Gedit [gnome.org] es el editor predeterminado del entorno de escritorio GNOME ( que uso diariamente :P ). Algunas de sus características son:

* Soporte de textos internacionalizados, usando la codificación UTF-8.
* Coloreado del texto según la sintaxis de varios lenguajes de programación: C, C++ Java, Python…
* Corrector ortográfico multi-idioma.
* Incorporación de plugins para ampliar las funcionalidades básicas del programa.
* Posibilidad de cambiar el color y fuente del texto del editor.
* Numeración de líneas.
* Búsqueda y reemplazo de texto.
* Edición de archivos remotamente.
* Copia de seguridad de los ficheros sobre los que se trabaja.
* Soporte propio para SCIM, pudiendo escribir en distintos alfabetos como el japonés, chino, etc. activándolo desde el menú y teniendo instalado el SCIM.

…y un largo etcétera de nuevas funcionalidades que se van incorporando en sucesivas versiones.

http://es.wikipedia.org/wiki/Gedit.

Y bueno, navegando en busca de las funcionalidad de PHP sobre gedit, me di cuenta que tiene soporte para varios plugins que extienden dicha funcionalidad. No, esto no es guía, más bien, es la recopilación de algunos artículos que tratan del tema que me parecieron interesantes:

Customizing gedit as a Web Developer’s IDE. Esta entrada es de uno de los creadores de precisamente un plugin de gedit, habla sobre sus preferencias al usar Gedit, su plugin, cómo tener a la mano las diferentes etiquetas de (X)HTML/CSS/PHP y de algunas herramientas externas (que es algo como crear scripts para que se integren con el editor).

Usar gEdit como si fuera Dreamweaver (o como IDE Web). Trata de básicamente lo mismo pero en español :P .

Haciendo gedit más sociable para el programador. Este me ha gustado por la mención de algunos ejemplos sobre una de las características de gedit, que es la de Recortes (insertar texto que usamos seguido de forma rápida).

Ahora la pregunta obligada: Cuál es mi aporte al tema? xD, ps ninguno :D (no, mentira). Si leyeron algunas de las entradas de blog anteriores, seguramente se dieron cuenta sobre un complemento en gedit que se llama “Herramientas Externas” (External Tools) o en el peor de los casos , están fastidiados por ir al navegador y escribir la URL de la página que están creando (gedit nativa-mente no puede mandar a mostrar en el navegador predeterminado de GNOME la página que estén programando). Entonces, hice un pequeño script para poder mandar al navegador la página actual que se esté editando, para crearlo habrá que ir a Editar > Preferencias > Plugins y seleccionar Herramientas Externas, pulsar en Configurar Plugin. Crear uno nuevo con las siguientes características:

El script es:

#!/bin/sh

# By soullost.org xD

USER=`id --name -u`
NUMBER=`ls -d /home/${USER}/public_html/ | wc -m`
CUT=`echo cut -c${NUMBER}-`
DIR=`echo $GEDIT_CURRENT_DOCUMENT_DIR | $CUT`
NAME=`echo $GEDIT_CURRENT_DOCUMENT_NAME`

if [ -n "$DIR" ]
then
	URL=`echo http://localhost/~${USER}/${DIR}/${NAME}`
else
	URL=`echo http://localhost/~${USER}/${NAME}`
fi

gnome-open $URL > /dev/null 2> /dev/null

Limitaciones del script:

- Hay que tener configurado el Apache para poder tener una carpeta (public_html) en nuestro home (/home/[usuario]/public_html/) y almacenar ahí nuestras páginas web. Esto hace que al acceder desde el navegador, la URL tenga que escribirse así: http://localhost/~[usuario]/. Por lo tanto, la página web a visualizar tiene que estar dentro de este directorio (si no es así, no va a funcionar!).

- gnome-open toma el navegador predeterminado que se especifica en: Sistema > Preferencias > Aplicaciones Preferidas. Yo tengo a epiphany para que abra un nuevo enlace en una pestaña nueva :P .

Uso:

- Si está todo bien, cuando quieras visualizar la página web que estés editando basta con pulsar Ctrl + F12.

Nota: Por supuesto, te puedes sentir libre de modificar el script a tus necesidades :D (sólo basta saber un poco de bash).

Espero les sea útil. Nos vemos y a programar con Gedit ;) .

Califica el tema:
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Aplicacion del diseño

Diseño Gráfico 2 Comments

Aplicacion de todo el semestre

:)

:P

opinen, saludos ^^

Califica el tema:
1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5 out of 5)
Loading ... Loading ...

« Previous Entries