mayo 17, 2010

openSUSE 11.2 en mi VAIO Z series (VGN-Z890T)

Este es mi segundo intento por configurar por completo el hardware de mi laptop para poder utilizar openSUSE 11.2 como sistema operativo definitivo y olvidarme de la basura que es Windows 7 (que corajes y dolores de cabeza me ha provocado hasta ahora). El primer intento fue un fracaso porque en primera no conozco del todo bien linux, soy un usuario primerizo y estoy aprendiendo con esto, en segundo se me acabó el tiempo y tenía que dejar lista la laptop para el trabjo y por último llegué a un punto en el que ya no jalaba ninguna de las dos tarjetas de video porque batí todo jeje, pero ahora esta casi lista en una pequeña partición de Linux que dejé y muy pronto se quedará como SO principal. Mientras tanto voy a documentar un poquito aquí lo que he hecho hasta el momento para otros aventurados en el tema y para cuando tenga que volver a hacerlo en un futuro.
Instalando openSUSE 11.2
De entrada al terminar de instalar el sistema operativo la máquina queda utilizable, funciona casi todo aunque hay algunos detalles que serían muuuy deseables para la mayoría de nosotros, quizá para algunos son determinantes. De lo que he detectado que no funciona y que sería muy deseable es: el ajuste del brillo en la tarjeta INTEL,  la tarjeta de video NVIDIA y su ajuste del brillo, el lector biométrico de huellas digitales, los botones S1, S2 y eject que incluye el equipo. Hasta el momento no he resuelto todo, pero ya tengo lo mas importante que es la tarjeta de NVIDIA (al menos es lo que mas quería) y poco a poco conforme resuelva lo demás lo iré poniendo por aquí.


El switch de la tarjeta de video
Para empezar este modelo tiene dos tarjetas de video, una INTEL y una NVIDIA. La tarjeta NVIDIA no funciona debido a una modificación que le hicieron para que hiciera el hot switch de las tarjetas en Windows 7 (porque demonios hacen Hardware para un SO, no debería ser al revés??). En fin, en este blog está muy bien detallado el porque no funciona y a grandes rasgos como arreglarlo.
A ver, vamos resumiendo:
Por encimita, para hacer que jale la tarjeta de video hay que instalar el módulo de sony-laptop, agregar una variable y parchar el BIOS. Pues para este modelo en particular con esta versión de openSUSE lo único que tuve que hacer fue parchar el BIOS.


¿Cómo parchar el BIOS? (easy way)
Simplemente hay que conseguirse una USB, instalar el FreeDOS con su FlashIt, bootean, respaldan su actual BIOS, instalan el nuevo y reinician. Esto les habilitará el menú avanzado donde deben cambiar la propiedad VGA Switching Policy = STATIC esto evitará que Windows pueda hacer el hot switch pero le permitirá a Linux identificar su tarjeta de video.
A detalle, aquí hay una entrada en un foro especializado en el BIOS que trae la Z, estos compas se las saben de todas todas y pueden echarle un ojo, lo malo es que ellos usan Windows.
Vean el link anterior para los detalles de como parchar el BIOS, OJO, de ese post solo es útil para nosotros la herramienta y como respaldar e instalar el BIOS, la modificación no aplica porque esa es para las nuevas Z aquí un poco de mas detalle de como se hace pa nuestro modelo:


-Bajan un BIOS ya modificado como el que está aquí (Otra vez hago referencia a ese blog que en verdad encontré muchas respuestas en él y este amigo nos compartió el BIOS que el modificó. Gran trabajo!!)
-Preparan un USB con FreeDOS y FlashIt como el que nos proporcionan en el blog antes mencionado.
-Bootean con el USB y ejecutan el comando "FlashIt OLDBIOS.rom /g" para respaldar su BIOS
-Actualizan con el BIOS modificado utilizando el comando "FlashIt NEWBIOS.rom /f"
-Reinician y listo!!, cuando entren a su BIOS encontrarán que en la pestaña "Advanced" hay muchas cositas nuevas, no voy a entrar en detalles porque ni yo se todas, solo sé que si le mueven mucho lo baten, lean el blog de donde saqué todo esto, ahí si saben.
Bueno, en ese menú buscan la propiedad VGA Switching Policy que debe estar en Auto, la cambian a STATIC, salvan cambios, se salen y listo, con esto su openSUSE será capaz de identificar correctamente con que tarjeta de video arranca la máquina dependiendo de la posición del switch (stamina - speed), no necesitan nada mas.


