web-dev-qa-db-ja.com

専用のAMD Radeon GPUはXでは利用できませんが、Waylandでは利用できます

Xセッションを使用する場合、DRI_PRIME=1を設定してもIntel HD Graphics 520からAMD Radeon R5 M330に切り替わりませんが、Waylandでは正常に機能します。

Xセッションでのxrandr --listprovidersの出力:

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日前)に起こったので、何かの更新が原因だと思います。

1
Tooniis

彼の回答で提供されたリンクppetrakiの回答の1つに従って、Option "DRI" "3"/etc/X11/xorg.conf.d/20-intel.confに追加しました。セッションを再開した後、すべてが再び機能していました。 xrandr --listprovidersはまだAMD GPUをリストしていませんが、DRI3はそれを必要としないようです。

DRI_PRIME=1 glxgearsの実行中にradeontopを介してGPUアクティビティを監視することで、この修正の効果を確認できました。

2
Tooniis

正気を保つために、私はradeonカーネルドライバーをブラックリストに登録し、lspci -k -nn -s GPU_SLOTを実行してGPUにバインドされていないことを確認します。

これで準備は完了です。自動検出の犠牲にならないように、定義された構成を使用するように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

https://www.phoronix.com/forums/forum/linux-graphics-x-org-drivers/open-source-AMD-linux/856386-hybrid-graphics-intel-AMD をご覧ください。 =

1
ppetraki