Debian Stretch et double carte graphique

Bonjour ,

Ayant enfin pût me réinstaller Debian j’ai eu la joie de constater que la version stable Stretch est enfin sortie !
Donc depuis Mercredi je suis sur mon installation aux petits oignons…

Mon ordinateur est un Ideacentre 510-22ISH, comme vous pouvez le voir sur le lien que je vous ai communiqué, il y a un controleur graphique (Intel HD Graphics 530) et une carte graphique (AMD Radeon R5 435 avec 2 Go DDR3).

Le problème c’est que je ne sais pas comment indiquer à Debian soit d’utiliser uniquement la carte graphique soit de pouvoir permuter entre les deux au besoin.

Apparement il ne se sert que du contrôleur car un "lspci -nn | grep VGA
" me retourne:

00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 530 [8086:1912] (rev 06)

Je ne pense pas qu’il y ai un problème car un lspci me retourne:

00:00.0 Host bridge: Intel Corporation Skylake Hot Bridge/DRAM Registers (rev 07)
00:01.0 PCI bridge: Intel Corporation Skylake PCIe Controller (x16) (rev 07)
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 530 (rev 06)
00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)
00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)
00:17.0 SATA controller: Intel Corporation Sunrise Point-H SATA controller [AHCI mode] (rev 31)
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #8 (rev f1)
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #9 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)
00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31)
00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)
01:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Jet PRO [Radeon R5 M230] (rev c3)
02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5229 PCI Express Card Reader (rev 01)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)

La radeon est donc reconnue.

Pourriez-vous m’aider svp ?

Merci

Bonjour,

Le mot clé est “hybrid”. Voici ce que préconise le wiki debian (à vérifier) :

Vérifier que les deux cartes sont bien là

$ xrandr --listproviders

Attribuer les calculs les plus gourmands à la carte la plus capable

$ xrandr --setprovideroffloadsink radeon Intel

Vérifier que les paramètres sont bien passés

$ DRI_PRIME=1 glxinfo | grep "OpenGL renderer"

Utiliser la variable d’environnement DRI_PRIME pour les programmes gourmands (jeux ou autres).

réf :

