web-dev-qa-db-fra.com

GPU AMD Radeon dédié non disponible sur X mais disponible sur Wayland

Réglage DRI_PRIME=1 ne passe pas de l'Intel HD Graphics 520 à l'AMD Radeon R5 M330 lors de l'utilisation de la session X, mais cela fonctionne très bien sur Wayland.

Sortie de xrandr --listproviders sur la session X:

Providers: number : 1
Provider 0: id: 0x46 cap: 0x9, Source Output, Sink Offload crtcs: 4 outputs: 3 associated providers: 0 name:Intel

radeontop détecte le GPU AMD, tout comme lspci | grep AMD:

01:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Sun XT [Radeon HD 8670A/8670M/8690M / R5 M330 / M430 / R7 M520] (rev 83)

Il utilise le module de noyau amdgpu.

Cela s'est produit récemment (il y a environ 3 jours), donc je pense qu'une mise à jour de quelque chose l'a causé.

1
Tooniis

Suite à l'une des réponses sur le lien ppetraki fourni dans sa réponse, j'ai ajouté Option "DRI" "3" à /etc/X11/xorg.conf.d/20-intel.conf, et après une session redémarrez tout fonctionnait à nouveau. xrandr --listproviders ne répertorie toujours pas le GPU AMD, mais apparemment DRI3 n'en a pas besoin.

J'ai pu confirmer l'effet de ce correctif en observant l'activité du GPU via radeontop lors de l'exécution de DRI_PRIME=1 glxgears.

2
Tooniis

Juste pour garder votre raison, je mettrais sur liste noire le pilote du noyau radeon et je m'assurerais qu'il n'est pas lié au GPU en exécutant lspci -k -nn -s GPU_SLOT.

Une fois que tout est réglé. Forcez votre amdgpu à utiliser une configuration définie afin de ne pas devenir victime de la détection automatique.

# /etc/X11/xorg.conf.d/20-amdgpu.conf
Section "Module"
    Load "dri3"
    Load "glamoregl"
EndSection

Section "Device"
  Identifier "AMD"
  Driver "amdgpu"
  Option "Accel" "on"
  Option "AccelMethod" "glamor"
  Option "TearFree" "auto"
  Option "DRI" "3"
EndSection

Veuillez voir, https://www.phoronix.com/forums/forum/linux-graphics-x-org-drivers/open-source-AMD-linux/856386-hybrid-graphics-intel-AMD =

1
ppetraki