Mostrando entradas con la etiqueta amd64. Mostrar todas las entradas
Mostrando entradas con la etiqueta amd64. Mostrar todas las entradas

viernes, 8 de febrero de 2008

Notas sobre mplayer

Antes de nada el necesario disclaimer: Mi configuración dista mucho de ser perfecta pero a mí me vale. No he tenido la necesidad de pegarme demasiado con las USE de gentoo - al menos en lo referente a mplayer - así que seguro que se podrá mejorar; pero sí puedo decir que puedo reproducir todo lo que necesito y como yo quiero, que no es poco ^_^

  • USE flags en gentoo referentes a mplayer

  • Las USE que yo estoy utilizando:
    bpk@osaka:$ grep USE /etc/make.conf
    USE="a52 aac bash-completion bzip2 cdparanoia cups doc dts dvd dvdr dvdread examples faad ffmpeg flac id3 ipod java live lzo matroska mp4 mpeg2 nptl nptlonly nvidia openal ppds samba screen svg theora vcd wma x264 xanim xvid -berkdb -gnome -ipv6 -arts -esd freetype utempter mjpeg"


    Las USE concretas referente al tema de reproducción multimedia con el mplayer son [1]
    a52, Enables support for decoding ATSC A/52 streams used in DVD
    aac, Enables support for MPEG-4 AAC Audio
    dts [2], Enables DTS Coherent Acoustics decoder support
    dvd, Adds support for DVDs
    dvdr, Adds support for DVD writer hardware (e.g. in xcdroast)
    dvdread [3], Enables usage of Ogle's libdvdread for DVD playback
    faad [4], ---
    ffmpeg, Enable ffmpeg-based audio/video codec support
    flac, Adds support for FLAC: Free Lossless Audio Codec
    live, Enables live.com streaming media support
    matroska, Adds support for the matroska container format
    openal, Adds support for the Open Audio Library
    theora, Adds support for the Theora Video Compression Codec
    vcd, Video CD support
    xanim, Enables support for xanim based codecs
    xvid, Adds support for xvid.org's open-source mpeg-4 codec

    Las USE referentes al tema de (re)codificación
    cdparanoia, Enables cdparanoia (audio CD ripper) support
    mp4, Enables mp4 encoding support
    wma [5], Add support for wma files through mplayer.
    x264, Enable h264 encoding using x264
    mjpeg [6], Enables mjpegtools support

    En el apartado media-video de la página de la que he sacado las descripciones de las USE [1] hay un par de tablas muy interesantes acerca de las que se pueden utilizar para los principales reproductores.

  • Parámetros mplayer

  • Una vez tengamos el mplayer instalado a nuestro gusto, tendremos que configurarlo de cara a nuestras necesidades.
    Para ello tenemos los archivos mplayer.conf y gui.conf, para el mplayer(-bin) y gmplayer(-bin) respectivamente. Además hay que tener en cuenta que, como muchos programas en linux, estos ficheros pueden estar en /etc (para que la configuración sea genérica para cualquier usuario) o en $HOME/.mplayer/ (configuración específica para cada usuario). El mplayer hace caso en este orden: 1º parámetros de ejecución. 2º Config de usuario. 3ª Config global.
    Respecto a las principales par'ametros que yo tengo puestos en el mplayer.conf, son los siguientes (no estoy seguro de si se son exáctamente igual los parámetros en el archivo gui.conf):

    Parámetros mplayer.conf
    vo=xv Usa la extensión XVideo de XFree86 4.x para activar la reproducción acelerada por hardware.
    double=yes Double buffering, recomendado para el tema de subtítulos.
    ao=alsa [7] Utiliza el controlador ALSA.
    monitoraspect=4:3 Especificamos el tipo de monitor.
    font="Bitstream Vera Sans" [8] Le especificamos que fuente utilizar.
    subfont-osd-scale=4 Establece el coeficiente de autoescala de los elementos del OSD.
    subfont-text-scale=3 Tamaño de las fuentes especificando la escala.

    Por supuesto hay muchos más, pero no tiene sentido extenderse. Lo suyo es ir mirando en el man de mplayer para cada cosa que queramos ir tocando ^_^

  • alias

  • Como yo utilizo el PC como HTPC y como PC de escritorio, suelo tirar de alias para reproducir las cosas dependiendo de donde/lo que me interese. Hay que tener en cuenta que es una gentoo de 64bits, así que uso mplayer / mplayer-bin / gmplayer / gmplayer-bin dependiendo de lo que me interese. Por simplificar pongo los ejemplos con el gmplayer.
    bpk@osaka:$ grep mplayer /home/bpk/.bash_aliases
    alias gmplayer_dolby_dts="gmplayer -ac hwdts,hwac3, -monitoraspect 16:9 -sws 9 -vf scale=1280:-2"
    alias gmplayer_dvd="gmplayer -ac hwdts,hwac3, -monitoraspect 16:9 -sws 9 -vf scale=1280:-2 dvd:// -dvd-device"
    alias gmplayer_entrelazado="gmplayer -ac hwdts,hwac3, -monitoraspect 16:9 -sws 9 -vf scale=1280:-2 -vf pp=hb/vb/dr/al/lb/tn:1:2:3"
    alias gmplayer_entrelazado2="gmplayer -ac hwdts,hwac3, -monitoraspect 16:9 -sws 9 -vf scale=1280:-2 -vf pp=fd"


  • kutre-scripts

  • Por último, tengo unos kutre-scripts que utilizo para que Staryu reproduzca las películas a golpe de ratón.
    Escenario: En F7 tengo levantadas unas KDE que sólo se ven desde el monitor del PC. En F8 tengo levantadas unas X con un eterm que se ven desde el proye y el monitor y que tienen la resolución nativa del proye.
    Para levantar las X de F8:
    bpk@osaka:$ cat X_720p
    #!/bin/sh
    X :1 -layout "Proye_720" & > /dev/null
    DISPLAY=:1 Eterm --geometry 210x53
    xhost +

    Para reproducir el archivo en F8. Tengo asociado el script como acción principal para determinados tipos de archivos y así que se reproduzcan los videos en F8.
    bpk@osaka:$ cat reproductor_proye
    #!/bin/sh
    export DISPLAY=:1
    chvt 8 & gmplayer-bin -ac hwdts,hwac3, -monitoraspect 16:9 -sws 9 -vf scale=1280:-2 "$1" && chvt 7
    export DISPLAY=:0

    Para reproducir carpetas que contienen un backup de DVD en su interior.
    bpk@osaka:$ cat dvd_proye
    #!/bin/sh
    kdialog --title "NOTA INFORMATIVA" --msgbox " Para que esto funcione, hay que 'clickar' sobre la carpeta SUPERIOR A VIDEO_TS. \
    De lo contrario no funcionará... Good luck ^_^"
    export DISPLAY=:1
    chvt 8 & xine -f dvd:///"$1" && chvt 7
    export DISPLAY=:0

    Faltan un montón de cosas: ajustar temas de offset, posición de subs, ventajas y desventajas de los distintos filtrados por software y hardware, etc. pero como cada persona necesita ajustar todos esos parámetros personalmente, no tiene sentido que me meta en ese fregado.

