Launching a desktop entry using the secondary GPU on a system with two discrete GPUs

I am currently using a system with two discrete GPUs: an Intel Arc A380 and an AMD Radeon RX 6700 XT. The Arc is being used to drive the desktop and handle video codecs, while the Radeon is being used to handle gaming and general compute tasks.

The PrefersNonDefaultGPU desktop entry option (exposed in the menu editor as “Run using dedicated graphics card”) should, in theory, launch the associated application using my Radeon, as it is the non-default GPU in this setup. However, it appears to have no effect whatsoever on any application; all applications launch on my Arc whether that setting is true or false. I was especially shocked to discover when digging through the code that this behavior appears to be intentional: src/gui/gpudetection.cpp · ed310ec045282ded1f95c39534ab8bea2d1ce559 · Frameworks / KIO · GitLab

I am aware that I can just throw DRI_PRIME=1 into the env vars of each application and call it a day; however, this is a less than ideal solution, especially considering that quite a few applications ship with the PrefersNonDefaultGPU setting enabled by default. The intent is clearly there for the more powerful GPU to be used in those applications; why do I have to modify the desktop entry to add what is effectively the same thing?

I am also aware that not every setup is like mine. I’m aware of a few setups that have the more powerful card as their primary, with the less powerful card used for more specialized tasks that it might handle better - and in those cases, if the option actually worked as the name implies it does, it would be a clear downgrade. Maybe some kind of global setting to select the preferred GPU in these cases would be beneficial?