Table des matières

, , ,

Dell XPS L501X

En un coup d'œil

Le tableau suivant récapitule la prise en charge du matériel de portable par les différentes versions d'Ubuntu. Il utilise les notations suivantes :

Utilisateurs du Wiki possédant cet ordinateur, fonctionnel :

Cet ordinateur portable n'est a priori pas tatoué.

Installation

L'installation a été réalisée avec les versions suivantes d'Ubuntu, sans problème majeur :

Si vous installez Ubuntu sur cette machine, vous remarquerez qu'il existe déjà deux partitions, nommées Windows 7 Starter (FIXME pas sûr du nom) et OS (FIXME idem).
Ils contiennent respectivement les backups de Windows 7 et Windows 7 lui-même.

Problèmes liés à la technologie Nvidia Optimus embarquée dans cet ordinateur portable

Optimus est une technologie mise au point par la société Nvidia. Les ordinateurs équipés de cette technologie possèdent un chipset graphique intégéré (souvent Intel HD graphics) et un GPU dédié de marque Nvidia. L'avantage de cette technologie est que le basculement entre les deux cartes graphique se fait de manière totalement transparente pour l'utilisateur. Cela permet entre autres de n'utiliser la carte Nvidia (gourmande en énergie) uniquement lorsque nécessaire.

Le problème qui se pose est que GNU/Linux et le vieillissant serveur d'affichage X.org ne gèrent pas encore le basculement d'une carte à l'autre. Pour le moment, les deux cartes sont donc alimentés électriquement mais vous ne pourrez vous servir que du chipset intégré Intel Graphics HD.

N'installez pas les pilotes propriétaires Nvidia current, même si Ubuntu vous le propose !

En effet, une fois installés, impossible de redémarrer le serveur X car il ne trouve plus de périphérique d'affichage !

MàJ 27 fev 2011 : il semble y avoir une recette pour désactiver électriquement la carte NVIDIA, et ainsi améliorer sensiblement l'autonomie du portable. Suivre les instructions du post du blog “Linux Hybrid Graphics” switching nvidia off, puis le paragraphe Disable the nvidia gaphics card to increase battery life de l'article Ubuntu 10.10 64 bits installation...

MàJ 25 mai 2011 : Martin Juhl a écrit un programme (Bumblebee) qui permet de désactiver/activer une ou l'autre carte. A bien fonctionné sous Ubuntu 11.04 (« The Natty Narwhal ») et sous Ubuntu 11.10 (« The Oneiric Ocelot ») avec ce modèle. Les résultats sont pour le moins spectaculaires… Voir la page du projet sur le forum.

Retrouver l'interface graphique après avoir installé les pilotes propriétaires Nvidia current

Si vous avez malencontreusement installé les pilotes propriétaires Nvidia current et que vous ne pouvez plus démarrer l'interface graphique, tapez les commandes suivantes :

sudo rm /etc/X11/xorg.conf             #on supprime le fichier de configuration X.org généré par l'utilitaire Nvidia
sudo apt-get remove nvidia-current     #on supprime les pilotes Nvidia current
startx                                 #on relance le serveur X

L'avenir concernant Nvidia Optimus pour le Dell L501X

Des solutions sont actuellement en cours d'étude, pour en savoir plus, vous pouvez visiter le blog de l'équipe Linux Hybrid Graphics

N'hésitez pas non plus a indiquer que vous êtes confronté au bug 312756. Il vous faut posséder un compte Launchpad et être connecté.

Problèmes liés à l'utilisation des touches multimédia

L'ensemble des touches multimédia à proprement parler sont fonctionnelles (play, pause, next, previous ainsi que les touches de contrôle du volume). Le problème se pose quant à l'utilisation des touches pour modifier la luminosité du rétro-éclairage de l'écran.

Touches contrôlant le rétro-éclairage

Dans un terminal (Application > Accessoires > Terminal), exécutez les commandes suivantes :

sudo add-apt-repository ppa:kamalmostafa/linux-kamal-mjgbacklight   #ajouter un dépôt tiers
sudo apt-get update && sudo apt-get upgrade                         #mettre à jours les dépôts et faire les mises à jour
gksudo gedit /etc/default/grub                                        #éditer le fichier de configuration de GRUB

