Gnome 43: gnome-shell forces itself onto dGPU instead of using iGPU in PRIME Render Offloading setups using Wayland
Affected version
Arch Linux.
Happens both on linux (6.0.9) and linux-lts (5.15) kernels
- gnome-shell 43.1-2
- gdm 43.0-1
- nvidia 520.56.06
Bug summary
Back in Gnome 42, you could set up PRIME Render Offloading for Wayland if you had an nVidia GPU following https://wiki.archlinux.org/title/PRIME#PRIME_render_offload and you could achieve great power consumption (GPU was almost powered off) and at the same time use you GPU by just using the prime-run command.
After updating to Gnome 43, a few users including myself that had this set up like this, noticed that a gnome-shell process was forcing itself onto the nVidia GPU, and thus not letting the GPU power down successfully.
glxgears -info still says it's using the intel GPU, and prime-run glxgears -info still says it's using the nVidia GPU. The problem is not that PRIME Render offloading isn't working. It is. The problem is that gnome-shell 43 is forcing itself into the nvidia GPU instead of using the iGPU.
Steps to reproduce
Follow https://wiki.archlinux.org/title/PRIME#PRIME_render_offload Boot on Gnome 43, execute nvidia-smi and see that gnome-shell has a 1MiB process keeping the nVidia card powered on.
What happened
Gnome 43 forces gnome-shell onto the nvidia GPU.
What did you expect to happen
Gnome 43 gnome-shell was running on iGPU (i915)
Relevant logs, screenshots, screencasts etc.
https://www.reddit.com/r/Fedora/comments/z29edh/how_to_force_waylandgnomeshell_to_use_igpu/