dimanche 24 mai 2009

configurer lirc pour elisa

D'abord installer elisa:
sudo apt-get install elisa
dans jaunty, la version d'elisa est plus récente que dans interpid ibex. Résultat, les extensions fonctionnent.

La démarche à suivre est expliquée ici :

http://www.moovida.com/wiki/SetupLirc?highlight=(elisa\.conf)



Ensuite, il faut créer un fichier spécial pour elisa afin qu'il reconnaisse la télécommande.
Pour cela, il faut utiliser un script :
cd  /usr/lib/python2.5/site-packages/elisa/plugins/lirc
export DISPLAY=:0
python setup_lirc.py /etc/somename.map

Un écran se lance pour configurer les bouton de la télécommande avec les action propre à elisa.
Appuyer sur le bouton OK de la télécommante pour terminer la configuration une fois qu'on a tout les boutons souhaités.

Il faut éditer le fichier elisa pour y faire correspondre le fichier map créé:

Par exemple (en fonction de la version d'elisa):
sudo gedit ~/.elisa-0.5/elisa_0_5_6.conf

a l'endroit map =
mettre le lien vers le fichier map crée.
Voici mon fichier elisa.X.X.conf complet :
[general]
version = '0.5.28'
install_date = '2009-05-21'
frontends = ['frontend1']
disabled_plugins = []
# database connection string. see https://storm.canonical.com/Manual
database = 'sqlite:/home/jeb/.elisa-0.5/elisa.db'
# Set to 1 for advanced, unsupported (possibly unstable, you've been warned!)
# features.
power_user = '0'
user_id = None
country_code = 'be'

[frontend1]
frontend = 'pigment.pigment_frontend:PigmentFrontend'
theme = 'elisa.plugins.poblesec'
controller_path = '/poblesec'
touchscreen = '0'
use_gtk = '0'
window_width = '0'
headless = '0'
start_fullscreen = '1'

[directories]
video = [u'/home/jeb/Vid\xe9os']
pictures = [u'/home/jeb/Images']
music = [u'/home/jeb/Musique']
[plugin_registry]
# Whether to silently install all new recommended plugins available. Ignored if
# update_plugin_cache is False.
auto_install_new_recommended_plugins = False
# Whether to silently install all available plugin updates. Ignored if
# update_plugin_cache is False.
auto_update_plugins = False
# The plugin repository to query for new plugins and plugin updates.
repository = 'http://elisa-plugins.fluendo.com/plugin_list'
# Whether to periodically query the plugin repository to update the plugin
# cache. If False, automatic plugin updates and downloading of new recommended
# plugins will be deactivated.
update_plugin_cache = True
[shoutcast.shoutcast_resource:ShoutcastResource]
genres = ['Alternative', 'Hardcore', 'Industrial', 'Punk', 'Blues', 'Folk', 'Classical', 'Country', 'Electronic', 'Ambient', 'House', 'Trance', 'Techno', 'Hiphop', 'Jazz', 'Latin', 'Pop', 'Metal', 'Rnb', 'Classic', 'Contemporary', 'Funk', 'Gospel', 'World', 'Reggae', 'Instrumental']
decades = ['50s', '60s', '70s', '80s', '90s']
[search.search_metaresource_provider:SearchMetaresourceProvider]
# The default searcher is the searcher that is always asked first for the
# search result and fills the reference model with data
default_searcher = 'DBSearcher'
[gnome.gnome_screensaver_service:GnomeScreensaverService]
# Block the Screensaver. Available modes are: * 1 : block on playing only *
# 2 : block from the start to the end, use this, if you are only using remotes,
# on which the screensaver is not reacting * else: do not block!
blocking_mode = 1
[lirc.lirc_input:LircInput]
# the lirc deamon device
device = '/dev/lircd'
# Path to the file containing the lircmapping
input_map = '/etc/remotename.map'
[database.media_scanner:MediaScanner]
# the delay (in seconds) between processing two files
delay = 0.10000000000000001
# the delay (in hours) between two automatic scans
scan_every = 24
[poblesec.main:PoblesecController]
# Whether or not to allow the user to remove/hide videos/tracks/photos
enable_remove = '0'
# what to display in the top-right corner of the viewport. Two modes available:
# "desktop" and "embedded". In "desktop" we show the minimize/maxmimize/close
# buttons and in "embedded" we show only an home button
viewport_buttons_mode = 'desktop'
[poblesec.poblesec_browser_controller:PoblesecBrowserController]
home = '/poblesec/sections_menu'
[poblesec.player_video:VideoPlayerController]
# GStreamer visualization element to use for audio animations display
visualization = 'libvisual_jess'
# give the name of the gstreamer audio sinkelisa should use. If not set
# autoaudiosinkwill be used.
audio_sink = ''
# Factor multiplied by video height to obtain subtitle font size
subtitle_font_size_factor = '0.0612'
# Time in seconds after which the OSD should auto-hide. Set to 0 to deactivate
# that feature
osd_timeout = '3'
# Font name used for subtitles
subtitle_font = 'Liberation Sans'
[dvd.dvdcontroller:DvdPlayerController]
# GStreamer visualization element to use for audio animations display
visualization = 'libvisual_jess'
# give the name of the gstreamer audio sinkelisa should use. If not set
# autoaudiosinkwill be used.
audio_sink = ''
# Factor multiplied by video height to obtain subtitle font size
subtitle_font_size_factor = '0.0612'
# Time in seconds after which the OSD should auto-hide. Set to 0 to deactivate
# that feature
osd_timeout = '3'
# Font name used for subtitles
subtitle_font = 'Liberation Sans'
[poblesec.player_audio:AudioPlayerController]
# GStreamer visualization element to use for audio animations display
visualization = 'libvisual_jess'
# give the name of the gstreamer audio sinkelisa should use. If not set
# autoaudiosinkwill be used.
audio_sink = ''
# Factor multiplied by video height to obtain subtitle font size
subtitle_font_size_factor = '0.0612'
# Time in seconds after which the OSD should auto-hide. Set to 0 to deactivate
# that feature
osd_timeout = '3'
# Font name used for subtitles
subtitle_font = 'Liberation Sans'
[youtube.controller:YoutubeListSwitcherController]
view_mode = 'preview_list'
[ted.decorator:TedListSwitcherController]
view_mode = 'preview_list'
[apple_trailers.controller:AppleTrailersListSwitcherController]
view_mode = 'preview_list'


Voilà maintenant elisa reconnait la télécommande !!

configurer lirc

Il faut maintenant créer un fichier qui reconnait les boutons de la télécommande.
Pour cela, on lance le module lirc :

sudo lircd -H iguanaIR

On lance irrecord qui crée un fichier remote.conf
sudo irrecord remote.conf -H iguanaIR


Avec la télécommande, il faut suivre les instructions qui s'affichent à l'écran.

Une fois le fichier remote.conf créé, il faut enregister le fichier dans

sudo cp remote.conf /etc/lirc/lircd.conf



Remarque :

Le wiki de mandriva est bien fait :
http://wiki.mandriva.com/fr/Lirc

Installer lirc

L'installation de lirc via synaptic ne fournit pas le driver iguanaworks.

J'ai donc d'abord installé lirc via synaptic :
Ensuite testé si le driver était présent.

lircd -H ?
Mais malheureusement, le driver iguanaIR n'était pas dans la liste.

J'ai trouvé la solution ici :

https://bugs.launchpad.net/ubuntu/+source/lirc/+bug/153457

Il faut donc compiler lirc à partir des sources

apt-get source lirc && apt-get build-dep lirc
dpkg -i lirc_0.8.3*.deb

et tester à nouveau si le driver s'y trouve :

lircd -H ?

Une fois que iguanair est dans la liste, c'est gagné !

Il reste encore à modifier le fichier /etc/lirc/hardware.conf
sudo gedit /etc/lirc/hardware.conf

ajouter les options suivantes :
DRIVER="iguanaIR"
DEVICE="/dev/iguanaIR/0"
et mettre toutes les autres en commentaires :
Voici le fichier au complet :

# /etc/lirc/hardware.conf
#
#Chosen Remote Control
REMOTE="Iguanaworks USB IR Transceiver"
DRIVER="iguanaIR"
DEVICE="/dev/iguanaIR/0"
#REMOTE_MODULES=""
#REMOTE_DRIVER=""
#REMOTE_DEVICE=""
#REMOTE_LIRCD_CONF=""
#REMOTE_LIRCD_ARGS=""

#Chosen IR Transmitter
TRANSMITTER="None"
#TRANSMITTER_MODULES=""
#TRANSMITTER_DRIVER=""
#TRANSMITTER_DEVICE=""
#TRANSMITTER_LIRCD_CONF=""
#TRANSMITTER_LIRCD_ARGS=""

#Enable lircd
START_LIRCD="true"

#Don't start lircmd even if there seems to be a good config file
#START_LIRCMD="false"

#Try to load appropriate kernel modules
LOAD_MODULES="true"

# Default configuration files for your hardware if any
LIRCMD_CONF=""

#Forcing noninteractive reconfiguration
#If lirc is to be reconfigured by an external application
#that doesn't have a debconf frontend available, the noninteractive
#frontend can be invoked and set to parse REMOTE and TRANSMITTER
#It will then populate all other variables without any user input
#If you would like to configure lirc via standard methods, be sure
#to leave this set to "false"
FORCE_NONINTERACTIVE_RECONFIGURATION="false"
START_LIRCMD=""




Pour lancer lirc, la commande est :


sudo lircd -H iguanaIR


Remarque :
Quelques explications sur lirc se trouvent sur la page de iguanaworks :

http://iguanaworks.net/projects/IguanaIR/wiki/lirc

La commande mode 2 ne fonctionne pas avec le système iguanaworks.

Sur le wiki de ubuntu à propos de lirc (http://doc.ubuntu-fr.org/lirc) j'ai trouvé :
  • ajouter les droits au fichier lircd mais je ne sais pas si c'est nécessaire.
sudo chmod 666 /dev/lircd

  • D'autres moyens de lancer lircd:

sudo /etc/init.d/lirc start
ou
sudo modprobe lirc_serial

installer le iguanaworks

1ère étape,

Aller sur la site de Iguanaworks qui explique la démarche à suivre.

http://iguanaworks.net/projects/IguanaIR/wiki/GettingStarted


Installer le driver en faisant :

dpkg -i iguanaIR-0.24-1.i386.deb

Une fois le driver installé :
sudo /etc/init.d/iguanaIR start

Pour tester :

igclient --receiver-on --sleep 100



Des données défilent. Lorsqu'on appuie sur les touches d'une télécommande, l'affichage est modifié.
C'est OK pour le driver du iguanaworks.

configuration graphique media-center

Pour le media-center, on trouve sur la carte graphique l'inscription : ATI R92LF.
Ce qui correspond à une ATI 9200 SE. D'après la soudure en face de 128, la carte dispose de 128 MB.

L'affichage pose de gros problème car quand on ouvre firefox ou glxgears, par exemple, le PC freeze et il n'y a pas d'autre solution que de le redémarrer. Sans modification de la configuration, le pc est inutilisable.


Il faut paramétrer le fichier xorg.conf
pour reconfigurer, on utilise normalement : sudo dpkg-reconfigure xserver-xorg
Seulement, ca ne fonctionne pas, il ne propose que la configuration du clavier.

J'ai finalement trouvé la solution ici :
http://forum.ubuntu-fr.org/viewtopic.php?id=3803


Il existe un tas d'options.
Mettre toutes les options ne fonctionne pas.


commencer par sauvegarder la config existante :
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak

Modifier la config
sudo gedit /etc/X11/xorg.conf

Driver          "radeon"
Option "AGPMode" "4"
Option "EnablePageFlip" "on"
Option "AGPSize" "64" # default: 8


Il existe surement d'autres options qui permettent d'améliorer l'efficacité mais au moins avec celles-ci , ca fonctionne.
Je ne sais pas ce que fait EnablePageFlip mais sans ce la ca plante.
AGPsize et AGP mode ne sont peut-être pas optimum mais fonctionnent.

driver


Avec ubuntu jaunty, le driver à utiliser est radeon.