web-dev-qa-db-fra.com

Les graphiques intégrés de Skylake ne fonctionnent pas le 15.10

Ces derniers jours, je cherchais sur le net pour que les graphiques intégrés de mon Intel i5-6400 fonctionnent, mais je n’ai pas eu de chance.

J'utilise une nouvelle version d'Ubuntu 15.10 et ai installé le noyau 4.3.4. Mon AMD R9 380 fonctionne correctement (avec les pilotes Open Source), mais je souhaite le transmettre à une machine virtuelle. Je dois donc faire fonctionner le processeur graphique intégré i915.

J'ai un seul écran, connecté avec DVI au R9 380 et avec un câble VGA à la carte graphique intégrée. Dans le panneau de configuration "Affichage", un seul affichage est détecté, il devrait y en avoir deux.

Est-ce que quelqu'un sait comment résoudre ce problème?

Noyau actuel:

$ uname -r
4.3.4-040304-generic

GPU intégré reconnu:

$ dmesg | grep -i i915
5:[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-4.3.4-040304-generic root=/dev/mapper/vg--raid-lv--linux ro nomdmonddf nomdmonisw i915.preliminary_hw_support=1 intel_iommu=on
197:[    0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-4.3.4-040304-generic root=/dev/mapper/vg--raid-lv--linux ro nomdmonddf nomdmonisw i915.preliminary_hw_support=1 intel_iommu=on
748:[    0.869204] i915 0000:00:02.0: enabling device (0000 -> 0003)
902:[    1.485539] [drm] Initialized i915 1.6.0 20150731 for 0000:00:02.0 on minor 1
903:[    1.524441] i915 0000:00:02.0: fb1: inteldrmfb frame buffer device
1063:[  119.646979] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])

$ Sudo lshw -enable pci -class display
  *-display               
       description: VGA compatible controller
       product: Tonga PRO [Radeon R9 285/380]
       vendor: Advanced Micro Devices, Inc. [AMD/ATI]
       physical id: 0
       bus info: pci@0000:01:00.0
       version: f1
       width: 64 bits
       clock: 33MHz
       capabilities: pm pciexpress msi vga_controller bus_master cap_list rom
       configuration: driver=amdgpu latency=0
       resources: irq:128 memory:c0000000-cfffffff memory:d0000000-d01fffff ioport:e000(size=256) memory:df100000-df13ffff memory:df140000-df15ffff
  *-display
       description: Display controller
       product: Sky Lake Integrated Graphics
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 06
       width: 64 bits
       clock: 33MHz
       capabilities: pciexpress msi pm bus_master cap_list
       configuration: driver=i915 latency=0
       resources: irq:129 memory:de000000-deffffff memory:b0000000-bfffffff ioport:f000(size=64)

Tout cela me semble bon. Cependant, la commande suivante montre que quelque chose ne va pas. Notez que la ligne commençant par Display Server: X.Org indique FAILED: intel.

$ inxi -b
System:    Host: anthony-linux Kernel: 4.3.4-040304-generic x86_64 (64 bit) Desktop: Xfce 4.12.3
           Distro: Ubuntu 15.10 wily
Machine:   System: Gigabyte product: N/A
           Mobo: Gigabyte model: H110M-S2H-CF v: x.x Bios: American Megatrends v: F1 date: 09/08/2015
CPU:       Quad core Intel Core i5-6400 (-MCP-) speed/max: 799/3300 MHz
Graphics:  Card-1: Intel Sky Lake Integrated Graphics
           Card-2: Advanced Micro Devices [AMD/ATI] Tonga PRO [Radeon R9 285/380]
           Display Server: X.Org 1.17.2 drivers: ATI (unloaded: fbdev,vesa,radeon) FAILED: intel
           Resolution: [email protected]
           GLX Renderer: Gallium 0.4 on AMD TONGA (DRM 3.1.0, LLVM 3.6.2) GLX Version: 3.0 Mesa 11.0.2
Network:   Card: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller driver: r8169
Drives:    HDD Total Size: 2060.4GB (22.5% used)
RAID:      Devices: 1: /dev/md1 2: /dev/md0
Info:      Processes: 247 Uptime: 41 min Memory: 1223.8/15993.4MB Client: Shell (bash) inxi: 2.2.16 

Edit 1: Voici quelques informations supplémentaires demandées:

$ dpkg -l xserver-xorg-video-intel
ii  xserver-xorg-video-intel    2:2.99.917+git20150808-0ubuntu4 AMD64    X.Org X server -- Intel i8xx, i9xx display driver

