Raspberry Pi

He estado siguiendo en los últimos días los avances del proyecto Raspberry Pi, un proyecto bastante interesante por el hecho de que se trata de un motherboard completo a un costo de 25 a 35 USD dependiendo del hardware utilizado. Se planean distribuir dos modelos (específicaciones completas en la wikipedia), el modelo A:

  • Broadcom BCM2835 (ARM11 700 MHz)
  • 128 MB RAM
  • Broadcom VideoCore IV
  • Conector RCA
  • Salida HDMI
  • 3.5 mm jack
  • Almacenamiento SD/MMC
  • 1 puerto USB 2.0

y el modelo B tiene estos componentes adicionales al modelo A:

  • 10/100 Ethernet
  • 256 MB RAM
  • 2 puertos USB 2.0

Las posibilidades de un proyecto así son infinitas. Puede ser empleada como una estación de desarrollo/programación en instituciones por las ventajas de su bajo costo, imagino que otros ya estarán con los dientes largos pensando en instalar un media center como XBMC u otros considerando que será distribuido con Debian, Fedora y Arch Linux inicialmente.

La fundación a su cargo esta planeando iniciar su venta en los próximos días y espero poder hacerme con una, quizá no de los modelos iniciales pero tal vez si una para fin de este año.

Les dejo unas fotos tomadas por Paul Maunders, feliz propietario de una de las placas beta subastadas hace pocos días en eBay.

Y unos videos de la Raspberry Pi corriendo algunas cosas:

Anuncios

Afinando el violín desde Linux

En estos últimos días, la nostalgia me hecho retomar las prácticas de violín; sin embargo, la herrumbre pulula en mis dedos y mi oído ya no es como antes. Me ha costado afinar el violín. Antes lo hacía con un teclado, pero ahora su adaptador de corriente ha dejado de funcionar y solo me queda recurrir al mundo digital para tal tarea.

Hace mucho tiempo atrás rescate un archivo flash de un sitio web, un script bastante interesante ya que te ayuda a afinar de oído una guitarra, un violín o un bajo. Esta se encuentra entre las utilidades/herramientas del blog de AuLa de MúSiCa. El afinador lo pueden ver desde este enlace, y también hay un interesante metrónomo.

Ahora bien, veamos las opciones que nos ofrece Arch Linux para estos menesteres. Una búsqueda rápida con yaourt nos permite ojear el AUR.

$ yaourt tuner

Entre los resultados tenemos varias aplicaciones: fmit, gxtuner, k4guitune, lingot, qtuneroid, string, tuneit, tuneroid, gtkguitune. Algunas dependen de qt, otras de las librerías de kde4, otras de gtk y otras con de línea de comando.

Detrás de todos estos programas realmente hay varias horas de ingenio dedicadas al análisis de ondas, frecuencias, períodos, tonos, semitonos y demás, con el fin de entregar a los usuarios de GNU/Linux programas que valen la pena y que no tienen nada que envidiar a los de otras plataformas. En resumen, hacen su trabajo.

lingot (AUR link)

Con lingot tendremos un afinador preciso. Originalmente concebido para afinar guitarras eléctricas, pero con el que se puede afinar ahora cualquier instrumento. Tiene un menú de opciones con bastantes opciones, algunas que involucran conceptos avanzados y que hasta que no domines esa teoría, no podrás sacarle el máximo provecho.

En la interfaz gráfica nos toparemos con un indicador “analógico” y en la parte inferior con un panel que muestra gráficamente los sonidos que ha recogido y está analizando.

lingot en acción

lingot en acción

fmit (AUR link)

Este programa en AUR no compila correctamente y por tanto no se puede instalar, a la fecha de publicación de esta entrada; sin embargo, revisando he observado que los binarios que tienen son perfectamente funcionales es cuestión de descargar alguno de ellos y extraerlos para comenzar a utilizarlo, si prefieres puedes instalarlo con este PKGBUILD (ojo que es el primero que hago, no es lo mejor, pero me funciona):

# Contributor: Moises Serrano <linkmoises at gmail dot com>

pkgname=fmit
pkgver=0.99.2
pkgrel=1
pkgdesc="Free Music Instrument Tuner"
arch=('i686' 'x86_64')
url="http://home.gna.org/fmit/index.html"
license=("GPL")
depends=('jack' 'glut' 'qt' 'fftw' 'freeglut' 'hicolor-icon-theme')
source=("http://download.gna.org/fmit/$pkgname-$pkgver-Linux.tar.gz")
md5sums=('17077b76f93a7a572897ae6833d861a3')