Tampoco me quiero meter en configuración de Xorg y demás zarandajas, pero si hace falta las subo a algún lado, que no son nada del otro mundo.

[1] listado de USE flags
[2] Desde el 7 de enero gentoo prefiere libdca a libdts: "Remove unused versions still depending only libdts because it's getting removed in favour of libdca." mplayer changelog
[3] Habitualmente no utilizo Ogle, pero lo tengo instalado para hacer pruebas alguna vez.
[4] No he encontrado info referente a esta USE, así que supongo que ya no tiene sentido tenerla. Lo que sí he encontrado es el paquete faad2.
-media-libs/faad2. AAC audio decoding library
[5] El paquete dir2ogg se encarga de realizar la conversión--> media-sound/dir2ogg: Converts Mp3, M4a, Wma, and Wav files to Ogg Vorbis format.
[6] El paquete /media-video/transcode tira de media-video/mjpegtools
[7] Con antiguas configuraciones de alsa + mplayer he tenido que especificarle el dispositivo. Por ejemplo:ao=alsa:device=spdif ó ao=alsa:device=hw=0.0
[8] En mi caso utilizo fuentes truetype font=/usr/share/fonts/truetype/ttf-bitstream-vera/Vera.ttf"

viernes, 9 de noviembre de 2007

Skype 2 32bits para Linux amd64

