On Nvidia Optimus and MUX Switch

Enming Yang
5 min readJan 12, 2021

--

In this article, I will be describing how Optimus works and how does it compare to the MUX Switch

First of all, what is Optimus?

Nvidia Optimus is a smart GPU switching technology developed by Nvidia, which solves the past problem of requiring the computer to restart or to close all applications that use the GPU in order to switch from integrated GPU to the dedicated GPU(or vice versa)

The diagram on how Optimus works

When an application starts, the Optimus driver will search an archive of software based on .exe file name, if it is an application with low GPU demand it will be handled by the IGP, for games, high-resolution videos, or applications that use CUDA acceleration, it will b handled by the discrete GPU

Only the iGPU exports to the display, the frame that is rendered by the dGPU will have to be passed to the iGPU by the Copy Engine through PCIe lanes then it will be outputted to the display

Nvidia will update their archive to be compatible with more applications and games in order to decide their preferred GPU. Users can choose which GPU to use as well in the Nvidia Control Panel’s Manage 3D Settings.

AMD has a similar set of system, called AMD Dynamic Switchable Graphics which runs on similar principles

Features

First, let’s talk about the benefits

Power Efficiency

In situations with a lower load, one can use the weaker but more power-saving GPU, while the dGPU idles at extremely low power consumption. This was the main issue to solve in last generation’s GPU switching

Seamless Switching

Previously, MUX(or multiplexor)was used for GPU switching, which required the device to restart in order for it to work. The additional hardware increased the cost of production.

The diagram for MUX

Later on, there is software switching as well, however, Windows XP and Vista did not support multiple GPU drivers, so they can only use a customized packaged driver; also for it to switch one needs to close all the applications that use the GPU and wait for around 5 seconds where the screen is not outputting anything.

Optimus on the other hand can switch without the user noticing and does not require the MUX, which means it only uses one output path, making it convenient and cost-saving.

Heterogenous Computing Benefits

In certain scenarios it can help with rendering, for example in PR it can improve the performance by 7%-63%.

However, this is useless for games.

NOW LET’S TALK ABOUT THE COSTS

Lagging

because the frame rendered by the dGPU is not outputted through the dGPU, there will be at least a 5ms delay that is almost inevitable, which makes it unfriends to FPS/Music Games/VR players

Limit on Game Performance

Optimus has a negative effect on the frame rate as well, since the final frame is outputted by the iGPU, whether you have a single channel or dual channel RAM can make a big difference in some games.

Bugs

Not all applications are well adapted with Optimus, making it running only on the iGPU. This was only patched after Windows 10 1803

Not Linux Friendly

Optimus was designed specifically for Windows and did not consider the compatibility under Linux, therefore it makes it incredibly difficult for an Optimus device to use the dGPU in Linux

Features that is based on the dGPU cannot be used

G-Sync, monitor overclocking, GPU overclocking, shadowplay, etc

these features are disabled because the display is hooked on to the iGPU instead of the dGPU

MUX Switch and Principle

In order to solve the various problems brought by Optimus, laptop makers added MUX back, but this time it is no longer switching between the dGPU and the iGPU, it is switching between dGPU and Optimus

Principle of MUX Switch
  • Features

The benefit of MUX Switch is that it leaves some room of choice for the user, it kept the dGPU output feature, but also allows you to switch back to Optimus for power saving or heterogeneous computing

Unfortunately, the cost goes back up again, requiring the user to pay for it, so it won’t come very cheap.

The is still another option, which is very straight forward

Disable the Integrated GPU

the core principle is the same as that of a desktop, which looks like

Here you would abandon the iGPU and only export video signal on the dGPU

Since we don’t need the MUX switch the cost is also reduced and one can use a CPU without iGPU such as an AMD desktop processor or an Intel “f” series processor.

The problem is straightforward as well: battery life

the power efficiency of a dGPU is incomparable to integrated, this means almost undoubtedly a charger or battery bank will be needed for one day of use.

In desktop replacement laptops this is commonly found but is disappearing in 2020.

MacBooks

They do have an MUX switch made by Apple but that’s not the core of our conversation here, also if one is running Windows on there only the dGPU will be used(if one is present)

Update with M1:

Their power efficiency is incredible now because they have essentially a mega-integrated GPU where the performance is stronger than many dGPU with the power demand of an iGPU orz

--

--