Audio por HDMI en HTPC Linux

HTPC y Televisión

HTPC y Televisión

Desde que recibí mi flamante HTPC con Linux he pasado (y sigo pasando) un calvario para conseguir que funcione correctamente el Audio por la conexión HDMI con la televisión, tanto en el escritorio como en el XBMC y en el MythTV. Cuando pensaba que ya casi lo tenía ‘domesticado’ llegó una actualización de seguridad del Kernel Linux, y al instalarla todo se volvió a desconfigurar, así que ha llegado el momento de escribir este post que me sirva como recordatorio y si además le sirve a alguien más, mejor que mejor.

El HTPC viene con MythUbuntu instalado (una variación de Ubuntu especializada para multimedia) y escritorio XFCE, pero en otras distros el proceso será similar. Vamos allá:

Los drivers de audio:

En Linux los drivers de audio nos los proporciona ALSA, y en concreto, para que funcione la salida por HDMI, se necesita una versión 1.0.20 o superior. A día de hoy la versión que llega instalada en casi todas las distros es superior a la 1.0.20, así que lo más probables es que esta parte te la puedas saltar.  Para saber la versión que tenemos escribimos en un terminal:

$cat /proc/asound/version

Lo que en mi caso da una salida como esta:

Advanced Linux Sound Architecture Driver Version 1.0.20.
Compiled on Sep 6 2009 for kernel 2.6.28-15-generic (SMP).

Si no lo tienes instalado o tu versión es anterior conviene que actualices. Para actualizar en UbuntuForums han puesto a disposición de sus usuarios registrados (el registro es libre y gratuito) un script que se encarga de hacerlo todo por ti.
Descarga desde aquí el Script (está al final de la página), descomprímelo y ejecútalo. Para hacerlo, desde un terminal:

cd Directorio-donde-lo-has-descargado
tar xvf AlsaUpgrade-1.0.x-rev-1.17.tar
sudo ./AlsaUpgrade-1.0.x-rev-1.17.sh -di

15 minutos más tarde (aproximadamente) terminará y volverás a tener el control del terminal. Reinicia el PC y listo.

Importante: después de una actualización de Kernel, el Sistema Operativo no me detectaba ninguna tarjeta de sonido, y he conseguido que vuelva a funcionar reinstalado ALSA, así que ya sabes, si estás sin tarjeta de sonido después de actualizar el Kernel, te tocará reinstalar ALSA, al menos mientras necesitemos una versión de ALSA superior a la que está en los repositorios.

Configurando ALSA:

Lo siguiente que haremos es un poco de trabajo de configuración. Lo primero es saber dónde está nuestra salida HDMI de audio.
En un terminal teclea lo siguiente:

$aplay -l

Lo que nos dará una salida similar a esta:

