lunes, 25 de agosto de 2008

xorg.conf: problema con resolución nativa en monitor LCD

Despúes de buscar mucho y probar muchas cosas diferentes, me encontré con un post en ubuntu forums que soluciona -definitivamente- el problema.

En mi caso, el problema es con un monitor ViewSonic 2035wm y una vga NVidia 8800 gts .

Los síntomas:
Una fresh install de ubuntu, fedora o similares (cualquier versión) no reconoce el monitor LCD, y por ende, nos muestra una resolución MUY baja, probablemente 640x480.
Usando el cable VGA se puede lograr que reconozca el monitor como un CRT y podemos elegir 1280x1024, 1024x768 o algo por el estilo. Naturalmente, esto es lo menos deseado, no solamente porque nuestro LCD no está en resolución nativa, sino porque se ven glitches dadas las frecuencias horizontales y verticales incorrectas.

Incluso luego de instalar los drivers de NVidia, el problema persiste.


El problema:

El archivo xorg.conf tiene las configuraciones necesarias de video, teclado y mouse para nuestra instalación. En él se setean las resoluciones soportadas por el monitor, las frecuencias, etc. Todo esto lo hace automáticamenten el sistema operativo y el driver de video que hayamos instalado.
El problema es que, el xorg.conf cuando intenta detectar el monitor, hace un query de información al monitor (informacion EDID), y -en ciertos monitores- este query falla, lo cual provoca que no se reconozca.

La solución:
Necesitamos decirle al xorg.conf que NO le haga el query al monitor, sino que use un archivo de informacion EDID correcto (edid.bin) proporcionado por nosotros.

Paso 1: obtener el archivo edid.bin

Acá pueden pasar dos cosas:
a) si tu monitor es detectado correctamente usando el cable VGA:
Abrir Nvidia X Server Settings Manager
Opciones del GPU
Abrimos nuestro monitor (en mi caso DFP-1 ViewSonic 2035wm)
Hacemos click en el botón "Acquire EDID..."

b) si tu monitor no es detectado con el cable VGA ni con el cable DVI:
Tenés que de alguna manera, obtener un edid.bin para tu monitor. En mi caso, estoy usando el de
un ViewSonic 2025wm (link a ese edid.bin). En el foro de ubuntu, está disponible también el de un Samsung SyncMaster 2032bw.

Una vez que tenemos el archivo edid.bin correcto para nuestro monitor:

Paso 2: modificar el archivo xorg.conf:

-abrimos el archivo xorg.conf:
sudo vim /etc/X11/xorg.conf

-buscamos:
Section "Device"

-y añadimos:
Option "CustomEDID" "DFP-1:/home/username/edid.bin"


Por Ejemplo:
Section "Device"
Identifier "Videocard0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 8800 GTS"
Option "CustomEDID" "DFP-1:/home/user/edid.bin"
EndSection

-salvamos y salimos

Notar que el path al archivo puede ser cualquiera, sólo asegurense que sea correcto.
También asegurense de que todas las ocurrencias de "DFP-" sean iguales. Si en un lado tienen "DFP-1", entonces en todos lados tienen que tener exactamente eso.

Reinicien y tiene que estar funcionando.

martes, 22 de julio de 2008

Problema estúpido con java

Estoy intentando aprender Java, y en principio no quiero usar netbeans, quiero usar eclipse al que me acostumbré con c++.

Quise correr el HelloWorldApp que está en el tutorial oficial de sun, y me dio este problema.
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorldApp
Caused by: java.lang.ClassNotFoundException: HelloWorldApp
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)


Estuve horas puteando, a todo el mundo le decían por ahí que era un problema de usar versiones distintas de compilador y virtual machine, cosa que no era mi caso.

Al final descubrí la solución, y era una chotada, por eso la pongo acá bien grande para que a nadie le pase:

En Eclipse, los source files van en /src

lunes, 30 de junio de 2008

Ubuntu Hardy Heron (8.04) no bootea. (BusyBox/initramfs)

Este problema es particularmente frustrante, cuando Ubuntu va a arrancar, tarda un montón en la splash screen, para terminar un una ventana con titulo BusyBox y un prompt que dice initramfs.

La solución que sirvió para mí, que es la que encontré acá, es la siguiente:
Cuando va a arrancar grub, apretar Esc para acceder al menú.
En la opcion que queremos bootear, apretar 'e' (de editar).
Agregar al final de la línea que dice kernel (sin comillas)
"all_generic_ide floppy=off irqpoll"

Apretar Enter para salir del modo de edición.
Apretar 'b' para que bootee con las opciones seleccionadas.


Y listo, ahí ya me funcionó. Puede ser que para que quede funcionando por defecto, haya que editar /boot/grub/menu.lst, pero todavía no me consta, cualquier cosa después hago un update.

jueves, 26 de junio de 2008

Instalar Eclipse 3.4 (Ganymede) en Ubuntu Hardy (y probablemente Gutsy y Feisty)

En realidad es más bien un consejo esto, porque no hay ninguna explicación para hacer algo complicado. El tema es así, en los repositorios de ubuntu, la versión de eclipse que hay es bien vieja, calculo que tiene 1 año o tal vez más. Esto ha llevado a jugosas discusiones, en las que incluso ha participado Mark Shuttleworth.
El tema es que estuve investigando y no encontré ningún repositorio no oficial de donde descargarlo, entonces me dispuse a ver la forma de instalarlo manualmente.
Las buenas noticias, y el motivo de este post, es que si bien no hay un .deb, en la página oficial de eclipse, se puede descargar un tar.gz que funciona de manera completamente autónoma. Lo único que se necesita es descomprimirlo a una carpeta, y ya podemos levantar el ejecutable, que funciona de manera independiente de cualquier otro eclipse que haya en el sistema (yo tengo este y el 3.2 que está en el repo).

Nota: Yo lo probé en un sistema donde en eclipse 3.2 funcionaba todo, no en uno limpio, por lo tanto se pueden necesitar arreglar detalles como los mencionados en otros posts.

viernes, 20 de junio de 2008

Eclipse-cdt no hace nada cuando le damos build

Si bien es un problema más básico y específico de los que suelo mencionar, me ha pasado y lo he visto pasar más de una vez. Eclipse-cdt no instala compilador, entonces tenemos que instalar g++ a mano para que todo funcione.
sudo apt-get install g++ gdb

Y listo.

domingo, 15 de junio de 2008

Intellisense de eclipse funciona demasiado lento en Ubuntu Hardy (8.04) y anteriores

En mi caso el problema se solucionó poniendo como la primera linea en "/etc/eclipse/java_home" a "java-6-sun". O sea, la línea ya está, pero no está en primer lugar, hay que ponerla como primera de la lista.

Además, hay que hacer

sudo apt-get install sun-java6-jre


para instalar el java de sun, y luego

sudo update-java-alternatives -s java-6-sun

para ponerlo por defecto

domingo, 1 de junio de 2008

VLC no muestra subtítulos en Ubuntu Hardy (8.04)

VLC hace un tiempo dejó de cargarme automáticamente los subtítulos. Funcionaba a través de "Open file..." pero por más que tuviera el sub el mismo nombre que el video, nunca lo abría automáticamente. Buscando un poco encontré esto, que por lo menos solucionó el problema en mi caso.

Hay que editar el archivo /usr/share/applications/vlc.desktop:
sudo vi /usr/share/applications/vlc.desktop


En la línea 11, cambiamos donde dice
Exec=vlc %U

por
Exec=vlc %F

y listo, problema solucionado.