Archive

Archive for August, 2009

Gentoo sur Airis N1105C

August 7th, 2009

Ça fait quelques mois que j’ai installé gentoo sur mon airis N1105C. Ça m’a pris pas mal de temps, j’ai eu quelques petits soucis, qui m’ont demandés des recherches, j’ai pas mal bidouillé les option de compilation du noyau pour enlever des trucs inutiles (il doit en rester pas mal encore, je serai aux anges si quelqu’un me poste un .config encore plus simplifié en commentaire :) ). Bref, ça m’a pris quelques heures, pour installer le matériel, avoir les codecs nécessaires, configurer xorg, le clavier, le touchpad, le son…
Au fur et à mesure de l’installation, j’ai pris en vrac quelques notes dans un bête fichier texte, histoire de me rappeler de ce que j’avais fait. C’était assez succinct, donc j’espère que des erreurs ne vont pas s’introduire dans l’article.
Le but de cet article n’est pas de vous apprendre à installer gentoo, mais de vous fournir les astuces nécessaires pour faire fonctionner le portable airis N1105C sous gentoo. Il est donc à lire en complément du manuel d’installation de gentoo.

Tout d’abord, voici mon fichier /etc/make.conf (utilisé pour définir les préférences de compilations) :

# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /etc/make.conf.example for a more detailed example.
CFLAGS="-O2 -pipe -march=nocona -mmmx -msse -msse2 -msse3 "
CXXFLAGS="${CFLAGS}"

# 2 compilations en parallèles, on aurait pu mettre 3
MAKEOPTS="-j3"

GENTOO_MIRRORS="ftp://ftp.free.fr/mirrors/ftp.gentoo.org ftp://gentoo.imj.fr/pub/gentoo http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"

# Multimedia codecs
USE="dvd jpeg2k lame dvd dvdr mplayer wavpack quicktime real mpeg matroska a52 aac mp3 ogg vorbis theora xpm wmf win32codecs x264 flac divx encode ffmpeg gstreamer xvid gif jpeg"
# Others
USE="${USE} -arts ssl threads crypt ctype pcre X gtk hal dbus alsa apache2 bzip2 cairo css cups firefox ftp jabber javascript mime mysql ncurses opengl pdf php png sambda smp spell tiff unicode usb vim-syntax wifi xml xulrunner acpi apm lm_sensors svg postscript mad mp2"
#Environment and programs
USE="${USE} nautilus gnome -kde -qt3 -qt4 rhythmbox"
# Optimizations
USE="${USE} mmx sse sse2"

#synaptics for the touchpad
#keyboard mouse et synaptics ne doivent plus être nécessaires, mais comme je n'en suis pas sur, je les ai laissé
INPUT_DEVICES="evdev keyboard mouse synaptics"
#used by xorg for instance
VIDEO_CARDS="nvidia"

ALSA_CARDS="hda-intel"

LINGUAS="fr"
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.
CHOST="x86_64-pc-linux-gnu"

Avec ce make.conf, normalement il n’y aura pas de problèmes de codecs (à part les mp4 que je n’ai toujours pas réussi à lire avec totem, mais qui fonctionnent avec mplayer).

Configuration du kernel et des périphériques
Les périphériques le l’airis N1105C sont directement reconnus dans le noyau, ce qui simplifie grandement les choses. Toutefois, avec la configuration par défaut, tout n’est pas activé. Dans cette section je vais poster les options à choisir en rapport avec le nom de la carte, pour que ça puisse être utile au plus grand nombre. Cependant, si vous ne souhaitez pas vous embêter à les cocher manuellement, je vous fournirait le .config correspondant à toutes les modifications (et quelques trucs inutiles pour ce portable d’enlevés).
Audio
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)
Pour avoir le support de cette carte, il faut utiliser les options suivantes dans le noyau, section device drivers
Sound card support
Advanced Linux Sound Architecture
( just for midi support, can be disabled)
Sequencer support
OSS Mixer Api
OSS PCM (digital audio) API
[*] Support for old ALSA API
[*] PCI sound devices -->
Intel HDA

Là le son du speaker fonctionnera. Si vous désirez que le speaker se coupe lors de l’instertion de la prise jack des écouteurs, exécutez la commande :
# echo "options snd-hda-intel model=toshiba" >> /etc/modprobe.d/alsa
Pour que les niveaux sonores soient restaurés au redémarrage, il faut ajouter alsasound au démarrage :
rc-update add alsasound default
Et voilà pour le son :)