Edit 2: Voici la sortie de xrandr. Notez que l’AMD R9 380 dispose de 1 sorties DisplayPort, 1 HDMI et 2 DVI. L'iGPU a 1 VGA, 1 DVI et 1 HDMI. Vous ne savez pas pourquoi une seule sortie DVI est listée ici, mais il est clair que les sorties iGPU ne sont pas là, car VGA serait dans la liste.

$ xrandr | grep connected
2:DisplayPort-1 disconnected (normal left inverted right x axis y axis)
3:HDMI-3 disconnected (normal left inverted right x axis y axis)
4:DVI-0 connected 1680x1050+0+0 (normal left inverted right x axis y axis) 474mm x 296mm

Edit 3: Le système semble connaître les résultats:

$ ls -l /sys/class/drm
total 0
lrwxrwxrwx 1 root root    0 Jan 24 18:51 card0 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0
lrwxrwxrwx 1 root root    0 Jan 24 18:53 card0-DP-1 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-1
lrwxrwxrwx 1 root root    0 Jan 24 18:53 card0-HDMI-A-1 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-1
lrwxrwxrwx 1 root root    0 Jan 24 18:53 card0-HDMI-A-2 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-2
lrwxrwxrwx 1 root root    0 Jan 24 18:53 card0-HDMI-A-3 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-3
lrwxrwxrwx 1 root root    0 Jan 24 18:53 card1 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1
lrwxrwxrwx 1 root root    0 Jan 24 18:53 card1-DP-2 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1/card1-DP-2
lrwxrwxrwx 1 root root    0 Jan 24 18:53 card1-DVI-D-1 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1/card1-DVI-D-1
lrwxrwxrwx 1 root root    0 Jan 24 18:53 card1-DVI-I-1 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1/card1-DVI-I-1
lrwxrwxrwx 1 root root    0 Jan 24 18:53 card1-HDMI-A-4 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1/card1-HDMI-A-4
lrwxrwxrwx 1 root root    0 Jan 24 18:53 controlD64 -> ../../devices/pci0000:00/0000:00:02.0/drm/controlD64
lrwxrwxrwx 1 root root    0 Jan 24 18:53 controlD65 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/controlD65
lrwxrwxrwx 1 root root    0 Jan 24 18:53 renderD128 -> ../../devices/pci0000:00/0000:00:02.0/drm/renderD128
lrwxrwxrwx 1 root root    0 Jan 24 18:53 renderD129 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/renderD129
lrwxrwxrwx 1 root root    0 Jan 24 18:53 ttm -> ../../devices/virtual/drm/ttm
-r--r--r-- 1 root root 4.0K Jan 24 18:53 version

Edit 4: Au démarrage, la sortie de l'iGPU semble fonctionner. J'ai la sortie dmesg lors du démarrage, mais elle s'arrête à un moment donné. La sortie de l'iGPU s'arrête après les lignes commençant par [dmr] ci-dessous. Ceux commençant par fbcon ne sont pas visibles dessus:

$ dmesg | grep -A3 "\[drm\] fb"
[    1.357205] [drm] fb mappable at 0xC0C73000
[    1.357810] [drm] vram apper at 0xC0000000
[    1.358418] [drm] size 7299072
[    1.359027] [drm] fb depth is 24
[    1.359653] [drm]    pitch is 6912
[    1.360531] fbcon: amdgpudrmfb (fb1) is primary device
[    1.360532] fbcon: Remapping primary device, fb1, to tty 1-63

Voici le contenu complet de Xorg.0.log: http://Pastebin.com/BprgEdSj . Quelques extraits ci-dessous. Les premiers semblent tous faire avec le GPU AMD:

