Installation d'Ubuntu 9.10 Karmic Koala sur un Sony VAIO VPC-CW2C5E

Jean Baptiste FAVRE

janvier 2008

Sony VAIO VPC-CW2C5E

Installation d'Ubuntu Karmic Koala

Live-CD: laisser l'auto-détection de la résolution. Ensuite, pas de soucis particuliers pour le process d'install.

Le Live-CD fonctionne bien. La résolution est de 1280x720. A priori lié au pilote libre "nv" plutôt que le pilote propriétaire NVidia.

Premier redémarrage

Marche "out of the box":

Marche "en dégradé":

C'est la grosse surprise. Tout fonctionne, au moins en dégradé, dès l'installation. Ma plus grosse appréhension concernait la webcam. En fait, c'est presque trop facile...

En revanche, petite déception pour la carte graphique: j'ai volontairement pris une dalle LCD capable d'afficher en 1600x900. Manque de bol, je me retrouve limité à 1280x720. Rageant.... L'installation des drivers proprio va régler tout ça... Quoique...

Non testé

Solution

Résolution dégradée

Les logs Xorg indiquent que les appels VBE échouent lamentablement. Du coup, pas de paramétrage correct de l'écran possible puisqu'il n'est pas détecté:

Logs Xorg VBE
$ grep -i vbe /var/log/Xorg.0.log
(II) Loading sub module "vbe"
(II) LoadModule: "vbe"
(II) Loading /usr/lib/xorg/modules//libvbe.so
(II) Module vbe: vendor="X.Org Foundation"
(II) VESA(0): VESA VBE Version 3.0
(II) VESA(0): VESA VBE Total Mem: 14336 kB
(II) VESA(0): VESA VBE OEM: NVIDIA
(II) VESA(0): VESA VBE OEM Software Rev: 112.22
(II) VESA(0): VESA VBE OEM Vendor: NVIDIA Corporation
(II) VESA(0): VESA VBE OEM Product: GT216 Board - 0695a2b0
(II) VESA(0): VESA VBE OEM Product Rev: Chip Rev   
(II) VESA(0): VESA VBE DDC supported
(II) VESA(0): VESA VBE DDC Level none
(II) VESA(0): VESA VBE DDC transfer in appr. 0 sec.
(II) VESA(0): VESA VBE DDC read failed
(II) VESA(0): VESA VBE PanelID read failed
(II) VESA(0): VESA VBE Version 3.0
(II) VESA(0): VESA VBE Total Mem: 14336 kB
(II) VESA(0): VESA VBE OEM: NVIDIA
(II) VESA(0): VESA VBE OEM Software Rev: 112.22
(II) VESA(0): VESA VBE OEM Vendor: NVIDIA Corporation
(II) VESA(0): VESA VBE OEM Product: GT216 Board - 0695a2b0
(II) VESA(0): VESA VBE OEM Product Rev: Chip Rev

Première étape, activons les drivers proprio. Comme d'hab, "capuecestpaslibre", mais on peut espérer que ça marche mieux. Comme deux précautions valant mieux qu'une, on se connecte au réseau et, surtout, on installe un serveur SSH:

Installation d'un serveur SSH
sudo aptitude install openssh-server

Une fois que l'on a vérifié la connexion SSH, on peut installer les drivers NVidia. Soit vous installez les drivers fournis par Ubuntu, soit vous préférez les tous derniers drivers fournis par un dépôt PPA. C'est cette dernière solution que je vais documenter, la première étant, quand même, triviale.

Installation des drivers NVidia
sudo add-apt-repository ppa:nvidia-vdpau/ppa
sudo aptitude update
sudo apt-get install nvidia-glx-195 nvidia-modaliases-195

Ceci va installer tous les paquets nécessaires et notamment DKMS. Le driver est installé et configuré pour le noyau courant, tout va bien, on redémarre la bête... Résultat: un magnifique EPIC FAIL ! En fait, c'est encore pire: L'écran est juste illisible. Vous n'avez pas installé SSH ? Dommage ;-)

Il semble que les drivers nvidia ne soient pas encore adaptés au modèle de carte intégré. Pire, la dalle LCD n'est pas convenablement reconnue. En fait, c'est ça qui fout la merde:

Log Xorg
(**) Feb 05 19:49:11 NVIDIA(0): Enabling RENDER acceleration
(II) Feb 05 19:49:11 NVIDIA(0): Support for GLX with the Damage and Composite X extensions is
(II) Feb 05 19:49:11 NVIDIA(0):     enabled.
(II) Feb 05 19:49:12 NVIDIA(0): NVIDIA GPU GeForce GT 330M (GT216) at PCI:1:0:0 (GPU-0)
(--) Feb 05 19:49:12 NVIDIA(0): Memory: 524288 kBytes
(--) Feb 05 19:49:12 NVIDIA(0): VideoBIOS: 70.16.35.00.0a
(II) Feb 05 19:49:12 NVIDIA(0): Detected PCI Express Link width: 16X
(--) Feb 05 19:49:12 NVIDIA(0): Interlaced video modes are supported on this GPU
(--) Feb 05 19:49:12 NVIDIA(0): Connected display device(s) on GeForce GT 330M at PCI:1:0:0:
(--) Feb 05 19:49:12 NVIDIA(0):     none
(EE) Feb 05 19:49:12 NVIDIA(0): No display devices found for this X screen.
(II) UnloadModule: "nvidia"
(II) UnloadModule: "wfb"
(II) UnloadModule: "fb"
(EE) Screen(s) found, but none have a usable configuration.