Wifi
02:00.0 Ethernet controller: Atheros Communications Inc. AR242x 802.11abg Wireless PCI Express Adapter (rev 01)
Configuration du kernel pour le wifi. Il faut utiliser :

[*] Wirless lan (IEEE 802.11)
Atheros 5xxx wireless cards support
[ ] Atheros 5xxx debugging
Atheros 802.11n wireless cards support

Pour la connection, j’ai choisis d’utiliser wicd, qui a l’avantage d’être facile à paramétrer grâce à son interface graphique wicd-client, et qui permet d’être lancé comme deamon au démarrage.
emerge -av wicd
/etc/init.d/wicd start
rc-update add wicd boot
rc-update del net.eth0

Vérifez que vous avez, quelque part dans le fichier /etc/init.d/wicd:
depend() {
need dbus
need hald
}

Le réseau pourra être configuré à partir de votre environnement graphique plus tard en lançant la commande wicd-client

Lecteur de cartes SD

0b:09.2 Mass storage controller: Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)
Voire sur le wiki gentoo (en)

Un .config complet (configuration du kernel)
Voilà, comme promis je vous fournis mon .config qui vous permettra de configurer le kernel.
Télécharger le .config
Placez le ensuite dans le répertoire /usr/src/linux, et exécutez
make && make modules_install
Récupérez ensuite le noyau dans arch/architecture/bzImage pour le mettre dans /boot, et ajoutez l’entrée grub.

Xorg
Tout d’abord, il vous faut compiler X :
emerge xorg-server xorg-x11(pour que ça fonctionne correctement, il vous faudra utiliser mon make.conf).
Mon fichier /etc/X11/xorg.conf

Section "Module"
    Load "glx" #enable 3D acceleration for nvidia
EndSection
Section "Monitor"
        Identifier      "Configured Monitor"
EndSection

Section "Screen"
        Identifier      "Default Screen"
        DefaultDepth 24
        Monitor         "Configured Monitor"
        Device          "Configured Video Device"
EndSection

Section "Device"
	Identifier      "Configured Video Device"
    Driver  "nvidia"
    Option  "NoLogo"        "True"
    #Option "PixmapCacheSize" "1000000"
# # Pour le scrolling firefox
    #Option "GlyphCache" "1"
    #Option "InitialPixmapPlacement" "2"
EndSection

Section "InputDevice"
   Driver         "synaptics"
   Identifier "TouchPad"
   Option         "SendCoreEvents"
   Option         "Protocol" "auto-dev"
   #Option         "SHMConfig" "on"
EndSection

Section "ServerFlags"
        Option  "DontZap"       "False"
	Option  "blank time"  "5"  # L'�cran devient noir apres 5 minutes. (Mais il n'est pas vraiment arrete.)
	#Option  "standby time"  "10"  # Met l'ecran en pause apres 10 minutes (utilise DPMS).
	#Option  "suspend time"  "20"  # Suspend l'ecran apres 20 minutes.
	#Option  "off time"  "30"  # Extinction complete apres 30 minutes.
EndSection

Installation de gnome (minimal)
emerge gnome-light dbus hald gamin
Créez ensuite un fichier ~/xinitrc contenant
#!/bin/sh
exec dbus-launch --exit-with-session /usr/bin/gnome-session

Désormais, en tapant startx, c’est gnome qui démarrera.

Configuration du touchpad
Éditez le fichier /etc/hal/fdi/policy/11-x11-synaptics.fdi, et mettez-y ceci

Cet article a toujours besoin d’un peu d’améliorations, tout n’y est pas expliqué. Enfin ça m’a quand même permis de mettre mes notes au clair, publiques, et de fournir mon .config du kernel.
Si vous avez le même ordinateur, et que vous avez réduit plus le kernel, ça m’intéresse. Vous pouvez également me demander des précisions en commentaire.

Gentoo

Compiler Qt 4.6 (en développement)

August 7th, 2009

Si comme moi, vous êtes curieux de voire ce que Qt 4.6 va donner, et adapter votre programme au fur et à mesure à cette nouvelle version, il est bien sur possible de l’installer, en même temps que qt 4.5.

Voici une méthode pour compiler.

Prérequis