$ grep '(EE)' /var/log/Xorg.0.log
15:     (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
73:[    26.937] (EE) Failed to load module "fglrx" (module does not exist, 0)
123:[    27.200] (EE) Failed to load module "fglrx" (module does not exist, 0)
751:[    29.273] (EE) modeset(0): [DRI2] No driver mapping found for PCI device 0x1002 / 0x6939
752:[    29.273] (EE) modeset(0): Failed to initialize the DRI2 extension.
756:[    29.277] (EE) AIGLX: reverting to software rendering

Voici quelques sections que j'ai choisies manuellement:

$ less /var/log/Xorg.0.log (then manual copy/paste)
[    27.200] (II) LoadModule: "intel"
[    27.201] (II) Loading /usr/lib/xorg/modules/drivers/intel_drv.so
[    27.201] (II) Module intel: vendor="X.Org Foundation"
[    27.201]    compiled for 1.17.2, module version = 2.99.917
[    27.201]    Module class: X.Org Video Driver
[    27.201]    ABI class: X.Org Video Driver, version 19.0
[    27.201] (II) UnloadModule: "intel"
[    27.201] (II) Unloading intel
[    27.201] (II) Failed to load module "intel" (already loaded, 0)
...
[    27.210] (II) intel: Driver for Intel(R) Integrated Graphics Chipsets:
        i810, i810-dc100, i810e, i815, i830M, 845G, 854, 852GM/855GM, 865G,
        915G, E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM,
        Pineview G, 965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33,
        GM45, 4 Series, G45/G43, Q45/Q43, G41, B43
...
[    27.211] (II) intel(G0): Using Kernel Mode Setting driver: i915, version 1.6.0 20150731
[    27.211] (II) intel(G0): SNA compiled: xserver-xorg-video-intel 2:2.99.917+git20150808-0ubuntu4 (Robert Ancell <[email protected]>)
[    27.211] (II) intel(G0): SNA compiled for use with valgrind
1
Darhuuk
$ xrandr | grep connected
2:DisplayPort-1 disconnected (normal left inverted right x axis y axis)
3:HDMI-3 disconnected (normal left inverted right x axis y axis)
4:DVI-0 connected 1680x1050+0+0 (normal left inverted right x axis y axis) 474mm x 296mm

Xorg ne connaît que 3 sorties vidéo.

$ ls -l /sys/class/drm
total 0
lrwxrwxrwx 1 root root    0 Jan 24 18:51 card0 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0
lrwxrwxrwx 1 root root    0 Jan 24 18:53 card0-DP-1 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-1
lrwxrwxrwx 1 root root    0 Jan 24 18:53 card0-HDMI-A-1 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-1
lrwxrwxrwx 1 root root    0 Jan 24 18:53 card0-HDMI-A-2 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-2
lrwxrwxrwx 1 root root    0 Jan 24 18:53 card0-HDMI-A-3 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-3
lrwxrwxrwx 1 root root    0 Jan 24 18:53 card1 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1
lrwxrwxrwx 1 root root    0 Jan 24 18:53 card1-DP-2 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1/card1-DP-2
lrwxrwxrwx 1 root root    0 Jan 24 18:53 card1-DVI-D-1 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1/card1-DVI-D-1
lrwxrwxrwx 1 root root    0 Jan 24 18:53 card1-DVI-I-1 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1/card1-DVI-I-1
lrwxrwxrwx 1 root root    0 Jan 24 18:53 card1-HDMI-A-4 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1/card1-HDMI-A-4

Le noyau a détecté 2 cartes vidéo avec plusieurs sorties sur les deux.

$ grep '(EE)' /var/log/Xorg.0.log
751:[    29.273] (EE) modeset(0): [DRI2] No driver mapping found for PCI device 0x1002 / 0x6939
752:[    29.273] (EE) modeset(0): Failed to initialize the DRI2 extension.
756:[    29.277] (EE) AIGLX: reverting to software rendering

La carte AMD R9 285 est revenue au rendu logiciel car PCI ID 1002: 6939 n'est pas reconnu. Vous pouvez éventuellement résoudre ce problème en mettant à niveau le pilote radeon, mais pour le transfert VGA, vous n'avez pas réellement besoin de Xorg pour fonctionner.

$ `grep 'Monitor name' /var/log/Xorg.0.log
[    29.080] (II) modeset(0): Monitor name: W2252
[    29.173] (II) intel(G0): Monitor name: W2252

Le moniteur est détecté par les deux pilotes.

Pour passer outre le processeur graphique AMD en mode VGA, Xorg doit utiliser uniquement le processeur graphique Intel. Vous pouvez créer un xorg.conf avec uniquement le périphérique Intel configuré (Xorg :0 -configure, puis modifier et supprimer les références au périphérique AMD). Sinon, supprimez simplement le pilote non-Intel utilisé (apt-get purge xserver-xorg-video-modesetting dans ce cas-ci) - mais sachez que vous devrez peut-être démarrer à partir de l'USB pour réinstaller ce paquet si vous n'avez pas de vidéo.

Mais dans ce cas, le problème a été résolu en configurant le BIOS/UEFI pour utiliser Intel iGPU par défaut à utiliser pour le POST. Cela pourrait indiquer que le problème est dû à un bogue dans le code d'initialisation de Linux Skylake, où il configure correctement l'affichage si le BIOS l'a déjà initialisé, mais échoue sinon.

2
bain