El sitio personal de David Colmenero (D_Skywalk)

Posts tagged with 'Software libre y Linux'

Unificando Hardware - Final Stage!

Retomamos un poco el hilo del XBMC Servidor, uno de los inconvenientes que he tenido al querer usar la misma máquina tanto de servidor como de reproductor ha sido que XBMC aunque no lo uses está ahí y gastando un 12% de CPU (tengo un skin muy bonito XD). Por tanto, nos consume luz y proceso que podríamos aprovechar o ahorrar.

Mi idea es apagar XBMC automaticamente sino se usa, pero poder iniciarlo de nuevo pulsando el mando a distancia.
¡Vamos al tajo! Smiley: Muy contento!

Lo primero que pensé fué aprovechar lirc y que mejor que montarlo rápidamente con un pequeño demonio hecho en python (thx pyLirc). Dicho y hecho aqui os dejo el demonio:

#!/usr/bin/python

# pyServiceHandleXBMC - Almost taken from pyLirc Doc
#                       and modded by D_Skywalk
# version 110210 (1.a)
import pylirc, time, os
blocking = 0;
#
if(pylirc.init("pylirc", "/usr/local/etc/lircrc.ServiceHandleXBMC", blocking)):

   print "pyService XBMC using Lirc is Waiting..."
   code = {"config" : ""}

   while(code["config"] != "quit"):

      if(not blocking):
         time.sleep(1)

      # Read next code
      s = pylirc.nextcode(1)

      while(s):

         # Print all the configs...
         for (code) in s:

            print "Command: %s, Repeat: %d" % (code["config"], code["repeat"])

            if(code["config"] == "run"):
               # Read last code
               s = pylirc.nextcode(1)
               pylirc.exit()
               os.execl("/usr/local/bin/runXBMCservice", "")

         # Read next code?
         if(not blocking):
            s = pylirc.nextcode(1)
         else:
            s = []

   # Clean up lirc
   pylirc.exit()

El código es básicamente el ejemplo del uso de lirc con python, añadiendo la llamada al pequeño script en bash que lo único que hace es ejecutar “service xbmc-live start”
¿por que no lo hice directamente de ahí? por que python me protestaba… mejor no preguntar XD

Para usarlo vais a necesitar un fichero lircrc, algo asi (adaptarlo a vuestro mando si no es el de XBOX)

begin
    prog = pylirc
    button = 5
    config = quit
end

begin
    prog = pylirc
    button = DISPLAY
    config = run
end

Podéis usar o añadir los botones que teneis en /etc/lirc/… tengo puesto que con 5 cierra el demonio para depurar y tal me venia bien, sino lo necesitais con borrar ese boton lo tenéis Smiley: contento!

Para arrancar el demonio al cerrar XBMC añadid la llamada a /usr/bin/runXBMC en:

...
    if [ -e /tmp/noRestartXBMC ] ; then
        screen -A -m -d -S xbmcREMOTE /usr/local/bin/pyServiceLircHandleXBMC #linea a añadir
        rm /tmp/noRestartXBMC
...

Uso screen para mandarlo a segundo plano y tener mejor control del proceso, pero sino queréis usarlo supongo que podreis usar también nohup y demás…
Finalmente y sin cerrar este fichero debéis quitar el argumento –standalone de la llamada a xbmc, para que os permita cerrar XBMC sin apagar todo el sistema.

Bien, no se si entre el público habrá algún día otro pijo-linuxero con el mismo problema, pero quizás lo más importante de este envio es la facilidad de crear un programa a tu medida con python en un par de ratos y sin dolores de cabeza, que lujo de lenguaje a ver si me lo empollo un poquito más Smiley: guay!

Un Saludo!


Unificando Mediacenter y Servidor (II)

Siguiendo con el tema de unificar XBOX Server Proyector, ayer ya terminé de montar la caja, la verdad que ha quedado muy bien aunque al final el Atom 330 necesita la ventilación (aunque en la foto de zotac se vea como pasiva), pero el ventilador es chiquitín y no hace nada de ruido. Por cierto, que al principio cuando monté la lectora slim apreté tanto los tornillos que no abría la bandeja, que bruta soy XDDD

Empecé instalando una debian testing, pero cuando vi la que tenía que liar para meter el XBMC, que no me detectaba bien los sensores de temperatura y que una vez instalada la nvidia me petaba al usar VDPAU, pues saltando de enlace a enlace me encontré:
NVIDIA ION optimized XBMC Live 9.11 Live CD / Live USB version