Vous devez avoir git d’installé. Pour ce faire, installez le paquet git-core (sous Ubuntu). Vous devez bien sur avoir l’essentiel de compilation habituel (g++, make…), qui sont contenus dans le paquet build-essential

Compilation

Tout d’abord, récupérons la dernière version des sources :

git clone git://gitorious.org/qt/qt.git qt-master

Une fois les sources récupérées, rendons nous dans le répertoire les contenant :

cd qt-master

Puis compilons les sources :
git checkout --track -b master-stable origin/master-stable
./configure -prefix /opt/master-stable -developer-build -opensource -fast -no-accessibility -no-nis -no-separate-debug-info -nomake examples -nomake demos
make -j2
sudo make install

Désormais, Qt 4.6 est installé dans /opt/master-stable

Pour pouvoir l’utiliser, il faut utiliser le qmake de ce répertoire, ce qui n’est pas très pratique. Je vous propose donc de réaliser un alias dans votre ~/.bashrc

vim ~/.bashrc

Et ajoutez-y la ligne

alias qmake6='/opt/master-stable/bin/qmake'

Récupitulatif

git clone git://gitorious.org/qt/qt.git qt-master
cd qt-master
git checkout --track -b master-stable origin/master-stable 
./configure -prefix /opt/master-stable -developer-build -opensource -fast -no-accessibility -no-nis -no-separate-debug-info -nomake examples -nomake demos -no-phonon
make -j3
make install

Programmation

Pourquoi jabber et non msn ?

August 7th, 2009

Tout d’abord, je suppose qu’une bonne partie d’entre vous n’a jamais entendu parler de jabber. Il s’agit d’un protocole de messagerie instantanée (comme msn). Alors, si il remplit la même fonction que msn, pourquoi l’utiliser ?

Tout d’abord, interessons nous aux problèmes de msn, puis après, je vais tenter de vous montrer en quoi jabber comble ces problèmes. Il ne sera sans doute pas facile de convaincre des gens ayant toujours utilisé msn qu’il vaut mieux utiliser jabber, mais mieux vaut essayer que de ne rien faire.

MSN

MSN est un protocole qui vous permet de communiquer en direct par le biais de votre compte (hotmail.fr, live.fr…) avec vos contact. Cette communication est possible via le logiciel Windows Live Messenger. Grâce à ça, vous pouvez discuter grâce à votre clavier, votre micro, la webcam, envoyer laborieusement des fichiers, ainsi que plein d’autres fonctions inutiles (gros cœurs kikoolol, wizz)… En bref, msn est devenu la référence de messagerie instantanée en France, et dans de nombreux pays.