Skype 2 for Linux with video
(con soporte de Video!!!)

  1. Bajar el Skype 2.0 en Static.
  2. Descomprimir en /opt/skype.
  3. Instalar paquete ia32-libs.
  4. Ejecutar el comando:
    ldd /opt/skype/skype | awk '/not found/{print $1}'
    Buscar las librarias que salen después del comando en su versión para 32bits y copiarlos a /opt/skype/lib/. Una posibilidad es usar el repositorio debian y descomprimir los debs para poder copiar las librerias.
  5. Crear archivo ejecutable en /usr/local/bin/skype:
    #!/bin/sh
    SP=/opt/skype
    export LD_LIBRARY_PATH=$SP/lib/
    $SP/skype --resources=$SP/ $@
  6. Asegurar que todo pertenece a root y solo el tiene permisos de modificación:
    chown -R root:root /opt/skype /usr/local/bin/skype
    chmod -R go-w /opt/skype /usr/local/bin/skype

  7. Crear acceso directo en tu desktop a /usr/local/bin/skype con el icono de /opt/skype/icons.

miércoles, 7 de noviembre de 2007

Actualizacion de la bios de Asus A8NSLI-Deluxe

El otro dia recibi porfin mi super microprocesador nuevo AMDX2, socket 939 para que fuera compatible con mi placa.

Apaque el ordenador, saque el antiguo y puse el nuevo. Arranque cruzando los dedos y lo hizo, vi que no tenia soporte para powernow/cool'n'quiet, lo cual me extraño porque leyendome las especificaciones del micro nuevo vi que tenia esa funcionalidad... Haciendo un cat /proc/cpuinfo vi que no reconocia bien el micro, asi que me imagine, que me hacia falta una actualizacion de bios.

Me meto en asus.com, me bajo la ultima actualizacion y me encuentro en el dilema de siempre al actualizar una bios. No tengo disketera y me toca los webos tener que tostar un dvd por 500 kb, asi que investigo a ver si hay algo para linux para flashear bios. Logicamente en asus no tienen nada, solo para güindous...

Despues de buscar un poco encontre esto, se trata de una utilidad que se creo para flashear las bios del proyecto LinuxBIOS pero que supuestamente funciona tambien para BIOS propietarias, la forma de usar la aplicacion es muy sencilla y aqui tienes una lista de las placas oficialmente testeadas por si te animas ha usarla, pero antes te recomendaria que siguieras leyendo para que veas lo que me paso a mi con la placa A8N-SLI Deluxe.

Bueno el caso es que me lei el wiki del proyecto flashrom y no tiene mucho misterio, en la lista de placas testeadas oficialmente no estaba la mia, ni en las que tenian el visto bueno ni en las que cascaban, pero habia un modelo superior, A8N-SLI Premium ... Bueno pues me arme de valor, me agarre los machos y me dispuse a ello.

1) Lo instale manualmente :

$ svn co svn://linuxbios.org/repos/trunk/util/flashrom
$ cd flashrom
$ make
$ sudo make install


2) Hice un backup de la bios actual

$ flashrom -r backup.bin

Hasta aqui todo perfecto...

3) Flashee la nueva BIOS

$ flashrom -wv backup.bin

Error al comprobar la nueva bios.... ufff una gota de sudor frio recorre mi espalda... voy a volver a poner el backup que esto me da mala espina

$ flashrom -wv 1805.BIN

Error al comrpobar la nueva bios.... Bueno... a lo mejor no comprueba correctamente la bios pero esta bien programada.... Vuelvo a meter la nueva y pienso... vamos ha hacer un backup de la nueva y un diff a ver si son iguales el backup de la nueva de la nueva bajada de asus... si lo son imagino que esta bien programada.