Vamos perfecto, viene con todo preconfigurado y funciona fantásticamente, viene incluso con sabnzbdplus para bajarte cositas de las news Smiley: Muy contento!

Lo único que he tenido que corregir para que se vea full 1080p 24hz en mi LG y proyector han sido las Xorg, ya que por defecto se autoconfiguraban a 1230x960p a 60hz. Luego pondré mi xorg.conf por si os ayuda y la configuración final del XBMC.

Haciendo pruebas, la película de Tierra la escena de los pájaros (50Mb/s) pone la CPU entre el 4-6% y Blade que también se las trae en la escena de la discoteca (40Mb/s), tampoco pasa del 6% de CPU. Asi que esta placa es más que recomendable, tengo dos gigas de ram puestos y aun no tengo funcionando el server de WOW, quizás una vez esté todo funcionando a la vez se resienta más… ya os contaré Smiley: guay!

Por el momento usamos como mando el Ipod Touch, con la aplicación de XBMC Remote que incluso tiene una opción para encender el ordenador con Wake On Lan, pero no me funciona. De todas formas, va a estar encendido todo el día XD

Update:
Usar el Control Remoto de la XBOX en Ubuntu
Cableado para soldar:
Configuración de lirc:

Plug it in to any available USB port.

I installed lirc (You need to enable the Universal Repo for this)

sudo apt-get install lirc

I selected none for both of the following options

edit /etc/lirc/lircd.conf

Mine looks like this

begin remote

    name  XboxDVDDongle
    bits           8

    begin codes

        SELECT         0x0b
        UP             0xa6
        DOWN           0xa7
        RIGHT          0xa8
        LEFT           0xa9
        INFO           0xc3
        9              0xc6
        8              0xc7
        7              0xc8
        6              0xc9
        5              0xca
        4              0xcb
        3              0xcc
        2              0xcd
        1              0xce
        0              0xcf
        DISPLAY        0xd5
        BACK           0xd8
        SKIP-          0xdd
        SKIP           0xdf
        STOP           0xe0
        REVERSE        0xe2
        FORWARD        0xe3
        TITLE          0xe5
        PAUSE          0xe6
        PLAY           0xea
        MENU           0xf7

    end codes
end remote

then do

modprobe -r lircatiusb xpad
modprobe lirc
atiusb

Last

edit /etc/lirc/hardware.conf

Change this setting in hardware.conf

Enable lircd

START_LIRCD=”true”

  • for some reason this is disabled.

Load XBMC and it should work.

Fuente:

Mi xorg.conf para 1080p
Requiere nvidia driver 190.x o mayor y el xorg de karmic para 24hz

...
Section "Monitor"
    ...

    HorizSync           15 - 68
    VertRefresh         23 - 75

    Option "ExactModeTimingsDVI" "TRUE"

    ModeLine "1920x1080@24p"    74.16  1920 2558 2602 2750 1080 1084 1089 1125  hsync  vsync
    ModeLine "1920x1080@25p"    74.25  1920 2448 2492 2640 1080 1084 1089 1125  hsync  vsync
    ModeLine "1920x1080@30p"    89.01  1920 2448 2492 2640 1080 1084 1089 1125  hsync  vsync
    ModeLine "1920x1080@50p"   148.50  1920 2448 2492 2640 1080 1084 1089 1125  hsync  vsync
    ModeLine "1920x1080@60p"   148.50  1920 2008 2052 2200 1080 1084 1089 1125  hsync  vsync
EndSection

Section "Screen"
    ...

    DefaultDepth    24

    Option "DynamicTwinView" "False"
    Option "NoLogo" "True"
    Option "FlatPanelProperties" "Scaling = Native"

    SubSection "Display"
        Depth       24
        Modes       "1920x1080@50p" "1920x1080@24p" "1920x1080@25p" "1920x1080@30p" "1920x1080@60p"
    EndSubSection

EndSection

Section "Extensions"
    Option         "Composite" "Disable"
EndSection

Finalmente en el XBMC activad:

  • Sistema -> Video -> Reproducción: “Ajustar Frecuencia Refresco Pantalla para emparejar vídeo”.
  • Sistema -> Sistema -> Video: “Sinc. de Refresco Vertical” en “Siempre Activo” (el video va mas suave).

