Зависают иксы при использовании DRI_PRIME=1 на amd

OS: Arch Linux x86_64
Host: 20388 Lenovo B50-45
Kernel: 5.7.11-arch1-1
DE: Plasma
WM: KWin
CPU: AMD A8-6410 APU with AMD Radeon R5 Graphics (4) @ 2.000GHz
GPU: AMD ATI Radeon R4/R5 Graphics (встройка)
GPU: AMD ATI Radeon HD 8550M / R5 M230 (дискретка)
$ uname -a
Linux potato-pc 5.7.11-arch1-1 #1 SMP PREEMPT Wed, 29 Jul 2020 21:38:21 +0000 x86_64 GNU/Linux
Система видит обе видеокарты
$ lspci -k | grep -i -E "(vga|display)"
00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Mullins [Radeon R4/R5 Graphics] (rev 05)
01:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Sun LE [Radeon HD 8550M / R5 M230]
Когда я использую DRI_PRIME=1, и когда не использую, у меня показываются разные видеокарты
$ glxinfo | grep "OpenGL renderer"
OpenGL renderer string: AMD KABINI (DRM 2.50.0, 5.7.11-arch1-1, LLVM 10.0.1)
$ DRI_PRIME=1 glxinfo | grep "OpenGL renderer"
OpenGL renderer string: AMD HAINAN (DRM 2.50.0, 5.7.11-arch1-1, LLVM 10.0.1)
Но стоит мне запустить любую программу не текстового вида, например
$ DRI_PRIME=1 steam
И у меня сразу же зависают иксы, как сделать что бы система не зависала при DRI_PRIME=1?
$ xrandr --listproviders
$ xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x54 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 2 outputs: 3 associated providers: 1 name:MULLINS @ pci:0000:00:01.0
Provider 1: id: 0x7c cap: 0xd, Source Output, Source Offload, Sink Offload crtcs: 0 outputs: 0 associated providers: 1 name:HAINAN @ pci:0000:01:00.0
Тут всё посмотрели? https://wiki.archlinux.org/index.php/PRIME
Да, на арч вики есть 1 пункт подходящий под мою проблему, но там ничего почти не сказанно, там написанно
Using DRI3 WITH a config file for the integrated card seems to fix this issue.
To enable DRI3, you need to create a config for the integrated card adding the DRI3 option:
Section "Device"
    Identifier "Intel Graphics"
    Driver "intel"
    Option "DRI" "3"
EndSection
Еще там есть примечание, что тестировалось на интел + амд
Note: This has been tested on a system with Intel+AMD
Я создал файл и записал в него следующее, возможно я что то не так записал или не так назвал файл, но проблема не исчезла
$ cat /etc/X11/xorg.conf.d/50-radeon.conf
Section "Device"
        Identifier  "Radeon"
        Driver      "radeon"
        Option "DRI3" "on"
        Option "DRI" "3"
EndSection
$ lspci -k | grep -A 2 -E "(VGA|3D)"
00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Mullins [Radeon R4/R5 Graphics] (rev 05)
        Subsystem: Lenovo Device 3819
        Kernel driver in use: radeon
$ lspci -k | grep -A 2 -E "(VGA|Display)"
00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Mullins [Radeon R4/R5 Graphics] (rev 05)
        Subsystem: Lenovo Device 3819
        Kernel driver in use: radeon
--
01:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Sun LE [Radeon HD 8550M / R5 M230]
        Subsystem: Lenovo Device 3819
        Kernel driver in use: radeon
Попробуйте xf86-video-amdgpu если у вас стоит другой драйвер прежде удалив его
Установите:
mesa mesa-vdpau vulkan-radeon
и если включен репозиторий мультилиб:
lib32-vulkan-radeon lib32-mesa-vdpau lib32-mesa
Возможно нужно будет в mkinitcpio.conf убрать radeon, не уверен, не должно влиять.
И ребутнуться

$ xrandr --setprovideroffloadsink 0x54 0x7c

Сравнить
$ DRI_PRIME=1 vblank_mode=0 glxgears .......тут фпс должен быть больше
и
$ DRI_PRIME=0 vblank_mode=0 glxgears

Запуск
$ DRI_PRIME=1 програма ...чтонить кроме steam
Dimushonok
Попробуйте xf86-video-amdgpu
Он у меня уже установленны, так же у меня стоит xf86-video-ati (они не конфликтуют), но при его удалении не грузится sddm

Dimushonok
Установите:
mesa mesa-vdpau vulkan-radeon
и если включен репозиторий мультилиб:
lib32-vulkan-radeon lib32-mesa-vdpau lib32-mesa
Это всё у меня так же стоит

Dimushonok
mkinitcpio.conf убрать radeon
У меня не прописан он, пытался прописывать, но результат не менялся

Dimushonok
$ xrandr –setprovideroffloadsink 0x54 0x7c
$ xrandr --setprovideroffloadsink 0x54 0x7c
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:  0x54
  Serial number of failed request:  16
  Current serial number in output stream:  17
Purpursarkans
Я создал файл и записал в него следующее, возможно я что то не так записал или не так назвал файл, но проблема не исчезла
Там ссылка на баг
и ещё одна https://bugs.kde.org/show_bug.cgi?id=324864
Связано с оконным композитом GL в kwin и подобных
Там пишут " Проблема исчезает, когда я переключаюсь на другое окно и обратно"
Насчёт конфига я не знаю, может опытные сюда зайдут подскажут.
Переключение окон alt-tab как временное решение может сработает.
 
Зарегистрироваться или войдите чтобы оставить сообщение.