flashrom -wv 1805.BIN
flashrom -wv backup-nueva.bin
diff 1805.BIN backup-nueva.bin


Los archivos son distintos.... Bueno tampoco tenia porque demostrar nada... A lo mejor el backup es distinto de una imagen nueva antes de flashearla... ¿Me arriesgo y reinicio?

... Logicamente, ya sin BIOS en mi placa, hice lo que suelo hacer siempre, cagarme en todo lo cagable y despues ponerme a llorar como una madalena.

Cuando reiniciaba me salia un mensaje de meter cd o diskete para arrancar, meti un dvd de gparted live que tengo para ver si podia de alguna forma flashearla again pero no arrancaba, buscaba un archivo que te viene en la descarga de la actualizacion de la BIOS AWDFLASH.EXE. Cree un DVD con estos dos archivos (AWDFLASH.EXE, 1805.BIN) desde otro ordenador y ya arranque flasheo la BIOS correctamente y todo parecia "funcionar" de nuevo... Ya con el soporte para AMDX2... pero.... aqui no acaba la historia...

El Ordenador desde donde estoy haciendo todo esto, es mi ordenador principal de casa que hace de firewall nateo y mil pijotadas mas, tiene 2 tarjetas de red, la principal que sale a internet, eth1 y la que va a la red local eth2... pos bien, no me reconocia eth1... Como usuario de Güindous (en mi jornada laboral) le eche la culpa al sistema... me mire de arriba abajo el kernel los modulos de red, meti incluso nuevos modulos... despues de estar dandole vueltas y cabreado me fui a dormir.

Al dia siguiente mas tranquilo pense en lo que habia hecho. He flasheado una BIOS, el sistema tiene que estar bien, no he tocado el sistema, asi que o se ha jodido la tarjeta de red, al poner el micro o la BIOS se lo ha cargado...

Empece a mirar dmesg mas tranquilamente, los lspci, los modulos cargados y el udev. ¡BINGO! Tenia una nueva tarjeta eth3, ¿que habia pasado? el flasheo habia cambiado la MAC de la tarjeta principal, en las reglas del udev tenia algo asi :

cat /etc/udev/rules.d/70-persistent-net.rules
# Firewire device 0011d800002ace6e)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:11:d8:00:00:2a:ce:6e", NAME="eth0"

# PCI device 0x11ab:0x4320 (skge)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:11:d8:d9:c6:d5", NAME="eth2"

# PCI device 0x10de:0x0057 (forcedeth)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:11:d8:e5:b6:b8", NAME="eth1"

# PCI device 0x10de:0x0057 (forcedeth)
SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="04:4b:80:80:80:30", NAME="eth3"


Si os fijais hay dos dispositivos practicamente identicos en el eth1 y eth3 la unica diferencia es la MAC.... Modifique el archivo dejandolo asi

nano -w /etc/udev/rules.d/70-persistent-net.rules
# Firewire device 0011d800002ace6e)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:11:d8:00:00:2a:ce:6e", NAME="eth0"

# PCI device 0x11ab:0x4320 (skge)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:11:d8:d9:c6:d5", NAME="eth2"

## # PCI device 0x10de:0x0057 (forcedeth)
## SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:11:d8:e5:b6:b8", NAME="eth1"

# PCI device 0x10de:0x0057 (forcedeth)
SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="04:4b:80:80:80:30", NAME="eth1"


Para mas INRI mi proveedor de internet solo me deja conectarme con una mac-address por lo que no me dejaba conectar, me acorde de mis andanzas con la funcion preup() en el /etc/conf.d/net he hice el cambio manual de mac justo antes de arrancar la red

preup()
{
ifconfig eth1 hw ether 00:11:d8:e5:b6:b8
}


Ya contento y al tener todo funcionando me dispuse a jugar al etqw :D

Bueno, a todo esto lo unico que cambie fue en el /etc/make.conf MAKEOPTS="-j3" :D