Alors, pourquoi prendre la peine d’écrire un article contre MSN ?  Et bien, figurez vous que MSN présente de nombreux problèmes, souvent inconnus du grand public !

  1. La connection avec vos contact passe par les serveurs de microsoft. Ça peut vous paraître annodin, mais comment faire confiance à une entreprise telle que Microsoft, dont le principal but est  de se faire de l’argent sur votre dos (savez-vous qu’il y a un mouchard sous Windows, que vos préférences de WMP sont retransmises à microsoft ?). Les messages passent sur leur serveur, et ils peuvent en faire tout ce qu’ils veulent, comme par exemple récupérer les adresses mails que vous êtes suceptibles de taper pour les vendre à des entreprises.
  2. C’est un protocole fermé. Déjà je parle de protocole, vous ne savez sans doute pas ce que c’est. Il s’agit en fait de l’ensemble des règles permettant à un message de passer d’un contact à l’autre et d’être compris par le logiciel, et affiché. Le protocole de MSN étant fermé volontairement par microsoft, on ne peut savoir comment il fonctionne sans faire de la rétro-ingénierie (en gros deviner comment ça fonctionne). Ceci rend l’implémentation de clients msn (comme WLM) difficile. MSN est donc particulièrement adapté pour Windows, mais beaucoup moins pour les autres systèmes. De plus, on est totalement à la merci de Microsoft. En effet, comment faire si celui-ci décide de modifier son protocole pour que les programmes libres ne puissent plus l’utiliser ?
    De plus, les logiciels alternatifs ne sont pas considérés comme légaux. On ne peut pas :

    [...]
    - utiliser un logiciel ou un service tiers non autorisé à accéder au réseau de messagerie instantané de Microsoft (appelé service Service .NET Messenger)
    [...]
    Vous trouverez la liste des logiciels tiers autorisés sur le site Web http://messenger.msn.com/Help/Authorized.aspx .

  3. MSN est censuré ! Vous l’avez peut-être déjà remarqué en essayant de transmettre un lien à un de vos contacts, et celui-ci…. ne le reçoit jamais ! Il est probable que vous n’ayez jamais lu le contrat de service Microsoft, mais si c’est le cas, vous-y aurez constaté :

    Nous pouvons utiliser des technologies ou tout autre moyen pour protéger le service, nos clients ou vous empêcher de violer ce contrat. Ces moyens incluent notamment, par exemple, des techniques de filtrage pour arrêter le courrier indésirable ou pour augmenter la sécurité ” (rubrique confidentialité).”

    Si vous n’êtes toujours pas convaincu de la censure, regardez ceci (tiré d’ici).

  4. Utilisation des informations personnelles
  5. 10. Confidentialité.
    Afin de faire fonctionner et d’assurer ce service, nous recueillons certaines informations vous concernant. Nous utilisons et protégeons ces informations comme le décrit la Déclaration de confidentialité (http://g.msn.fr/2privacy/frfr). En particulier, nous pouvons accéder à ou divulguer des informations vous concernant, notamment le contenu de vos communications, afin de : (a) nous conformer à la loi ou répondre à des demandes ou des procédures légales ; (b) protéger les droits ou la propriété de Microsoft ou de nos clients, y compris l’application de nos contrats ou règlements régissant votre utilisation du service ; ou (c) considérer en toute bonne foi que cet accès ou cette divulgation est nécessaire pour protéger les droits ou ou la sécurité personnelle de Microsoft, des employés, des clients ou du public.

  6. Avec MSN, on ne peut parler qu’à des utilisateurs de MSN. Ce n’est pas le cas de tout le monde (surtout à l’étranger d’ailleurs), où ICQ, yahoo et autres sont plus utilisés.

JABBER

Maintenant que les principaux problèmes de msn ont étés évoqués, parlons un peu de Jabber. Jabber est un protocole de messagerie instantanée libre. Il permet donc, comme msn, ICQ, yahoo (…) de communiquer via un logiciel de messagerie instantanée. Pour les utilisateurs de GNU/Linux et Windows, gajim est très bien, adium pour mac os. Un client plus récent et très prometteur est emphaty, qui permet également les conversations audio et vidéo (dont GoogleTalk).

Quel sont les avantages de Jabber ?

  1. C’est un protocole libre : il est parfaitement décris et connu, et peut donc être implémenté facilement par des programmateurs.
  2. On peut faire tout ce qu’il est possible de faire avec MSN (à l’exception des gadgets kikkolols qui font tout ramer) : pseudo personnalisé, transfert de fichiers (plus rapide qu’avec msn), discuter, utiliser la webcam et (récemment) des conversations audio.
  3. C’est décentralisé. Contrairement à MSN dont toutes les communications passent par les serveurs de microsoft, les communications de jabber ne passe pas par des serveurs centralisés. Il y a bien sur des serveurs, et même une multitude (c’est pour ça qu’on dit que c’est décentralisé). Vous êtes donc libre de choisir où votre compte jabber sera hébergé (jabber.fr, jabber.ubuntu-fr.org…). Celà vous donne une garantie supplémentaire quand à la non surveillance de vos communications. Il est techniquement possible de lire vos conversations, mais si vous pouvez choisir librement un serveur de confiance. Vous pouvez également monter le votre (assez simplement), ce qui permet d’être à 100% sur de l’utilisation de vos conversations.
  4. Aucune censure
  5. Vous pouvez quand même discuter avec des contacts msn, via des passerelles (mais quel intêret d’utiliser un client jabber pour parler via msn ?)
  6. Vous pouvez crypter vos échanges.

Voilà pour cette brève présentation de Jabber. Alors pourquoi ne pas essayer ? Oui, je sais, tous vos contacts utilisent MSN, donc ça serait pas “in” de ne pas utiliser MSN. Personellement, j’envisage sérieusement de fermer mon compte MSN, et de n’utiliser que Jabber (et tant pis pour ceux qui ne voient pas l’intérêt de changer d’avis). Ça risque de me faire perdre quelques contacts, mais je m’en remettrai aisément.

Pour plus d’informations sur jabber, voire le site de jabberfr.

Logiciels libres