专用的 AMD Radeon GPU 在 X 上不可用,但在 Wayland 上可用

专用的 AMD Radeon GPU 在 X 上不可用,但在 Wayland 上可用

使用 X 会话时,设置DRI_PRIME=1不会从 Intel HD Graphics 520 切换到 AMD Radeon R5 M330,但在 Wayland 上运行良好。

xrandr --listprovidersX 会话的输出:

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

为了让您保持理智,我将把 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

请参见,https://www.phoronix.com/forums/forum/linux-graphics-x-org-drivers/open-source-amd-linux/856386-hybrid-graphics-intel-amd

答案2

按照 ppetraki 在他的回答中提供的链接中的一个答案,我添加到Option "DRI" "3"/etc/X11/xorg.conf.d/20-intel.conf会话重新启动后一切都恢复正常。xrandr --listproviders仍然没有列出 AMD GPU,但似乎 DRI3 不需要它。

radeontop通过运行时观察 GPU 活动,我能够确认此修复的效果DRI_PRIME=1 glxgears

相关内容