**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 0: ALC1200 Analog [ALC1200 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 1: ALC1200 Digital [ALC1200 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 3: NVIDIA HDMI [NVIDIA HDMI]
Subdevices: 1/1
Subdevice #0: subdevice #0

Si os fijáis, en mi caso, la salida HDMI se llama “NVIDIA HDMI”, y está en la tarjeta 0, device (dispositivo) = 3 y subdevice (subdispositivo) = 0. Recordad estos datos porque con ellos tendréis que ir configurando los programas que generan salidas de audio.

Lo siguiente es configurar la salida de audio por defecto cuando no se indique otra, esta será la que utilice, por ejemplo, el plugin flash en Firefox:
En un terminal:

$ sudo gedit /usr/share/alsa/alsa.conf

Y en el editor buscamos, por la parte del final, las opciones por defecto y las ponemos los valores que acabamos de sacar del aplay -l:

defaults.pcm.card 0
defaults.pcm.device 3
defaults.pcm.subdevice 0

Otra posibilidad para conseguir esto mismo (fijar la tarjeta de sonido por defecto) es crear o editar si existe un fichero llamada asound.conf en el directorio /etc

$sudo gedit /etc/asound.conf

Y pegar en el contenido lo siguiente:

pcm.!default {
type hw
card 0
device 3
}
pcm.!default {
type plug
slave.pcm "hw:0,3"
}

Ahora ejecuta alsamixer u otra aplicación gráfica que te permita configurar Alsa y asegúrate de que todos los controles están activos (que no están en mute) y que el volumen no está a cero. En concreto, presta especial atención a uno que se llama IEC958-1. En alsamixer, si algún control tiene la letra “M” por debajo quiere decir que está en mute, para reactivarlo pulsa en tu teclado la lera M cuando estés sobre él.

Por último repasa tus reproductores multimedia como cuentan en Digital Out, asegurándote de que están configurados para utilizar la salida de audio correcta:

  • Mplayer poner ‘-ao alsa:device=plughw=0.3’ (ojo, lo que hay entre el 0 y el 3 es un punto, no una coma)
  • XMMS: Preferences->Audio I/O Plugins->Output Plugin escoge ALSA, y después configura el dispositivo de audio a ‘plughw:0,3’
  • MythTV configúralo en Utilities/Setup->Setup->General, en la tercera página, teclea ‘ALSA:plughw:0,3’ en Dispositivo de salida de Audio
  • xine: en la pestaña de Audio en configuración pon todas las salida a ‘pcm.plughw:0,3’ y el devier de audio con ALSA.
  • XBMC. En la configuración de audio escoge “dispositivo personalizado” y escribe como dispositivo plughw:0,3 tanto en salida HDMI como en Passthrough.

Y con esto yo lo he conseguido, si voy haciendo más descubrimientos que aporten algo los iré dejando aquí, porque por ejemplo, ahora mismo hay vídeos, con determinada calidad de audio (los de la web de National Geographic por ejemplo) que me siguen dando problemas de configuración.

Enlaces interesantes sobre el tema:

Anuncios

Libros gratis de programación e Internet

libros_gatoDesde hace algún tiempo voy guardando en marcadores los libros, generalmente en PDF, que veo recomendados en otros blogs que leo por si algún día me pueden sacar de un apuro. Para tenerlos más a mano y por si a alguno más le pueden servir, os dejo la lista de libros, descargables y gratuitos, sobre conceptos de informática, programación, internet:

Si no son suficientes y andas buscando otro manual PDF gratuito, Rogelio ha agrupado unos cuantos buscadores de este tipo de libros. También tienen muchos libros disponibles en sitepoint.com, si utilizas twitter y te haces follower de ellos te envían los enlaces a los libros que van publicando.

¿Alguno más que conozcas que deba estar en la lista?

Actualización: gracias a Iván por sus aportaciones

Foto original de brewbooks

Esta semana he visto… LII Un año entero

Por aquello de que ya llevo un año escribiendo estos resúmenes semanales de lo mejor que veo en Internet he pensado en hacer algo distinto esta semana. Lo que he hecho es coger todos los resúmenes semanales, buscar los enlaces y componer una lista con los que más he enlazado. El resultado debería ser, más o menos, una lista de los blogs con los post más interesantes del último año (entre paréntesis las veces que los he enlazado) ¡espero que encontréis alguno interesante!:

  1. error500.net (28)
  2. enriquedans.com (28)
  3. blogenserio.com (23)
  4. gurusblog.com (22)
  5. elblogsalmon.com (19)
  6. sucede.es (17)
  7. pitodoble.com (13)
  8. microsiervos.com (12)
  9. ciberprensa.com (11)
  10. kriptopolis.org (10)
  11. genbeta.com (10)
  12. ayudawordpress.com (10)
  13. xeduced.com (9)
  14. sigt.net (9)
  15. rufadas.com (8)
  16. ricardogalli.com (8)
  17. areino.com (8)
  18. alcanjo.blogspot.com (8)
  19. despuesdegoogle.com (7)
  20. vseo.es (6)
  21. uberbin.net (6)
  22. loogic.com (8)
  23. changlonet.com (6)
  24. anieto2k.com (5)
  25. uberum.com (5)
  26. techcrunch.com (5)
  27. spanish.martinvarsavsky.net (5)
  28. patricianuro.blogspot.com (5)
  29. online.com.es (5)
  30. maestrosdelweb.com (5)
  31. linuxadictos.com (5)
  32. jokinsu.com (5)
  33. econectados.com (5)
  34. desenchufados.soygik.com (5)
  35. bdsv.zoomblog.com (5)
  36. bcendon.com (5)
  37. versvs.net (4)
  38. todoestadicho.blogspot.com (4)
  39. spamloco.net (4)
  40. rompecadenas.com.ar (4)
  41. mi-microcosmos.blogspot.com (4)
  42. merodeando.com (4)
  43. kabytes.com (4)
  44. historias-de-jp.blogspot.com (4)
  45. francescjosep.net (4)
  46. derechoynormas.blogspot.com (4)
  47. derechodelosblogs.blogspot.com (4)
  48. mimesacojea.com (3)
  49. paranoias.es (3)
  50. vidadeunconsultor.com (3)
  51. alt-tab.com.ar (3)
  52. jrmora.com (3)

Y releo la lista y son todos buenos blogs. He parado en 52 porque son las semanas del año, pero hay más enlazados, 335 en total.

Si queréis saber cómo componer esta lista de enlaces de un fichero (de la descarga de los post de esa categoría) lo he hecho aplicando un script bash que podéis descargar ¡mil gracias Mario por el trabajo!. Mario también es quien preparó aquel post sobre cómo modificar imágenes en linux mediante script usando el image magick.

Esta semana he visto… LI

¿Qué haces aquí?

¿Qué haces aquí?

Y se acerca el aniversario de esta sección del blog, todo un año sin perderme esta cita ¡qué constancia la mía!. Esta semana sufrimos los coletazos del Obamazo, y una vez pasados nos hemos vuelto a encontrar con la crisis pero ahora ya la de verdad, la de los parados, la recesión y esas cosillas de las que ya tanto sabemos todos. En la blogosfera la cosa ha estado bastante tensa, especialmente alrededor de Enrique Dans, por su decisión de moderar comentarios y por el castigo de twitter a su parodiante @edance,  pero vamos, nada que no sea un clásico de la blogosfera; blogosfera que por cierto se va a inundar con referencias al EBE que se celebra este próximo fin de semana.

Blogs:

Internet:

Mundo Real:

Curiosidades:

Humor:

Linux no es para todo el mundo (pero para ti sí)

(este post está escrito pensando en aquellos que apenas han oído hablar de Linux, si no estás en ese grupo…)

De un tiempo a esta parte Linux ha abandonado los oscuros centros de cálculo y habitaciones de los más frikys de internet, no se puede decir que sea algo popular pero al menos la gente ya sabe que tiene algo que ver con ordenadores 😎

Distribuciones como Open Suse y especialmente Ubuntu, han conseguido que sea un Sistema Operativo tan fácil de usar como lo es el Windows y con unas cuantas ventajas sobre este.

Ventajas de Linux sobre Windows:

  • Es gratuito, lo que en teoría, salvo el robo habitual de los grandes centros comerciales, debería ahorrarte unos 100 euros, sí 100 euros de más que te cobran por una copia de Windows de la que no te suelen dar los discos para poder reinstalarla.
  • No existen virus ¡cómo! ¡imposible! pues sí, es así, olvídate de antivirus, antyspyware y otras hierbas. No te voy a prometer que en un futuro no los haya pero a día de hoy puedes navegar tranquilo por el mundo.
  • Es código abierto. Cosa que posiblemente no te importe demasiado, pero que también suma en la lista de ventajas.
  • Es más estable. Como en Windows alguna vez algún programa se te quedará ‘colgado’ pero ocurre mucho menos y muy muy rara vez se te quedará ‘todo colgado’ como sí pasa en Windows, especialmente si ya lleva unos cuantos meses instalado.

Inconvenientes de Linux frente a Windows

Todos derivados de que no es ni remotamente tan popular como Windows, así que es de suponer que la cosa irá mejorando:

  • Puedes tener problemas con ordenadores o componentes muy novedosos. Las casas de hardware siempre sacan sus drivers para windows, pero suelen olvidarse de los que usamos Linux
  • Es más difícil tener a un primo/amigo que sea capaz de arreglarte los problemas que aparezcan. Tranquilo, internet es tu amigo y lo que a ti te está pasando ya le ha pasado a alguien antes y lo ha resuelto.
  • Hay determinados softwares que no los vas a tener, ejemplo clásico, el Photoshop, aunque tienes alternativas perfectamente válidas (por ejemplo para el photoshop el Gimp)

¿Para quién está indicado Linux?

Prácticamente para todo el mundo:

  • Para los niños. por experiencia propia os digo que entienden rápidamente como funciona, tampoco es que tengan problemas con Windows, pero con Linux les das un entorno donde apreden más (y más seguro si tú quieres)
  • Para los que no tienen ni idea. Para esos usuarios que sólo usan el ordenador para leeer correos, navegar por Internet y escribir algunos textos , Linux es perfecto, sencillo, rápido y más seguro
  • Para los aventureros que quieren aprender cosas nuevas

Si te he convencido

Descárgate la nueva versión que ha salido hoy mismo de Ubuntu y grábala en un CD, te recomiendo hacerlo por torrent. Pruébalo en modo live-CD (funcionando desde el CD pero sin instalarlo), si no te disgusta (y no tengas en cuenta la velocidad cuando estamos hablando de un live CD) procede a instalarlo. Para ello desfragmenta tu Windows, mete el CD y procede.

No tienes que quitar windows, Linux y Windows pueden convivir perfectamente, incluso compartiendo documentos; simplemente cada vez que arraques el PC tendrás que decidir que sistema operativo usar.

¿He conseguido convencer a alguien? si es así y lo necesita intentaré ayudar al que me lo pida, que ya sabemos que estos cambios tecnológicos a veces se complican.

Google Gears en Linux de 64 bits

Google Gears

Google Gears

Qué es Google Gears

Google Gears es un aplicacioncilla de Google que se integra con Firefox para manejar aplicaciones online en modo local; me intento explicar: cuando estás utilizando una aplicación web como por ejemplo Google Reader, cada dato que ves está almacenado en una base de datos, esto hace que cuando tu pinchas en algún sitio envías una petición al servidor de Reader que a su vez la envía al servidor de base de datos que contesta, el servidor Reader lo compone y te la envía a ti, como véis un trajín. Gears permite crear una pequeña base de datos en tu propio ordenador donde se replica la base de datos original y de esa forma consigue que todo funcione mucho más rápido, tus peticiones al servidor se resuelven en tu propio PC, y lo mejor de todo, todo ese proceso de aceleración se hace de forma transparente para ti, sin tener que configurar nada de nada.

¿Quién puede usar Google Gears?

En principio cualquier usuario de Firefox ya que gears se presenta como una extensión para Firefox. Y está disponible tanto para usuarios de Windows como de Linux y Mac, ¿he dicho Linux? bueno, sólo para algunos, aquellos que utilicen sistemas operativos de 32 bits, los demás nos fastidiamos. Y también lo han incorporado en Google Chrome, el nuevo navegador del que casi seguro que no habéis oído hablar.

Google Gears en Linux de 64 bits.

En el grupo de desarrollo contestan a la pregunta obvia ¿por qué Google Gears no trae soporte para sistemas operativos de 64 bits?, y la respuesta es esclarecedora:

The problem is simply one of resources.  For the officially supported platforms, we do a *lot* of testing before every release.  As users ourselves, we hate poorly tested software.

Ya sabéis, es un problema de dinero, que Google anda muy justo últimamente de liquidez.

Por suerte, bondades del software libre, Scott Wolchok ha desarrollado una extensión para 64 bits que podréis encontrar en Google Gears en Linux de 64 bits.

Yo la tengo instalada y funciona de maravilla pero no olvidéis que es una versión no-oficial que seguro que tiene errores. De hecho, a dia de hoy, es la correspondiente a la versión 0.4.9 cuando en la rama oficial ya van por la rama 0.4.15 (y Firefox os recordará todos los días que tenéis una nueva versión pero que no puede actualizar a ella porque no es para 64 bits).

Para instalarla sólo tenéis que ir a esta dirección y elegir la más reciente; Abrís el enlace con vuestro Firefox et voilá, extensión instalada en cuanto lo autoricéis.

Aplicaciones web soportadas por Google Gears:

Yo lo utilizo fundamentalmente en WordPress y en Google Reader pero hay otra aplicaciones que lo soportan según indican en una de sus páginas de ayuda:

  • Google Reader. Especialmente indicado para hacer búsquedas en feeds recientes
  • Google Docs. La aplicación de documentos de Google
  • Zoho: El otro grande, junto a Google Docs, del tratamiento online de documentos
  • Remember The Milk: una aplicación web que te permite organizar mejor tus tareas.
  • WordPress. Desde su última versión, wordpress permite utilizar Gears en lo que han llamado modo ‘Turbo’ y la verdad es que sí se nota, especialmente en el edito de entradas a la hora de redactar un post.

Si utilizas Firefox ¿a qué estas esperando? lo tienes en formato “gente normal” (Windows, Linux y Mac) y en formato “raritos con Linux de 64 bits“.

Hoy robamos a: la otra bola de Cristal

Un muy interesante blog en el que he disfrutado escudriñando antiguas entradas. Avería (http://www.laotrabola.com/) lleva sirviendo entradas desde hace ya más de 3 años, toda una vida en esto de los blogs. Y además es toda una contracorriente: mujer, con blog, usa GNULinux, y además debianita, nada de esa cosa que usamos las nenazas que es Ubuntu, y por si fuera poco también habla de MaxOS y Windows, vamos, una todoterreno.

El post le he elegido por útil, es una cosa que siempre tengo pendiente de investigarpara agilizar el trabajo y que aquí deja bien explicado:

3 maneras de cambiar el tamaño de nuestras imágenes en linux

A menudo cuando realizo capturas para adjuntar a algunos de los posts que escribo aquí necesito redimensionar las imágenes.

He aquí tres maneras simples y rápidas que he utilizado o utilizo para ello.

1 – Editor de imágenes

La primera de ellas y posiblemente la más conocida o común es a través de un programa editor de imágenes como Gimp, o en su defecto alguna herramienta online tipo Phixr o similar.

2 – Scripts para Nautilus

NIS, un script para Nautilus que con un simple click sobre la imagen te permite elegir entre diferentes tamaños.

Para instalar los scripts en Nautilus hace tiempo expliqué cómo hacerlo precisamente poniendo como ejemplo este mismo.

Dentro del pack de scripts para imágenes de Javielinux tenemos otro llamado Redimensionar.

3 – Imagemagick

Con Imagemagick a través de la línea de comandos y dos de las herramientas incluídas: convert o mogrify.

Las diferencias entre ambas es que la primera necesita un archivo de salida y el segundo de ellos sobreescribe la imagen, por lo que en este caso es mejor trabajar con copias del original.

Estas dos herramientas no sólo realizan cambios de tamaño, también tienen otras funciones, como convertir el formato, añadir bordes, anotaciones, rotar, etc. Realmente Imagemagick es una herramienta muy poderosa a la que se le puede sacar mucho partido, pero hoy sólo nos vamos a centrar en redimensionar, porque si no este sería un post kilométrico, quizás más adelante hable de otras funciones.

Decir también que esta aplicación está disponible para sistemas operativos windows y macosx, pero no la he usado en ellos, por lo que también sólo me centraré en su uso bajo linux.

Para estos ejemplos usaremos una imagen que tengo en mi disco duro con nombre 0112.png de dimensiones 400×400 px:

3.1 – Convert

Para cambiar el tamaño lo haremos de la siguiente manera:

convert -sample 150×150 0112.png 0112a.png

150×150 será el tamaño escogido, 0112.png el archivo original y 0112a.png el archivo resultante.

También podemos utilizar:

convert -resize 100×100 0112.png 0112b.png

O para agrandar:

convert -resize 600×600 0112.png 0112c.png

convert -sample 600×600 0112.png 0112d.png

Aunque nosotros indicásemos una altura y anchura no equivalentes, el comando convert las respetará.

Por ejemplo al escoger una imagen de 501×717 y redimensionarla a 200×200 el resultado es de 140×200. Si nosotros no queremos que respete este ratio y queremos que sea a nuestro antojo usaremos el símbolo ! (cierre de exclamación):

convert -resize 200×200! 0112.png 0112e.png

También podemos indicar un porcentaje:

convert -resize 0112.png 10% 0112f.png

convert 0112.png -sample 10% 0112g.png

Esto no es que la reduzca un 10% sino que la reduce a un 10% que es distinto.

Para aumentar:

convert -resize 0112.png 210% 0112h.png

Y supongo que habrá bastantes más opciones pero básicamente son estas, el resto os dejo que investiguéis por vuestra cuenta.

3.2 – Mogrify

Para redimensionar una imagen respetando su ratio:

mogrify -geometry 100×100 0112.png

Para poner las dimensiones que nosotros queramos, al igual que con convert usaremos !:

mogrify -geometry 100×350! 0112.png

O utilizando porcentajes:

mogrify -geometry 10%x50% 0112.png

Como ya dijimos en líneas más arriba, mogrify sobreescribe el original, por lo que se puede observar no le indico un archivo de salida, sino solamente el original que será sobre el que realizará el redimensionamiento.

Si lo de la línea de comandos sigue sin convencerte podemos usar display que nos abrirá una ventana donde podremos realizar las modificaciones oportunas y previsualizarlas antes de guardar:

display 0112.png

Y si queréis ver más usos y ejemplos de imagemagick, os invito a pasar por esta colaboración de Mario que tuve en su día.