Open EzraT opened 2 years ago
Still present in alpha16
May need another ticket, but I experience this issue on Linux system as well. No matter what environmentals I pass to the command, Godot 4 will never use my iGPU, unless I explicitly power down the dGPU.
Interestingly vkcube exhibits the same behaviour, and during my research on this topic a commenter suggests this might be a intended (but in my opinion, bad) behaviour.
https://bbs.archlinux.org/viewtopic.php?pid=2060946#p2060946
If this commenter is correct and Godot is making the same decision, I definitely vote that Godot not be greedy and honour the user's requested GPU.
This is still an issue I am running into, I have a Linux laptop with intel integrated graphics and a dedicated graphics card. I cannot get the entirety of the editor/engine to run only on the iGPU, passing --gpu-index 0
(the iGPU, dedicated is 1) to just godot4
does not change anything in the editor, but doing godot4 --gpu-index 0 ~/Projects/projectname/project.godot -e
does make the editor itself run on the integrated. However, running the project/scene makes the new window/rendering run on the dGPU. It seems like it does not pass requested GPU to any subsequent rendering contexts, project manager > editor > project/scene.
The forwarding of --gpu-index
had already been fixed in #75198.
Is there a system-wide GPU preference for any DE on Linux?
Godot version
v4.0.alpha3.official [256069eaf]
System information
Windows 10, Vulkan, Hybrid Laptop - AMD iGPU(Ryzen 7 4800HS) + GTX 1660 Ti Max-Q
Issue description
Godot 3 always picks the correct GPU to use based on which power profile/settings are active in Windows, (Integrated low power GPU when on power saving, high performance dedicated GPU when on AC power). Godot 4 currently always fails to do this on my system, it always picks the high performance GPU regardless of whatever power profile is active. This makes testing on different GPU's on multi GPU systems a tedious process, I understand you can use --gpu-index to manually select which GPU to use, but this launch option does not persist correctly in the editor.
When I run the editor like this: .\godot.exe --gpu-index 1 --path "path\to\project" -e (gpu-index 1 being my integrated GPU, and 0 the high powered one.)
The editor opens up fine with the chosen GPU, but when I run the game for testing (F5 or F6) in the editor afterwards, it just opens up with the high performance GPU again, ignoring everything else.
Not sure if this happens on Linux, I don't have a multi-GPU device running Linux at the moment, so I can't test. Perhaps someone else with a multi-GPU setup running Linux could test this.
Steps to reproduce
Put your system on a power saving profile or force the Godot4 executable to use the Power Saving setting in Windows, which you can set in the "Graphics Settings" pane.![image](https://user-images.githubusercontent.com/781121/155158927-2821562a-1559-4f8a-8f5c-69cd1be8c0f8.png)
Then run Godot 4 in a terminal window to see which GPU its using.
Minimal reproduction project
Not Applicable