iGPU + dGPU setup sometimes leaves dGPU "active", leading to increased power usage and heat
I have a laptop with hybrid graphics (vega APU + RX 5600M dGPU). It has several video outputs - USB-C (driven only by the vega) and HDMI + miniDP driven by the dGPU.
I'm normally using my laptop video output via USB-C to external monitor (laptop screen off) so only the vega is driving the monitor and doing everything. In this mode, the 5600M is really asleep (ULPS I guess) and it draws pretty much zero power.
When I want to play a game, I plug the monitor in via DisplayPort which obviously makes everything go through the 5600M, and I also have my games and such configured in windows to use the 5600M. And it works fine. (Reason I do this is because even though you can technically have the 5600M do rendering and present its buffer to the integrated Vega, it causes lower performance, increased power consumption and unnecessary instabilities).
But the problem is that sometimes, the 5600M will "stay awake" even if I go back to USB-C. And sometimes it will simply wake up randomly and then never go back into this low power state.
I can easily tell because the laptop is constantly warm and the power consumption in "absolute idle" goes from ~11W to about 30W.
I've figured a workaround that I use right now - I got myself devmanview utility and I'm triggering a restart of the dGPU (same as if you went to device manager and did a disable and enable
which lets it go back into sleep mode. (It also crashes the Radeon Software, but it autorestarts and everything is fine and dandy.)
Reason this works I guess is that whatever software has loaded and started getting itself rendered by the 5600M has either crashed or been forced to get itself "relocated" to the Vega.
Sometimes I go a week without this being a problem, and sometimes I wake up and realize the fan is running and I know somehow the GPU woke up and won't go "back to sleep" unless I do this again.
Does anyone know why this is happening? Has anyone here been dealing with this kinda problem? You might think, pff a few watts, big deal... but it matters to me. And also having the laptop be completely silent while I do normal browsing is awesome. With the 5600M it's almost always running the fans, even if at low speed.
Alternatively does someone have a simple way of checking which software might be using my dGPU? I know that task manager will show which GPU is used, but it only shows that for 3D stuff in most cases. It won't show for applications that are just requesting 2D drawcalls.