Настройка DRI_PRIME=1
не переключается с Intel HD Graphics 520 на AMD Radeon R5 M330 при использовании сеанса X, но она отлично работает на Wayland.
Вывод xrandr --listproviders
в сеансе X:
Providers: number : 1
Provider 0: id: 0x46 cap: 0x9, Source Output, Sink Offload crtcs: 4 outputs: 3 associated providers: 0 name:Intel
radeontop
обнаруживает AMD GPU, и так же 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)
Он использует amdgpu
модуль ядра.
Это произошло совсем недавно (около 3 дней назад), поэтому я думаю, что обновление чего-то вызвало это.
После одного из ответов на ссылке ppetraki обеспеченный в его ответе, я добавил Option "DRI" "3"
к /etc/X11/xorg.conf.d/20-intel.conf
, и после перезапуска сессии, все работало снова. xrandr --listproviders
все еще не перечисляет GPU AMD, но по-видимому DRI3 не нужно это.
я смог подтвердить эффект этой фиксации путем наблюдения действия GPU до radeontop
при выполнении DRI_PRIME=1 glxgears
.
Только для хранения исправности я поместил бы в черный список драйвер ядра Radeon и удостоверился бы, что это не связывает с GPU путем выполнения lspci -k -nn -s GPU_SLOT
.
, После того как это все установлено. Вынудите свой amdgpu использовать определенную конфигурацию, таким образом, Вы не становитесь жертвой автоматического обнаружения.
# /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