Configurando el xorg.conf (utilizando configuración de Windows7)
Ahora bien, se darán cuenta de que no importa con que tarjeta de video arranque con ambas funciona, esto es porque no tienen un xorg.conf y se autoconfiguran con las opciones básicas, ahora tenemos que instalar los drivers de NVIDIA, esto lo pueden hacer con el One Click Install, una vez instalado hay que configurarla. De ahí yo utilicé el método explicado en el primer blog que cité aquí.
Lo que él describe es obtener un archivo de Windows utilizando el software softMCCS, exportan la configuración de su monitor y la colocan en Linux, luego configuran su xorg.conf como lo explica en su blog casi al final del post.


Arreglando las teclas F6, F7 para control del brillo en NVIDIA
Con eso al reiniciar en speed mode tendrán su NVIDIA casi lista, ya solo tenemos que instalar unos paquetes mas para poder arreglar el control del brillo y eso lo encontrarán aquí, en este otro blog... como verán, yo todo lo saqué de blogs y mas blogs, no hay nada de mi cosecha porque como lo dije al principio soy muy nuevo en esto, pero estuve a punto de resignarme la primera vez, así que hago esta guía para que otros entusiastas de openSUSE no le sufran tanto.
Ahora bien, de este último blog afortunadamente para nuestro modelo ya no tenemos que hacer todo eso que él hizo, solo haremos caso a la parte del brillo, es la última sección y esta muuuy bien explicado todo, paso a paso, el único problema podría ser el idioma, pero todos aquellos que no hablan inglés avísenme y con gusto le dedico mas tiempo a este post explicándolo en español.


Booteando con una u otra tarjeta de video
Finalmente, solo nos queda hacer un script para que el sistema operativo utilice los archivos xorg.conf correspondientes a cada tarjeta. Como se habrán dado cuenta, hasta donde vamos ahorita no podemos cambiar libremente el switch.
- Sin un archivo xorg.conf la INTEL funciona bien pero la NVIDIA (aunque funciona) no podemos utilizar el diver de NVIDIA y todos sus beneficios por lo que es como si no la tuviéramos.
- Y con el xorg.conf que hicimos para nuestra NVIDIA la INTEL no funciona para nada.


Vamos a hacer un script, como era de esperarse la base teórica la saqué de este otro blog, como en los anteriores, no todo aplica para nuestro modelo, afortunadamente un montón de esas cosas ya están resueltas out of the box, por lo que solo haremos caso al script para cambiar de tarjeta que está descrito en el punto 5.
Primero hice el archivo xorg.conf_nvidia para configurar mi tarjeta NVIDIA y como no tengo (hasta ahora) nada extra para la INTEL pues la uso sin archivo de configuración. Con esto mi script quedó de la siguiente manera:



 #!/bin/sh  
 lspci | grep "00:02.0"  
 if [ $? -eq 0 ]; then  
   rm /etc/X11/xorg.conf  
 else  
   cp /etc/X11/xorg.conf_nvidia /etc/X11/xorg.conf  
 fi  


y finalmente se ejecuta el siguiente comando para activarlo:


 /sbin/insserv /etc/init.d/intel_nvidia.sh  


Y ahora si, la computadora está lista para cambiar de tarjeta en cualquier momento sin mas que mover el switch y reiniciarla.


Muchas gracias a todos los blogs mencionados en este post que sin ellos nunca hubiese podido configurar bien mi tarjeta, aunque no fue fácil pero lo logré al final =).
Pronto estará aquí como arreglar los demás detallitos de la máquina.