Mutter’s primary gpu may be auto-selecting the integrated graphics if you’re still experiencing slowdowns. Check sudo journalctl -b --no-pager | grep "primary" | less
to confirm. That tells you which DRI device is being used (and if it gives you a driver name, you have your answer already). To find the gpu corresponding to DRI card, run udevadm info --query=all --name /dev/dri/cardX
(X being 0 or 1, depending on device enumeration order).
If it’s the wrong card, find the right card’s vendor and device ID with lspci -nn | grep NVIDIA
, for example mine returns 82:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA104 [GeForce RTX 3060 Ti Lite Hash Rate] [10de:2489] (rev a1)
.
Then, create a udev rule SUBSYSTEM=="drm", ENV{DEVTYPE}=="drm_minor", ENV{DEVNAME}=="/dev/dri/card[0-1]", SUBSYSTEMS=="pci", ATTRS{vendor}=="0x10de", ATTRS{device}=="0x2489", TAG+="mutter-device-preferred-primary"
, replacing vendor and device with your strings. I put it in /etc/udev/rules.d/61-mutter-gpu.rules
.
Once you reboot to enable the udev rules, you can confirm that Mutter selected the correct gpu by checking journalctl and checking that the DRI card listed as primary is indeed your nvidia card. Hope that helps, I also had the weird copy-mode pipeline performance issues that you seem to be experiencing.