I bought the game Outpost Infinity Siege yesterday and wanted to start it once, but when I enter “DRI_PRIME=1 %command%” and select proton, the dGPU is not used.
This can be recognized by the load via Mission Control.
I use Fedora 40 Atomic and I installed steam via rpm-ostree.
use DRI_PRIME=1002:7480! - it should work reliably with the only dgpu out as of writing (forces dgpu by pci device id and exposes only that device to vulkan applications, fixing both “vulkan applications get to choose themselves” and “dgpu may occasionally be device 0” but introducing “potential future dgpus will have a different vendor id and device id so this will break”)
reference for DRI_PRIME
the ! appended means to only expose that particular dgpu to vulkan (its probably enough on its own for you but it may possibly not be) and the 1002:7480 is the vendor id and device id of my own dgpu (they are the same for that particular model of device for everyone)
for future dgpus: lspci -nn | grep VGA will give you the pci device ids you need
As far as I understand it 1 means put 1 at the top of the list and 1! means only use 1. Without the ! it can still choose to pick something else if it wants to.
Software usually just takes the first one in the list and runs with it but it doesn’t have to, some application can even use multiple. Steam is probably aware it’s a glorified website and deliberately picks the lowest power gpu it can find in the list instead.
That part was discussed earlier, this one was more guessing why steam may deliberately choose to use the igpu.
Could be it deliberately goes for the igpu because it’s marked as less power or because it has more memory available or something, don’t know how much info the application gets to choose by.
ok i switched from fedora to arch yesterday, now when i want to start the game with DRI_PRIME=1002:7480! it is ignored and it uses the cpu which paralyzes the whole pc -.-
2.1 For open source drivers - PRIME
…
For DRI_PRIME to work on Vulkan applications vulkan-mesa-layers needs to be installed, as well as lib32-vulkan-mesa-layers for 32 bit applications.