Basically I have a system with several dedicated NVIDIA graphics cards (not integraded-dedicated GPU setup for laptops), and I want to be able to tell Unreal which one to use on an per-launch basis. That means that I don’t want to change NVIDIA settings each time I want an app to run on a different GPU, and I definitely don’t want to go to BIOS. Is there any way to do this? I’ve seen games on other engines having an ability to choose GPU in their in-game settings, but none of them were running on any version of UE.
Turns out, there is a console variable for that — r.GraphicsAdapter
, set in Engine.ini
or DefaultEngine.ini
when in editor.
It would be nice if there were a way to specify the GPU to use at launch via the command line. Is that possible?
Hmm I’ve only seen -preferintel and -prefernvidia as command-line options (To switch between integrated and dedicated). But I haven’t gone deep into the code.
It would be quite handy to have a way to set this at runtime via command-line arguments or environment variable without having to edit an INI file for scripting purposes, especially in Linux.
EDIT: looks like adding r.GraphicsAdapter=2
to CarlaUE4/Saved/Config/LinuxNoEditor/Engine.ini has no impact, CARLA (UE4 powered) is still running on GPU 0 on my Ubuntu 16.04 machine
EDIT 2: Other users are reporting the r.GraphicsAdapter setting not working, tried it in ConsoleVariables.ini as well.
I figured out how to select a specific gpu in UE5!!
This is working only on a mac if I’m not mistaken
Does anyone have luck on win? I have 2 nvidias - old and new and I am not able to use the new one, since it is not the primary system GPU.
Thanks.
Just do -graphicsadapter=<number>
in commandline args.
This answer changed my life!!
Despite all 3 of my GPUs supporting Vulkan, I would get an error “could not find a compatible vulkan device that supports surface presentation”.
Specifying the third (external) gpu (index no. 2) was a miracle cure, and a miracle diet. I’ve lost 50lbs, and I have a new lease on life now.
Can you use the DRI_PRIME environment variable for the same effect? If the game is outputting over vulkan, you should be able to use DRI_PRIME=n! to only expose graphics adapter n to the game.