[RESPONDED] MUX switch toggle in BIOS?

According to other topics, Framework laptop 16 has a MUX switch. So why is there no option to set the MUX switch in BIOS? Are there any plans to add this feature in future BIOS updates?

2 Likes

Isn’t that supposed to be switched dynamically?

But it doesn’t always work properly especially on Linux it can be problematic. A large portion of laptops with MUX switch have the option in the BIOS to choose whether to use igpu only or auto switching or dgpu only.

I use Linux and according to their Linux installation guide you have to run every program that is supposed to use dgpu using the DRI_PRIME=1 command. This is annoying and I am not sure if it even uses the MUX chip because according to the documentation I was able to find this solution is intended for MUXless laptops.

So I would prefer to be able to disable igpu in BIOS to use only dgpu for gaming or disable dgpu and use only igpu when I travel and need long battery life.

1 Like

Strictly speaking, this is actually a configuration problem of the programs themselves as Freedesktop offer a portal to tag programs which should run on the most powerful GPU a system has available. See The Linux 'Desktop Entry Specification' gets a way to automatically use a discrete GPU, merged into GNOME | GamingOnLinux and Desktop Entry Specification

As far as I know the point of dri_prime is to offload rendering to the gpu and display on igpu but they may have integrated the muxing into that too.

Maybe something like this may help.

According to this page List of Gaming Laptops with MUX Switch & Advanced Optimus - Jarrod's Tech, a laptop with MUX switch and no BIOS toggle seems to be a pretty rare combination. So I think it would be a nice feature to add in a BIOS update.

1 Like

Installing another program is an unnecessary complication and I’m not sure if supergfxctl will allow you to use dgpu only mode on anything other than ASUS.

I’d prefer an os level switch over a bios one but that’s just me I guess.

But anyway this was just an idea that may or may not work.

1 Like

DRI_PRIME=1 just means that the rendering device should be the second one.
so if you have a third gpu, it would be DRI_PRIME=2

It doesn’t explicitly control the mux at all. I’m sure that is up to the window manager, and I suspect that under X11 it isn’t even possible to dynamically change it. Wayland has protocols in place for it, but I also don’t know if it’s being used at all.

Regardless, on my MSI A4DEK even copying a 4k framebuffer seems to hardly impact performace at all, so I don’t even know if using a mux is really worth it unless you’re a competitive gamer.

Re having to set the env var for games you want on the dGPU, I had that Steam on Fedora tried to do that by default, but I disabled it as I don’t want Steam itself to use my dGPU, only a few specific games myself.

I have a laptop with iGPU, dGPU and an eGPU and struggled to get DRI_PRIME to utilize the eGPU instead of the dGPU despite what I set as the render device.

I prefer an os-level switch as well, assuming it works. However, I don’t trust those systems to work reliably, and so I also want a bios level switch that forces a given mode so the os doesn’t have the opportunity to mess it up if I’ve having issues.

1 Like

Funnily enough I was pleasantly surprised how well DRI_PRIME just worked when I played with egpus, if the egpu was there and loaded in amdgpu it uses the egpu otherwise the igpu, that stuff was a lot messier last time I was playing around with prime stuff.

You aren’t using an nvidia gpu in the egpu are you?

Options are great, would smokeless help there in the meantime?

Nvidia dGPU and eGPU. The driver support issues are real :-
The issue I had was if the eGPU was connected and I used DRI_PRIME it would render on the dGPU regardless of what number I provided.

Now that laptops are shipping I guess I should also mention this is not on a Framework laptop, it’s a Razor.

Well yeah, nvidia gpu on linux is asking for pain, nvidia hybrid graphics on linux is asking for turbo pain, nvidia hybrid graphics…

3 Likes

The OS-level switch is more convenient but only when it works and when you are using a supported OS. Having a BIOS-level switch does not mean losing the OS-level switch. And having both is better than having only one.

I am not worried about performance, but compatibility issues. For example, there is still an unresolved bug on GitHub that supposedly causes Steam not to open when run with DRI_PRIME=1. A switch in the BIOS seems to me like a more bulletproof solution.

Yes, don’t run Steam with DRI_PRIME=1. Funky things can happen.
As I mentioned I disabled it, just enable it on a per-game level by setting the “command” in steam to be DRI_PRIME=1 %command%.

I have 2 notebooks with hybrid gpus that work great under Linux. One is an Intel+AMD system, the other an AMD+AMD system. DRI_PRIME env var just works, and works well.

Had a Nvidia system… I’m just glad that FW16 is Nvidia free…

1 Like

I’d guess the BIOS switch could be trouble on FW16 because you could switch to dgpu only and then remove the module, which is not a scenario that other laptops run into.

But I do see OS mux support is much better on Windows (where AMD software covers it) than Linux (maybe works with prime???), so it would be nice to have another option for Linux (or other OS)

1 Like

That could be the reason. Although I don’t think it would necessarily be that big of a deal. Firstly, people probably won’t remove the graphics card that often. Secondly, on a desktop PC, it’s not a problem to remove the graphics card and use an iGPU. Indeed, the desktop PC doesn’t have a MUX, but the expansion cards are connected directly to the iGPU. So, even if there were no way to detect the removal of the graphics card and automatically reset this setting, it should still be possible to connect an external monitor to one of the expansion card slots and change this setting using the external monitor.

DRI_PRIME=1 is recommended in the setup guide. However, it seems that this solution is designed for MUXless laptops, thus not taking advantage of the MUX. Consequently, having the MUX chip appears to be useless.

Why would you need to run steam on the dgpu? It’s a glorified webbapge, the igüu handles that just fine. But anyway bug is bug.

A bios switch could be a preference not an iron-fisted rule, I doubt that would be an actual issue.

You’re right that running Steam with the dGPU is unnecessary. That was just an example to illustrate that not every application functions properly with DRI_PRIME=1. The only advantage would be that if you do that, DRI_PRIME=1 should also be automatically applied to all games launched through Steam. Therefore, you wouldn’t have to manually adjust the launch options for each idividual game.

That would be great.

Fair enough. I’ll try if that works with my egpu if I don’t forget about it. Haven’t actually found something that didn’t work with dri_prime jet.