Thank you, this seems to have worked! I appreciate it very much =)
I never saw it written anywhere so here’s the exact steps I took, for future people:
List the cards to have a look.
ls /dev/dri
by-path card0 card1 renderD128 renderD129
Find which device is which card:
ls -l /dev/dri/by-path/
total 0
lrwxrwxrwx 1 root root 8 Jun 27 16:07 pci-0000:04:00.0-card -> ../card1
lrwxrwxrwx 1 root root 8 Jun 27 16:07 pci-0000:04:00.0-platform-simple-framebuffer.0-card -> ../card0
lrwxrwxrwx 1 root root 13 Jun 27 16:07 pci-0000:04:00.0-render -> ../renderD128
lrwxrwxrwx 1 root root 8 Jun 27 16:07 pci-0000:0b:00.0-card -> ../card0
lrwxrwxrwx 1 root root 13 Jun 27 16:07 pci-0000:0b:00.0-render -> ../renderD129
So, pci-0000:04:00.0-card -> ../card1
and pci-0000:0b:00.0-card -> ../card0
.
We confirm which one is which with lspci again:
❯ lspci -nn | rg -S vga
04:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] [1002:67df] (rev e7)
0b:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21 [Radeon RX 6950 XT] [1002:73a5] (rev c0)
Radeon RX 6950 XT
→ 0b:00.0
→ card0
needs to be first (why isn’t it already?: A mystery).
So then I added
KWIN_DRM_DEVICES=/dev/dri/card0:/dev/dri/card1
to /etc/environment
and now glxinfo | rg "OpenGL vendor|OpenGL renderer"
is correct and the wrong gpu fans ain’t spinning after login - happy days.