Personally to me this article plus that I recently got a laptop with 2 radeons cards, has woken up a curiosity of how multi gpu works on Windows.
Turns out, it's pretty bad. On GNU/Linux you set DRI_PRIME variable to choose which graphics card an application has to use. But on Windows it's complicated. They have opengl32.dll, which acts as a proxy to real vendor libraries. It's similar to GLVND. Except that (as far as I have read) neither it use any env. variables, nor it have an API to choose a GPU. The algorithm to choose a GPU is to simply use the one that manages your screen; also it's undocumented, hence unreliable.
So, if you have multiple cards on Windows, of course you'd like to use a weaker one by default. And unfortunately if you want to run a game, it'd use the weaker card too. There are multiple hacks for application to choose another card, but they're all unreliable, and only works with specific combinations of vendor cards.
I, kind of, proud to know, that graphics in GNU/Linux is more advanced than Windows
Turns out, it's pretty bad. On GNU/Linux you set DRI_PRIME variable to choose which graphics card an application has to use. But on Windows it's complicated. They have opengl32.dll, which acts as a proxy to real vendor libraries. It's similar to GLVND. Except that (as far as I have read) neither it use any env. variables, nor it have an API to choose a GPU. The algorithm to choose a GPU is to simply use the one that manages your screen; also it's undocumented, hence unreliable.
So, if you have multiple cards on Windows, of course you'd like to use a weaker one by default. And unfortunately if you want to run a game, it'd use the weaker card too. There are multiple hacks for application to choose another card, but they're all unreliable, and only works with specific combinations of vendor cards.
I, kind of, proud to know, that graphics in GNU/Linux is more advanced than Windows
Comment