Hum, hum. Nous voilà propres. Un écran qui ne fonctionne pas, et rien d'explicite dans les logs... le tout avec les tous derniers drivers ! Tentons un reboot avec un écran externe... Yeah !! ça marche ! Et avec la bonne résolution en plus (pour info, 1680x1050 chez moi). Il s'agit donc d'un problème de détection de la dalle LCD. A priori, le driver propriétaire "fonctionne".

Notez que tout ceci colle avec l'erreur initiale d'appels DDC ratés. En effet, Google est votre ami, tout ce machin est lié à 1 chose: EDID. Il s'agit d'un standard (normalement) permettant à l'écran d'annoncer ces capacités et, en conséquence, à Xorg de pouvoir détecter automatiquement la meilleure résolution. En l'occurence ici, ça merde.

Accessoirement, il est savoureux de constater que le driver libre est capable de choisir une résolution moindre (mais qui marche) là où le driver propriétaire merde joyeusement...

Ne vous fatiguez pas à installer read-edid, ça ne marchera pas. La seule solution, votre seul secours s'appelle... Windows (oui je sais, ça fait mal). Je ne m'apesantirai pas sur le démarrage de Windows (j'avais oublié à quel point c'est long et chiant de redémarrer 3 fois pour que le programme d'installation d'un truc déjà installé fasse son boulot...).

Une fois sous Windows donc, vous allez pouvoir dumper la configuration EDID à l'aide d'un programme sympatique: Phoenix EDID designer

Attention !!! ne sauvegardez pas la base EDID, Exportez la au format RAW sauvegardez la sur clef USB. Enfin, redémarrez et retour sous Linux.

Une fois connecté (SSH suffit), il va falloir modifier la configuration de Xorg pour lui indiquer le fichier EDID.

Configuration Xorg
$ cat /etc/X11/xorg.conf

Section "Screen"
	Identifier	"Default Screen"
	DefaultDepth	24
EndSection

Section "Module"
	Load	"glx"
EndSection

Section "Device"
	Identifier	"Default Device"
	Driver	"nvidia"
	Option	"NoLogo"	"True"
        Option  "ConnectedMonitor" "DFP-0,CRT-0"
        Option  "CustomEDID" "DFP-0:/etc/X11/edid.DFP-0.bin"
EndSection

C'est la ligne CustomEDID qui est la plus importante car c'est elle qui va permettre la bonne détection de la dalle LCD. Au passage j'ai été obligé d'ajouter la ligne ConnectedMonitor pour éviter le démarrage systématique sur l'écran externe.

Au final, Xorg fonctione, mais... je n'ai plus de console :-( Si un spécialiste NVidia passe par là et veut bien me donner la solution, je suis preneur.

Informations sur le matériel

lspci
$ lspci
00:00.0 Host bridge: Intel Corporation Arrandale DRAM Controller (rev 02)
00:01.0 PCI bridge: Intel Corporation Arrandale PCI Express x16 Root Port (rev 02)
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 05)
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 05)
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 05)
00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 05)
00:1c.2 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 3 (rev 05)
00:1c.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (rev 05)
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 05)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a5)
00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 6 port SATA AHCI Controller (rev 05)
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 05)
00:1f.6 Signal processing controller: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem (rev 05)
01:00.0 VGA compatible controller: nVidia Corporation Device 0a2b (rev a2)
01:00.1 Audio device: nVidia Corporation Device 0be2 (rev a1)
02:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev 01)
03:00.0 SD Host controller: Ricoh Co Ltd Device e822
03:00.1 System peripheral: Ricoh Co Ltd Device e230
03:00.3 FireWire (IEEE 1394): Ricoh Co Ltd Device e832
03:00.4 SD Host controller: Ricoh Co Ltd Device e822
04:00.0 Ethernet controller: Marvell Technology Group Ltd. Device 4380 (rev 10)
3f:00.0 Host bridge: Intel Corporation QuickPath Architecture Generic Non-core Registers (rev 02)
3f:00.1 Host bridge: Intel Corporation QuickPath Architecture System Address Decoder (rev 02)
3f:02.0 Host bridge: Intel Corporation QPI Link 0 (rev 02)
3f:02.1 Host bridge: Intel Corporation QPI Physical 0 (rev 02)
3f:02.2 Host bridge: Intel Corporation Device 2d12 (rev 02)
3f:02.3 Host bridge: Intel Corporation Device 2d13 (rev 02)
lspci
$ lsusb
Bus 002 Device 003: ID 10d5:0004 Uni Class Technology Co., Ltd 
Bus 002 Device 002: ID 8087:0020  
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 05ca:18b5 Ricoh Co., Ltd 
Bus 001 Device 002: ID 8087:0020  
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Format

Ce document est disponible aux formats suivants:

À propos de Jean Baptiste FAVRE

Je suis responsable d'exploitation dans le domaine de l'hébergement. Je travaille, entre autres, sur la virtualisation et l'amélioration des performances web. De temps en temps, j'arrive à décrocher de mon clavier pour lire un bon bouquin en écoutant de la musique.

License

Creative Commons License Cette publication est publiée sous contrat Creative Common by-nc-sa

Valid XHTML 1.0 Strict |  Valid CSS |  contrat Creative Common by-nc-sa

Table des matières

  1. Installation
  2. Premier démarrage
  3. Solution
  4. Informations sur le matériel
  5. Format
  6. À propos ...
  7. License