Forcing Steam to run on the iGPU

Hello.

I'm using
cat /sys/bus/pci/devices/0000:01:00.0/power/runtime_status
to check whether my dGPU is being used (Laptop; Lenovo LOQ Intel with an RTX 4050), and shortly, every time I launch Steam, the command returns
active
and then it returns to
suspended
some 10 seconds after closing Steam, so I believe it's Steam that's causing the dGPU to start.

I've tried various combinations of the following env vars:

DRI_PRIME=0
__GLX_VENDOR_LIBRARY_NAME=mesa
__NV_PRIME_RENDER_OFFLOAD=0
__NV_PRIME_RENDER_OFFLOAD=1
__VK_LAYER_NV_optimus=non_NVIDIA_only


I've tried running the Steam launcher using switcherooctl:

switcherooctl launch --gpu=0 /usr/bin/flatpak run --branch=stable --arch=x86_64 --command=/app/bin/steam --file-forwarding com.valvesoftware.Steam @@u %U @@


I'm using Steam as a Flatpak because I'm on Aurora, but this should apply to Bazzite as well, I think, Flatpak or not.

I just don't like the Steam client (which on desktop I leave open all the the time) using the dGPU and consuming battery.

Ideally, I would like to make the client run using the iGPU and SOME games run on the dGPU. I know how to force games to use the dGPU, I just don't know how to force Steam client to use the iGPU and only the iGPU.

Any help with this is greatly appreciated.
Was this page helpful?