Вчера я решил изучить, как переключить между моим низким потреблением энергии 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
Я должен упомянуть, что вхожу в сессию GNOME с помощью Xorg на Ubuntu 17.10. Я хотел бы смочь переключиться назад на мой R6, таким образом, любая справка очень ценится.
Я никогда не использовал --setprovideroffloadsink
. Я просто предварительно ожидаю DRI_PRIME=1
к программе, которую я хочу использовать со своим dGPU. Это всегда хорошо работало.
Можно проверить использование GPU с radeontop
видеть, используется ли это действительно. Хотя у меня есть гибридная графика с Intel+AMD. Я не знаю что radeontop
шоу с 2 AMD GPU.