[SOLVED] DRI_PRIME=1 for a steam game without function

Hall together,

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.

1 Like

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

2 Likes

Thanks, that also works with DRI_PRIME=1! I just don’t quite understand why that makes a difference.

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.

1 Like

but how does the selection come about? Apart from the one game, everything so far respects the 1

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.

vulkan applications can choose which gpu to use themselves.

the exclamation mark means to only expose that specific gpu to the application if it is using vulkan (so it can only choose that gpu)

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.

1 Like

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 -.-

Try:
DRI_PRIME=1 DXVK_FILTER_DEVICE_NAME=“AMD Radeon RX 7700S (RADV NAVI33)” %command%

ok that works, even if I don’t understand it now

Maybe this snipped from the Arch Wiki will help?

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.

https://wiki.archlinux.org/title/PRIME

1 Like

ok thanks, that works. Thank you very much, I must have missed that.

1 Like

Happy to help :slight_smile:

1 Like