build() {
   msg "Nothing to compile for $pkgname"
}

package() {
   cd $srcdir/

   install -Dm755 "$srcdir/fmit-0.99.2-Linux/bin/fmit" $pkgdir/usr/bin/fmit
   install -Dm755 "$srcdir/fmit-0.99.2-Linux/share/applications/fmit.desktop" $pkgdir/usr/share/applications/fmit.desktop
   install -Dm755 "$srcdir/fmit-0.99.2-Linux/share/icons/hicolor/scalable/apps/fmit.svg" $pkgdir/usr/share/icons/hicolor/scalable/apps/fmit.svg

}

Una vez instalado, el programa se verá así:

fmit en acción

fmit en acción

Personalmente me ha parecido que fmit es mejor por el hecho que me ha permitido afinar el violín desde el micrófono de la laptop. Lingot me ha funcionado mejor cuando usando un micrófono externo de un handset lo aproximo bastante al violín.

Cambiar resolución de cámara web en Skype para Linux

Como dice el título… es un consejo tonto y rápido que me dejo usar la cámara web de mi pc a la resolución que yo deseaba, algo que siempre había deseado configurar pero que Skype para Linux no muestra opción alguna entre sus menus y asistentes.

Tenemos que buscar entre las carpetas ocultas de nuestro ~home:

~/.Skype/(TuNombreDeUsuarioDeSkype)/config.xml

dentro de ese archivo, buscamos la etiqueta “Video” y añadimos la resolución deseada, en mi caso 1024×768

<Video>
<CaptureHeight>1024</CaptureHeight>
<CaptureWidth>768</CaptureWidth>
</Video>

Eso es todo.

Un alias útil en el .bashrc

Consola

Consola

No suelo moverme mucho en la consola, pero de vez en cuando lo hago y en ocasiones al momento de manipular archivos comprimidos me es un poco difícil recordar los distintos parámetros de extracción para cada mimetype. Así que me propuse hacer un alias en el .bashrc para resolver esto:

function extraer () {
  if [ -f $1 ] ; then
      case $1 in
          *.tar.bz2)   tar xvjf $1    ;;
          *.tar.gz)    tar xvzf $1    ;;
          *.bz2)       bunzip2 $1     ;;
          *.rar)       unrar x $1     ;;
          *.gz)        gunzip $1      ;;
          *.tar)       tar xvf $1     ;;
          *.tbz2)      tar xvjf $1    ;;
          *.tgz)       tar xvzf $1    ;;
          *.zip)       unzip $1       ;;
          *.Z)         uncompress $1  ;;
          *.7z)        7z x $1        ;;
          *)           echo "mmm... no puedo extraer '$1'..." ;;
      esac
  else
      echo "'$1' no es un archivo válido!"
  fi
}

Ahora con solo escribir extraer nombredearchivo.formato será extraído en un nuevo directorio.

Plymouth, Arch Linux y Nouveau: Mi experiencia

Hoy me pegaron las ganas de instalar Plymouth y Nouveau para hacer algo más amigable el arranque de mi laptop con Arch Linux. Plymouth depende de que el driver de video soporte KMS (Kernel Mode Setting) y el driver que utiliza mi pc actualmente es el de nVidia que según sus desarrolladores nunca soportará KMS. En fin, dejando de lado esos problemas de licencia queda “pritty” y se puede mostrar a los compañeros de clase para que se les ague la boca y queden con una sialorrea de espanto.

Mi laptop es una humilde HP Pavilion DV6809wm que ya tiene su tiempito. Tiene una gráfica integrada nVidia GeForce 7150M / nForce 630M como dice la salida del comando lspci | grep GeForce y como se observa en el wiki de Nouveau, la misma está soportada (familia NV04). No uso muchas aplicaciones que requieran soporte 3d a excepción de los efectos de kde, pero estos deben correr bien con este driver.

Vamos con la receta de cocina:

Instalar el driver Nouveau

Con pacman como toda instalación:

sudo pacman -S nouveau-drm xf86-video-nouveau
resolviendo dependencias...
verificando conflictos...

Objetivos (2): nouveau-drm-0.0.16_20100313-2 [0.27 MB] xf86-video-nouveau-0.0.15_git20100314-1 [0.08 MB]

