Pas de dual monitor après install Debian 9 - ATI R9 380 [Résolu]

Bonjour à Tous,

Suite à l’installation récente d’une Debian 9 (kernel 4.9.0.3-amd64), mes deux écrans étaient en mode clone et il n’était pas possible de les configurer à travers le module “Ecrans”.

Il manquait de surcroît énromément de choses dans le rendu de xrandr
Une et une seule sortie nommée “default” apparaissait. Et je n’avais que 5 ou 6 lignes pour citer les modes d’affichages.

Après avoir grenouillé un long moment dans xrandr, cvt et autres réjouissances de ce type, l’origine du problème est apparue par inadvertance lorsque j’ai tenté d’installer plymouth

Voici la sortie obtenue durant la phase finale de configuration de plymouth

update-initramfs: Generating /boot/initrd.img-4.9.0-3-amd64
W: Possible missing firmware /lib/firmware/tigon/tg3_tso5.bin for module tg3
W: Possible missing firmware /lib/firmware/tigon/tg3_tso.bin for module tg3
W: Possible missing firmware /lib/firmware/tigon/tg3.bin for module tg3
W: Possible missing firmware /lib/firmware/amdgpu/polaris11_smc_sk.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/polaris11_smc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/polaris10_smc_sk.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/polaris10_smc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/fiji_smc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/tonga_k_smc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/tonga_smc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/topaz_k_smc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/topaz_smc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/topaz_mc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/radeon/hawaii_mc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/radeon/bonaire_mc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/polaris10_mc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/polaris11_mc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/tonga_mc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/polaris10_rlc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/polaris10_mec2.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/polaris10_mec.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/polaris10_me.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/polaris10_pfp.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/polaris10_ce.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/polaris11_rlc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/polaris11_mec2.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/polaris11_mec.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/polaris11_me.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/polaris11_pfp.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/polaris11_ce.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/fiji_rlc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/fiji_mec2.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/fiji_mec.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/fiji_me.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/fiji_pfp.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/fiji_ce.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/topaz_rlc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/topaz_mec.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/topaz_me.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/topaz_pfp.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/topaz_ce.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/tonga_rlc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/tonga_mec2.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/tonga_mec.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/tonga_me.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/tonga_pfp.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/tonga_ce.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/stoney_rlc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/stoney_mec.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/stoney_me.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/stoney_pfp.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/stoney_ce.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/carrizo_rlc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/carrizo_mec2.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/carrizo_mec.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/carrizo_me.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/carrizo_pfp.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/carrizo_ce.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/topaz_sdma1.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/topaz_sdma.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/polaris11_sdma1.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/polaris11_sdma.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/polaris10_sdma1.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/polaris10_sdma.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/stoney_sdma.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/fiji_sdma1.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/fiji_sdma.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/carrizo_sdma1.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/carrizo_sdma.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/tonga_sdma1.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/tonga_sdma.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/polaris11_uvd.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/polaris10_uvd.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/stoney_uvd.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/fiji_uvd.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/carrizo_uvd.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/tonga_uvd.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/polaris11_vce.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/polaris10_vce.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/stoney_vce.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/fiji_vce.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/carrizo_vce.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/tonga_vce.bin for module amdgpu

A partir de là, il devenait facile de savoir ce qui n’allait pas :
Debian n’installe pas ces fichiers par défaut.
Lorsque l’on part d’une net-install, ce n’est pas très malin car le driver Mesa identifie parfaitement les cartes R9 380 comme l’on peut s’en rendre compte avec cette commande :

lspci -nn | grep '\[03' 0f:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Tonga PRO [Radeon R9 285/380] [1002:6939] (rev f1) 42:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Tonga PRO [Radeon R9 285/380] [1002:6939] (rev f1)
Il serait donc facile de les intégrer au téléchargement.

J’ai donc repris ces fichiers d’une distribution déjà installée sur un autre de mes PC et je les ai copiés en /lib/firmware/tigon et /lib/firmware/amdgpu

Il en manquait quelques-uns que j’ai trouvés sur
https://github.com/wkennington/linux-firmware/tree/master/amdgpu

Une fois les fichiers en place, plymouth reconfiguré et rebooté, j’avais deux écrans en mode étendue (sans même avoir à les configurer) et xrandr me donnait la sortie suivante, beaucoup plus fournie :slight_smile:

 Screen 0: minimum 320 x 200, current 3840 x 1200, maximum 16384 x 16384
DisplayPort-0 disconnected primary (normal left inverted right x axis y axis)
DisplayPort-1 disconnected (normal left inverted right x axis y axis)
HDMI-A-0 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 550mm x 344mm
   1920x1200     59.95*+
   1920x1080     59.93  
   1600x1200     60.00  
   1680x1050     59.88  
   1280x1024     75.02    60.02  
   1440x900      74.98    59.90  
   1152x864      75.00  
   1024x768      75.03    70.07    60.00  
   832x624       74.55  
   800x600       72.19    75.00    60.32  
   640x480       75.00    72.81    66.67    59.94  
   720x400       70.08  
DVI-I-0 connected 1920x1200+1920+0 (normal left inverted right x axis y axis) 550mm x 344mm
   1920x1200     59.88*+
   1920x1080     60.00  
   1600x1200     60.00  
   1680x1050     59.95  
   1280x1024     75.02    60.02  
   1440x900      74.98    59.89  
   1152x864      75.00  
   1024x768      75.03    70.07    60.00  
   832x624       74.55  
   800x600       72.19    75.00    60.32  
   640x480       75.00    72.81    66.67    59.94  
   720x400       70.08  

J’ignore pour l’instant si en l’absence de l’installation de plymouth le problème serait résolu.
Je dois refaire un test.

Mais je suppose que cette solution offrira un solide point de départ à certains :slight_smile:

Il faut installer les paquets :

# apt-get install firmware-misc-nonfree firmware-amd-graphics

Pour savoir à quel paquet appartient un paquet manquant, tu installes apt-file et tu executes par exemple :

~$ apt-file find /lib/firmware/amdgpu/polaris11_smc_sk.bin
firmware-amd-graphics: /lib/firmware/amdgpu/polaris11_smc_sk.bin

Merci pour cette solution plus rapide :slight_smile:

Je viens de vérifier que sur une install identique et sans installer plymouth, le simple fait d’ajouter ces fichiers au bon endroit résoud les problèmes d’affichage.

Mais ta version comporte au moins l’avantage de respecter le suivi de la base de données des paquets. Ce que, même si elle fonctionne, ma solution ne fait pas :slight_smile:

Et apparemment ta solution ne fonctionne pas pour Debian9 via apt
(Paquet présent dans la base mais aucune version dispo, paquet manquant ou obsolète)

As-tu activé les dépôts contrib et non-free ? :wink:

Hé bé non ! Forcément ! :smiley:

Ca fonctionne tout de suite mieux :wink:

Sans aucun doute :wink: