While the VGA_Switcheroo has long been part of the Linux kernel for laptops with hybrid (dual GPU) graphics for switching between the GPUs on platforms with a hardware mux switch, this current API has been found to be ineffective for the latest laptops like those with ” NVIDIA Advanced Optimus” support. Thus NVIDIA is working on and proposing a new Linux user-space API around dynamic mux switching.
VGA_Switcheroo’s basic design doesn’t work out well for switching the mux / active GPU while the panel is actively driven and room for improvement in its interface for better dealing with modern multi-GPU laptops like those under the NVIDIA Advanced Optimus branding.
NVIDIA presentation on Advanced Optimus.
NVIDIA’s proposal for a new user-space API (uAPI) around dynamic mux switching includes making that mux switching part of the DRM-KMS atomic mode-setting API. Those interested in all of the technical details for NVIDIA’s new Linux uAPI proposal for improved mux switching via this dri-devel thread where they have labeled it a “request for comments” due to still having a number of open design issues/challenges.
NVIDIA presentation on Advanced Optimus.
It will be interesting to see where this work leads while ultimately they are looking at improving the hybrid graphics experience on Linux for the latest and future laptops.
.