Dans le fichier /etc/default/grub, cherchez la ligne

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

Remplacez cette ligne par

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor"

Enregistrez le fichier et quittez Gedit puis, exécutez la commande

sudo update-grub

Il n'y a plus qu'à redémarrer votre ordinateur.

Merci à krunalpatel pour avoir donné la solution sur le forum anglophone d'Ubuntu.

Restaurer la mise en veille et l'hibernation

Par défaut, après une installation fraîche d'Ubuntu Maverick Meerkat (10.10), la mise en veille et l'hibernation ne fonctionnent pas. Si l'on observe les journaux systèmes et plus précisément le syslog, on constate que l'ordinateur n'arrive pas à se mettre en veille en raison du contrôleur USB 3.0 NEC.

C'est plus précisément le module xhci_hcd qui gère le contrôleur USB 3.0 NEC qui est en cause.

Identifier les périphériques liés au module xhdi_hcd

Pour résoudre le problème, nous devons tout d'abord savoir quels sont les périphériques à libérer du module xhdi_hcd. Pour le savoir, exécutez la commande suivante dans un terminal (Application > Accessoires > Terminal) :

ls /sys/bus/pci/drivers/xhci_hcd/ | grep "[0-9a-zA-Z]\{4\}:[0-9a-zA-Z]\{2\}:[0-9a-zA-Z]\{2\}.[0-9a-zA-Z]"

Cette commande devrait vous retourner un ou plusieurs nom de périphériques sous la forme XXXX:XX:XX.X

Notez ces noms de périphériques.

Libérer ces périphériques du module xhdi_hcd lors de la mise en veille et les lier au module lors de la sortie de veille

Vous allez ensuite créer un nouveau fichier avec la commande suivante :

gksudo gedit /etc/pm/sleep.d/20_custom-xhci_hcd

Dans ce fichier, coller le code suivant :

#!/bin/sh
# Fichier : "/etc/pm/sleep.d/20_custom-xhci_hcd".
case "${1}" in
hibernate|suspend)
# Libérer le module xhci_hcd du premier périphérique XXXX:XX:XX.X:
echo -n "XXXX:XX:XX.X" | tee /sys/bus/pci/drivers/xhci_hcd/unbind
# Libérer le module xhci_hcd du second périphérique XXXX:XX:XX.X:
echo -n "XXXX:XX:XX.X" | tee /sys/bus/pci/drivers/xhci_hcd/unbind
;;
resume|thaw)
# Lier le module xhci_hcd au premier périphérique XXXX:XX:XX.X:
echo -n "XXXX:XX:XX.X" | tee /sys/bus/pci/drivers/xhci_hcd/bind
# Lier le module xhci_hcd au second périphérique XXXX:XX:XX.X:
echo -n "XXXX:XX:XX.X" | tee /sys/bus/pci/drivers/xhci_hcd/bind
;;
esac 

Dans ce code, remplacez les XXXX:XX:XX.X par les identifiants de périphériques que vous avez relevé tout à l'heure.

Si vous n'en avez qu'un, supprimez la partie

# Libérer le module xhci_hcd du second périphérique XXXX:XX:XX.X:
echo -n "XXXX:XX:XX.X" | tee /sys/bus/pci/drivers/xhci_hcd/unbind

et

# Lier le module xhci_hcd au second périphérique XXXX:XX:XX.X:
echo -n "XXXX:XX:XX.X" | tee /sys/bus/pci/drivers/xhci_hcd/bind

Décharger le module xhci_hcd du noyau lors de la mise en veille

Créer un nouveau fichier avec la commande suivante :

gksudo gedit /etc/pm/config.d/usb3-suspend-workaround

Dans ce fichier, coller le code suivant :

#Fichier : "/etc/pm/config.d/usb3-suspend-workaround".
SUSPEND_MODULES="xhci" 

Donner les droits d'exécution au script créé

Exécutez la commande suivante dans un terminal (Application > Accessoires > Terminal) :

sudo chmod +x /etc/pm/sleep.d/20_custom-xhci_hcd

Vous pouvez maintenant tester, la mise en veille devrait-être fonctionnelle désormais !

Merci à krunalpatel pour avoir donné la solution sur le forum anglophone d'Ubuntu et à erpiu du forum Ubuntu francophone de m'avoir indiqué cette solution !