Tamaño total de descarga: 0.34 MB

Tamaño total instalado: 1.48 MB

esperamos a que termine de descargar e instalar. Si la gráfica pertenece a la familia NV50 o superior, será necesario añadir también el paquete nouveau-firmware.

Testear Nouveau

Tendremos que abandonar el X Window System por un rato para verificar que todo funcione. Así que en este punto tendremos que copiar lo que sigue, imprimirlo o verlo desde otra pantalla. Cambiamos a una consola Ctrl+Alt+F1 y hacemos lo siguiente: cerramos las X, quitamos el módulo nvidia, cargamos el módulo nouveau.

sudo /etc/rc.d/kdm stop

sudo rmmod nvidia

sudo modprobe nouveau

Cualquier cosa que ocurra verificamos la salida de dmesg, para errores y reportar bugs y eso…

dmesg | tail

Antes de matar las X, habrá que hacer algunos cambios al xorg.conf. Lo abrimos:

sudo nano /etc/X11/xorg.conf

Nos vamos a la sección Device, que en mi caso tiene el siguiente contenido:

Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
EndSection

añadimos lo siguiente:

Section "Device"
Identifier "Device0"
#Driver "nvidia"
Driver "nouveau"
VendorName "NVIDIA Corporation"
EndSection

Ahora arrancamos las X

sudo /etc/rc.d/kdm start

En mi caso, todo funcionó de maravillas, solo que al volver al escritorio no había composite activado. Eso será tema para otro post. Habiendo vuleto a arrancar kde, ahora abres una consola para editar permanentemente el rc.conf para seguir usando nouveau. Abrimos el rc.conf

sudo nano /etc/rc.conf

y en la línea de módulos hacemos lo siguiente:

MODULES="nouveau ... !nvidia"

Todavía hay que hacer algunos cambios para reiniciar y estar seguros que todo va bien.

Abrimos el modprobe.conf

sudo nano "/etc/modprobe.d/modprobe.conf"

y añadimos la línea

blacklist nvidia

Ahora editamos el mkinitcpio.conf:

sudo nano /etc/mkinitcpio.conf

Vamos a la línea FILES y añadimos lo siguiente:

FILES="/etc/modprobe.d/modprobe.conf"

Regeneramos la imagen de arranque

sudo mkinitcpio -p kernel26

Si reiniciamos en este punto, veremos que el KMS hace magia con la resolución de la consola. Me gusta mucho que la consola me muestre los mensajes de arranque, eso era al principio, y como ya no tengo problemas para arrancar ArchLinux siempre muestra los mismos mensajes. Así que ahora vamos a instalar plymouth.

Instalando plymouth

Plymouth no está en los repositorios oficiales, pero podemos descargar el PKGBUILD desde el aur. Al momento de escribir esto, la versión más reciente que hallé es la git. Me gusta hacer las cosas a mano y por eso no uso yaourt o similares.

wget -c "http://aur.archlinux.org/packages/plymouth-git/plymouth-git.tar.gz"

extraer plymouth.tar.gz

ó

tar xvfz plymouth.tar.gz

cd plymouth-git/

ahora compilamos

makepkg -s

Cuando termine, podemos instalar con pacman:

sudo pacman -U plymouth-git-20100523-1-x86_64.pkg.tar.xz

Al instalar veremos unas instrucciones, estas son las últimas que seguiremos para terminar. Tendremos que añadir plymouth al mkinitcpio.conf. en la línea HOOKS después de base y udev:

HOOKS="base udev plymouth ..."

En mi caso estoy usando el grub2, así que silenciemos los mensajes que salen después del grub.

sudo nano /boot/grub/grub.cfg

y vamos a la línea que carga el SO

# Entry 0 - Arch Linux
menuentry "Arch Linux" --class "arch" {
set root=(hd0,5)
linux /boot/vmlinuz26 root=/dev/sda5 resume=/dev/sda8 ro hpet=disable quiet splash
initrd /boot/kernel26.img
}

Tendremos que actulizar la imagen de arranque:

sudo mkinitcpio -p kernel26

Para cambiar el tema:

plymouth-set-default-theme [theme]

y actualizamos el initrd

plymouth-set-default-theme [theme] --rebuild-initrd

Resultados?? funcional, pero tengo problemas con composite. En cuanto tenga una solución la posteo.