Howto Packard Bell EasyNote MB86
Ce HowTo a pour but de documenter l'installation de GNU/Linux sur le portable PackardBell Easynote MB86. Ce pc peux être utilisé relativement facilement sous GNU/Linux. Comme j'utilise Gentoo, je donnerai des conseils se rapportant exclusivement à cette distribution. Il est possible que je commette quelques erreurs. Je vous remercie par avance de me les signaler. Enfin, si vous avez réussi à faire fonctionner quelque chose dont je ne suis pas venu à bout, faites le moi savoir. Je complèterai le howto et cela profitera ainsi à tout le monde.
Organisation du document
Dans la suite de ce document, vous trouverez des indications concernant la configuration du noyau. La dernière version disponible est la version 2.6.34.1. Je vous conseille donc de l'utiliser. Pour la liste des nouveautés, voyez l'annonce de LinuxFR.
Si vous ne savez pas comment compiler un noyau, vous pouvez lire l'article disponible sur le site Léa. Si vous êtes perdus dans la configuration du noyau, vous pouvez utiliser mon fichier de configuration disponible dans la section téléchargement. Lorsque je décris les options de configuration du noyau, * signifie que l'option doit être compilée dans le noyau, M indique que l'option peut être compilée en module ou dans le noyau (mais de préférence en module).
Disque dur (SATA)
Le disque du présent dans ce portable est un disque SATA fonctionnant grâce au pilote AHCI. Il est donc nécessaire de sélectionner les options suivantes dans la configuration du noyau:
* Device drivers * SCSI device support --> SCSI disk support (*) * Serial ATA (prod) and Parallel ATA (experimental) drivers (*) * --> AHCI SATA support (*)
Lecteur/graveur CD/DVD
Le graveur fonctionne parfaitement. Les options suivantes sont nécessaires dans la configuration du noyau:
* Device Drivers * SCSI device support --> SCSI CDROM support (M) * Serial ATA (prod) and Parallel ATA (experimental) drivers (*) * --> ATA SFF support (*) * --> Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support (M)
Touchpad
Le Touchpad fonctionne sans problème. Il suffit de sélectionner les options suivantes dans la configuration du noyau:
* Device drivers --> Input device support * Provide legacy /dev/psaux device (*) * Event interface (M) * Mice (*) --> PS/2 Mouse (M)
Dans Gentoo, veillez à sélectionner les options suivante lors de l'installation d'Xorg dans le fichier /etc/make.conf:
INPUT_DEVICES="mouse evdev ..."
Modifiez ensuite votre fichier /etc/X11/xorg.conf comme ceci:
Section "InputDevice" Driver "mouse" Identifier "TouchPad" Option "Device" "/dev/psaux" Option "Protocol" "Auto" EndSection Section "ServerLayout" ... InputDevice "TouchPad" "CorePointer" ... EndSection
Carte graphique
La carte graphique fonctionne avec avec un pilote propriétaire fourni par NVIDIA. La dernière disponible via portage dans Gentoo est la version 195.36.31. Vous pouvez l'installer en même tant que le serveur Xorg en modifiant la variable VIDEO_CARDS dans le fichier /etc/make.conf comme suit:
VIDEO_CARDS="nvidia"
Vous devez aussi ajouter la ligne suivante au fichier /etc/portage/package.keywords/monolithic car cette version est encore masquée:
x11-drivers/nvidia-drivers ~amd64
Si vous avez déja installé Xorg, il suffit simplement d'installer le paquet nvidia-drivers. Sinon, ce paquet s'installera en même temps qu'Xorg (en installant le paquet xorg-server). Vous devez ensuite modifier votre fichier /etc/X11/xorg.conf en y ajoutant une section Device contenant les lignes suivantes:
Section "Device" Identifier "nVidia Inc. GeForce2" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "GeForce 8600M GS" Option "NoLogo" "true" Option "RenderAccel" "true" Option "AddARGBGLXVisuals" "true" #Nécessaire pour Compiz Option "DepthBits" "24" EndSection
Vous devez éventuellement modifier la section Modules de ce même fichier comme suit:
Section "Module" Load "dbe" # Double buffer extension Load "vbe" Load "extmod" Load "glx" ... EndSection
Enfin, pour utiliser Compiz, il est nécessaire d'y ajouter les lignes suivantes:
Section "ServerFlags" Option "AIGLX" "true" EndSection
Section "Extensions" Option "Composite" "Enable" EndSection
Vous pouvez vérifier que l'accélération matérielle fonctionne correctement avec les commandes suivantes:
$ glxinfo | grep OpenGL et
$ glxinfo | grep rendering
Ceci doit produire les résultats suivants:
OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: GeForce 8600M GS/PCI/SSE2 OpenGL version string: 3.2.0 NVIDIA 195.36.31 OpenGL shading language version string: 1.50 NVIDIA via Cg compiler direct rendering: Yes
Ecran, sortie HDMI
L'écran ne vous posera aucun problème. Voici la partie de mon fichier xorg.conf concernant l'écran:
Section "Screen" Identifier "Screen1" Device "nVidia Inc. GeForce2" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 Modes "1280x800" EndSubSection EndSection
Section "Monitor" Identifier "Monitor0" HorizSync 31.5 - 37.9 VertRefresh 50 - 70 Option "DPMS" EndSection
Il est possible d'utiliser la sortie HDMI en modifiant la section screen du fichier /etc/X11/xorg.conf comme suit:
Section "Screen" Identifier "Screen1" Device "nVidia Inc. GeForce2" Monitor "Monitor0" DefaultDepth 24 Option "TwinView" "1" Option "metamodes" "DFP-0: 1280x800 +0+0, DFP-2: 1360x768_60 +0+0" EndSection
La résolution du moniteur externe (1360x768 dans l'exemple ci-dessus) doit éventuellement être adaptée à vos besoins. Vous pouvez aussi utiliser l'instruction nvidia-auto-select pour sélectionner automatiquement la résolution la plus appropriée.
Carte son
La carte son fonctionne avec le pilote ALSA hda-intel. Voici les options du noyau à sélectionner:
* Device Drivers --> Sound card support (M) * Advanced Linux Sound Architecture --> * Advanced Linux Sound Architecture (M) * Sequencer support (M) * OSS Mixer API (*) * OSS PCM (digital audio) API (M) * OSS PCM (digital audio) API - Include plugin system (*) * OSS Sequencer API (M) * PCI sound devices --> Intel HD Audio (M) * --> Build Conexant HD-audio codec support (*)
Ensuite, il faut créer un fichier de configuration des modules à placer dans le dossier /etc/modprobe.d et contenant les lignes suivantes:
# ALSA portion alias char-major-116 snd alias char-major-14 soundcore alias snd-card-0 snd-hda-intel # OSS/Free portion - card #1 alias sound-service-0-0 snd-mixer-oss alias sound-service-0-1 snd-seq-oss alias sound-service-0-3 snd-pcm-oss alias sound-service-0-8 snd-seq-oss alias sound-service-0-12 snd-pcm-oss alias /dev/mixer snd-mixer-oss alias /dev/dsp snd-pcm-oss alias /dev/midi snd-seq-oss # Set this to the correct number of cards. options snd cards_limit=1
Pour pouvoir écouter plus d'un son en même temps, il faut utiliser le plugin dmix et créer un fichier /etc/asoundrc.conf:
# ~/.asoundrc pcm.ossmix { type dmix ipc_key 1024 ipc_perm 0660 slave { pcm "hw:0,0" period_time 0 period_size 1024 buffer_size 4096 format "S32_LE" periods 128 rate 44100 } } pcm.dsp0 { type plug slave.pcm "ossmix" } # mixer0 like above ctl.mixer0 { type hw card 0 }
Pour pouvoir réellement bénéficier de cette possibilité, il faut parfois reconfigurer les applications en veillant à ce qu'elles utilisent effectivement ALSA comme sortie audio.
Webcam
La webcam intégrée au PC fonctionne grâce au pilote uvcvideo. Ce pilote est dorénavant intégré au noyau.
Ce pilote nécessite de sélectionner les options suivantes lors de la configuration du noyau:
* Device Drivers --> Multimedia support * --> Cameras/video grabbers support (*) * --> Media USB Adapters (*) * --> USB Video Class (UVC) (M)
Le module uvcvideo est en principe automatiquement chargé par udev lors du démarrage. Vous pouvez vérifier que la webcam fonctionne dans Kopete dans l'onglet périphériques du menu de configuration.
Carte réseau
La carte réseau fonctionne grâce au pilote sky2. Les options du noyau à sélectionner sont les suivantes:
* Device Drivers --> Network device support * Ethernet (1000Mbit) --> SysKonnect Yukon2 support (M)
Carte WIFI
La carte Wifi (modèle Intel©Wireless WiFi Link 4965AGN) fonctionne avec le pilote iwl4965. Ce pilote est intégré au noyau depuis la version 2.6.24. Voici les options qu'il est nécessaire de sélectionner:
* Networking support * --> Networking options --> Packet Socket (M) * --> Wireless * --> cfg80211 - wireless configuration API (M) * --> cfg80211 wireless extensions compatibility (*) * --> Wireless extensions sysfs files (*) * --> Common routines for IEEE802.11 drivers (M) * --> Generic IEEE 802.11 Networking Stack (mac80211) (M)
* Device drivers --> Network device support --> Wireless LAN --> Wireless LAN (*) --> Intel Wireless Wifi (M) --> Intel Wireless WiFi Next Gen AGN (iwlagn) (M) --> Intel Wireless WiFi 4965AGN (*)
Ce pilote nécessite un firmware disponible sur le site Intel's wireless projects for Linux. Si vous utilisez Gentoo, il est possible d'utiliser l'ebuild fourni dans Portage (iwl4965-ucode).
Bluetooth
Il est possible d'utiliser le Bluetooth sur ce PC en activant les options suivantes dans la configuration du noyau:
* Networking Bluetooth subsystem support (M) * --> L2CAP protocol support (M) * --> SCO links support (M) * --> RFCOMM protocol support (M) * --> RFCOMM TTY support (*) * --> BNEP protocol support (M) * --> Multicast filter support (*) * --> Protocol filter support (*) * --> Bluetooth device drivers --> HCI USB driver (M)
Il est également nécessaire d'installer les utilitaires bluez. Pour pouvoir transférer des fichiers avec un périphérique Bluetooth, il est nécessaire d'installer obexftp. Il existe également des interfaces graphiques (kdebluetooth notamment). Vous trouverez plus de renseignement sur l'utilisation du bluetooth avec Gentoo dans ce Guide.
Pour pouvoir se connecter à Internet via un téléphone compatible avec le GPRS, il est nécessaire d'activer les options suivantes dans la configuration du noyau:
* Device drivers --> Network device support --> PPP (point-to-point protocol) support (M) * --> PPP filtering (*) * --> PPP support for async serial ports (M) * --> PPP support for sync tty ports (M) * --> PPP Deflate compression (M) * --> PPP BSD-Compress compression (M)
Il est aussi nécessaire d'installer les utilitaires ppp et d'ajouter cette ligne au fichier /etc/ppp/options:
privgroup dialout
Les utilisateurs membres des groupes uucp et dialout sont alors autorisés à établir une connection Internet via Bluetooth. La configuration d'une connection via kppp est expliquée sur cette page.
TuxOnIce
Le Software Suspend permet de mettre l'ordinateur en veille et de l'arrêter en enregistrant dans la partition de swap ou dans un fichier l'état de la mémoire vive. Ainsi, lorsque l'on redémarre, on retrouve le système dans l'état dans lequel on l'a laissé avant la mise en veille. Il s'agit en quelque sorte d'un équivalent de la mise en veille prolongée de Windows. Il existe une telle fonctionnalité intégrée au noyau mais j'ai choisi ici d'expliquer le fonctionnement de TuxOnIce. Afin de pouvoir l'utiliser, il faut récupérer la version 3.1.1.1. Celle-ci est considérée comme une version de développement mais elle semble fonctionner correctement. Ensuite, appliquez ce patch comme ceci:
$ cd /usr/src/<répertoire contenant les sources du noyau> $ bzcat .../tuxonice-3.1.1.1-for-2.6.34.patch.bz2 | patch -p1
Il faut ensuite configurer le noyau pour activer TuxOnIce. Pour cela, il faut cocher les options suivantes:
* Power management options (ACPI, APM) --> Power Management support (*) * --> Hibernation (aka 'suspend to disk') (*) * --> Enhanced Hibernation (TuxOnIce) (*) * Une des deux options suivantes dans la sous-rubrique Image Storage: * --> File allocator * --> Swap allocator * --> Compression support (*) * --> Userspace User Interface support (*) * --> Replace swsusp by default (*) *Une des deux options suivantes: * Cryptographic options --> LZO compression algorithm (*) --> LZF compression algorithm (*)
Si vous avez choisi le swap allocator, il faut ajouter resume=dev/sdax comme paramètre du noyau dans votre chargeur de démarrage (où sdax doit être remplacé par l'emplacement de la partition de swap). Il est conseillé de fixer une taille de swap supérieure de 30% à celle de la mémoire vive. L'option file allocator permet de stocker l'image dans un fichier. Des informations à ce sujet se trouve dans la documentation du noyau (voir fichier Documentation/power/tuxonice.txt.
Recompilez alors le noyau et installez-le. Si le nouveau noyau ne pose pas de problèmes, on peut alors installer le script qui va déclencher la mise en veille. Il faut télécharger la version 2.0. Les instructions d'installation sont disponibles sur le Howto de Tuxonice. Dans Gentoo, vous pouvez installer le package hibernate-script
Vous trouverez dans la section téléchargement un exemple de fichier de configuration. Si vous souhaitez utiliser la compression LZO pour stocker l'image, vous devez ajouter la ligne suivante au fichier /etc/hibernate/tuxonice.conf:
Compressor lzo ... PowerdownMethod 4 ... ProcSetting extra_pages_allowance 5000
Vous devez ensuite installer les utilitaires pour l'interface (Userspace UI). Pour ce faire, télécharger la version 1.0 de ce programme sur cette page. Effectuez les commandes suivantes pour compiler et installer ce programme:
$ cd /usr/src/ $ tar zxvf <download directory>/tuxonice-userui-1.0.tar.gz $ cd tuxonice-userui-1.0 $ make # make install
Si vous utilisez Gentoo, vous pouvez installer le paquet tuxonice-userui. Vous pouvez éventuellement modifier le fichier /etc/portage/package.use comme suit:
sys-apps/tuxonice-userui fbsplash
Quelque soit la manière dont vous avez installé les utilitaires userui, vous devez ajouter cette ligne au fichier /etc/hibernate/suspend2.conf:
ProcSetting userui_program /usr/local/sbin/tuxoniceui_text
Pour utiliser fbsplash, vous devez remplacer tuxoniceui_text par tuxoniceui_fbsplash
Vous pouvez alors tester la mise en veille avec la commande hibernate.
Si celà ne fonctionne pas, il y a peut-être un problème de compatibilité avec un de vos périphériques. Dans ce cas, il peut être nécessaire de décharger le module gérant celui-ci et de le recharger au redémarrage. Il est aussi possible qu'il s'agisse d'un conflit avec un des programmes que vous utilisez. La page de manuel de hibernate.conf ou le howto vous donneront de nombreuses indications sur les options non détaillées dans ce document.
make.conf
Vous trouverez ci dessus mon fichier make.conf. Ce fichier est paramétré pour compiler Gentoo en 64 bits.
CFLAGS="-O2 -pipe -march=core2" CHOST="x86_64-pc-linux-gnu" ... INPUT_DEVICES="mouse evdev" VIDEO_CARDS="nvidia"
Si vous voules utiliser une version 32 bits de Gentoo, vous devez définir les variables CHOST et CFLAGS comme suit:
CHOST="i686-pc-linux-gnu" CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"