Since last update to switcheroo-control (v2.6 -> v3) games have been using the wrong GPU.
In fact, it appears that the GPU are switched: the default is set to the discrete nvidia GPU (switcheroo-control does see this as discrete), so when GPU intensive applications ask for the non default GPU they go to the integrated one.
$ switcherooctl list
Device: 0
Name: NVIDIA Corporation AD106M [GeForce RTX™ 4070 Max-Q / Mobile]
Default: yes
Discrete: yes
Environment: __GLX_VENDOR_LIBRARY_NAME=nvidia __NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only VK_LOADER_DRIVERS_SELECT=*nvidia*
Device: 1
Name: Advanced Micro Devices, Inc. [AMD/ATI] Phoenix1
Default: no
Discrete: no
Environment: DRI_PRIME=pci-0000_65_00_0 VK_LOADER_DRIVERS_SELECT=*radeon*
This was not an issue on switcheroo-control v2.6 as it just... does not work?
$ switcherooctl list
# nothing
Everything goes on the nvidia GPU, which works ok but is not ideal for the battery.
I was used to Solus doing that anyway (I missed the announcement about switcheroo-control apparently), so I never noticed 😅
For now I downgraded the package but it's not a good permanent solution and I know it may break at any update