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
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 @@
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.
6 Replies
Lauren
Lauren2mo ago
I thought this can be controlled with environment variables. Can you hide the existence of the discrete GPU from Steam?
Corpacra ✓
Corpacra ✓OP2mo ago
Other than using the above env vars and switcherooctl, I don't have any idea about how to hide the dGPU from Steam
Raevenant
Raevenant2mo ago
You could probably just turn off hardware acceleration in the settings if you wanted It'll make Steam graphics run on the CPU iirc
Corpacra ✓
Corpacra ✓OP2mo ago
All GPU-related settings are set to "off" on Steam, really don't know how to force it to stick to the integrated GPU.
iMightBeSpyduck
iMightBeSpyduck2mo ago
How did you set env variables? Flatpak is sandboxed and you need to set up env variables special way. You can use applications like flatseal or even KDE settings have section for configuring flatpaks
Corpacra ✓
Corpacra ✓OP2mo ago
I tried that already, via command line and also using Flatpak overrides with and without Flatseal. GPU still turns on after all I've tried.

Did you find this page helpful?