Más información y ayudas (en inglés):

Un Saludo y como veis muy contentos con el aparatejo, os pondré fotos aluego Smiley: guiño


Unificando Hardware

Por fin tengo un ratito para contaros algo Smiley: contento!

Resulta que esta semana andamos mi novia y yo intentando unificar las máquinas que tenemos en casa ya que tenemos un servidor (juegos, torrent, smb, correo), la XBOX para la tele (xbmc con series, tvalacarta y poco más) y el core2duo con ubuntu y XMBC para el proyector 1080p. Claro está todo lleno de máquinas y creo que las podríamos unificar todas en algo más pequeño Smiley: contento!

Por eso estaba pensando en comprar una placa mini-itx, a ver que os parecen:
Zotac 9300 ITX WiF (Socket 775 NVIDIA 9300)
Zotac ION ITX D (Atom 330 Pasivo NVIDIA 9400)

Me gustaría que no hiciera ruido y creo que encontrar un procesador de Socket 775 que no necesite ventilación (y que esta quepa en una caja ITX, chungo (XD) así que estoy pensándome seriamente la placa Atom.

Para la caja la verdad busco una lo más pequeña posible pero con espacio para lectora slim, si conocéis algún modelo bonito avisad, yo por ahora solo he visto esta AOpen S110, aunque es un poco feilla (horrible según la jefa XD).

Bueno, estoy abierto a sugerencias, es más las agradecería bastante, por que tener tanto aparato es un coñazo y ya me pongo a sudar el día que nos toque mudarnos, buff XD

Un Saludo y espero que hayais tenido un buen comienzo de año :*


Ubuntu Karmic y World of Warcraft

Parece que los desarrolladores de Ubuntu cada vez nos lo ponen más difícil para poder tener nuestro chute habitual de Wow. Ubuntu Karmic, viene con un par de problemas que pueden producir algún que otro dolor de cabeza: el primero provocado por PulseAudio y el segundo por las Xorg O_O

¿La solución en el siguiente episodioo!

..
Que nuuuu, si yo lo cuento todo XD
Aunque advierto que no he sido muy ortodoxo, supongo que mi falta de dosis hizo que perdiera el norte y buscara la solución fácil, asi que cualquier sugerencia es bienvenida Smiley: Muy contento!

El problema de PulseAudio puede provocar cuelgues del juego o errores repentinos, lo mejor es que nos permita desabilitarlo cuando lo deseemos:
1o Editamos:

:~$ gksudo gedit /etc/pulse/client.conf
# This file is part of PulseAudio.
[..]
; autospawn = yes
[..]

Pues cambiad esa linea a

[..]
autospawn = no
[..]

Eso provoca también que PulseAudio no arranque al inicio de la sesión asi que debemos arrancarlo nosotros mismos con nuestras manitas, a mi no se me ha ocurrido nada mejor que añadirlo al inicio de mi sesión en gnome. Añadís un programa nuevo y en el campo “Orden” escribís:

/usr/bin/pulseaudio --start

Una vez hecho esto sólo queda arreglar el problema de las Xorg que es aun más grave, resulta que la repetición de tecla tiene un bug que hace que el personaje ande sin hacer la animación, supongo que es como si le diéramos a la tecla de andar a toda leche XD

Yo para arreglar esto he hecho un pequeño script que deshabilita la repetición de teclas y las vuelve a activar al salir del juego:

#!/bin/bash

function disable_keyrep
{
  xset r off
}

function enable_keyrep
{
  echo "Reenabling auto repeat"
  xset r on
}

/usr/bin/pulseaudio -k  #kill pulseaudio in game

disable_keyrep
env WINE_CURSOR="anything" WINEDEBUG="-all" wine "C:JuegosWorld of WarcraftWow.exe"
enable_keyrep

/usr/bin/pulseaudio --start #daemonize audio and respawn ![Smiley: Muy contento!][1]

Como podéis observar ya de camino apago pulseaudio al iniciar el wow y lo vuelvo a arrancar al salir del juego, sino editamos el fichero del cliente al matar el servicio de PulseAudio el solito vuelve a iniciarse :/

Espero que la próxima versión nos lo ponga un poco más fácil o mejor que vayan arreglándolo para esta versión Smiley: guiño

Un Saludo y la verdad que en todo lo demás me va fantástica, he adoptado al Empathy desde el primer día Smiley: guay!