martes, 27 de agosto de 2013

Habilitar SNA y TearFree para drivers Intel en Debian

Esto es será como un milagro para muchos, incluso para mi. Sucede que el driver intel para Linux no es considerado de lo mejor, pero tiene su buen soporte. Desde que utilizaba Ubuntu siempre tuve ese molesto problema al momento de reproducir videos *sin importar que sean HD* que aparecia un tipo de rayas o "tears" en el reproductor cuando habia mucho movimiento en el video, y nunca pude solucionarlo. Ahora que estaba actualizando mi Debian observé una actualizacion disponible para mi driver: xserver-xorg-video-intel.

Cuando mire esa actualiacion recorde el molesto problema que siempre habia tenido, y recorde que actualmente intel esta trabajando en reemplazar el mecanismo de aceleracion en su driver de UXA a SNA. Entonces me decidí a darle una probada a este ultimo mecanismo de aceleracion.

Lo primero que hice fue aplicar la actualizacion y ahora esta asi:
rcart*debian:~$ apt-cache policy xserver-xorg-video-intel
xserver-xorg-video-intel:
Installed: 2:2.21.14-4
Candidate: 2:2.21.14-4
Version table:
*** 2:2.21.14-4 0
990 http://ftp.us.debian.org/debian/ testing/main amd64 Packages
-10 http://ftp.us.debian.org/debian/ sid/main amd64 Packages
100 /var/lib/dpkg/status
rcart*debian:~$

Una vez tengamos el driver updated, vamos a crear un archivo de configuracion para el servidor X con el siguiente contenido:
rcart*debian:~$ cat /etc/X11/xorg.conf.d/20-intel.conf
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "AccelMethod" "sna"
EndSection

Con eso habilitamos la nueva aceleracion (SNA). Pero eso no es todo, debido a que esa aceleracion nos provee una interfaz grafica mas fluida, el problema de las "tears" todavia persiste. Asi que debemos establecer una nueva opcion en ese mismo archivo para poder librarnos de este castigo:
rcart*debian:~$ cat /etc/X11/xorg.conf.d/20-intel.conf
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "AccelMethod" "sna"
Option "TearFree" "true"
EndSection

Ahora intenten reproducir algun video en 1080p para comprobar los sorprendentes resultados.

Sources:
https://wiki.archlinux.org/index.php/Intel_Graphics
http://forums.gentoo.org/viewtopic-t-933410-start-0.html
$ man intel

miércoles, 7 de agosto de 2013

Debian: hibrido entre testing y unstable

Como lo mencione en mi actualizacion, he logrado montar (facilmente) un sistema hibrido entre estas dos ramas de Debian. El procedimiento es bastante sencillo pero muy eficaz.

Esto es posible estableciendo una configuracion en apt para que pueda distinguir entre las ramas que tenemos disponibles en nuestro /etc/apt/sources.list y sea posible identificar que rama tenemos como preferida, de esta forma los paquetes que tenemos instalados no se actualizan directamente de unstable sino que de la rama preferida, obviamente testing y asi evitamos romper el sistema con cada actualizacion. Comencemos.

Inicialmente vamos a establecer las ramas que querramos tener disponibles en nuestro sources.list, algo parecido a esto:

deb http://ftp.us.debian.org/debian/ testing main contrib non-free
deb-src http://ftp.us.debian.org/debian/ testing main contrib non-free

deb http://security.debian.org/ testing/updates main
deb-src http://security.debian.org/ testing/updates main


####### DEBIAN MOZILLA TEAM #########
deb http://cdn.debian.net/debian experimental main


####### PACKAGES FROM UNSTABLE #########
deb http://ftp.us.debian.org/debian/ sid main contrib non-free
deb-src http://ftp.us.debian.org/debian/ sid main contrib non-free
Como vemos, hay dos tipos de ramas: la testing (Jessie) y la unstable (Sid). Ahora vamos a configurar apt para que sepa las prioridades entre las diferentes ramas.

Creamos el archivo /etc/apt/preferences con el siguiente contenido:
Package: *
Pin: release a=testing
Pin-Priority: 900

Package: *
Pin: release o=Debian
Pin-Priority: -10
Y eso se lee asi: Para todos los paquetes (*) en la rama (release) testing se estable una prioridad (pin) de 900 ($ man apt_preferences para conocer las prioridades) y todos los demas paquetes de cualquier otra rama tienen una prioridad negativa; no se van a instalar a menos que se indique directamente que queremos instalar un paquete de otra rama