[AtiHowTo - Debian Wiki

  1. AMD/ATI Open Source Drivers (radeon, r128, mach64)
  2. Hybrid Graphics
  3. Debian Stretch](https://wiki.debian.org/AtiHowTo#Debian_Stretch_.28testing.29)

Bonjour Jcsm33, je te remercie de te pencher sur mon problème !

Je ne connaissais pas Hybrid malgré toutes mes recherches, c’est déjà une source à exploiter.

Voici les retours des commandes sus-citées:
$ xrandr --listproviders

    Providers: number : 2
Provider 0: id: 0x73 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 2 outputs: 2 associated providers: 0 name:modesetting
Provider 1: id: 0x4f cap: 0xd, Source Output, Source Offload, Sink Offload crtcs: 0 outputs: 0 associated providers: 0 name:HAINAN @ pci:0000:01:00.0


xrandr --setprovideroffloadsink radeon Intel:

Could not find provider with name radeon

Voilà, là je reste bloqué du coup car je ne sais pas traduire ce qu’il me dit…

Merci pour ton aide !

Alors il faut un petit peu adapter la deuxième commande en fonction des résultats de la première.

Dans le cas étudié, les deux cartes se nomment : modesetting et HAINAN @ pci:0000:01:00.0(lire le paramètre name:)

La commande adaptée ressemble donc peut-être à

$ xrandr --setprovideroffloadsink "HAINAN @ pci:0000:01:00.0" modesetting

En version courte, il paraît qu’on peut mettre les numéros à la place des noms :

$ xrandr --setprovideroffloadsink 1 0

Bon, il paraît aussi que si c’est modesetting qui s’affiche, en principe, pas besoin de faire la configuration à la main, c’est supposé être automatique.

Voici le retour des commandes:

xrandr --setprovideroffloadsink "HAINAN @ pci:0000:01:00.0" modesetting


Could not find provider with name HAINAN @ pci:0000:01:00.0

Et…

xrandr --setprovideroffloadsink 1 0


Could not find provider with index 1

Je te remercie de m’aider, ce qui me frustre le plus c’est que je ne connais poas la mécanique du problème, si tu pouvais un peu développer stp. ^^

En tout cas merci !

Bonsoir,

Après réinstallation de ma Debian pour la passer sur le ssd j’ai recommencé les commandes que tu m’as cité… et ça marche:

xrandr --setprovideroffloadsink “HAINAN @ pci:0000:01:00.0” modesetting:

OpenGL renderer string: Gallium 0.4 on AMD HAINAN (DRM 2.48.0 / 4.9.0-3-amd64, LLVM 3.9.1)

Je ne sais pas pourquoi ça ne fonctionnait pas avant…

PAr contre si j’exécute cette commande:

lspci -nn | grep VGA

Elle me retourne:

00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 530 [8086:1912] (rev 06)

Du coup je ne sais pas si ma radeon est bien prise en charge.

Cordialement.

Pour être sûr, passe le dernier test

$ DRI_PRIME=1 glxinfo | grep "OpenGL renderer"

Il est possible que le modesetting permette la bascule automatiquement lorsque le programme demande OpenGL.

Il faudrait que quelqu’un d’autre passe par ici pour confirmer.

C’est bizarre, j’ai effectué trois fois la commande, voici les retour:

1 - OpenGL renderer string: Gallium 0.4 on AMD HAINAN (DRM 2.48.0 / 4.9.0-3-amd64, LLVM 3.9.1)

2 - radeon: Failed to allocate virtual address for buffer:
radeon: size : 65536 bytes
radeon: alignment : 4096 bytes
radeon: domains : 4
radeon: va : 0x0000000000800000
radeon: Failed to deallocate virtual address for buffer:
radeon: size : 65536 bytes
radeon: va : 0x800000
radeon: Failed to allocate virtual address for buffer:
radeon: size : 65536 bytes
radeon: alignment : 4096 bytes
radeon: domains : 4
radeon: va : 0x0000000000800000
radeon: Failed to deallocate virtual address for buffer:
radeon: size : 65536 bytes
radeon: va : 0x800000

Et le troisième est le même que le deuxième…

Point positif : c’est bien la radeon qui est appelée dans les trois cas.

Essayer sans le paramètre DRI_PRIME=1

Effectivement, c’est une bonne nouvelle, c’est peut-être dû à un problème de pilote non ? J’ai tenté d’installer le pilote radeon pro mais pas réussi.

Sans le DRI_PRIME=1 j’ai obtenu ceci lors de trois essais consécutifs:

OpenGL renderer string: Mesa DRI Intel® HD Graphics 530 (Skylake GT2)

:slight_smile:

Qu’est-ce que le pilote radeon pro dans debian ?

Si ce n’est pas déjà fait, il manque peut-être le paquet non libre firmware-amd-graphics.

Le paquet firmware-amd-graphics est bien installé.
Et concernant le pilote Radeon pro voici ce que j’avais trouvé mais pas compatible Debian :frowning:
http://support.amd.com/en-us/kb-articles/Pages/AMD-Radeon-GPU-PRO-Linux-Beta-Driver–Release-Notes.aspx

Ça n’a pas l’air non plus compatible au niveau du matériel : le R5 n’est pas mentionné.

Ah, j’avais même pas remarqué… Faut dire qu’autrement, si ça l’était, il aurait été implanté dans les dépôts non-free.

En tout cas j’ai l’accélération matérielle: Blender affiche les résultats assez vite et glxgears tourne à environ 60 fps, tu penses que mon problème est réglé ?

Si tout ça se fait bien avec la radeon comme souhaité au début alors oui.