El sitio personal de David Colmenero (D_Skywalk)

Posts tagged with 'ubuntu'

Unificando Hardware y Consolizando!

Un colega por gtalk me dijo que por que no ponía emuladores y la verdad no se como no caí yo, estoy haciéndome viejo XD

Dicho y hecho esta semana he empezado a trastear con emuladores, la verdad que jugar a la Super Nintendo o la Megadrive a 1080p es un poco sacrílego, pero lo estoy apañando bien, la única pega es el control. La verdad no quiero comprar más mandos, entre Wii, 360, y PS2 tengo lleno el cajón, por tanto el objetivo es aprovechar lo que tengo y si puede ser que se pueda jugar tirao en el sofá, mejor Smiley: HA HA HA ...

Una opción es usar los mandos de Wii con un USB BT que tengo, que ya probé en su día en Ubuntu y sin problema, pero me faltan botones y añadir el classic lo complica demasiado. El mando de PS2 al ser con cable ni me lo planteo. Y por último tengo los inalámbricos de 360 que con comprar el Xbox 360 – Wireless Gaming Receiver (link eliminado?) por menos de 20? a algún chino de ebay tenemos la mejor solución. Asi aprovecho mis dos mandos y que mandos señores Smiley: Muy contento!

Imagen del articulo

Tenemos dos opciones para poder jugar en linux con los mandos de 360, una usar una modificación del driver del kernel xpad, que añade soporte experimental: Tienen algún fallo menor, como que no se apagan solos o que la luz del mando se queda parpadeando, pero funcionan botones, guitarras, volantes, etc…

Más información sobre la opción kernel:

La otra opción es usar un driver en espacio de usuario (Userspace) y por tanto no requiere ser compilado cada vez que actualicemos el kernel. Yo he optado por este, que además es mucho más estable y posee más funciones que el del kernel.

Mas información sobre la opción userspace:

Un Saludo y podré algún vídeo cuando lo tenga todo funcionando ^_^


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


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!