miércoles, 10 de octubre de 2007

Pando en gentoo@amd64

Queria probar como iba el tema de reproduccion HD en pando y me instale el cliente de desacargas de pando

emerge -va pandodl

resultado : masked by: missing keyword

echo "net-p2p/pandodl ~* *" >> /etc/portage/package.keywords

volvemos a instalar

emerge -va pandodl

Ahora instala, pero al ejecutar pandodl, no encuentra la libreria libexpat.so.1

Para solucionar esto tenemos que instalar el paquete app-emulation/emul-linux-x86-baselibs y hacer un link de la libreria de 32bits libexpat.so.0 al directorio de pando/libs

ln -s /usr/lib32/libexpat.so.0 /opt/pandodl/lib/libexpat.so.1

Bien, conseguido..., me bajo el primer archivo pando y resulta que las versiones 1.7 o posteriores de archivos .pando no funcionan en linux :(

En fin... me parece que tendremos que esperar.

Pando 1.7 packages can't be downloaded with Pando Linux!
Pando en Gentoo con AMD64
Inital Feedback

jueves, 4 de octubre de 2007

Problemas con hald en gentoo@amd64

Desde hace tiempo y con un maravilloso emerge -va world me dejo de funcionar el hal, el problema que me escupia en el /var/log/messages era el siguiente :

[E] hald_dbus.c:5086: dbus_bus_get(): Failed to connect to socket /usr/local/var/run/dbus/system_bus_socket: No such file or directory

...y al poco tiempo despues...

[E] hald_dbus.c:5086: dbus_bus_get(): Failed to connect to socket /usr/local/var/run/dbus/system_bus_socket: Connection refused

Buscando por internet encontre la forma de solucionar este "bug" que solo me ocurre para amd64 ya que en x86 parece correr dpm. Hacer un link desde /var/run/dbus/system_bus_socket a /usr/local/var/run/dbus/system_bus_socket

ln -s /usr/local/var/run/dbus/system_bus_socket /var/run/dbus/system_bus_socket

Con esto ya parece funcionar de nuevo.... pues no, me reconoce nuevos dispositivos pero no me los monta debido a problemas de permisos. Inicio una session como root y efectivamente, funciona dpm

Despues de dar permisos a distintos grupos a mi usuario sin ningun resultado, borre los mismos y volvi a buscar de nuevo en internet. Un chavalin con fedora explicaba como dar permisos a un usuario para el tema de auto-montaje con hal y era editando el archivo /etc/dbus-1/system.d/hal.conf

En este mismo hay un apartado para los permisos de root (id = 0)

  <!-- You can change this to a more suitable user, or make per-group -->
  <policy user="0">
    <allow send_interface="org.freedesktop.Hal.Device.SystemPowerManagement"/>
    <allow send_interface="org.freedesktop.Hal.Device.VideoAdapterPM"/>
    <allow send_interface="org.freedesktop.Hal.Device.LaptopPanel"/>
    <allow send_interface="org.freedesktop.Hal.Device.Volume"/>
    <allow send_interface="org.freedesktop.Hal.Device.Volume.Crypto"/>
  </policy>


Y tal como comenta el mismo se pueden dar permisos por grupo o por usuario, como yo solo tengo un usuario :P lo hice por usuario (si solo tienes un usuario o usas el primer usuario que creaste tu id sera 1000), añadiendo este codigo que sigue justo despues de lo anterior ya damos permisos a nuestro usuario 1000

  <!-- usuario X -->
  <policy user="1000">
    <allow send_interface="org.freedesktop.Hal.Device.SystemPowerManagement"/>
    <allow send_interface="org.freedesktop.Hal.Device.VideoAdapterPM"/>
    <allow send_interface="org.freedesktop.Hal.Device.LaptopPanel"/>
    <allow send_interface="org.freedesktop.Hal.Device.Volume"/>
    <allow send_interface="org.freedesktop.Hal.Device.Volume.Crypto"/>
  </policy>


Reiniciamos hald y ya se monta todo automaticamente :D

Salud3!

Seguidores