Despues de hacer un #apt-get update nos damos cuenta que tenemos disponibles las ramas indicadas en nuestro archivo sources.list. Ahora bien, si queremos instalar cualquier paquete no va a ser posible porque todos los paquetes en este momento se consideran "virtuales debido a que apt-get no sabe de qué rama elegir para instalar un determinado paquete. Ahora debemos indicarle a apt-get lo que queremos y para eso creamos el archivos /etc/apt/apt.conf con el siguiente contenido:
APT::Default-Release "testing";
Y listo, con eso establecemos la rama que queremos indicarle a apt-get que será nuestra rama principal: testing. Ahora sencillamente instalan cualquier paquete sin ningun problema. Y que pasa si queremos instalar un paquete de la rama unstable? Lo hacemos de esta manera:
# apt-get install -t sid $paquete
Como vemos, si no indicamos el parametro -t (target), apt-get va a instalar el paquete de la rama testing, porque es asi como lo tenemos configurado de manera predeterminada.

En fin... como podran ver es un procedimiento bastante sencillo pero que nos da la posibilidad de poder instalar software en sus ultimas versiones para Debian y que se encuentran en la rama unstable. Sinceramente tengo firefox (iceweasel) de la rama experimental (# apt-get install -t experimental iceweasel) y desde que lo tengo no he tenido el mas minimo problema. Aunque como saben esto no es garantia para todos los paquetes.

martes, 23 de julio de 2013

ACTUALIZACIONES MISC, OTRA VEZ

He estado ausente en este mundo debido a muchos estupidos factores, pero creo que hasta este momento ya tengo lo necesario para continuar con ciertos detalles.

En fin, aqui unos recientes cambios:

Abando Ubuntu despues de 5 años, me paso a la raíz

Asi es, dejo mi adorada distribucion y me paso a Debian por un principal factor: Los secretos que Canonical guarda para su producto principal.

Despues del boom que hizo Mir al salir a la luz a muchos usuarios/desarrolladores les parecio algo hasta cierto punto insultante debido a que Ubuntu es una distro "comunitaria", lo cual refleja lo contrario.

Por mucho tiempo quise llegar a ser MOTU, pero lo anteriormente mencionado ha dejado en mi un tipo de intranquilidad que no he podido soportar y es por eso que dificilmente decidi cambiar de rumbo. Todo lo que afortunadamente aprendi respecto al desarrollo de Ubuntu lo aplicare tambien en Debian, ya que tengo el objetivo de involucrarme en el desarrollo de Debian.

Quizas en algun punto quiera volver a regresar a Ubuntu y seguramente lo hare sin problemas, pero mientras tanto, me quedo con Debian.

Debian: una distribucion orgásmica

Definitivamente es el Sistema Universal con muchisima razon. Algunas personas piensan que las versiones estables de Debian son demasiadas desactualizas y quizas tengan razon, pero las posibilidades son muchas.

Realize una instalacion minimalista casi identica a la que tenia en Ubuntu, pero ademas de eso tengo varias mejoras:
  • Mi sistema de particiones esta montado sobre un LVM encriptado con particiones logicas obviamente encriptadas
  • Tengo un sistema hibrido: un sistema mixto entre Testing (Jessie) y Experimental. Esto significa que tengo un sistema base lo suficientemente estable y con la posibildad de poder instalar las aplicaciones mas recientes desde Experimental. Bello.
  • El sistema es ligeramente mas fluido
  • Google Reader murió, larga vida a Feedly
  • Ya no utilizo pidging, simplemente irssi para IRC
En fin, creo que hasta este momento estoy mas que satisfecho con los resultados que he obtenido. Por ahorita lo unico que me hace falta es montarme un entorno de desarrollo y comenzar desde cero. Será un viaje divertido.

lunes, 11 de marzo de 2013

Drivers Intel de Ubuntu 12.10 en Ubuntu 12.04 Precise

ADVERTENCIA: ESTO TE PUEDE DEJAR SIN SERVIDOR GRAFICO! CONTINUÁ POR TU CUENTA.

Ademas de tener el ultimo driver de quantal para tarjetas Intel, tambien tendremos la ultima version del X Windows Server, asi que contaremos con un muy actualizado apartado grafico. Creo que esta es una de las ventajas de contar con una version LTS de Ubuntu.

Bien, cuento con un sistema minimalista y no pienso llenar mi equipo de paquetes que no necesito, asi que debo saber especificamente qué paquetes debo instalar.

Antes que nada veamos la diferencia entre versiones:
rcart*ubuntu:~$ rmadison xserver-xorg-video-intel
xserver-xorg-video-intel | 2:2.2.1-1ubuntu12 | hardy | source, amd64, hppa, i386, ia64, lpia, powerpc
xserver-xorg-video-intel | 2:2.2.1-1ubuntu13.8 | hardy-updates | source, amd64, hppa, i386, ia64, lpia, powerpc
xserver-xorg-video-intel | 2:2.9.1-3ubuntu5 | lucid | source, amd64, i386
xserver-xorg-video-intel | 2:2.15.901-1ubuntu2 | oneiric | source, amd64, i386
xserver-xorg-video-intel | 2:2.15.901-1ubuntu2.2 | oneiric-updates | source, amd64, i386
xserver-xorg-video-intel | 2:2.17.0-1ubuntu4 | precise | source, amd64, i386
xserver-xorg-video-intel | 2:2.17.0-1ubuntu4.3 | precise-updates | source, amd64, i386
xserver-xorg-video-intel | 2:2.20.9-0ubuntu2 | quantal | source, amd64, i386
xserver-xorg-video-intel | 2:2.21.4-0ubuntu1 | raring | source, amd64, i386

Como vemos, la version de precise es la 2.17, quantal 2.20.9 y raring 2.21.4.

Lo ideal seria tener la de raring, ya que incorpora *notables* cambios en comparacion a las versiones anteriores. Pero por ahorita no tengo prisa en utilizarla, asi que me conformo con la de quantal asi que esperaré hasta que este lista. (Esto de esperar no me lo crean...)

Instalamos los paquetes específicos de quantal proporcionados por el equipo LTS (y asi siempre tendremos disponibles las versiones actualizadas):
rcart*ubuntu:~$ sudo apt-get install xserver-xorg-core-lts-quantal xserver-xorg-input-all-lts-quantal xserver-xorg-video-intel-lts-quantal
Con eso se "rompe" el inicio de las X, por que? Porque solo instalamos el sistema base del servidor X y no en su totalidad, asi que debemos hacer algunas pequeñas modificaciones a los archivos de arranque ya que ese paquete base proporciona Xorg en vez del tipico X.

Entonces, editamos /etc/X11/xinit/xserverrc y lo dejamos de esta manera:
exec /usr/bin/Xorg -nolisten tcp "$@"

Utilizo Slim como DM, entonces debo hacer alguna modificacion alli tambien y dejamos la linea 4 asi:
default_xserver /usr/bin/X11/Xorg

Ahora solo queda crear el archivo xorg.conf para que todo este listo:
rcart*ubuntu:~$ sudo X -reconfigure && mv -v xorg.conf.new /etc/X11/

Listo. Ahora podemos reiniciar. Si todo arranca con normalidad, contaremos con un apartado grafico actualizado. Para comprobar esto revisen el log en /var/log/Xorg.0.log.

Algunos pensaran que es mucho mas facil instalarlo desde un PPA, pero... no sé, no me siento tranquilo con ese metodo :\

En fin, espero sigan con el apartado grafico con vida x'D

En la proxima actualizaré mi Window Manager (spectrwm) a su ultima versión.

martes, 19 de febrero de 2013

Actualizaciones misc

Bueno, despues de andar perdido por alli recordé que tenía blog. Aunque creo que no tengo nada relevante que documentar sobre las cosas que estado haciendo porque, en realidad, no he estado haciendo nada.

Dejé muchas cosas planificadas pero debido a diversos factores, y ningun justificable, las he dejado en espera indefinida. Pero bueno, creo que vengo con un poco de animos para enderezar mis pasos.

Algunas cosas relevantes que deberia mencionar.

Tengo nuevo telefono =)_
Es un Nexus One que he podido traer a la vida instalandole Jellybean 4.2, aún sabiendo que oficialmente no lo soporta pero debo decir que no tengo ninguna queja al respecto. Anda bastante bien para ser un telefono que no fue diseñado para soportar esa version de Android. GRACIAS XDA-DEVELOPERS!

Mi actividad relacionada al desarrollo de Ubuntu
Deje pendiente muchas cosas en este apartado. Por ejemplo un bug sobre xpdf que me asigne en LP y no continué buscando la solucion a un problema que tenia para aplicar el parche en Quantal.

Personal
Estos primeros meses del 2013 he sido un desastre en todos los sentidos. Its enough.

En fin, continuemos con esto.

Saludos.