我在 Ubuntu 17.10 中使用 Prime 在两个 AMD GPU 之间切换时遇到了问题

我在 Ubuntu 17.10 中使用 Prime 在两个 AMD GPU 之间切换时遇到了问题

昨天我决定学习如何使用 Prime 在笔记本电脑中切换低功耗 GPU 和独立 GPU。我首先运行以下命令:xrandr --listproviders

我得到了以下结果:

Providers: number : 2
Provider 0: id: 0x75 cap: 0x9, Source Output, Sink Offload crtcs: 3 outputs: 3 associated providers: 1 name:AMD Radeon R6 Graphics @ pci:0000:00:01.0
Provider 1: id: 0x3f cap: 0x4, Source Offload crtcs: 0 outputs: 0 associated providers: 1 name:AMD Radeon (TM) R7 M360 @ pci:0000:03:00.0

然后我运行这个命令来切换到我的独立 GPU:

xrandr --setprovideroffloadsink 1 0

执行该命令后我的 GPU 得到了以下结果DRI_PRIME=1 glxinfo | grep "OpenGL renderer"

OpenGL renderer string: AMD Radeon (TM) R7 M360 (AMD ICELAND / DRM 3.18.0 / 4.13.8-041308-generic, LLVM 5.0.0)

但是现在,当我尝试切换回使用低功率的 Radeon R6 时,xrandr --setprovideroffloadsink 0 1我得到了:

X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  34 (RRSetProviderOffloadSink)
  Value in failed request:  0x75
  Serial number of failed request:  16
  Current serial number in output stream:  17

我应该提到我正在使用 Ubuntu 17.10 上的 Xorg 登录 GNOME 会话。我很想能够切换回我的 R6,所以任何帮助我都非常感谢。

答案1

我从未使用过--setprovideroffloadsink。我只是将其添加DRI_PRIME=1到我想与我的 dGPU 一起使用的程序中。它一直运行良好。

你可以使用来检查你的 GPU 使用情况,radeontop看看它是否真的被使用了。虽然我有 Intel+AMD 的混合显卡。但我不知道radeontop2 个 AMD GPU 会显示什么。

相关内容